Asserts or retrieves the last asserted value that specifies the mass of the payload being carried by the robot (as a percentage of the maximum payload).
Robot.Payload = <new_percentage>
-or-
... Robot.Payload ( robot )
Prerequisites
Setting the payload only affects the performance of the robot if the robot's kinematic module supports Dynamic Feedforward compensation (DFF) and if DFF is enabled.
For the set operation, the robot must either be attached to the current thread or must not be attached to any thread.
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 either asserts or retrieves the last asserted value that specifies the mass of the payload being carried by the robot. For clarity, this property does not measure the mass of the payload, it simply sets the estimated mass or reads the last set value.
For robots that have Dynamic Feedforward compensation enabled (DFF), this property will adjust the feedforward for each of the robot's axes to compensate for the mass of the payload. If full DFF compensation is supported, changing this value will alter the gravity compensation for each affected axis and will adjust the axes servo control loops to command torques to compensate for the inertial load of each motor as well as to account for such factors as centripetal and Coriolis forces.
For example, if a robot picks up a very heavy payload, specifying a new mass value that correctly estimates the load will improve the gravity balancing of any axis that is placed into Manual Control Free Mode. This improved estimate will also reduce the position tracking errors of all axes during computer controlled motions.
For simplicity, the payload is specified as a percentage of the maximum mass defined by the "Dynamic feedforward mass, kg" (DataID 16067).
Since changing the payload alters the behavior of the servo loops, as a precaution, if the robot is in motion when the value of this property is altered, GPL automatically waits until the motion is completed before applying the change. Once the payload is changed, the new value will remain in effect until the Robot.Payload is altered or the controller is powered down and restarted. As a convenience, when the controller is restarted, the initial value of the payload is automatically set to the value specified by the "Dynamic feedforward default % payload" (DataID 16071).
Examples
Robot.Attached = 1
Robot.Payload = 50 ' 1/2 maximum payload being carried
Console.WriteLine(Robot.Payload()) ' Outputs a value of 50
See Also