Surface Finishing

Polishing

Polish

Polish

Primitive Description and Usage

  • Description: This primitive provides hybrid motion/force control along user-specified trajectories for polishing/sanding/deburring applications. Users can program the trajectory with line, spline, circle, and some pre-designed patterns in the Trajectory Editor. The contact force/moment can also be specified for each waypoint. To smooth transition and reduce impact in polishing, entry and exit trajectories can be added on top of the existing trajectory. This primitive has high force control accuracy but is a bit less stiff in motion control compared to Grind and GrindPlus.

  • Example Usage: Use this primitive for flat or curved surface polishing and sanding. It can also be used for deburring.

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]

enableEntryTraj

Add entry trajectory

BOOL

none

0 [0 / 1]

entryDis

The length of the entry trajectory projected on the workpiece

DOUBLE

mm

50.0 [10.0 300.0]

entryAngle

Angle between entry path and the workpiece

DOUBLE

deg

5.0 [1.0 45.0]

entryVel

Linear velocity along the entry trajectory

DOUBLE

mm/s

50.0 [1.0 500.0]

enableExitTraj

Add exit trajectory

BOOL

none

0 [0 / 1]

exitDis

The length of the exit trajectory projected on the workpiece

DOUBLE

mm

50.0 [10.0 300.0]

exitAngle

Angle between exit path and the workpiece

DOUBLE

deg

5.0 [1.0 45.0]

exitVel

Linear velocity along the exit trajectory

DOUBLE

mm/s

50.0 [1.0 500.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

0 [0 25]

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]

reverseTraj

Flag to reverse the trajectory

BOOL

none

0 [0 / 1]

trajRepeatTimes

Number of times the trajectory is repeated

INT

none

0 [0 20]

loseContactDetect

Flag to enable lose contact detection. After contact occurs, once the loss of contact is detected, this primitive will prompt a software error and be terminated.

BOOL

none

0 [0 / 1]

loseContactDeterTime

Time to determine whether contact is lost. After contact occurs, if no contact is detected within this time, it will be determined that contact is lost.

INT

none

20 [20 200]

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]

enableForceAutoRot

Enable the automatic rotation of force control direction. The force control axis will always be perpendicular to the path forward direction at any moment, regardless of the forceAxis input specified before.

BOOL

none

0 [0 / 1]

forceRotAxis

Rotation axis of the force control coordinate defined in the world coordinate system

VEC_3d

none

0 0 -1 [-1 -1 -1 1 1 1]

enableContactAngle

Enable the contact angle

BOOL

none

0 [0 / 1]

contactAngle

Tilting angle of the polishing tool along the rotation axis of TCP coordinate

DOUBLE

deg

0.0 [-45.0 45.0]

contactRotAxis

Rotation axis of TCP coordinate

VEC_3d

none

0.0 0.0 0.0 [-1.0 -1.0 -1.0 1.0 1.0 1.0]

contactRotRadius

Rotation radius along the rotation axis. The contact point is defined by the rotation radius and rotation axis.

DOUBLE

mm

0.0 [0.0 300.0]

enableTrajOverlay

Enable the trajectory overlay function to overlay the wave trajectory on the taught trajectory.

BOOL

none

0 [0 / 1]

overlaidTrajType

Overlaid trajectory type. 0 means sine wave; 1 means helix wave.

INT

none

0 [0 1]

amplitude

Amplitude of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

pitch

Pitch of the helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

lineSpace

Wave length of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

*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

logo

Grind

Grind

Primitive Description and Usage

  • Description: This primitive is similar to Polish but with higher motion stiffness. It allows users to work with sanders or grinders with relatively strong vibrations. It provides indirect force control in TCP coordinate’s X, Y, and Z axes for composed trajectories specified by users. Users should be aware that following an unexplored curved surface is not the strength of this primitive. It works better when the overall trajectories are specified by users.

  • Example Usage: Use this primitive for heavy-duty grinding tasks. The typical tools that work with this primitive are angle and straight electric grinders.

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]

enableEntryTraj

Add entry trajectory

BOOL

none

0 [0 / 1]

entryDis

The length of the entry trajectory projected on the workpiece

DOUBLE

mm

50.0 [10.0 300.0]

entryAngle

Angle between entry path and the workpiece

DOUBLE

deg

5.0 [1.0 45.0]

entryVel

Linear velocity along the entry trajectory

DOUBLE

mm/s

50.0 [1.0 500.0]

enableExitTraj

Add exit trajectory

BOOL

none

0 [0 / 1]

exitDis

The length of the exit trajectory projected on the workpiece

DOUBLE

mm

50.0 [10.0 300.0]

exitAngle

Angle between exit path and the workpiece

DOUBLE

deg

5.0 [1.0 45.0]

exitVel

Linear velocity along the exit trajectory

DOUBLE

mm/s

50.0 [1.0 500.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

0 [0 25]

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]

reverseTraj

Flag to reverse the trajectory

BOOL

none

0 [0 / 1]

trajRepeatTimes

Number of times the trajectory is repeated

INT

none

0 [0 20]

loseContactDetect

Flag to enable lose contact detection. After contact occurs, once the loss of contact is detected, this primitive will prompt a software error and be terminated.

BOOL

none

0 [0 / 1]

loseContactDeterTime

Time to determine whether contact is lost. After contact occurs, if no contact is detected within this time, it will be determined that contact is lost.

INT

none

20 [20 200]

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]

enableForceAutoRot

Enable the automatic rotation of force control direction. The force control axis will always be perpendicular to the path forward direction at any moment, regardless of the forceAxis input specified before.

BOOL

none

0 [0 / 1]

forceRotAxis

Rotation axis of the force control coordinate defined in the world coordinate system

VEC_3d

none

0 0 -1 [-1 -1 -1 1 1 1]

enableContactAngle

Enable the contact angle

BOOL

none

0 [0 / 1]

contactAngle

Tilting angle of the polishing tool along the rotation axis of TCP coordinate

DOUBLE

deg

0.0 [-45.0 45.0]

contactRotAxis

Rotation axis of TCP coordinate

VEC_3d

none

0.0 0.0 0.0 [-1.0 -1.0 -1.0 1.0 1.0 1.0]

contactRotRadius

Rotation radius along the rotation axis. The contact point is defined by the rotation radius and rotation axis.

DOUBLE

mm

0.0 [0.0 300.0]

enableTrajOverlay

Enable the trajectory overlay function to overlay the wave trajectory on the taught trajectory.

BOOL

none

0 [0 / 1]

overlaidTrajType

Overlaid trajectory type. 0 means sine wave; 1 means helix wave.

INT

none

1 [0 1]

amplitude

Amplitude of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

pitch

Pitch of the helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

lineSpace

Wave length of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

enableForceDispLimit

Enable TCP displacement limit in the force control direction after performing contact

BOOL

none

0 [0 / 1]

maxForceDisp

Maximum TCP displacement in the force control direction after performing contact

DOUBLE

m

0.03 [0.0 0.3]

maxOppForceDisp

Maximum TCP displacement in the opposite direction of force control after performing contact

DOUBLE

m

0.03 [0.0 0.3]

*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

logo

PolishECP

PolishECP

Primitive Description and Usage

  • Description: This primitive allows the robot to polish workpieces attached to the robot on an external polishing/sanding/grinding instrument. ECP stands for External Control Point or External TCP. Similar to Polish, this primitive also provides hybrid motion/force control along user-specified trajectories, but the trajectories and force control axes are defined in the ECP coordinate system.

  • Example Usage: Use this primitive for tasks that involve large polishing/sanding/grinding tools. In these tasks, the workpiece can be mounted on the robot’s flange and be put in contact with the tools for polishing.

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]

ECPCoord*

ECP coordinate to be assigned. An offset to the ECP can also be specified.

COORD

m-deg

[world* work*]

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

0 [0 25]

forceAxis

Activated axes of ECP 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]

trajRepeatTimes

Number of times the trajectory is repeated

INT

none

0 [0 20]

reverseTraj

Flag to reverse the trajectory

BOOL

none

0 [0 / 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]

enableTrajOverlay

Enable the trajectory overlay function to overlay the wave trajectory on the taught trajectory.

BOOL

none

0 [0 / 1]

overlaidTrajType

Overlaid trajectory type. 0 means sine wave; 1 means helix wave.

INT

none

1 [0 1]

amplitude

Amplitude of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

pitch

Pitch of the helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

lineSpace

Wave length of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

*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

logo

GrindECP

GrindECP

Primitive Description and Usage

  • Description: This primitive allows the robot to polish workpieces attached to the robot on an external polishing/sanding/grinding instrument with high motion stiffness. ECP stands for External Control Point or External TCP. Similar to Grind, this primitive also provides hybrid motion/force control along user-specified trajectories, but the trajectories and force control axes are defined in the ECP coordinate system.

  • Example Usage: Use this primitive for tasks that involve large polishing/sanding/grinding tools. In these tasks, the workpiece can be mounted on the robot’s flange and be put in contact with the tools for grinding.

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]

ECPCoord*

ECP coordinate to be assigned. An offset to the ECP can also be specified.

COORD

m-deg

[world* work*]

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

0 [0 25]

forceAxis

Activated axes of ECP 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]

trajRepeatTimes

Number of times the trajectory is repeated

INT

none

0 [0 20]

reverseTraj

Flag to reverse the trajectory

BOOL

none

0 [0 / 1]

enableContactTrans

Enable contact transition between motion and force control

BOOL

none

0 [0 / 1]

contactTransThreshold

Force threshold to trigger control transition

DOUBLE

none

2.0

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 configuration. The robot is in compliance with Cartesian constraint while reaching this configuration as close as possible.

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]

enableTrajOverlay

Enable the trajectory overlay function to overlay the wave trajectory on the taught trajectory.

BOOL

none

0 [0 / 1]

overlaidTrajType

Overlaid trajectory type. 0 means sine wave; 1 means helix wave.

INT

none

1 [0 1]

amplitude

Amplitude of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

pitch

Pitch of the helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

lineSpace

Wave length of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

*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

logo

Smart Polishing

PolishPlus

PolishPlus

Primitive Description and Usage

  • Description: This primitive is similar to Polish but with higher force control accuracy. This is achieved by optimizing its control parameters through training cycles. The general assumption of this primitive is that the polishing trajectory stays consistent from one workpiece to another. If the trajectory changes, the trained control parameters are not valid anymore and new training is required.

  • Example Usage: Use this primitive in applications that require both high speed and high force control accuracy.

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]

enableEntryTraj

Add entry trajectory

BOOL

none

0 [0 / 1]

entryDis

The length of the entry trajectory projected on the workpiece

DOUBLE

mm

50.0 [10.0 300.0]

entryAngle

Angle between entry path and the workpiece

DOUBLE

deg

5.0 [1.0 45.0]

entryVel

Linear velocity along the entry trajectory

DOUBLE

mm/s

50.0 [1.0 500.0]

enableExitTraj

Add exit trajectory

BOOL

none

0 [0 / 1]

exitDis

The length of the exit trajectory projected on the workpiece

DOUBLE

mm

50.0 [10.0 300.0]

exitAngle

Angle between exit path and the workpiece

DOUBLE

deg

5.0 [1.0 45.0]

exitVel

Linear velocity along the exit trajectory

DOUBLE

mm/s

50.0 [1.0 500.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

0 [0 25]

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]

reverseTraj

Flag to reverse the trajectory

BOOL

none

0 [0 / 1]

trajRepeatTimes

Number of times the trajectory is repeated

INT

none

0 [0 20]

loseContactDetect

Flag to enable lose contact detection. After contact occurs, once the loss of contact is detected, this primitive will prompt a software error and be terminated.

BOOL

none

0 [0 / 1]

loseContactDeterTime

Time to determine whether contact is lost. After contact occurs, if no contact is detected within this time, it will be determined that contact is lost.

INT

none

20 [20 200]

enableILC

Enable ILC (Interactive Learning Control) method to improve the force control performance

BOOL

none

0 [0 / 1]

ILCFileName*

Name of the ILC file

STRING

none

enableILCTraining

Enable ILC training. If disabled, the ILC file will not be updated.

BOOL

none

0 [0 / 1]

restartILCTraining

Reset the ILC training results

BOOL

none

0 [0 / 1]

ILCLearningRateType

Type of learning rate strategy for the ILC algorithm. 0 means constant learning rate, 1 means linearly decaying learning rate, 2 means exponentially decaying learning rate.

INT

none

0 [0 2]

ILCLearningRate

Initial learning rate of the ILC algorithm

DOUBLE

none

0.02 [0 1.0]

ILCDecayRate

Decay rate of the ILC learning rate

DOUBLE

none

0.015 [0 1.0]

ILCForwardSteps

Amount of control cycles that ILC would take to predict the disturbance

INT

none

60 [0 200]

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]

enableForceAutoRot

Enable the automatic rotation of force control direction. The force control axis will always be perpendicular to the path forward direction at any moment, regardless of the forceAxis input specified before.

BOOL

none

0 [0 / 1]

forceRotAxis

Rotation axis of the force control coordinate defined in the world coordinate system

VEC_3d

none

0 0 -1 [-1 -1 -1 1 1 1]

enableContactAngle

Enable the contact angle

BOOL

none

0 [0 / 1]

contactAngle

Tilting angle of the polishing tool along the rotation axis of TCP coordinate

DOUBLE

deg

0.0 [-45.0 45.0]

contactRotAxis

Rotation axis of TCP coordinate

VEC_3d

none

0.0 0.0 0.0 [-1.0 -1.0 -1.0 1.0 1.0 1.0]

contactRotRadius

Rotation radius along the rotation axis. The contact point is defined by the rotation radius and rotation axis.

DOUBLE

mm

0.0 [0.0 300.0]

enableTrajOverlay

Enable the trajectory overlay function to overlay the wave trajectory on the taught trajectory.

BOOL

none

0 [0 / 1]

overlaidTrajType

Overlaid trajectory type. 0 means sine wave; 1 means helix wave.

INT

none

1 [0 1]

amplitude

Amplitude of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

pitch

Pitch of the helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

lineSpace

Wave length of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

*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

terminated

=

1

logo

GrindPlus

GrindPlus

Primitive Description and Usage

  • Description: This primitive is similar to Grind but with higher force control accuracy. This is achieved by optimizing its control parameters through training cycles. The general assumption of this primitive is that the grinding trajectory stays consistent from one workpiece to another. If the trajectory changes, the trained control parameters are not valid anymore and new training is required.

  • Example Usage: Use this primitive for heavy-duty grinding tasks, especially those that require both high speed and high force control accuracy.

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]

enableEntryTraj

Add entry trajectory

BOOL

none

0 [0 / 1]

entryDis

The length of the entry trajectory projected on the workpiece

DOUBLE

mm

50.0 [10.0 300.0]

entryAngle

Angle between entry path and the workpiece

DOUBLE

deg

5.0 [1.0 45.0]

entryVel

Linear velocity along the entry trajectory

DOUBLE

mm/s

50.0 [1.0 500.0]

enableExitTraj

Add exit trajectory

BOOL

none

0 [0 / 1]

exitDis

The length of the exit trajectory projected on the workpiece

DOUBLE

mm

50.0 [10.0 300.0]

exitAngle

Angle between exit path and the workpiece

DOUBLE

deg

5.0 [1.0 45.0]

exitVel

Linear velocity along the exit trajectory

DOUBLE

mm/s

50.0 [1.0 500.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

0 [0 25]

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]

reverseTraj

Flag to reverse the trajectory

BOOL

none

0 [0 / 1]

trajRepeatTimes

Number of times the trajectory is repeated

INT

none

0 [0 20]

loseContactDetect

Flag to enable lose contact detection. After contact occurs, once the loss of contact is detected, this primitive will prompt a software error and be terminated.

BOOL

none

0 [0 / 1]

loseContactDeterTime

Time to determine whether contact is lost. After contact occurs, if no contact is detected within this time, it will be determined that contact is lost.

INT

none

20 [20 200]

enableILC

Enable ILC(Interactive Learning Control) method to improve the force control performance

BOOL

none

0 [0 / 1]

ILCFileName*

Name of the ILC file

STRING

none

enableILCTraining

Enable ILC training. If disabled, the ILC file will not be updated.

BOOL

none

0 [0 / 1]

restartILCTraining

Reset the ILC training results

BOOL

none

0 [0 / 1]

ILCLearningRateType

Type of learning rate strategy for the ILC algorithm. 0 means constant learning rate, 1 means linearly decaying learning rate, 2 means exponentially decaying learning rate.

INT

none

1 [0 2]

ILCPosLearningRate

Initial learning rate of the ILC algorithm for position feedforward

DOUBLE

none

0.3 [0 1.0]

ILCPosDecayRate

Decay rate of the ILC learning rate for position feedforward

DOUBLE

none

0.015 [0 1.0]

ILCVelLearningRate

Initial learning rate of the ILC algorithm for velocity feedforward

DOUBLE

none

0.3 [0 1.0]

ILCVelDecayRate

Decay rate of the ILC learning rate for velocity feedforward

DOUBLE

none

0.015 [0 1.0]

ILCAccLearningRate

Initial learning rate of the ILC algorithm for acceleration feedforward

DOUBLE

none

0.3 [0 1.0]

ILCAccDecayRate

Decay rate of the ILC learning rate for acceleration feedforward

DOUBLE

none

0.015 [0 1.0]

ILCForwardSteps

Amount of control cycles that ILC would take to predict the disturbance

INT

none

0 [0 200]

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]

enableForceAutoRot

Enable the automatic rotation of force control direction. The force control axis will always be perpendicular to the path forward direction at any moment, regardless of the forceAxis input specified before.

BOOL

none

0 [0 / 1]

forceRotAxis

Rotation axis of the force control coordinate defined in the world coordinate system

VEC_3d

none

0 0 -1 [-1 -1 -1 1 1 1]

enableContactAngle

Enable the contact angle

BOOL

none

0 [0 / 1]

contactAngle

Tilting angle of the polishing tool along the rotation axis of TCP coordinate

DOUBLE

deg

0.0 [-45.0 45.0]

contactRotAxis

Rotation axis of TCP coordinate

VEC_3d

none

0.0 0.0 0.0 [-1.0 -1.0 -1.0 1.0 1.0 1.0]

contactRotRadius

Rotation radius along the rotation axis. The contact point is defined by the rotation radius and rotation axis.

DOUBLE

mm

0.0 [0.0 300.0]

enableTrajOverlay

Enable the trajectory overlay function to overlay the wave trajectory on the taught trajectory.

BOOL

none

0 [0 / 1]

overlaidTrajType

Overlaid trajectory type. 0 means sine wave; 1 means helix wave.

INT

none

1 [0 1]

amplitude

Amplitude of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

pitch

Pitch of the helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

lineSpace

Wave length of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

enableForceDispLimit

Enable TCP displacement limit in the force control direction after performing contact

BOOL

none

0 [0 / 1]

maxForceDisp

Maximum TCP displacement in the force control direction after performing contact

DOUBLE

m

0.03 [0.0 0.3]

maxOppForceDisp

Maximum TCP displacement in the opposite direction of force control after performing contact

DOUBLE

m

0.03 [0.0 0.3]

*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

terminated

=

1

logo

PolishECPPlus

PolishECPPlus

Primitive Description and Usage

  • Description: This primitive is similar to PolishECP but with higher force control accuracy. This is achieved by optimizing its control parameters through training cycles. The general assumption of this primitive is that the polishing trajectory stays consistent from one workpiece to another. If the trajectory changes, the trained control parameters are not valid anymore and new training is required.

  • Example Usage: Use this primitive in polishing applications where the workpiece is mounted on the robot’s flange, especially those that require both high speed and high force control accuracy.

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]

ECPCoord*

ECP coordinate to be assigned. An offset to the ECP can also be specified.

COORD

m-deg

[world* work*]

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

0 [0 25]

forceAxis

Activated axes of ECP 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]

trajRepeatTimes

Number of times the trajectory is repeated

INT

none

0 [0 20]

reverseTraj

Flag to reverse the trajectory

BOOL

none

0 [0 / 1]

enableILC

Enable ILC(Interactive Learning Control) method to improve the force control performance

BOOL

none

0 [0 / 1]

ILCFileName*

Name of the ILC file

STRING

none

enableILCTraining

Enable ILC training. If disabled, the ILC file will not be updated.

BOOL

none

0 [0 / 1]

restartILCTraining

Reset the ILC training results

BOOL

none

0 [0 / 1]

ILCLearningRateType

Type of learning rate strategy for the ILC algorithm. 0 means constant learning rate, 1 means linearly decaying learning rate, 2 means exponentially decaying learning rate.

INT

none

0 [0 2]

ILCLearningRate

Initial learning rate of the ILC algorithm

DOUBLE

none

0.02 [0 1.0]

ILCDecayRate

Decay rate of the ILC learning rate

DOUBLE

none

0.015 [0 1.0]

ILCforwardSteps

Amount of control cycles that ILC would take to predict the disturbance

INT

none

0 [0 200]

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 configuration. The robot is in compliance with Cartesian constraint while reaching this configuration as close as possible.

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]

enableTrajOverlay

Enable the trajectory overlay function to overlay the wave trajectory on the taught trajectory.

BOOL

none

0 [0 / 1]

overlaidTrajType

Overlaid trajectory type. 0 means sine wave; 1 means helix wave.

INT

none

1 [0 1]

amplitude

Amplitude of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

pitch

Pitch of the helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

lineSpace

Wave length of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

*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

logo

GrindECPPlus

GrindECPPlus

Primitive Description and Usage

  • Description: This primitive is similar to GrindECP but with higher force control accuracy. This is achieved by optimizing its control parameters through training cycles. The general assumption of this primitive is that the grinding trajectory stays consistent from one workpiece to another. If the trajectory changes, the trained control parameters are not valid anymore and new training is required.

  • Example Usage: Use this primitive in grinding applications where the workpiece is mounted on the robot’s flange, especially those that require both high speed and high force control accuracy.

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]

ECPCoord*

ECP coordinate to be assigned. An offset to the ECP can also be specified.

COORD

m-deg

[world* work*]

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

0 [0 25]

forceAxis

Activated axes of ECP 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]

trajRepeatTimes

Number of times the trajectory is repeated

INT

none

0 [0 20]

reverseTraj

Flag to reverse the trajectory

BOOL

none

0 [0 / 1]

enableContactTrans

Enable contact transition between motion and force control

BOOL

none

0 [0 / 1]

contactTransThreshold

Force threshold to trigger control transition

DOUBLE

none

2.0

enableILC

Enable ILC(Interactive Learning Control) method to improve the force control performance

BOOL

none

0 [0 / 1]

ILCFileName*

Name of the ILC file

STRING

none

enableILCTraining

Enable ILC training. If disabled, the ILC file will not be updated.

BOOL

none

0 [0 / 1]

restartILCTraining

Reset the ILC training results

BOOL

none

0 [0 / 1]

ILCLearningRateType

Type of learning rate strategy for the ILC algorithm. 0 means constant learning rate, 1 means linearly decaying learning rate, 2 means exponentially decaying learning rate.

INT

none

1 [0 2]

ILCPosLearningRate

Initial learning rate of the ILC algorithm for position feedforward

DOUBLE

none

0.3 [0 1.0]

ILCPosDecayRate

Decay rate of the ILC learning rate for position feedforward

DOUBLE

none

0.015 [0 1.0]

ILCVelLearningRate

Initial learning rate of the ILC algorithm for velocity feedforward

DOUBLE

none

0.3 [0 1.0]

ILCVelDecayRate

Decay rate of the ILC learning rate for velocity feedforward

DOUBLE

none

0.015 [0 1.0]

ILCAccLearningRate

Initial learning rate of the ILC algorithm for acceleration feedforward

DOUBLE

none

0.3 [0 1.0]

ILCAccDecayRate

Decay rate of the ILC learning rate for acceleration feedforward

DOUBLE

none

0.015 [0 1.0]

ILCforwardSteps

Amount of control cycles that ILC would take to predict the disturbance

INT

none

0 [0 200]

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 configuration. The robot is in compliance with Cartesian constraint while reaching this configuration as close as possible.

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]

enableTrajOverlay

Enable the trajectory overlay function to overlay the wave trajectory on the taught trajectory.

BOOL

none

0 [0 / 1]

overlaidTrajType

Overlaid trajectory type. 0 means sine wave; 1 means helix wave.

INT

none

1 [0 1]

amplitude

Amplitude of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

pitch

Pitch of the helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

lineSpace

Wave length of the overlaid sine wave or helix wave trajectory

DOUBLE

m

0.01 [0.006 0.2]

*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

terminated

=

1

logo