高级规划指令
15.4.8 Advanced planning command
15.4.8.1 RelTool
Explanation |
It is used to translate or rotate the spatial position in the tool frame as specified by the current command. Main difference from Offs: Offs is the offset along the work object frame, and RelTool is the offset along the tool frame. |
Definition |
Return value, data type: robtarget, to return the new pose after the offset. RelTool (Point, XOffset, YOffset, ZOffset, Rx, Ry, Rz) Point, data type: robtarget, the point to be offset, or the initial point of the offset command. XOffset, data type: double, offset in the x-direction of the tool frame. YOffset, data type: double, offset in the y-direction of the tool frame. ZOffset, data type: double, offset in the z-direction of the tool frame. Rx, data type: double, the rotation angle around the x-axis of the tool frame. Ry, data type: double, the rotation angle around the y-axis of the tool frame. Rz, data type: double, the rotation angle around the y-axis of the tool frame. |
Example |
Example 1 p2=RelTool (p1,100,0,30,20,0,0) Offset p1 by 100 mm along the x-direction, 0 mm in the y-direction, and 30 mm in the z-direction of the tool frame. After it rotates 20 degrees around the x-axis, the new target point position is assigned to p2. Example 2 MoveL (RelTool (p1,100,0,30,20,0,0), v4000, fine, tool2, wobj4) RelTool is used along with the Move command. Offset p1 by 100 mm in the x-direction, 0 mm in the y-direction, and 30 mm in the z-direction on the tool2 frame, and then rotate 20 degrees around the x-axis. |
Attention |
The 5-axis models of the xMate CR series may have many unreachable points when using the RelTool command due to the lack of one orientation DOF. It is necessary to determine the offset based on the characteristics of reachable orientations (e.g. translation of points is usually reachable where the flange remains parallel to the base). |
15.4.8.2 Offs
Explanation |
The position offset function, which is used to offset a point in the work object frame specified in the current command by a distance and return the position value of a new point. The translation offset is represented by x, y, and z, and the orientation rotation offset is represented by Rx, Ry, and Rz. |
Definition |
Return value, data type: robtarget, the new pose after the offset. Offs (Point, XOffset, YOffset, ZOffset [, Rx, Ry, Rz] ) Point, data type: robtarget, the point to be offset, or the initial point of the offset command. XOffset, data type: double, offset in the x-direction of the work object frame. YOffset, data type: double, offset in the y-direction of the work object frame. ZOffset, data type: double, offset in the z-direction of the work object frame. Rx, data type: double, the rotation angle around the x-axis of the work object frame. Ry, data type: double, the rotation angle around the y-axis of the work object frame. Rz, data type: double, the rotation angle around the z-axis of the work object frame. |
Example |
Example 1 p11=Offs(p10, 100, 200, 300); Have the point p10 offset 100 mm in the x-direction, offset 200 mm in the y-direction, offset 300 mm in the z-direction of the work object frame, and assign the position of the new target point to p11. |
Attention |
This command does not support auxiliary programming for the moment. |
15.4.8.3 ConfL
Explanation |
After the command is enabled, the following two items are checked:
|
Example |
Example 1
//If the J6 angle at the P1 teaching position is -5°, the J6 angle may be 355° after the MoveL command is executed (the difference between the two is +-360°, that is, they are the same position). At this time, the log will prompt "The difference between the actual point of the turning angle and the set point is too large", but the movement will not stop. … ConfL(off); MoveL (p1,v1000 ….); //After the conf check of the Cartesian path is disabled, the robot can move to P1, but the cf1−7 and cfx values of confdata for the actual point and teaching point are not checked. |
Attention |
|
15.4.8.4 ConfJ
Explanation |
The Cartesian frame corresponds to a set of conf parameters (cf1−7, cfx). The conf data corresponding to the Cartesian coordinate points manually changed or written by the user may be incorrect, which makes it impossible for the controller to resolve the path of the target point. But in some scenarios, the user cares only about the robot’s TCP position rather than the orientation. In this case, ConfJ Off can be used to remove conf limitations of the point and the controller can try to calculate the inverse kinematics closest to the starting point of the path (the calculation may fail, resulting in a failure of the motion command). Users can read the introduction to confdata for details of conf. |
Example |
Example 1 p1.trans.x = ….; MoveJ (p1,v1000 ….); //Only the frame is modified, not the confdata parameters. This command is likely to cause the execution to fail. … ConfJ(Off); MoveJ (p1,v1000 ….); //After the conf check is disabled, the robot can move to P1, but the orientation is uncertain. |
Attention |
The ConfJ command corresponds to MoveJ, without impact on the other motion commands, or the conf setting of "Move to". |
15.4.8.5 Conf
Explanation |
Effect of unified ConfL and ConfJ on/off: Conf on: equivalent to ConfL on and ConfJ on Conf off: equivalent to ConfL off and ConfJ off |
Example |
Example 1 Conf(on); MoveL (p0, v1000 …); MoveJ (p1,v1000 ….); //Effect equivalent to the following commands: ConfL (on); ConfJ (on); MoveL (p0, v1000 …); MoveJ (p1,v1000 ….); |
15.4.8.6 VelSet
Explanation |
The VelSet command allows for adjusting maximum motion speed for smoother motion when the robot is handling fragile objects. Instead of being constant, the maximum velocity of each joint keeps changing with load, body orientation, and other factors when the robot is moving. The VelSet command scales the maximum velocity capability curve for a specific task path, and the scaled maximum velocity capability curve is also a changing curve. |
Definition |
VelSet (gain); gain, data type: int, the maximum velocity capacity is specified in percentage, ranging from 1% to 100%, where 100% means the maximum acceleration. The robot reports an error when going over the limit. |
Example |
Example 1 VelSet (50); Set the maximum velocity capability to half of the robot’s default maximum velocity. |
Attention |
1. The VelSet command only affects the motion commands of the corresponding RL project, instead of JOG, move to, rapid motion, and other non-project functions. 2. The VelSet function will interrupt the turning zone. Please do not insert VelSet commands between the motion commands that require a turning zone. 3. The difference between the VelSet command and the program running rate adjustment slide: the program running rate adjustment slide modifies the user’s expected velocity, for example, motion command V4000, under 50% slide control, equals a user’s expected velocity of V2000. But if the robot is at its limits, the actual maximum velocity of this motion command is only V1000, then the actual motion velocity of the robot does not change regardless of whether the velocity slide is at 50% or 100% because both V2000 and V4000 are above V1000. Changing the expected velocity during this range will not impact the actual execution velocity; on the contrary, VelSet 50 does not change the user’s expected velocity but reduces the actual maximum velocity of the motion command by 50% during the motion planning process. Under the same motion command, the actual motion velocity of the robot will be cut to half from V1000 to V500. The user should identify the difference between these two functions. 4. Speed automatically reverts to the default (100%) during the following operations:
|
15.4.8.7 AccSet
Explanation |
The AccSet command allows for adjusting acceleration for smoother movement when the robot is handling fragile objects. |
Definition |
AccSet (acc, ramp); Acc, data type: int, the acceleration is specified as a percentage of the system preset value, ranging from 30% to 100%, where 100% means the maximum acceleration, beyond which the robot will stop and report an error. Ramp, data type: int, the Jerk is specified as a percentage of the system preset value, ranging from 30% to 100%, where 100% means the maximum jerk, beyond which the robot will report an error. |
Example |
Example 1 AccSet (50, 50); Acceleration and jerk are set to half of the default. |
Attention |
Acceleration automatically reverts to the default (100%) during the following operations:
|
15.4.8.8 BreakLookAhead
Explanation |
This command informs the control system to cancel the lookahead and force the cancellation of the turning zone between the previous motion command and the next motion command. The robot TCP will move to the target point position of the previous motion command and then move to the next point without the turning zone. The program pointer will also wait for the TCP to move to the target point position of the previous motion command before continuing the lookahead scan. |
Definition |
The command includes no parameters and no return value |
Example |
Example 1 MoveL(p1,v1000, z50, tool0); BreakLookAhead MoveL(p2,v1000, z50, tool0); MoveL(p3,v1000, z50, tool0); 1) The turning zone of point P1 is set to z50. Because of the BreakLookAhead command, the lookahead and the turning zone will be canceled, and the robot TCP will move exactly to point P1 and then to P2. There is no BreakLookAhead command between P2 and P3, so the robot will look ahead at P2 and pass the z50 turning zone before moving to P3. 2) The BreakLookAhead command has the same effect as the wait 0 command. |
15.4.8.9 GetRobotMaxLoad
Explanation |
It is used to get the maximum load value of the current robot model. |
Definition |
Ret = GetRobotMaxLoad(); Ret, return value, data type: int, maximum payload |
Example |
int maxload = GetRobotMaxLoad(); print(maxload); With xMate 7 as an example, return 7. |
15.4.8.10 GetRobotState
Explanation |
It is used to get the current operating state of the control system. Use the 4-byte bit information to represent the state of the control system, including fault, emergency stop, safety gate, operation mode, servo mode, and motion state, as shown in following table. |
Definition |
Ret = GetRobotState(); Ret, return value, data type: byte array, use four-byte types to represent the robot state. |
Example |
Example 1 byte st = GetRobotState(); print(st); Return {0, 5, 0, 0}. According to the table, the current state is: no fault, motor powered on, automatic mode, robot motion state, servo is in position mode. |
S/N |
State bits |
Meaning |
1 |
Byte[1].bit[1] |
1: Control system is not authorized |
2 |
Byte[1].bit[2] |
1: Control system recoverable faults |
3 |
Byte[1].bit[3] |
1: Control system fatal error |
4 |
Byte[1].bit[4] |
1: Servo system failure |
5 |
Byte[1].bit[5] |
1: Servo system fatal failure |
6 |
Byte[1].bit[6] |
1: Emergency stop |
7 |
Byte[1].bit[7] |
1: Safety gate stop |
8 |
Byte[1].bit[8] |
Reserved |
9 |
Byte[2].bit[1] |
Power-on state, 0: motor is not powered on; 1: motor is powered on |
10 |
Byte[2].bit[2] |
Robot motion state, 0: idle; 1: in motion |
11 |
Byte[2].bit[3] |
Operation mode, 0: manual mode; 1: automatic mode |
12 |
Byte[2].bit[4] |
Servo mode, 0: position mode; 1: torque mode |
13 |
Byte[2].bit[5] |
Reserved |
14 |
Byte[2].bit[6] |
Reserved |
15 |
Byte[2].bit[7] |
Reserved |
16 |
Byte[2].bit[8] |
Reserved |
17 |
Byte[3] |
Reserved |
18 |
Byte[4] |
Reserved |
15.4.8.11 AutoIgnoreZone
Explanation |
It is used to specify whether to allow the control system to automatically ignore the turning zone. |
Definition |
AutoIgnoreZone (true/false); true: Allow the control system to automatically ignore the turning zone (This is also the default state of the control system); false: Do not allow the control system to automatically ignore the turning zone
As shown above: The robot runs two MoveL commands with a z50 turning zone in between. During the motion, the robot needs lookahead from its current position for smooth and safe motion. For example, when the robot moves to p0, it looks ahead to P1. In this process, the control system pre-processes the information between p0 and p1. As the robot moves forward, the lookahead end point also moves forward. At a certain point, the lookahead end point p1 coincides with p2, the start point of the turning zone. If the control system has received the second motion command, it can generate a turning zone properly and control the robot to move along the predetermined trajectory; if the control system fails to receive the second motion command, it cannot generate the turning zone, and it will process the turning zone according to the AutoIgnoreZone command status. See below for the logic: AutoIgnoreZone true: Instead of waiting for the second motion command, the control system will cancel the turning zone and control the robot to move directly toward P3. AutoIgnoreZone false: The control system will wait for the second motion command, during which the robot will slow down until the turning zone trajectory is generated. If the robot fails to receive the second motion command when reaching P2, the robot will stop moving and report an error through HMI. The failure of the robot to receive the second motion command timely is often a result of too many non-motion commands between two motion commands, e.g.:
Many print commands are added between two motion commands, and it takes a long time for the control system to receive the second motion command after the first one is processed. |
Example |
Example 1 AutoIgnoreZone(true); MoveL(p3,v1000, z50, tool0); MoveL(p4,v1000, fine, tool0); Allow the control system to automatically ignore the turning zone Example 2 AutoIgnoreZone(false); MoveL(p3,v1000, z50, tool0); MoveL(p4,v1000, fine, tool0); Do not allow the control system to automatically ignore the turning zone |
15.4.8.12 MotionWaitAtFinePoint true/false
Explanation |
When the robot is stationary and the user clicks Start, the control system will look ahead a certain distance according to the lookahead parameter before starting the robot. This command sets whether the robot starts moving immediately when the lookahead coincides with a fine point. Fine point: the target point without a turning zone, i.e. a target point with the turning zone parameter set to fine. Remark: This command is not displayed in auxiliary programming |
Definition |
MotionWaitAtFinePoint(true/false); MotionWaitAtFinePoint true: The control system controls the start of the robot strictly according to the lookahead parameters. The robot only starts to move when the lookahead distance reaches the set value of the lookahead parameter or the lookahead of all motion commands is completed. In this state, the control system can guarantee the set lookahead distance. MotionWaitAtFinePoint false: The control system does not strictly follow the lookahead parameters, and the robot starts moving immediately when the lookahead coincides with the fine point. In this state, the robot can still start smoothly when the program logic gets extremely complicated, but the lookahead distance cannot be guaranteed. Default: MotionWaitAtFinePoint false |
Example |
Example 1 MotionWaitAtFinePoint(true); MoveL(p1,v1000, fine, tool0); MoveL(p2,v1000, fine, tool0); MoveL(p13v1000, fine, tool0); MoveL(p1,41000, fine, tool0); MoveL(p1,51000, fine, tool0); When the control system looks ahead to p1, it does not start the robot immediately, but checks whether the current lookahead distance has reached the set length before deciding whether to start the robot. Example 2 MotionWaitAtFinePoint(false); MoveL(p1,v1000, fine, tool0); MoveL(p2,v1000, fine, tool0); MoveL (p3,v1000, fine, tool0); MoveL (p4,v1000, fine, tool0); MoveL (p5, v1000, fine, tool0); When the control system looks ahead to p1, it immediately starts the robot, instead of checking whether the current lookahead distance has reached the set length. |
15.4.8.13 IgnoreOverride
Explanation |
In scenarios where welding, gluing, and other processes have strict requirements for the motion speed along the path, the command is developed with the hope of the motion speed of the process section not being affected by the global speed. This command can temporarily block the influence of the rate slider on motion commands, so that a specific segment of motion commands and trajectories is not affected by the global speed. This command supports performance in both automatic and manual modes. In manual mode, the motion speed is limited by v250. If the speed exceeds v250, it moves at v250. In automatic mode, it moves at the desired speed. |
Definition |
IgnoreOverride(On/Off); IgnoreOverride On indicates that subsequent motion commands are not affected by the rate slider, and IgnoreOverride Off has the opposite effect. |
Example |
Example 1 MoveJ (p1,v1000 ….);//Affected by slider speed IgnoreOverride(On); MoveJ (p2,v1000 ….);//Unaffected by slider speed MoveJ (p3,v1000 ….);//Unaffected by slider speed IgnoreOverride(Off); MoveJ (p4,v1000 ….);//Affected by slider speed Example 2 (manual mode) IgnoreOverride(On); MoveJ (p2,v1000 ….);//Unaffected by slider speed and moving at the speed of v250 MoveJ (p3,v100 ….);//Unaffected by slider speed and moving at the speed of v100 IgnoreOverride(Off); Example 3 (automatic mode) IgnoreOverride(On); MoveJ (p2,v1000 ….);//Unaffected by slider speed and moving at the speed of v1000 MoveJ (p3,v100 ….);//Unaffected by slider speed and moving at the speed of v100 IgnoreOverride(Off); |
Attention |
Affected motion commands: MoveAbsJ, MoveJ, MoveL, MoveC, MoveCF, MoveT, SearchL, SearchC, TrigL, TrigC, and TrigJ. The command is not immediately executed and does not interrupt the turning zone. It can only be used in motion tasks and cannot be used in Inzone; otherwise, an error will be reported. |
15.4.8.14 SpeedRefresh
Explanation |
It is used to override the speed value in the current motion program task. |
Definition |
SpeedRefresh(override); override, data type: int, value range:[1%, 100%] , if the speed override value exceeds the limit range, the robot will report an error. |
Example |
Example 1 SpeedRefresh(70); It indicates the current speed override value is set to 70% |
Attention |
|
15.4.8.15 CSpeedOverride
Explanation |
It indicates the current speed override value that users read |
Definition |
Ret = CSpeedOverride(); Ret Data type: int The value range is 1%−100% of the speed override value |
Example |
Example 1 int override = CSpeedOverride(); print(override); If the current speed override value is 70%, it will return to 70 |
15.4.8.16 SetRobotJointsMaxAcc
Explanation |
It is used to dynamically modify the maximum acceleration of the robot joint. When the robot needs to magnify the maximum acceleration of the joint to raise the takt and increase the robot’s motion speed, the maximum acceleration of each joint can be set by this command. The effect of this command is consistent with the "maximum joint acceleration" under the motion parameters set on HMI, and this command is available for a specific motion. |
Definition |
SetRobotJointsMaxAcc(jointval1, jointval2, jointval3, jointval4, jointval5, jointval6, jointval7 ); jointval1−7, data type: double/int, maximum acceleration of the joint, unit: °/s2. |
Example |
Example 1 SetRobotJointsMaxAcc (80000.0, 70000.0, 70000.0, 150000.0, 150000.0, 20000.0, 20000.0); |
Attention |
When there is a turning zone between the two motion commands, the turning zone is generated according to the constraints of the smaller one between the maximum joint accelerations. |
15.4.8.17 SetRobotJointsMaxJerk
Explanation |
It is used to dynamically modify the maximum jerk of the robot joint. When the robot needs to magnify the maximum jerk of the joint to raise the takt and increase the robot’s motion speed, the maximum jerk of each joint can be set by this command. The effect of this command is consistent with the "maximum joint jerk" under the motion parameters set on HMI, and this command is available for a specific motion. |
Definition |
SetRobotJointsMaxJerk(jointval1, jointval2, jointval3, jointval4, jointval5, jointval6, jointval7 ); jointval1−7, data type: double/int, maximum jerk of the joint, unit: °/s3. |
Example |
Example 1 SetRobotJointsMaxJerk (30000.0, 27000.0, 27000.0, 50000.0, 40000.0, 60000.0, 60000.0); |
Attention |
When there is a turning zone between two trajectory segments, the turning zone is generated according to the constraints of the smaller one between the maximum joint accelerations; |
15.4.8.18 ResetRobotJointsMaxAcc
Explanation |
It is used to restore the maximum axis acceleration to the default value, and is used in conjunction with the command SetRobotJointsMaxAcc. After it takes effect, the effects of the above command will be cleared. |
Definition |
ResetRobotJointsMaxAcc(); No parameters. |
Example |
Example 1 ResetRobotJointsMaxAcc(); |
15.4.8.19 ResetRobotJointsMaxJerk
Explanation |
It is used to restore the maximum axis jerk to the default value, and is used in conjunction with the command SetRobotJointsMaxJerk. After it takes effect, the effects of the above command will be cleared. |
Definition |
ResetRobotJointsMaxJerk(); No parameters. |
Example |
Example 1 ResetRobotJointsMaxJerk (); |
15.4.8.20 SetTransmissionOverloadParams
Explanation |
It is used to dynamically modify the driving overload coefficient of the robot. When the robot needs to magnify the driving overload coefficient of the joint properly to raise the takt and increase the robot’s motion speed, the driving overload coefficient of each joint can be set by this command. The effect of this command is consistent with the "overload coefficient" under the body parameters set on HMI, and this command is available for a specific motion. |
Definition |
SetTransmissionOverloadParams (jointval1, jointval2, jointval3, jointval4, jointval5, jointval6, jointval7); jointval1−7, data type: double/int, driving overload coefficient of the joint. |
Example |
Example 1 SetTransmissionOverloadParams (0.95, 0.95, 0.95, 0.95, 1.5, 0.95, 1.0); |
Attention |
When there is a turning zone between two trajectory segments, the turning zone is generated according to the constraints of the smaller one between the transmission overload coefficients; |
15.4.8.21 ResetTransmissionOverloadParams
Explanation |
Used to restore the robot’s transmission overload coefficient to its original value; to be used in conjunction with the SetTransmissionOverloadParams command; the effect of this command is cleared after taking effect; |
Definition |
ReSetTransmissionOverloadParams(); No parameters. |
Example |
Example 1 ReSetTransmissionOverloadParams(); |
15.4.8.22 SetAccRampTime
Explanation |
It is used to set the acceleration ramp time, that is, the time it takes for the robot to increase its acceleration from a minimum to a maximum. The smaller the value, the faster the robot accelerates, and vice versa. |
Definition |
SetAccRampTime (ramptime); ramptime, data type: double/int, acceleration ramp time, range for industrial robots: , range for collaborative robots:[0.05, 1], in s; |
Example |
Example 1 SetAccRampTime (0.15); |
15.4.8.23 ResetAccRampTime
Explanation |
It is used to reset the acceleration ramp time, with the SetAccRampTime. |
Definition |
ResetAccRampTime (); No parameters; |
Example |
Example 1 ResetAccRampTime(); |
15.4.8.24 SetVarValue
Explanation |
It is used to assign the variables in the turning zone, and the assignment is not triggered for lookahead. |
Definition |
SetVarValue(var1, var2); Assign var2 to var1. var1: data type: byte, int, double, bool, and writable register variable with no function code bound. var2: data type: byte, int, double, bool, IO variable, register variable, function return value, and expression. |
Example |
Example 1
//The robot is currently located in the p0. MoveL(p1); SetVarValue(var1, var2); // Assign var2 to var1 at the start point of the turning zone MoveL(p2); |
Attention |
The implicit conversion occurs during the assignment. int a=1; double b=20.22; SetVarValue(a, b); For example, after the assignment, the variable a is 20. |
15.4.8.25 SetStopAccRampTime
Explanation |
It is used to set the acceleration ramp time during the final stop phase. For target points without a turning zone, this is the time it takes for the robot to increase its acceleration from a minimum to 0 during the final stop phase. The smaller the value, the faster the robot stops, and vice versa. If the acceleration ramp time is greater than the acceleration ramp time during the final stop phase, the robot will use the longer acceleration ramp time for stopping. |
Definition |
SetStopAccRampTime(ramptime); ramptime, data type: double/int, acceleration ramp time during the final stop phase, range: [0.01, 1], unit: s. |
Example |
Example 1 SetAccRampTime(0.15); |
15.4.8.26 ResetStopAccRampTime
Explanation |
It is used to reset the acceleration ramp time during the final stop phase, with the SetStopAccRampTime. |
Definition |
ResetStopAccRampTime(); No parameters; |
Example |
Example 1 ResetStopAccRampTime(); |
15.4.8.27 MotionSupJointTrq
Explanation |
The motion supervision is used to adjust the maximum output torque of each joint in the RL program at any time. |
Definition |
MotionSupJointTrq (J1, J2, J3, J4, J5, J6, J7); |
Example |
Example 1 MotionSupJointTrq(50, 50, 70, 50, 60, 60, 50); |
15.4.8.28 SetMaxMotionJerk
Explanation |
Set the value of the robot’s underlying otgc jerk. The default value is 300. Increasing this value can achieve faster start/stop effects. The value will be restored to default after pptomain; |
Definition |
SetMaxMotionJerk(Num); Num: Data type: int/double, greater than 100 |
Example |
Example 1 SetMaxMotionJerk(10000); |
15.4.8.29 VibSuppression
Explanation |
Command to set the vibration suppression function switch. During Pptomain, the vibration suppression function reverts to the state set in the HMI interface (see the vibration suppression function in the Dynamic settings module in 9.8). |
Definition |
VibSuppression(Type); Type, data type: keyword, on: turn on, off: turn off |
Example |
VibSuppression(on); MoveAbsJ(p1,v500, fine, tool1); MoveAbsJ(p2,v500, fine, tool1); MoveAbsJ(p3,v500, fine, tool1); VibSuppression(off); MoveAbsJ(p4,v500, fine, tool1); When executing the VibSuppression(on) command, the controller enables the vibration suppression function. The movements at subsequent points p1−p3 will be affected by the vibration suppression function, where robot vibrations during start/stop are suppressed, resulting in improved trajectory accuracy. When executing the VibSuppression(off) command, the controller disables the vibration suppression function. |
15.4.8.30 MotionSup
Explanation |
It is used to turn on and off Collision Detection. |
Definition |
MotionSup(type [, level, event] ); Type, data type: keyword, On: turn on, Off: turn off Level, data type: int, the additional parameter for MotionSup On to modify the collision detection sensitivity percentage, range: Event, data type: string, the additional parameter for MotionSup On to set the behavior after collisions
|
Example |
Example 1 MotionSup(On); //… other commands MotionSup(Off); After enabling collision detection, users can execute other commands and turn off collision detection by MotionSup Off after the completion of commands Example 2 MotionSup(On, 200, “softstop”); Users enable collision detection and set the detection sensitivity percentage to 200% and the behavior triggered to a compliant stop after detecting a collision. |
15.4.8.31 MotionSupPlus
Explanation |
MotionSupPlus (Motion Supervision Plus) is used to adjust the robot’s joint collision detection sensitivity in the RL program at any time. |
Definition |
MotionSupPlus(x1, x2, x3, x4, x5, x6, x7); x1 to x7, the collision detection sensitivity in % for joints 1-7, respectively. |
Example |
Example 1 MotionSupPlus(5, 20, 7, 20, 6, 20, 5); Indicates the sensitivity of the 7 joints to be 5, 20, 7, 20, 6, 20, 5, respectively. Note: For 6-axis robots, 7 parameters should be set too, where the first 6 parameters correspond to joints 1-6. This command is available for cobots and six-axis industrial robots, but not three- and four-axis industrial robots. |
15.4.8.32 MotionSupJointTrq
Explanation |
MotionSupJointTrq (Motion Supervision Joint Torque) Motion supervision is used to adjust the driving torque limits of robot joints at any time in the RL program. |
Definition |
MotionSupJointTrq(x1, x2, x3, x4, x5, x6, x7); x1 to x7 indicates the driving torque limits of joint 1 to joint 7 respectively, in N.m. |
Example |
Example 1 MotionSupJointTrq (100, 91, 59, 14, 14, 14, 5); It indicates that the driving torque limits of 7 joints are 100 N.m, 91 N.m, 59 N.m, 14 N.m, 14 N.m, 14 N.m, and 5 N.m, respectively. Note: For 6-axis robots, 7 parameters should be set too, where the first 6 parameters correspond to joints 1-6. This command is available for cobots and six-axis industrial robots, but not three- and four-axis industrial robots. |


