WorldPosition
This page contains a short and a more detailed description of the global variable: WorldPosition
, that is reachable from the Pally URCap:
In Short: WorldPosition
WorldPositionA pose variable that contains the current shift in position of the robot’s base frame with regard to the lifting column’s current elevated position. Possible values
ExampleIf a lifting column is used in Pally, then the
|
In Detail: WorldPosition
The WorldPosition
variable is a pose variable that contains the offset in the z-direction of the robot’s base frame that is caused by an extended lifting column.
The WorldPosition
variable is only relevant when a lifting column is in use.
The robot’s base frame is a coordinate frame that has its origo in the center of the base joint on the UR, where the z-axis is positive in the upwards direction.
The blue line represents the z-axis in the robot’s base frame, where a movement upwards from the base joint represents a positive movement in the z-direction
Since the robot’s base frame is centered in the base joint, then any object that is below the base joint will have a negative z-value. Therefore, as the lifting column is extended, and the robot consequently moves upwards in the positive z-direction, then all the objects surrounding the robot will be pushed in a more negative z-direction.
With the logic above in mind, an extension of the lifting column of, for instance, 0.5
meters; will give the WorldPosition
variable a value of p[0, 0, -0.5, 0, 0, 0]
. Thus, if an object is located in the robot’s base frame at a pose: p[0.1, 0.2, -0.25, 1.23, 1.57, 0]
, when the lifting column is not extended; then if the lifting column is extended to 0.5
meters, this object will now be in the robot’s base fram at a pose: p[0.1, 0.2, -0.75, 1.23, 1.57, 0]
. As you can see, the object has been pushed by -0.5
meters in the z-direction of the robot’s base frame due to the movement of the lifting column.
The WorldPosition
can therefore be used to modify any pose that you may wish the robot to take in any of the Pally callbacks. An example is as follows:
By adding the pose p_2
to the WorldPosition
(recall that the z-direction becomes more negative as the lifting column is extended) using the URScript command pose_add
, it is possible to obtain a pose p_1
where the pose p_2
is shifted to match the current extension of the lifting column. Thereby, a call to movel(p_1)
will move the robot to the same position that p_2
represents when the lifting column is not extended.
The example above is not a motion we recommend, it is simply an example on how one may use the WorldPosition
variable.