Collision box model generation

Create a collision box to include into collision model. Be aware that the system first calculate trajectories without collision model then add the collision model and chose an available trajectory.

Function to create a collision box

rq_register_bounding_box() (Public and supported)

Description

This script is used to place a bounding box of a specific size, at a certain position according to a referential in the virtual environment of the robot. The robot will consider the bounding box an obstacle and plan its trajectories accordingly.

Declaration

rq_register_bounding_box(referential, position, dimensions)

Parameters

referential (type: integer)
Referential to be used for the bounding box. The most common are 0, 3 and 9.
0 = palletizer base
   - AX: like #1 but at the lowest position of the       axis, turn 180° from #3
   - PE : on the ground under the robot base,
     turn 180° from #3
1= linear axis column / pedestal lower part
2 = linear axis chariot/ pedestal upper part
3 = RobotBase
4 = RobotBaseShoulder
5 = RobotShoulderElbow
6 = RobotElbowWrist1
7 = RobotWrist1Wrist2
8 = RobotWrist2Wrist3
9 = RobotFlange
position (type: pose) (unit: meter / RAD)
Format p[X,Y,Z,Rx,Ry,Rz]
The origin of the box is in the center of the face that is opposite to the direction of Z of the reference.
For a reference in 0 or 3, it is on the bottom of the box. For a reference in 9, it’s on the top of the box.
Rotations are around the chosen referential’s axis and in axis-angle (not euler).
For multiple rotations, the rotation around X axis will be applied first, then around Y and finally around Z.
dimensions (type: list) (unit: meter)
Format [x,y,z]
The dimensions of the box dimension in length, width and height according to the referential.
For referential 9, that would be the tool flange.

Return value

No value is returned.

Example

rq_register_bounding_box(0, p[0.52, -0.123, 0.427, 0, 0, 0], [1.4, 0.6, 2.7])

See Collision consultation to validate the position and size of your box in the robot's virtual environment. This should only be used in the application's debugging stage. Once the program is functional, it should be removed.

Precisions on Referentials

Referential (type: int)

Three useful referentials are: 

0 = palletizer base (AX series)

 

 




3 = robot base 

9 = robot tool flange

 

Box position (type : pose)

The box position is written in the p[X,Y,Z,Rx,Ry,Rz] form. The box origin is the center of the bottom of the box. Of course, what is the bottom and the top is relative to the referential frame

- X, Y and Z are  in meters.

- Rx, Ry and Rz, in radians

Box dimensions (type : list)

Box dimensions are presented in the [X,Y,Z] form and must be expressed in accordance to the selected reference frame.

X, Y and Z are expressed in meters.

Example with boxes added in the tool reference frame

Here we need to avoid collisions with a custom tool with an irregular shape.

Here is a view of the resulting collision model, which includes the auto-generated boxes of the extension bracket and the gripper (this one is on top, aligned with the gripped box, and slightly smaller).