Payload

A typical task for a robotic arm often involves carrying payloads, which can vary in weight and significantly impact motion control. To address this, many robot control systems offer the option to specify a payload mass offset, ensuring that the system accounts for the payload weight during motion planning. This section provides guidance on how to read and modify the current payload mass offset.

Note

Payloads are currently only supported for robots within the Victor Robot Behavior Group.

Setting a Payload Mass Offset

To configure an additional payload mass the set_payload_v() method must be called, which expects a payload mass in kg as well as the position of the center of mass of the payload expressed in the tool coordinate system.

robot.set_payload_v(
    mass_kg=1.0, center_of_mass=CartesianPose(x=0.1, y=0.1, z=0.1)
)  # Set payload to 1 kg

A method to remove the current offset is available via remove_payload_v(). It will set the payload mass offset to 0 kg and the center of mass to the origin of the tool coordinate system.

robot.remove_payload_v()

Reading the Current Payload Offset

The currently configured payload mass offset can be read by invoking get_payload_mass_v(). It will return the mass in kg. Reading the corresponding center of mass is currently not supported.

_logger.info(robot.get_payload_mass_v())  # Returns 1.0

Full Example of Working with Payloads

The following example shows a simple application in which the payload changes:

Definition of the Payload Methods

The payload related functionality is defined in the PayloadVictorTrait: