Sets and gets the position and orientation offset for the base of the robot.
Robot.Base = <Cartesian_location>
-or-
... Robot.Base ( 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 base of the robot to the origin of the World coordinate system.
The Base definition is beneficial if you create an application using Cartesian Locations and the base of the robot is subsequently shifted slightly. By adjusting the position of the Base definition, a project can automatically correct all of the joint angle positions that will be computed from Cartesian Locations.
For computational reasons, some robot kinematic modules may not support the Base property. Also, as a computational efficiency, the value of Base can only contain a positional offset in X, Y, and Z and a rotation about the Z-axis. That is, the Euler angles for the Base must always be "X,Y,Z,0,0,Roll".
For most applications, the Base value is not used and its value is set to "0,0,0,0,0,0".
Once the Robot.Base has been set, these dimensions remain in effect until the Base property is set again or the controller is powered down and restarted. As a convenience, when the controller is restarted, a "Restart Base " definition is automatically put into effect based upon the values of "Base set at restart" (DataID 16052).
Changing the robot's Base 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 Base, GPL automatically waits until the motion is completed before executing this instruction.
Examples
Dim base As New Location
Robot.Attached = 1
base.XYZ(10, 0, 0) ' Move base by 10mm in X
Robot.Base = base
Console.WriteLine(Robot.Base().X) ' Outputs a value of 10
See Also
Robot Class | Robot.RestartBase