Robot.Tool Property

Sets and gets the position and orientation offset for the tool or gripper of the robot.

Robot.Tool = <Cartesian_location>
-or-
... Robot.Tool ( robot )

Prerequisites

Parameters

robot

An optional numeric expression that specifies the robot to be accessed (1-n).  If this value is 0 or unspecified, the Selected robot will be accessed.

Remarks

This property permits a project to either set or retrieve the Cartesian Location Object that defines the position and orientation offset from the last axis of the robot to the center point of the robot's gripper (or tool).

The Tool definition is particularly beneficial for robots that can change the orientation of the gripper. When the tool center point is properly defined and the system is instructed to move along a straight-line path, the tool center point will move along a straight line even if the orientation of the gripper is simultaneously changed.  Also, in Jog-Tool control mode, the operator can easily rotate the tool center point while maintaining the same position.

For the majority of simple grippers, the gripper dimensions consist of just an offset along the Z-axis of the robot with no change in orientation.  This corresponds to an Location XYZ specification of "0,0,tool_length,0,0,0".

Once the Robot.Tool has been set, these dimensions remain in effect until the Tool property is set again or the controller is powered down and restarted.  As a convenience, when the controller is restarted, a "Restart Tool" definition is automatically put into effect based upon the values of "Tool set at restart" (DataID 16051).

Changing the Tool dimensions instantaneously changes where the system thinks that the robot's Cartesian set point is located.  So, if the robot is in motion when a thread attempts to set the Tool, GPL automatically waits until the motion is completed before executing this instruction.

Examples

Dim tool As New Location
Robot.Attached = 1
tool.XYZ(0, 0, 100) ' Simple tool with 100mm length
Robot.Tool = tool
Console.WriteLine(Robot.Tool().Z) ' Outputs a value of 100

See Also

Robot Class | Robot.RestartTool