Motion
Motion
MoveL
Primitive Description and Usage
Description: This primitive moves TCP linearly in Cartesian space. Users can specify multiple Cartesian waypoints. Every two successive waypoints are connected by a straight line with a blending zone radius. The motion along the path is time-optimal and satisfies the limitations on TCP velocity, acceleration and jerk.
Example Usage: Use this primitive to move the TCP linearly between waypoints.
Primitive Input Parameters
Input Parameter |
Description |
Type |
Unit |
Default Value & Range |
---|---|---|---|---|
target* |
Target TCP pose |
COORD |
m-deg |
[traj_start* world*] |
waypoints |
Waypoints between initial and target poses |
ARRAY_COORD |
m-deg |
[traj_start* traj_goal* traj_prev* world*] |
vel |
TCP linear velocity |
DOUBLE |
m/s |
0.5 ∈ [0.0005 … 2.2] |
zoneRadius |
Blending zone radius while TCP approximating the waypoints |
TYPE |
mm |
Z50 ∈ [ZFine Z1 Z5 Z10 Z15 Z20 Z30 Z40 Z50 Z60 Z80 Z100 Z150 Z200] |
targetTolerLevel |
Tolerance level to determine if the robot has reached the target. 1 means to check with the smallest tolerance, 0 means no tolerance check. |
INT |
none |
3 ∈ [0 … 10] |
acc |
TCP linear acceleration |
DOUBLE |
m/s^2 |
1.5 ∈ [0.1 … 3.0] |
jerk |
TCP linear jerk |
DOUBLE |
m/s^3 |
200.0 ∈ [50.0 … 1500.0] |
preferJntPos |
Preferred target joint positions. When the robot moves in Cartesian space, each joint will move as close as possible toward the preferred position. |
VEC_7d |
deg |
0.0 -40.0 0.0 90.0 0.0 40.0 0.0 ∈ [-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
configOptObj |
Weights of three configuration optimization objectives, which respectively are to make the robot easier to translate in Cartesian space, easier to rotate in Cartesian space, and closer to the preferred joint position. |
VEC_3d |
none |
0.0 0.0 0.5 ∈ [0.0 0.0 0.1 … 1.0 1.0 1.0] |
*Parameters marked with an asterisk must be assigned a value prior to executing the primitive.
*Coordinate System Definition
Coordinate |
Definition |
Value Format |
---|---|---|
world |
WORLD coordinate system, which is a fixed Cartesian coordinate system located at the center of the robot base |
X Y Z Rx Ry Rz WORLD WORLD_ORIGIN |
work |
WORK coordinate system, which defines the position of the workpiece relative to the WORLD coordiante system |
X Y Z Rx Ry Rz WORK WorkCoordName |
tcp |
TCP coordinate system, which is located at the Tool Center Point relative to the center of robot flange |
X Y Z Rx Ry Rz TCP ONELINE |
tcp_start |
The fixed coordinate system which is located at the inital TCP pose of the primitive |
X Y Z Rx Ry Rz TCP START |
traj_start |
The offset of a waypoint relative to the initial TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ START |
traj_goal |
The offset of a waypoint relative to the target TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ GOAL |
traj_prev |
The offset of a waypoint relative to the previous waypoint in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ PREVIOUSWAYPOINT |
Primitive State Parameters
State Parameter |
Description |
Type |
Unit |
---|---|---|---|
terminated |
The termination flag of the primitive. It is set to true if the primitive is terminated. |
BOOL |
none |
timePeriod |
The time spent on running the current primitive. |
DOUBLE |
s |
reachedTarget |
Flag to indicate if the robot has reached the target |
BOOL |
none |
waypointIndex |
Index of the current waypoint the robot just passed. 0 means the initial pose. |
INT |
none |
Primitive Output Parameters
Output Parameter |
Description |
Type |
Unit |
---|---|---|---|
tcpPoseOut |
The TCP pose when the primitive is terminated. It is represented in the world coordinate system. |
COORD |
m-deg |
Default Transition Condition
State Parameter |
Condition |
Value |
---|---|---|
reachedTarget |
= |
1 |
MoveJ
Primitive Description and Usage
Description: This primitive moves the robot by joint movement. Users can specify a joint position target and multiple joint space waypoints. The robot passes through all of them with the specified joint velocity and joint acceleration.
Example Usage: Use this primitive to move the robot through multiple joint positions.
Primitive Input Parameters
Input Parameter |
Description |
Type |
Unit |
Default Value & Range |
---|---|---|---|---|
target* |
Target joint position |
VEC_7d |
deg |
[-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
waypoints |
Waypoints between initial and target poses |
ARRAY_VEC_7d |
deg |
[-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
vel |
TCP linear velocity |
DOUBLE |
m/s |
0.2 ∈ [0.0005 … 2.2] |
zoneRadius |
Blending zone radius while TCP approximating the waypoints |
TYPE |
mm |
Z50 ∈ [ZFine Z1 Z5 Z10 Z15 Z20 Z30 Z40 Z50 Z60 Z80 Z100 Z150 Z200] |
targetTolerLevel |
Tolerance level to determine if the robot has reached the target. 1 means to check with the smallest tolerance, 0 means no tolerance check. |
INT |
none |
1 ∈ [0 … 10] |
relativeToStart |
Enable relative target pose mode |
BOOL |
none |
0 ∈ [0 / 1] |
*Parameters marked with an asterisk must be assigned a value prior to executing the primitive.
Primitive State Parameters
State Parameter |
Description |
Type |
Unit |
---|---|---|---|
terminated |
The termination flag of the primitive. It is set to true if the primitive is terminated. |
BOOL |
none |
timePeriod |
The time spent on running the current primitive. |
DOUBLE |
s |
reachedTarget |
Flag to indicate if the robot has reached the target |
BOOL |
none |
waypointIndex |
Index of the current waypoint the robot just passed. 0 means the initial pose. |
INT |
none |
Primitive Output Parameters
Output Parameter |
Description |
Type |
Unit |
---|---|---|---|
tcpPoseOut |
The TCP pose when the primitive is terminated. It is represented in the world coordinate system. |
COORD |
m-deg |
Default Transition Condition
State Parameter |
Condition |
Value |
---|---|---|
reachedTarget |
= |
1 |
MovePTP
Primitive Description and Usage
Description: This primitive moves the robot to the target TCP pose with joint motion, typically in a curved line, by calculating inverse kinematics. The curved line follows a natural joint space trajectory and hence provides good dynamics performance. Users can specify target Cartesian pose as well as multiple Cartesian waypoints. The robot passes through these waypoints and target pose with specified kino-dynamic constraints including joint velocity and joint acceleration.
Example Usage: Use this primitive to move the TCP in free space with good acceleration performance. Recommended for fast movement, but the shape of the trajectory is not strictly required.
Primitive Input Parameters
Input Parameter |
Description |
Type |
Unit |
Default Value & Range |
---|---|---|---|---|
target* |
Target TCP pose |
COORD |
m-deg |
[traj_start* world*] |
waypoints |
Waypoints between initial and target poses |
ARRAY_COORD |
m-deg |
[traj_start* traj_goal* traj_prev* world*] |
jntVel |
Joint velocity for each joint |
VEC_7d |
deg/s |
60.0 60.0 70.0 70.0 140.0 140.0 140.0 ∈ [0 0 0 0 0 0 0 … 120 120 140 140 280 280 280] |
targetTolerLevel |
Tolerance level to determine if the robot has reached the target. 1 means to check with the smallest tolerance, 0 means no tolerance check. |
INT |
none |
1 ∈ [0 … 10] |
jntAcc |
Joint acceleration for each joint |
VEC_7d |
deg/s^2 |
360 360 420 420 840 840 840 ∈ [0 0 0 0 0 0 0 … 1000 1000 1000 1000 1000 1000 1000] |
preferJntPos |
Preferred target joint positions. When the robot moves in Cartesian space, each joint will move as close as possible toward the preferred position. |
VEC_7d |
deg |
0.0 -40.0 0.0 90.0 0.0 40.0 0.0 ∈ [-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
*Parameters marked with an asterisk must be assigned a value prior to executing the primitive.
*Coordinate System Definition
Coordinate |
Definition |
Value Format |
---|---|---|
world |
WORLD coordinate system, which is a fixed Cartesian coordinate system located at the center of the robot base |
X Y Z Rx Ry Rz WORLD WORLD_ORIGIN |
work |
WORK coordinate system, which defines the position of the workpiece relative to the WORLD coordiante system |
X Y Z Rx Ry Rz WORK WorkCoordName |
tcp |
TCP coordinate system, which is located at the Tool Center Point relative to the center of robot flange |
X Y Z Rx Ry Rz TCP ONELINE |
tcp_start |
The fixed coordinate system which is located at the inital TCP pose of the primitive |
X Y Z Rx Ry Rz TCP START |
traj_start |
The offset of a waypoint relative to the initial TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ START |
traj_goal |
The offset of a waypoint relative to the target TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ GOAL |
traj_prev |
The offset of a waypoint relative to the previous waypoint in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ PREVIOUSWAYPOINT |
Primitive State Parameters
State Parameter |
Description |
Type |
Unit |
---|---|---|---|
terminated |
The termination flag of the primitive. It is set to true if the primitive is terminated. |
BOOL |
none |
timePeriod |
The time spent on running the current primitive. |
DOUBLE |
s |
reachedTarget |
Flag to indicate if the robot has reached the target |
BOOL |
none |
waypointIndex |
Index of the current waypoint the robot just passed. 0 means the initial pose. |
INT |
none |
Primitive Output Parameters
Output Parameter |
Description |
Type |
Unit |
---|---|---|---|
tcpPoseOut |
The TCP pose when the primitive is terminated. It is represented in the world coordinate system. |
COORD |
m-deg |
Default Transition Condition
State Parameter |
Condition |
Value |
---|---|---|
reachedTarget |
= |
1 |
MoveC
Primitive Description and Usage
Description: This primitive moves the robot circularly to a target pose in Cartesian space. The robot’s initial pose, middle pose, and target pose must not be collinear. A complete circle can be performed by two MoveC primitives.
Example Usage: Use this primitive in applications that require the robot to execute circular/arc trajectories such as welding.
Primitive Input Parameters
Input Parameter |
Description |
Type |
Unit |
Default Value & Range |
---|---|---|---|---|
target* |
Target TCP pose |
COORD |
m-deg |
[traj_start* world*] |
middlePose* |
Middle pose of the circular arc |
COORD |
m-deg |
[traj_start* traj_goal* traj_prev* world*] |
vel |
TCP linear velocity |
DOUBLE |
m/s |
1.0 ∈ [0.01 … 2.0] |
targetTolerLevel |
Tolerance level to determine if the robot has reached the target. 1 means to check with the smallest tolerance, 0 means no tolerance check. |
INT |
none |
3 ∈ [1 … 10] |
acc |
TCP linear acceleration |
DOUBLE |
m/s^2 |
1.5 ∈ [0.1 … 3.0] |
jerk |
TCP linear jerk |
DOUBLE |
m/s^3 |
100.0 ∈ [90.0 … 10000.0] |
equalRadius |
Ability to convert orientation to linear distance |
DOUBLE |
none |
0.1 ∈ [0.0 … 10.0] |
preferJntPos |
Preferred target joint positions. When the robot moves in Cartesian space, each joint will move as close as possible toward the preferred position. |
VEC_7d |
deg |
0.0 -40.0 0.0 90.0 0.0 40.0 0.0 ∈ [-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
configOptObj |
Weights of three configuration optimization objectives, which respectively are to make the robot easier to translate in Cartesian space, easier to rotate in Cartesian space, and closer to the preferred joint position. |
VEC_3d |
none |
0.0 0.0 0.5 ∈ [0.0 0.0 0.1 … 1.0 1.0 1.0] |
*Parameters marked with an asterisk must be assigned a value prior to executing the primitive.
*Coordinate System Definition
Coordinate |
Definition |
Value Format |
---|---|---|
world |
WORLD coordinate system, which is a fixed Cartesian coordinate system located at the center of the robot base |
X Y Z Rx Ry Rz WORLD WORLD_ORIGIN |
work |
WORK coordinate system, which defines the position of the workpiece relative to the WORLD coordiante system |
X Y Z Rx Ry Rz WORK WorkCoordName |
tcp |
TCP coordinate system, which is located at the Tool Center Point relative to the center of robot flange |
X Y Z Rx Ry Rz TCP ONELINE |
tcp_start |
The fixed coordinate system which is located at the inital TCP pose of the primitive |
X Y Z Rx Ry Rz TCP START |
traj_start |
The offset of a waypoint relative to the initial TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ START |
traj_goal |
The offset of a waypoint relative to the target TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ GOAL |
traj_prev |
The offset of a waypoint relative to the previous waypoint in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ PREVIOUSWAYPOINT |
Primitive State Parameters
State Parameter |
Description |
Type |
Unit |
---|---|---|---|
terminated |
The termination flag of the primitive. It is set to true if the primitive is terminated. |
BOOL |
none |
timePeriod |
The time spent on running the current primitive. |
DOUBLE |
s |
reachedTarget |
Flag to indicate if the robot has reached the target |
BOOL |
none |
Primitive Output Parameters
Output Parameter |
Description |
Type |
Unit |
---|---|---|---|
tcpPoseOut |
The TCP pose when the primitive is terminated. It is represented in the world coordinate system. |
COORD |
m-deg |
Default Transition Condition
State Parameter |
Condition |
Value |
---|---|---|
reachedTarget |
= |
1 |
MoveIK
Primitive Description and Usage
Description: This primitive moves the robot to the target TCP pose in a straight line with joint motion by calculating inverse kinematics. Except for the target Cartesian pose, users can specify multiple Cartesian waypoints and the robot will pass through all of them with specified kino-dynamic constraints including joint velocity, joint acceleration, joint torque, Cartesian linear velocity, and Cartesian angular velocity. Currently, only Cartesian linear velocity is provided to the user as an input option. Other constraints use predefined values.
Example Usage: Moving the TCP in a straight line in free space. For general Cartesian move, it is recommended to use MoveL first to get the smoother trajectory, because the Cartesian jerk will be constrained (Currently MoveIK does not have this feature). Compared to MoveL, currently only MoveIK constrains the joint velocity/acceleration and torque. When the joint velocity and torque errors are easily triggered when using MoveL, it is recommended to use MoveIK instead.
Primitive Input Parameters
Input Parameter |
Description |
Type |
Unit |
Default Value & Range |
---|---|---|---|---|
target* |
Target TCP pose |
COORD |
m-deg |
[traj_start* world*] |
waypoints |
Waypoints between initial and target poses |
ARRAY_COORD |
m-deg |
[traj_start* traj_goal* traj_prev* world*] |
vel |
TCP linear velocity |
DOUBLE |
m/s |
0.2 ∈ [0.001 … 2.0] |
targetTolerLevel |
Tolerance level to determine if the robot has reached the target. 1 means to check with the smallest tolerance, 0 means no tolerance check. |
INT |
none |
1 ∈ [1 … 10] |
jntAcc |
Joint acceleration for all joints |
DOUBLE |
deg/s^2 |
100 ∈ [100 … 450] |
preferJntPos |
Preferred target joint positions. When the robot moves in Cartesian space, each joint will move as close as possible toward the preferred position. |
VEC_7d |
deg |
0.0 -40.0 0.0 90.0 0.0 40.0 0.0 ∈ [-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
samplingNum |
Sampling number on the trajectory for path optimization |
INT |
none |
100 ∈ [10 … 1000] |
*Parameters marked with an asterisk must be assigned a value prior to executing the primitive.
*Coordinate System Definition
Coordinate |
Definition |
Value Format |
---|---|---|
world |
WORLD coordinate system, which is a fixed Cartesian coordinate system located at the center of the robot base |
X Y Z Rx Ry Rz WORLD WORLD_ORIGIN |
work |
WORK coordinate system, which defines the position of the workpiece relative to the WORLD coordiante system |
X Y Z Rx Ry Rz WORK WorkCoordName |
tcp |
TCP coordinate system, which is located at the Tool Center Point relative to the center of robot flange |
X Y Z Rx Ry Rz TCP ONELINE |
tcp_start |
The fixed coordinate system which is located at the inital TCP pose of the primitive |
X Y Z Rx Ry Rz TCP START |
traj_start |
The offset of a waypoint relative to the initial TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ START |
traj_goal |
The offset of a waypoint relative to the target TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ GOAL |
traj_prev |
The offset of a waypoint relative to the previous waypoint in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ PREVIOUSWAYPOINT |
Primitive State Parameters
State Parameter |
Description |
Type |
Unit |
---|---|---|---|
terminated |
The termination flag of the primitive. It is set to true if the primitive is terminated. |
BOOL |
none |
timePeriod |
The time spent on running the current primitive. |
DOUBLE |
s |
reachedTarget |
Flag to indicate if the robot has reached the target |
BOOL |
none |
Primitive Output Parameters
Output Parameter |
Description |
Type |
Unit |
---|---|---|---|
tcpPoseOut |
The TCP pose when the primitive is terminated. It is represented in the world coordinate system. |
COORD |
m-deg |
Default Transition Condition
State Parameter |
Condition |
Value |
---|---|---|
reachedTarget |
= |
1 |
MoveWait
Primitive Description and Usage
Description: This primitive moves the robot linearly in Cartesian space and provides additional functions to interact with I/O signal during the execution. At each waypoint, users can specify a DI (digital input) index and a target DI value to be 0 (low) or 1 (high). The robot will not go to the next waypoint until the specific DI is at the specified value. In the meantime, users can specify a maximum wait time at each waypoint. If the DI is not at the specified value within the maximum wait time, the state variable timeout index will be set, and plan execution will continue.
Example Usage: In this primitive, users can use an I/O signal to control the workflow. For example, having the robot wait for a GPIO command from the master controller in a production line.
Primitive Input Parameters
Input Parameter |
Description |
Type |
Unit |
Default Value & Range |
---|---|---|---|---|
waypoint* |
Waypoint pose |
ARRAY_COORD |
m-deg |
[traj_start* traj_goal* traj_prev* world*] |
vel* |
TCP linear velocity |
ARRAY_DOUBLE |
m/s |
1.0 ∈ [0.01 … 2.0] |
acc* |
TCP linear acceleration |
ARRAY_DOUBLE |
m/s^2 |
1.0 ∈ [0.1 … 10.0] |
zoneRadius |
Blending zone radius while TCP approximating the waypoints |
ARRAY_TYPE |
m |
Z10 ∈ [Z0 Z1 Z5 Z10 Z15 Z20 Z30 Z40 Z50 Z60 Z80 Z100 Z150 Z200] |
enableWait* |
Enable Wait mode at this waypoint |
ARRAY_BOOL |
none |
|
waitTime* |
Wait time at this waypoint. If timeout, primitive execution will continue and the corresponding timeout index will be set. |
ARRAY_DOUBLE |
s |
[0.1 … 1000] |
diPortNo* |
Digital input port number |
ARRAY_INT |
none |
[0 … 15] |
diValue* |
Primitive execution is stopped until the digital input equals this value |
ARRAY_INT |
none |
[0 … 1] |
targetTolerLevel |
Tolerance level to determine if the robot has reached the target. 1 means to check with the smallest tolerance, 0 means no tolerance check. |
INT |
none |
3 ∈ [1 … 10] |
ioModule |
I/O module to set the DI port |
TYPE |
none |
System ∈ [System Modbus] |
jerk |
TCP linear jerk |
DOUBLE |
m/s^3 |
1000.0 ∈ [10.0 … 10000.0] |
cornerAcc |
Acceleration at the corner |
DOUBLE |
m/s^2 |
20.0 ∈ [0.5 … 20.0] |
cornerJerk |
Jerk at the corner |
DOUBLE |
m/s^3 |
800.0 ∈ [10.0 … 10000.0] |
equalRadius |
Convert orientation angle to linear distance. It standards for the ability that the orientation follows the position. |
DOUBLE |
none |
0.1 ∈ [0.0 … 10.0] |
preferJntPos |
Preferred target joint positions. When the robot moves in Cartesian space, each joint will move as close as possible toward the preferred position. |
VEC_7d |
deg |
0.0 -40.0 0.0 90.0 0.0 40.0 0.0 ∈ [-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
configOptObj |
Weights of three configuration optimization objectives, which respectively are to make the robot easier to translate in Cartesian space, easier to rotate in Cartesian space, and closer to the preferred joint position. |
VEC_3d |
none |
0.0 0.0 0.5 ∈ [0.0 0.0 0.1 … 1.0 1.0 1.0] |
*Parameters marked with an asterisk must be assigned a value prior to executing the primitive.
*Coordinate System Definition
Coordinate |
Definition |
Value Format |
---|---|---|
world |
WORLD coordinate system, which is a fixed Cartesian coordinate system located at the center of the robot base |
X Y Z Rx Ry Rz WORLD WORLD_ORIGIN |
work |
WORK coordinate system, which defines the position of the workpiece relative to the WORLD coordiante system |
X Y Z Rx Ry Rz WORK WorkCoordName |
tcp |
TCP coordinate system, which is located at the Tool Center Point relative to the center of robot flange |
X Y Z Rx Ry Rz TCP ONELINE |
tcp_start |
The fixed coordinate system which is located at the inital TCP pose of the primitive |
X Y Z Rx Ry Rz TCP START |
traj_start |
The offset of a waypoint relative to the initial TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ START |
traj_goal |
The offset of a waypoint relative to the target TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ GOAL |
traj_prev |
The offset of a waypoint relative to the previous waypoint in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ PREVIOUSWAYPOINT |
Primitive State Parameters
State Parameter |
Description |
Type |
Unit |
---|---|---|---|
terminated |
The termination flag of the primitive. It is set to true if the primitive is terminated. |
BOOL |
none |
timePeriod |
The time spent on running the current primitive. |
DOUBLE |
s |
reachedTarget |
Flag to indicate if the robot has reached the target |
BOOL |
none |
waypointIndex |
Index of the current waypoint the robot just passed. 0 means the initial pose. |
INT |
none |
timeoutIndex |
Index of the timeout waypoint. 0 means no timeout occurs. |
INT |
none |
Primitive Output Parameters
Output Parameter |
Description |
Type |
Unit |
---|---|---|---|
tcpPoseOut |
The TCP pose when the primitive is terminated. It is represented in the world coordinate system. |
COORD |
m-deg |
Default Transition Condition
State Parameter |
Condition |
Value |
---|---|---|
reachedTarget |
= |
1 |
MoveTraj
Primitive Description and Usage
Description: This primitive moves the robot along a predefined trajectory generated by the Trajectory Editor in a pure motion mode or a hybrid force/motion mode. A force control axis parameter (a 3d vector) determines the execution mode in this primitive. If the force control axis is a zero vector, the robot will run in pure motion mode. In this case, the robot will move along the trajectory by going through the pose specified at each waypoint. If the force control axis is not a zero vector, the robot will move along the trajectory by going through the waypoints; however, the TCP will follow the force trajectory along the force control axes (ignoring the pose information along the force control axes) and the motion trajectory along the non-force control axes.
Example Usage: In some applications, users may command the robot to go through a complicated trajectory consisting of many waypoints with specific geometry constraints. In such cases, it is very difficult to configure these waypoints by typing them in one after another; instead, users can use the Trajectory Editor to configure such a trajectory via a combination of teaching and editing, and the result can be saved in a trajectory file. In addition to geometric constraints, some tasks would also require the trajectory to comply with some force constraints. In the Trajectory Editor, users can further edit this trajectory by adding a wrench at each waypoint so that the trajectory is a hybrid force-motion trajectory.
Primitive Input Parameters
Input Parameter |
Description |
Type |
Unit |
Default Value & Range |
---|---|---|---|---|
fileName* |
Trajectory file name |
FILE |
none |
[.traj] |
fileLoadType |
Trajectory file loading type |
TYPE |
none |
FromProject ∈ [FromProject FromRuntime] |
targetTolerLevel |
Tolerance level to determine if the robot has reached the target. 1 means to check with the smallest tolerance, 0 means no tolerance check. |
INT |
none |
3 ∈ [1 … 10] |
forceCoord |
Reference coordinate system for force control direction |
COORD |
m-deg |
0 0 0 0 0 0 TCP ONLINE ∈ [world* tcp_start* tcp*] |
forceAxis |
Activated axes of force control coordinate to apply force or torque |
VEC_6i |
none |
0 0 1 0 0 0 ∈ [0 0 0 0 0 0 … 1 1 1 1 1 1] |
enablePreferJntPos |
Flag to indicate if primitive parameter preferJntPos is enabled. If this parameter is set to TRUE, the value of the preferred joint positions in the trajectory file will become invalid and the robot will use the value of primitive parameter preferJntPos. |
BOOL |
none |
1 ∈ [0 / 1] |
preferJntPos |
Preferred target joint positions. When the robot moves in Cartesian space, each joint will move as close as possible toward the preferred position. |
VEC_7d |
deg |
0.0 -40.0 0.0 90.0 0.0 40.0 0.0 ∈ [-160 -130 -170 -107 -170 -80 -170 … 160 130 170 154 170 260 170] |
configOptObj |
Weights of three configuration optimization objectives, which respectively are to make the robot easier to translate in Cartesian space, easier to rotate in Cartesian space, and closer to the preferred joint position. |
VEC_3d |
none |
0.0 0.0 0.5 ∈ [0.0 0.0 0.1 … 1.0 1.0 1.0] |
maxVelForceDir |
Maximum movement velocity along force control direction |
VEC_3d |
m/s |
2.0 2.0 2.0 ∈ [0.005 0.005 0.005 … 2.0 2.0 2.0] |
*Parameters marked with an asterisk must be assigned a value prior to executing the primitive.
*Coordinate System Definition
Coordinate |
Definition |
Value Format |
---|---|---|
world |
WORLD coordinate system, which is a fixed Cartesian coordinate system located at the center of the robot base |
X Y Z Rx Ry Rz WORLD WORLD_ORIGIN |
work |
WORK coordinate system, which defines the position of the workpiece relative to the WORLD coordiante system |
X Y Z Rx Ry Rz WORK WorkCoordName |
tcp |
TCP coordinate system, which is located at the Tool Center Point relative to the center of robot flange |
X Y Z Rx Ry Rz TCP ONELINE |
tcp_start |
The fixed coordinate system which is located at the inital TCP pose of the primitive |
X Y Z Rx Ry Rz TCP START |
traj_start |
The offset of a waypoint relative to the initial TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ START |
traj_goal |
The offset of a waypoint relative to the target TCP pose in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ GOAL |
traj_prev |
The offset of a waypoint relative to the previous waypoint in the TCP coordinate system |
X Y Z Rx Ry Rz TRAJ PREVIOUSWAYPOINT |
Primitive State Parameters
State Parameter |
Description |
Type |
Unit |
---|---|---|---|
terminated |
The termination flag of the primitive. It is set to true if the primitive is terminated. |
BOOL |
none |
timePeriod |
The time spent on running the current primitive. |
DOUBLE |
s |
reachedTarget |
Flag to indicate if the robot has reached the target |
BOOL |
none |
waypointIndex |
Index of the current waypoint the robot just passed. 0 means the initial pose. |
INT |
none |
Primitive Output Parameters
Output Parameter |
Description |
Type |
Unit |
---|---|---|---|
tcpPoseOut |
The TCP pose when the primitive is terminated. It is represented in the world coordinate system. |
COORD |
m-deg |
Default Transition Condition
State Parameter |
Condition |
Value |
---|---|---|
reachedTarget |
= |
1 |
Grasp
Primitive Description and Usage
Description: This primitive allows users to open or close the grippers with the predefined velocity and force. It currently only supports the following commercial grippers: Robotiq, DH-Robotics.
Example Usage: Use this primitive in pick and place applications. The robot first moves to a set position, then sends gripper width/force commands to the gripper to grasp or release objects. This primitive provides a simple way to manipulate grippers, which saves much more time than configuring grippers via tool commands.
Primitive Input Parameters
Input Parameter |
Description |
Type |
Unit |
Default Value & Range |
---|---|---|---|---|
gripVel |
Gripper opening/closing velocity |
DOUBLE |
m/s |
0.01 ∈ [0.0 … ] |
gripWidth |
Target grip width |
DOUBLE |
m |
0.0 ∈ [0.0 … ] |
gripForce |
Target grip force |
DOUBLE |
N |
30.0 ∈ [2.0 … ] |
waitGripComplete |
Primitive is not terminated until the grasping action is completed. |
BOOL |
none |
1 ∈ [0 / 1] |
Primitive State Parameters
State Parameter |
Description |
Type |
Unit |
---|---|---|---|
terminated |
The termination flag of the primitive. It is set to true if the primitive is terminated. |
BOOL |
none |
timePeriod |
The time spent on running the current primitive. |
DOUBLE |
s |
curGripWidth |
Current grip width. This variable is only valid when the time period of this primitive exceeds 0.1s. |
DOUBLE |
m |
reachGripForce |
Flag to indicate if the gripper reached the target grip force. This variable is only valid when the time period of this primitive exceeds 0.1s. |
BOOL |
none |
reachGripWidth |
Flag to indicate if the gripper reached the target grip width. This variable is only valid when the time period of this primitive exceeds 0.1s. |
BOOL |
none |
isGripMoving |
Flag to indicate if gripper fingers are still moving. This variable is only valid when the time period of this primitive exceeds 0.1s. |
BOOL |
none |
graspComplete |
Flag to indicate if the grasping action is complete |
BOOL |
none |
Primitive Output Parameters
Output Parameter |
Description |
Type |
Unit |
---|---|---|---|
tcpPoseOut |
The TCP pose when the primitive is terminated. It is represented in the world coordinate system. |
COORD |
m-deg |
Default Transition Condition
State Parameter |
Condition |
Value |
---|---|---|
graspComplete |
= |
1 |