Coordinate Systems

Certain movement operations provided by this library allow the specification of a coordinate system in which the motion is executed. Coordinate systems may be predefined such as the robot coordinate system, tool coordinate system, or camera coordinate system or they may be defined by the user. User-defined coordinate systems offer flexibility and can represent arbitrary frames of reference. These may be static or dynamic; in the latter case, they can be updated or manipulated at runtime to reflect changing conditions or inputs.

New coordinate systems are defined by a pose that is expressed relative to the robot coordinate system.

The joint coordinate system is a special case as it is defined in joint space rather than Cartesian space. Manipulating the joint coordinate system is rarely necessary and is therefore not supported.

Note

Manipulating coordinate systems is currently only supported for robots within the Victor Robot Behavior Group.

Available coordinate systems for robots with Victor behavior are:

class CSVictor(value)

An enum representing the coordinate systems for robots with Victor behavior.

ROBOT = 1
TOOL = 2
CAMERA = 3
USER1 = 4
USER2 = 5
USER3 = 6
USER4 = 7
USER5 = 8
USER6 = 9
USER7 = 10
USER8 = 11
USER9 = 12
USER10 = 13
USER11 = 14
USER12 = 15
USER13 = 16
USER14 = 17
USER15 = 18
USER16 = 19

Reading a Coordinate System

In order to get the origin of a user configured coordinate system as CartesianPose in robot coordinates use the get_cs_origin_v() method. Note that reading non user defined coordinate systems is not supported.

usercs_1_origin = robot.get_cs_origin_v(CSVictor.USER1)

Manipulating a Coordinate System

Manipulating coordinate systems is possible with the set_cs_origin_v() method. The coordinate system to manipulate as well as the the origin must be provided as arguments.

robot.set_cs_origin_v(CSVictor.USER1, HOME)

Full Example of Handling Coordinate Systems

The following example shows a simple application in which a coordinate system is manipulated.

Definition of the Coordinate System Methods

The coordinate system manipulation is defined in the CoordinateSystemVictorTrait: