Roboception - BoxPick
This command can be used to detect boxes in the field of view of the camera. It searches for objects shaped in the configured box dimensions in 3D-Space and retrieves the optimal grasping pose in either the robot’s or camera’s coordinate system [1]. It currently only supports the definition of a single box configuration. Sorting of objects will be added soon.
Parameterization panel
The following section describes how to parameterize the command while being in the Modify mode. Navigation between the different setup panels can be done by pressing the belonging tab in the voraus.operator (Fig. 16/➊).
Configuration
- x_min, x_max, y_min, y_max:
Min/max dimensions of the box (Fig. 16/➋).
- Camera Pipeline:
The pipeline ID of the camera to use (Fig. 16/➌).
- Target Coordinate System:
The retrieved grasp pose is stored inside the configured User CS. Afterwards a motion command can be applied with regard of the configured User CS (Fig. 16/➍).
- Load Carrier ID:
(Optional): The ID of the Load Carrier defined within Roboception’s GUI (Fig. 16/➎).
- Region of Interest ID:
(Optional): The ID of the Region of Interest defined within Roboception’s GUI (Fig. 16/➏).
- Robot Synchronization:
Sync (default): The detection is only executed after the robot has finished its latest movement command. Async (for experts only): The detection is executed asynchronous to the movement of the robot. Should only be used if currently enqueued movement commands can not interfere with the detection (Fig. 16/➐).
Gripper
Configuration of the gripper and Collision Check.
- Suction Surface Length and Height:
Length and height of the required suction surface of the gripper (Fig. 17/➊).
- Use Collision Check:
Activates the Collision Check of the Roboception camera. Read the Roboception manual to learn about the included and non-included checks (Fig. 17/➋).
- Gripper ID:
The ID of the gripper to be used for the Collision Check. This is the gripper configured in the Roboception database, not the voraus.core tool (Fig. 17/➌).
- Pre-Grasp Offset:
The offset that will be used for the Collision Check. It is just evaluated during the Collision Check and will not be used as a movement in the application (Fig. 17/➍).
Last Detection
Snapshot of the last result image retrieved by the Roboception camera (Fig. 18).
Runtime behavior
Once configured, the application can be executed. In case that at least one object was found, the selected Target Coordinate System will be set to the best detection instance and the SUCCESS branch will be executed, otherwise the ELSE branch is executed. The detection result can be reviewed inside the Last Detection panel by clicking at the command in Modify mode. In order to move with regard to the detected object, a Move To command can be added to the SUCCESS branch. The chosen coordinate system should match the Target Coordinate System configured in the detection command.
Errors
For the documentation of raised error codes see the Roboception’s rc_visard manual: https://doc.rc-visard.com/latest/en/itempick.html
Python API
The command triggers a compute_grasps()
method call
and stores the result in a local variable called boxpick_result.
For advanced post-processing of the detection result, access this variable in a Run Script
command.