Skip to main content

力控指令

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

  • The torque sensor zero calibration is only applicable to collaborative robots, which is unavailable for industrial robots.

  • This interface can be called for calibration when the manipulator is in a static state at any pose. However, a correct load must be set, otherwise an error may be reported.

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:

  • 0: world frame

  • 1: work object frame

  • 2: Tool frame

  • 3: Base frame

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:

  • 0: joint impedance

  • 1: Cartesian impedance

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,
Cartesian null-space impedance stiffness, range: 0−4, in N.m/rad.

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:

  • 0: x-axis as the reference direction

  • 1: y-axis as the reference direction

  • 2: z-axis as the reference direction

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:

  • 0: XY plane as the reference plane

  • 1: XZ plane as the reference plane

  • 2: YZ plane as the reference plane

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};
VAR pose pose1 = pe:{{0, 0, 0}, {1, 0, 0, 0}};
FCCondPosBox (pose1, box1, false, 60);

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

  • It is recommended to set the protection parameters first when using impedance mode, and then use FcMonitor On to enable the force control module protection monitor.

  • If the protection parameters are not set or if FcMonitor Off is used to disable the force control module protection monitor, the controller will take effect with the default protection parameters.

  • The default protection parameters have significant limitations, making it easy to trigger force control protection errors when using impedance mode.

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

  • 0: default, torque information of the end-effector relative to the world frame

  • 1: torque information of the end-effector relative to the flange frame

  • 2: torque information of the end-effector relative to the tool frame

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);