力控指令
15.4.4 Force control commands
15.4.4.1 CalibSensorError
Explanation |
Calibrate the torque sensor zero |
Definition |
No parameters, and can be used directly. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); FcStart(); CalibSensorError(); |
Attention |
|
15.4.4.2 FcInit
Explanation |
It is used for initialization before the force control is enabled, such as setting the work object, tool, and force control frame. |
Definition |
FcInit (Tool, Wobj, ForceFrameRef); Tool, data type: tool, the tool used for force control. The origin of the force control frame is the TCP of the tool (the orientation is the same as the orientation of the frame selected in the third parameter). Note that all adapter flanges used need to be included in the definition of the tool. Wobj, data type: wobj, the work objects used for force control. Many force control functions are defined relative to the work object frame, such as the orientation of the force control frame, the search mode, and termination conditions. This parameter is Wobj0 by default. ForceFrameRef, data type: int, to define the frame to which the force control frame is relative. It supports:
The default value is the world frame (0). |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); Initialize force control, and define the tool1 and work object wobj0 used when force control is enabled, and the definition of force control frame in relative to the world frame. |
Attention |
FcInit is not allowed to be called again between FcInit and FcStop. |
15.4.4.3 etControlType
Explanation |
It is used to set the impedance control type. |
Definition |
SetControlType (ctrl_type); ctrl_type, data type: int, impedance control type. It supports:
|
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType(0); Set joint impedance as the impedance control mode after executing FcInit. |
Attention |
The impedance type can only be set after executing FcInit and before executing FcStart. After setting the impedance control type, it should be operated with proper impedance stiffness. If the setting control type is joint impedance, users should proceed to use the SetJntCtrlStiffVec interface to set the joint impedance stiffness. If only Cartesian impedance stiffness is set, the Cartesian stiffness setting does not take effect when the robot moves. As it is both joint impedance and Cartesian impedance stiffness, only the joint impedance stiffness setting takes effect when the robot moves, with both joint impedance and Cartesian impedance stiffness set to 0 by default. |
15.4.4.4 SetCartNsStiff
Explanation |
It is used to set the null-space impedance stiffness |
Definition |
SetCartNsStiff(cart_ns_stiff); cart_ns_stiff, data type: double, |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType(1); SetCartNSStiff(2); Set Cartesian impedance as the impedance control mode and the null-space impedance stiffness as 2. |
Attention |
This interface can only be called after executing SetControlType 1, that is, setting Cartesian impedance as the impedance control mode. If not, the null-space impedance parameters will not be set successfully. |
15.4.4.5 SetJntCtrlStiffVec
Explanation |
It is used to set the joint impedance stiffness |
Definition |
SetJntCtrlStiffVec( jnt1_stiff, jnt2_stiff, jnt3_stiff, jnt4_stiff, jnt5_stiff, jnt6_stiff, jnt7_stiff); Jnt1_stiff, data type: double, impedance stiffness of joint 1, in N.m/rad. Jnt2_stiff, data type: double, impedance stiffness of joint 2, in N.m/rad. Jnt3_stiff, data type: double, impedance stiffness of joint 3, in N.m/rad. Jnt4_stiff, data type: double, impedance stiffness of joint 4, in N.m/rad. Jnt5_stiff, data type: double, impedance stiffness of joint 5, in N.m/rad. Jnt6_stiff, data type: double, impedance stiffness of joint 6, in N.m/rad. Jnt7_stiff, data type: double, impedance stiffness of joint 7, in N.m/rad. //When setting up a 6-axis robot, this parameter defaults to 0. |
Example |
Example 1 FcInit(Tool1, Wobj0, 0); SetControlType(0); SetJntCtrlStiffVec(1500, 1500, 1500, 1500, 100, 100, 100); Set the joint impedance as the impedance control mode and the impedance stiffness of joints 1−7 as 1500, 1500, 1500, 1500, 100, 100, 100, respectively. |
Attention |
This interface can only be called after executing SetControlType 0, that is, setting joint impedance as the impedance control mode. If not, the joint impedance parameters will not be set successfully. |
Maximum stiffness of each axis of the collaborative model (N.m/rad)
J1 |
J2 |
J3 |
J4 |
J5 |
J6 |
J7 |
|
ER3P |
6000 |
6000 |
6000 |
1000 |
1000 |
1000 |
1000 |
ER7P |
6000 |
6000 |
6000 |
1000 |
1000 |
1000 |
1000 |
ER3 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
|
ER7 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
|
SR3 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
|
SR4 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
|
SR5 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
|
CR7 |
6000 |
6000 |
6000 |
1000 |
1000 |
1000 |
|
CR12 |
20000 |
20000 |
20000 |
3000 |
2500 |
2500 |
|
CR17 |
20000 |
20000 |
20000 |
2500 |
2500 |
||
CR17/25 |
20000 |
20000 |
20000 |
2500 |
2500 |
||
CR18 |
20000 |
20000 |
20000 |
3000 |
2500 |
2500 |
|
CR20 |
20000 |
20000 |
20000 |
3000 |
2500 |
2500 |
|
CR25 |
20000 |
20000 |
20000 |
2500 |
2500 |
15.4.4.6 SetCartCtrlStiffVec
Explanation |
It is used to set the Cartesian impedance stiffness |
Definition |
SetCartCtrlStiffVec(trans_stiff_x, trans_stiff_y, trans_stiff_z, rot_stiff_x, rot_stiff_y, rot_stiff_z); trans_stiff_x, data type: double, Cartesian impedance force stiffness in the X-direction, in N/m. trans_stiff_y, data type: double, Cartesian impedance force stiffness in the Y-direction, in N/m. trans_stiff_z, data type: double, Cartesian impedance force stiffness in the Z-direction, in N/m. rot_stiff_x, data type: double, Cartesian impedance torque stiffness in the X-direction, in N.m/rad. rot_stiff_y, data type: double, Cartesian impedance torque stiffness in the Y-direction, in N.m/rad. rot_stiff_z, data type: double, Cartesian impedance torque stiffness in the Z-direction, in N.m/rad. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType (1); SetCartCtrlStiffVec(1000, 1000, 1000, 100, 100, 100); Set Cartesian impedance as the impedance control mode and the impedance force stiffness in X/Y/Z direction as 1000, and the impedance torque stiffness as 100. |
Attention |
This interface can only be called after executing SetControlType 1, that is, setting Cartesian impedance as the impedance control mode. If not, the Cartesian impedance parameters will not be set successfully. |
Maximum stiffness of each axis of the collaborative model, in N/m and N.m/rad
trans_x |
trans_y |
Trans_z |
rot_x |
rot_y |
rot_z |
|
ER3P |
6000 |
6000 |
6000 |
1000 |
1000 |
1000 |
ER7P |
6000 |
6000 |
6000 |
1000 |
1000 |
1000 |
ER3 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
ER7 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
SR3 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
SR4 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
SR5 |
3000 |
3000 |
3000 |
300 |
300 |
300 |
CR7 |
6000 |
6000 |
6000 |
1000 |
1000 |
1000 |
CR12 |
18000 |
18000 |
18000 |
2500 |
2500 |
2500 |
CR17/25 |
18000 |
18000 |
18000 |
2500 |
2500 |
2500 |
CR18 |
18000 |
18000 |
18000 |
2500 |
2500 |
2500 |
CR20 |
18000 |
18000 |
18000 |
2500 |
2500 |
2500 |
15.4.4.7 SetJntTrqDes
Explanation |
Set the desired torque of the joint |
Definition |
SetJntTrqDes (tau_d1, tau_d2, tau_d3, tau_d4, tau_d5, tau_d6, tau_d7); tau_d1, data type: double, the desired torque of joint 1, range: -30−30, in N.m. tau_d2, data type: double, the desired torque of joint 2, range: -30−30, in N.m. tau_d3, data type: double, the desired torque of joint 3, range: -30−30, in N.m. tau_d4, data type: double, the desired torque of joint 4, range: -30−30, in N.m. tau_d5, data type: double, the desired torque of joint 5, range: -30−30, in N.m. tau_d6, data type: double, the desired torque of joint 6, range: -30−30, in N.m. tau_d7, data type: double, the desired torque of joint 7, range: -30−30, in N.m. //When setting up a 6-axis robot, this parameter defaults to 0. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType (0); FcStart(); SetJntTrqDes (5, 5, 5, 5, 5, 5, 5); FcStop(); Set the desired torque of all joints to 5 N.m. |
Attention |
This interface can only be called after executing FcStart and before executing FcStop. If not, the desired joint torque will not be set successfully. |
15.4.4.8 SetCartForceDes
Explanation |
Set the desired Cartesian force/torque |
Definition |
SetCartForceDes (force_x, force_y, force_z, torque_x, torque_y, torque_z); force_x, data type: double, the desired Cartesian force in the X-direction, range: -60−60, in N. force_y, data type: double, the desired Cartesian force in the Y-direction, range: -60−60, in N. force_z, data type: double, the desired Cartesian force in the Z-direction, range: -60−60, in N. torque_x, data type: double, the desired Cartesian torque in the X-direction, range: -10−10, in N.m. torque_y, data type: double, the desired Cartesian torque in the Y-direction, range: -10−10, in N.m. torque_z, data type: double, the desired Cartesian torque in the Z-direction, range: -10−10, in N.m. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType(1); FcStart(); SetCartForceDes(0, 0, 5, 0, 0, 0); FcStop(); Set the desired Cartesian force/torque. Set the desired force in the z-direction to 5 N. |
Attention |
This interface can only be called after executing FcStart and before executing FcStop. If not, the desired Cartesian force/torque will not be set successfully. |
15.4.4.9 SetSineOverlay
Explanation |
Set the sine overlay rotating around a single axis |
Definition |
SetSineOverlay( line_dir, amplify, frequncy, phase, bias); line_dir, data type: int, overlay reference axis. It supports:
Amplify, data type: double, overlay amplitude, in N.m. Frequncy, data type: double, overlay frequency, in Hz. Phase, data type: double, overlay phase, range: −3.14 to 3.14, in rad. Bias, data type: double, overlay offset, range: −10 to 10, in N.m. |
Example |
Example 1 FcInit(Tool1, Wobj0, 0); SetControlType(1); SetSineOverlay(0, 10, 5, 3.14, 2); Set rotary overlay around x-axis (0), amplitude: 10 N.m, frequency: 5 Hz, phase: 3.14 rad, and offset: 2 N.m. |
Attention |
This interface can only be called after executing SetControlType 1, that is, setting Cartesian impedance as the impedance control mode, and before executing StartOverlay. If not, the sine overlay will not be set successfully. |
Upper limit of collaborative model parameters:
Maximum overlay amplitude |
Maximum overlay frequency |
|
ER3P |
10 |
5 |
ER7P |
10 |
5 |
ER3 |
10 |
5 |
ER7 |
10 |
5 |
SR3 |
5 |
5 |
SR3-C |
5 |
5 |
SR3-A |
5 |
5 |
SR4 |
5 |
5 |
SR4-C |
5 |
5 |
CR7 |
10 |
5 |
CR12 |
10 |
5 |
CR17/25 |
10 |
5 |
CR18 |
10 |
5 |
CR20 |
10 |
5 |
15.4.4.10 SetLissajousOverlay
Explanation |
Set the Lissajous overlay within a plane |
Definition |
SetLissajousOverlay(plane, amplify_one, frequncy_one, amplify_two, frequncy_two, phase_diff); Plane, data type: int, overlay reference plane. It supports:
amplify_one, data type: double, amplitude of overlay in Direction 1, range: −20 to 20, in N.m. frequncy_one, data type: double, frequency of overlay in Direction 1, range: 0−5, in Hz. amplify_two, data type: double, amplitude of overlay in Direction 2, range: −20 to 20, in N.m. frequncy_two, data type: double, frequency of overlay in Direction 2, range: 0−5, in Hz. phase_diff, data type: double, phase deviation between overlays in two directions, range: −3.14 to 3.14, in rad. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType (1); SetLissajousOverlay (0, 5, 2.5, 10, 5, 3.14); Set Lissajous overlay within the xy plane (0). The amplitude and frequency are 5 N.m and 2.5 Hz in the x-direction, and 10 N.m and 5 Hz in the y-direction. The phase deviation between the y-direction and x-direction is 3.14 rad. |
Attention |
This interface can only be called after executing SetControlType 1, that is, setting Cartesian impedance as the impedance control mode, and before executing StartOverlay. If not, the overlay will not be set successfully. |
15.4.4.11 SetLoad
Explanation |
Set the load information used by the force control module. |
Definition |
SetLoad(m, rx, ry, rz, Ixx, Iyy, Izz ); M, data type: double, load mass, in kg, range: 0−25; Rx, data type: double, the position of the load’s center of mass on the x-axis of the flange frame, in mm, range: (-300, 300); Ry, data type: double, the position of the load’s center of mass on the y-axis of the flange frame, in mm, range: (-300, 300); Rz, data type: double, the position of the load’s center of mass on the z-axis of the flange frame, in mm, range: (-300, 300); Ixx, data type: double, the inertia of the load’s center of mass along the x-axis, in kg*mm^2, range: (0, 100000); Iyy, data type: double, the inertia of the load’s center of mass along the y-axis, in kg*mm^2, range: (0, 100000); Izz, data type: double, the inertia of the load’s center of mass along the z-axis, in kg*mm^2, range: (0, 100000); |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); FcStart(); SetLoad (1, 0, 0, 10, 0.001, 0.001, 0.0001 ); Set the end-effector load as follows: the mass is 1 kg, the component of the center of mass in the flange frame is 0, 0, and 10 mm, and the inertia of the load relative to the load’s center of mass frame is 0.001 kg*mm^2, 0.001 kg*mm^2, and 0.0001 kg*mm^2, respectively. |
Attention |
The interface can only be called after executing FcStart. If not, the load parameters will not be set successfully. |
15.4.4.12 FcStart
Explanation |
It is used to enable force control. It switches the robot from pure position control to force control |
Definition |
No parameters, and can be used directly. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); FcStart(); Enable force control through FcStart after executing FcInit. The robot is now in force control mode. |
Attention |
This interface is called after executing FcInit. Before calling the instruction, the robot mechanical zero, force sensor zero, and load information should be set correctly, and the body parameters are identified correctly. Otherwise, the effectiveness of the force control function will be affected or even disabled. |
15.4.4.13 FcStop
Explanation |
It is used to stop force control. The robot will switch from force control to position control. Executing this command will automatically stop all overlays internally. |
Definition |
No parameters, and can be used directly. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); FcStart(); FcStop(); It is used to stop force control. The robot will switch from force control to position control. Executing this instruction clears all force control states. |
Attention |
This interface is called after executing FcStart, and it will clear the force control state, such as force control load information, impedance parameters, overlay, and desired force. To enable force control again, FcInit should be executed again. |
15.4.4.14 StartOverlay
Explanation |
It is used to enable the overlay set before |
Definition |
No parameters, and can be used directly. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType (1); SetSineOverlay (0, 10, 5, 3.14, 2); SetLissajousOverlay (0, 5, 2.5, 10, 5, 3.14); FcStart(); StartOverlay(); Start the superposition of overlays set before. In the example, these overlays include the sine overlay around the x-axis and the Lissajous overlay within xy plane. |
Attention |
The interface can only be called after executing FcStart. If not, the sine overlay will not be set successfully. |
15.4.4.15 PauseOverlay
Explanation |
Pause the overlay |
Definition |
No parameters, and can be used directly |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType (1); SetSineOverlay (0, 10, 5, 3.14, 2); FcStart(); StartOverlay(); PauseOverlay(); Pause the overlay |
Attention |
The interface can only be called after executing StartOverlay. |
15.4.4.16 RestartOverlay
Explanation |
Restart the paused overlays |
Definition |
No parameters, and can be used directly. |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType(1); SetSineOverlay(0, 10, 5, 3.14, 2); FcStart(); StartOverlay(); PauseOverlay(); RestartOverlay(); Restart the overlays |
Attention |
The interface can only be called after executing PauseOverlay. This interface is used in conjunction with PauseOverlay to restart paused overlays. |
15.4.4.17 StopOverlay
Explanation |
Stop the overlays |
Definition |
No parameters, and can be used directly |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); SetControlType(1); SetSineOverlay(0, 10, 5, 3.14, 2); FcStart(); StartOverlay(); StopOverlay(); Stop the overlays. |
Attention |
The calling of the interface is of practical value can only after executing StartOverlay. |
15.4.4.18 FcCondForce
Explanation |
It is used to define termination conditions related to contact force |
Definition |
FcCondForce(xmin, xmax, ymin, ymax, zmin, zmax, IsInside, TimeOut); Xmin, to define the lower limit of the force limit in the X-direction. It indicates the maximum value in the negative X-direction if the value is negative. The unit is N and the default value is negative infinity. Data type: double Xmax, to define the upper limit of the force limit in the X-direction. It indicates the minimum value in the negative X direction if the value is negative. The unit is N and the default value is positive infinity. Data type: double Ymin, to define the lower limit of the force limit in the Y-direction. It indicates the maximum value in the negative Y direction if the value is negative. The unit is N and the default value is negative infinity. Data type: double Ymax, to define the upper limit of the force limit in the Y-direction. It indicates the minimum value in the negative Y direction if the value is negative. The unit is N and the default value is positive infinity. Data type: double Zmin, to define the lower limit of the force limit in the Z-direction. It indicates the maximum value in the negative Z direction if the value is negative. The unit is N and the default value is negative infinity. Data type: double Zmax, to define the upper limit of the force limit in the Z-direction. It indicates the minimum value in the negative Z direction if the value is negative. The unit is N and the default value is positive infinity. Data type: double IsInside, to define whether the internal/external restriction condition is true. Data type: bool TimeOut, to define the timeout period in seconds, range: 1−600. Data type: double |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); FcStart(); FcCondForce (-100, 100, -100, 100, -100, 100, true, 60); Define a termination condition. The condition is true when the contact force is within plus or minus 100 N in the x/y/z-axis direction of the force control frame, and terminates when it exceeds 100 N. The timeout period is 60 seconds. |
Attention |
This interface can only be called after executing FcStart and before executing FcStop. If not, the termination conditions of the contact force will not be set successfully. |
15.4.4.19 FcCondPosBox
Explanation |
It is used to define termination conditions related to contact location |
Definition |
FcCondPosBox(SupvFrame, Box, IsInside, Timeout); SupvFrame, to select which coordinate system is defined relative to the monitored spatial body. The frame is derived by converting a work object frame onto a frame. The conversion of the frame is defined by pose. By default, pose0 is used. That is, the work object frame is used without using any conversion. Data type: pose. Box, to define a cuboid. Data type: fcboxvol IsInside, to define whether the internal/external restriction condition is true. Data type: bool TimeOut, to define the timeout period in seconds, range: 1−600. Data type: double |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); FcStart(); VAR fcboxvol box1 = fcbv:{-100.0, 100.0, -200.0, 200.0, -300.0, 300.0}; Define a termination condition. The termination condition is triggered when the robot TCP enters the defined cuboid or waits more than 60 seconds. |
Attention |
This interface can only be called after executing FcStart and before executing FcStop. If not, the termination conditions of the cuboid location will not be set successfully. |
15.4.4.20 FcCondTorque
Explanation |
It is used to define termination conditions related to contact torque. |
Definition |
FcCondTorque( xmin, xmax, ymin, ymax, zmin, zmax, IsInside, TimeOut); Xmin, to define the lower limit of the torque limit in the X-direction. It indicates the maximum value in the negative X-direction if the value is negative. The unit is N.m and the default value is negative infinity. Data type: double Xmax, to define the upper limit of the torque limit in the X-direction. It indicates the minimum value in the negative X-direction if the value is negative. The unit is N.m and the default value is positive infinity. Data type: double Ymin, to define the lower limit of the torque limit in the Y-direction. It indicates the maximum value in the negative Y-direction if the value is negative. The unit is N.m and the default value is negative infinity. Data type: double Ymax, to define the upper limit of the torque limit in the Y-direction. It indicates the minimum value in the negative Y-direction if the value is negative. The unit is N.m and the default value is positive infinity. Data type: double Zmin, to define the lower limit of the torque limit in the Z-direction. It indicates the maximum value in the negative Z-direction if the value is negative. The unit is N.m and the default value is negative infinity. Data type: double Zmax, to define the upper limit of the torque limit in the Z-direction. It indicates the minimum value in the negative Z-direction if the value is negative. The unit is N.m and the default value is positive infinity. Data type: double IsInside, to define whether the internal/external restriction condition is true. Data type: bool TimeOut, to define the timeout period in seconds, range: 1−600. Data type: double |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); FcStart(); FcCondTorque (-10, 10, -10, 10, -10, 10, true, 60); Define a termination condition. When the contact torque is greater than 10 N.m in any direction of the force control frame, or the time exceeds 60s, the termination condition is triggered. |
Attention |
This interface can only be called after executing FcStart and before executing FcStop. If not, the termination conditions of the contact torque will not be set successfully. |
15.4.4.21 FcCondWaitWhile
Explanation |
It is used to activate the previously defined termination conditions and wait until these conditions become False or timeout in the current line. |
Definition |
No parameters, and can be used directly |
Example |
Example 1 FcInit (Tool1, Wobj0, 0); FcStart(); FcCondTorque (-10, 10, -10, 10, -10, 10, true, 60); FcCondForce (-100, 100, -100, 100, -100, 100, true, 60); FcCondWaitWhile(); Activate the termination conditions. The program blocks at the current position and waits for the termination conditions to be triggered. |
Attention |
It can be used after the force control termination conditions are defined. |
15.4.4.22 FcMonitor
Explanation |
It is used to enable or disable the force control module protection monitor. Force control protection monitor refers to the use of user-set protection parameters by the controller in impedance mode to limit the speed, momentum, power and other states of the robot, in order to achieve protection in impedance mode. |
Definition |
FcMonitor (On); enable the force control module protection monitor, and the user-set protection parameters take effect during the impedance motion. FcMonitor (Off); disable the force control module protection monitor. The user-set protection parameters are not effective in impedance motion, and the controller will use default protection parameters to limit the robot’s motion status. |
Example |
Example 1 FcInit (tool0, wobj0, 0); SetControlType (0); SetFcJointVelMax (1.0, 1.0, 1.0, 0.5, 0.5, 0.5, 0); SetFcJointEnergyMax (100, 100, 100, 100, 100, 100, 0); FcMonitor (On);//Enable the force control module protection monitor FcStart(); … FcMonitor (Off);//Disable the force control module protection monitor … FcStop(); |
Attention |
|
15.4.4.23 GetEndToolTorque
Explanation |
It is used to get the current robot torque |
Definition |
GetEndToolTorque(Tool, Wobj ); The parameter in [] can be ignored. Return value, torque information, data type: TorqueInfo Tool, the information of the tool currently in use. Data type: Tool Wobj, the information of the work object currently in use. Data type: Wobj RefType, reference frame relative to the torque, data type: Int
|
Example |
TorqueInfo tmp_info = GetEndtoolTorque(tool1, wobj1); //Obtain the information architecture of the torque applied to the tool at the end-effector of the robot in the case of tool1 wobj1 … Print(tmp_info.joint_torque.measure_torque); Print(tmp_info.joint_torque.external_torque); //Print the measured force and external force of each axis … Print(tmp_info.cart_torque.m_torque); //Print Cartesian space torque … Print(tmp_info.cart_torque.m_force); Print(tmp_info.cart_torque.m_torque); //Print information of force and torque in X direction |
15.4.4.24 SetFcJointVelMax
Explanation |
It is used to set the maximum axis velocity during impedance motion. |
Definition |
SetFcJointVelMax jnt1(vel, jnt2_vel, jnt3_vel, jnt4_vel, jnt5_vel, jnt6_vel, jnt7_vel);_ Jnt1_ vel, data type: double, the maximum velocity of Joint 1, in rad/s. Jnt2_ vel, data type: double, the maximum velocity of Joint 2, in rad/s. Jnt3_ vel, data type: double, the maximum velocity of Joint 3, in rad/s. Jnt4_ vel, data type: double, the maximum velocity of Joint 4, in rad/s. Jnt5_ vel, data type: double, the maximum velocity of Joint 5, in rad/s. Jnt6_ vel, data type: double, the maximum velocity of Joint 6, in rad/s. Jnt7_ vel, data type: double, the maximum velocity of Joint 7, in rad/s. |
Example |
SetFcJointVelMax(1.0, 1.0, 1.0, 1.0, 0.5, 0.5, 0.5); |
Maximum velocity of each joint of the collaborative robot, in rad/s
J1 |
J2 |
J3 |
J4 |
J5 |
J6 |
J7 |
|
ER3P |
4.7 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
ER7P |
4.7 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
ER3 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
ER7 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
SR3 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
SR4 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
SR5 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
CR7 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
CR12 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
CR17 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
||
CR18 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
CR20 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
6.28 |
|
CR25 |
4.7 |
4.7 |
4.7 |
6.28 |
6.28 |
15.4.4.25 SetFcCartVelMax
Explanation |
It is used to set the maximum Cartesian velocity during impedance motion. |
Definition |
SetFcCartVelMax( vel_x, vel_y, vel_z, vel_a, vel_b, vel_c); Vel_x, data type: double, maximum linear velocity in the X direction, in m/s. Vel_y, data type: double, maximum linear velocity in the Y direction, in m/s. Vel_z, data type: double, maximum linear velocity in the Z direction, in m/s. Vel_a, data type: double, maximum angular velocity around the X axis, in rad/s. Vel_b, data type: double, maximum angular velocity around the Y axis, in rad/s. Vel_c, data type: double, maximum angular velocity around the Z axis, in rad/s. |
Example |
SetFcCartVelMax (1.0, 1.0, 1.0, 0.5, 0.5, 0.5); |
Maximum Cartesian velocity of the collaborative robot, in m/s, /rad/s
Vel_x |
Vel_y |
Vel_z |
Vel_a |
Vel_b |
Vel_c |
|
ER3P |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
ER7P |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
ER3 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
ER7 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
SR3 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
SR4 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
SR5 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
CR7 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
CR12 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
CR17 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
CR18 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
CR20 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
CR25 |
3.0 |
3.0 |
3.0 |
6.28 |
6.28 |
6.28 |
15.4.4.26 SetFcJointMomentumMax
Explanation |
It is used to set the maximum angular momentum of joints during impedance motion. |
Definition |
SetFcJointMomentumMax(jnt1_moment, jnt2_moment, jnt3_moment, jnt4_moment, jnt5_moment, jnt6_moment, jnt7_moment); Jnt1_moment, data type: double, maximum angular momentum of Joint 1, in kg*m/s. Jnt2_moment, data type: double, maximum angular momentum of Joint 2, in kg*m/s. Jnt3_moment, data type: double, maximum angular momentum of Joint 3, in kg*m/s. Jnt4_moment, data type: double, maximum angular momentum of Joint 4, in kg*m/s. Jnt5_moment, data type: double, maximum angular momentum of Joint 5, in kg*m/s. Jnt6_moment, data type: double, maximum angular momentum of Joint 6, in kg*m/s. Jnt7_moment, data type: double, maximum angular momentum of Joint 7, in kg*m/s. |
Example |
SetFcJointMomentumMax (0.1, 0.1, 0.1, 0.1, 0.055, 0.055, 0.055); |
Maximum angular momentum of each joint of the collaborative robot, in kg*m/s
J1 |
J2 |
J3 |
J4 |
J5 |
J6 |
J7 |
|
ER3P |
1.0 |
1.0 |
1.0 |
1.0 |
0.55 |
0.55 |
0.55 |
ER7P |
2.0 |
2.0 |
1.0 |
1.0 |
0.55 |
0.55 |
0.55 |
ER3 |
1.0 |
1.0 |
1.0 |
0.55 |
0.55 |
0.55 |
|
ER7 |
2.0 |
2.0 |
1.0 |
0.55 |
0.55 |
0.55 |
|
SR3 |
0.55 |
0.55 |
0.55 |
0.2 |
0.2 |
0.2 |
|
SR4 |
1.0 |
1.0 |
0.55 |
0.2 |
0.2 |
0.2 |
|
SR5 |
1.0 |
1.0 |
0.55 |
0.2 |
0.2 |
0.2 |
|
CR7 |
2.0 |
2.0 |
1.0 |
0.55 |
0.55 |
0.55 |
|
CR12 |
3.5 |
3.5 |
2.0 |
1.0 |
0.55 |
0.55 |
|
CR17 |
7.0 |
7.0 |
5.5 |
3.5 |
2.0 |
||
CR18 |
3.5 |
3.5 |
2.0 |
1.0 |
0.55 |
0.55 |
|
CR20 |
7.0 |
7.0 |
3.5 |
2.0 |
1.0 |
1.0 |
|
CR25 |
7.0 |
7.0 |
3.5 |
2.0 |
1.0 |
15.4.4.27 SetFcJointEnergyMax
Explanation |
It is used to set the maximum power of joints during impedance motion. |
Definition |
SetFcJointEnergyMax (jnt1_ energy, jnt2_ energy, jnt3_ energy, jnt4_ energy, jnt5_ energy, jnt6_ energy, jnt7_ energy); Jnt1_ energy, data type: double, maximum power of Joint 1, in kg.m2/s3. Jnt2_ energy, data type: double, maximum power of Joint 2, in kg.m2/s3. Jnt3_ energy, data type: double, maximum power of Joint 3, in kg.m2/s3. Jnt4_ energy, data type: double, maximum power of Joint 4, in kg.m2/s3. Jnt5_ energy, data type: double, maximum power of Joint 5, in kg.m2/s3. Jnt6_ energy, data type: double, maximum power of Joint 6, in kg.m2/s3. Jnt7_ energy, data type: double, maximum power of Joint 7, in kg.m2/s3. |
Example |
SetFcJointEnergyMax (100, 100, 100, 100, 100, 100, 100); |
Maximum power of each joint of the collaborative robot, in kg*m2/s3
J1 |
J2 |
J3 |
J4 |
J5 |
J6 |
J7 |
|
ER3P |
2500.0 |
2500.0 |
2500.0 |
2500.0 |
1500.0 |
1500.0 |
1500.0 |
ER7P |
4000.0 |
4000.0 |
3000.0 |
3000.0 |
2000.0 |
1000.0 |
1000.0 |
ER3 |
2500.0 |
2500.0 |
2500.0 |
1500.0 |
1500.0 |
1000.0 |
|
ER7 |
4000.0 |
4000.0 |
3000.0 |
2000.0 |
1000.0 |
1000.0 |
|
SR3 |
1500.0 |
1500.0 |
1500.0 |
600.0 |
600.0 |
600.0 |
|
SR4 |
2500.0 |
2500.0 |
1500.0 |
600.0 |
600.0 |
600.0 |
|
SR5 |
2500.0 |
2500.0 |
1500.0 |
600.0 |
600.0 |
600.0 |
|
CR7 |
4000.0 |
4000.0 |
3000.0 |
2000.0 |
1000.0 |
1000.0 |
|
CR12 |
8000.0 |
8000.0 |
5000.0 |
3500.0 |
1500.0 |
1500.0 |
|
CR17 |
8000.0 |
8000.0 |
5000.0 |
1500.0 |
1500.0 |
||
CR18 |
4000.0 |
4000.0 |
3000.0 |
2000.0 |
1000.0 |
1000.0 |
|
CR20 |
16000.0 |
16000.0 |
8000.0 |
4500.0 |
2500.0 |
2500.0 |
|
CR25 |
16000.0 |
16000.0 |
8000.0 |
4500.0 |
2500.0 |
15.4.4.28 SetCartCtrlMaxWrench
Explanation |
It is used to set the maximum impedance torque in Cartesian space during impedance motion |
Definition |
SetCartCtrlMaxWrench( x_wrench , y_wrench , z_wrench , a_wrench , b_wrench , c_wrench ); x_wrench, data type: double, maximum force in the x-direction. Value range: 0−1000, in N y_wrench, data type: double, maximum force in the y-direction. Value range: 0−1000, in N z_wrench, data type: double, maximum force in the z-direction. Value range: 0−1000, in N a_wrench, data type: double, maximum torque in the a-direction. Value range: 0−1000, in N.m b_wrench, data type: double, maximum torque in the b-direction. Value range: 0−1000, in N.m c_wrench, data type: double, maximum torque in the c-direction. Value range: 0−1000, in N.m |
Example |
SetCartCtrlMaxWrench (100, 100, 100, 100, 100, 100); |
15.4.4.29 SetJntCtrlMaxTorque
Explanation |
It is used to set the maximum impedance torque in joint space during impedance motion |
Definition |
SetJntCtrlMaxTorque ( jnt1 , jnt2 , jnt3 , jnt4 , jnt5 , jnt6 , jnt7); Jnt1, data type: double, maximum torque of joint 1. Value range: 0−1000, in N.m jnt2, data type: double, maximum torque of joint 2. Value range: 0−1000, in N.m jnt3, data type: double, maximum torque of joint 3. Value range: 0−1000, in N.m jnt4, data type: double, maximum torque of joint 4. Value range: 0−1000, in N.m jnt5, data type: double, maximum torque of joint 5. Value range: 0−1000, in N.m jnt6, data type: double, maximum torque of joint 6. Value range: 0−1000, in N.m jnt7, data type: double, maximum torque of joint 7. Value range: 0−1000, in N.m |
Example |
SetJntCtrlMaxTorque (100, 100, 100, 100, 100, 100, 100); |
15.4.4.30 SetCartCtrlMaxVel
Explanation |
It is used to set the maximum velocity in Cartesian space during impedance motion |
Definition |
SetCartCtrlMaxVel ( x_vel, y_vel, z_vel, a_vel, b_vel, c_vel); x_vel, data type: double, maximum Cartesian velocity in the x-direction. Value range: 0−3, in m/s y_vel, data type: double, maximum Cartesian velocity in the y-direction. Value range: 0−3, in m/s z_vel, data type: double, maximum Cartesian velocity in the z-direction. Value range: 0−3, in m/s a_vel, data type: double, maximum Cartesian velocity in the a-direction. Value range: 0−10, in rad/s b_vel, data type: double, maximum Cartesian velocity in the b-direction. Value range: 0−10, in rad/s c_vel, data type: double, maximum Cartesian velocity in the c-direction. Value range: 0−10, in rad/s |
Example |
SetCartCtrlMaxVel (1, 1, 1, 3, 3, 3); |
15.4.4.31 SetJntCtrlMaxVel
Explanation |
It is used to set the maximum velocity in joint space during impedance motion |
Definition |
SetJntCtrlMaxVel ( jnt1 , jnt2 , jnt3 , jnt4 , jnt5 , jnt6 , jnt7); Jnt1, data type: double, maximum velocity of joint 1. Value range: 0−10, in rad/s jnt2, data type: double, maximum velocity of joint 2. Value range: 0−10, in rad/s jnt3, data type: double, maximum velocity of joint 3. Value range: 0−10, in rad/s jnt4, data type: double, maximum velocity of joint 4. Value range: 0−10, in rad/s jnt5, data type: double, maximum velocity of joint 5. Value range: 0−10, in rad/s jnt6, data type: double, maximum velocity of joint 6. Value range: 0−10, in rad/s jnt7, data type: double, maximum velocity of joint 7. Value range: 0−10, in rad/s |
Example |
SetJntCtrlMaxVel (3, 3, 3, 3, 3, 3, 3); |
15.4.4.32 SetFcGain
Explanation |
It is used to set the force control bandwidth of joints during impedance motion |
Definition |
SetFcGain ( jnt1 , jnt2 , jnt3 , jnt4 , jnt5 , jnt6 , jnt7); Jnt1, data type: double, force control bandwidth of joint 1. Value range: 0−30, unitless jnt2, data type: double, force control bandwidth of joint 2. Value range: 0−30, unitless jnt3, data type: double, force control bandwidth of joint 3. Value range: 0−30, unitless jnt4, data type: double, force control bandwidth of joint 4. Value range: 0−30, unitless jnt5, data type: double, force control bandwidth of joint 5. Value range: 0−30, unitless jnt6, data type: double, force control bandwidth of joint 6. Value range: 0−30, unitless jnt7, data type: double, force control bandwidth of joint 7. Value range: 0−30, unitless |
Example |
SetFcGain (20, 20, 20, 20, 20, 20, 20); |
15.4.4.33 SetFric
Explanation |
It is used to set the friction compensation coefficient for each joint during impedance motion |
Definition |
SetFric ( jnt1 , jnt2 , jnt3 , jnt4 , jnt5 , jnt6 , jnt7); Jnt1, data type: double, friction compensation coefficient of joint 1. Value range: 0−1, unitless jnt2, data type: double, friction compensation coefficient of joint 2. Value range: 0−1, unitless jnt3, data type: double, friction compensation coefficient of joint 3. Value range: 0−1, unitless jnt4, data type: double, friction compensation coefficient of joint 4. Value range: 0−1, unitless jnt5, data type: double, friction compensation coefficient of joint 5. Value range: 0−1, unitless jnt6, data type: double, friction compensation coefficient of joint 6. Value range: 0−1, unitless jnt7, data type: double, friction compensation coefficient of joint 7. Value range: 0−1, unitless |
Example |
SetFric (0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9); |