5 Listener Module - Tabjones/pacman_vision GitHub Wiki


Listener Module

Listener Module reads the Kinematics of a robot from its "joint_state_publisher" and creates bounding boxes of links to perform precise point cloud filtering. Aimed to remove its links from the processed scene.

Currently the Listener Module only works with the Vito-Robot and it is currently shaped on its geometry. On future releases, it is planned to extend this module to work with any robot, providing it has an URDF model to read.

To build the Listener Module you need to set the following CMake variable to 1

    PACV_BUILD_LISTENER

either on the top-level CMakeLists.txt of the project, or by CMake command line.

This module does not require any additional build dependency, but it expects to find the robot state on ROS Tf topic, thus to actually use it you need to run Vito-Robot package alongside PaCMan Vision.

Provided Gui has various parameters to control what to listen to and what to remove from the scene, additionally a global scale factor is provided to adjust the various bounding boxes of links to account to any uncertainty or imprecision there could be between robot state and point cloud stream.

A service is also provided to perform an "In-Hand" segmentation, giving in response the point cloud of what is currently held in the robot hand, removing points belonging to the robot hand links. Optionally, the hand point cloud can also be obtained and both can be saved to disk for subsequent offline processing.

The service is called /pacman_vision/listener/get_cloud_in_hand and can also be called from the relative Gui button.


Listener Module Summary PACV_BUILD_LISTENER=1
/pacman_vision/listener/get_cloud_in_hand service Start an "in-hand" segmentation and get resulting clouds.
/pacman_vision/markers topic Rviz Marker Array containing bounding box of robot links.