- ROS Package
- Uses the camera's stereo to select close objects and move the head
- git https://github.com/OpenQbo/qbo_stereo_selector
This package contains an implementation of a node that subscribed to a disparity image, obtained by calibrated stereo camera or range camera, and uses it to detect and track close objects by publishing to a ROS topic. It also can move the head toward the object. This node can be used along with object learning and recognition to segment the desired object.
Disparity image used to calculate the point's depth to select a close object. This is the main topic of this node. The sterero cameras must be well calibrated for a proper performance of the node.
Provides the camera intrinsic parameters, which are necessary to estimate the object's angle in respect to the camera.
Topic which indicates the head's position.
Provides images used for for the viewer published topic. This is the original image on which the object's selection is drawn.
The object's ROI cropped from the input image
The viewer image draws a green rectangle in the input image where the object is detected. It is very useful for debugging the qbo_stereo_selector node.
Changes the color of the Qbo's nose if a close object is detected.
Publishes the head movement instructions
A boolean that indicated if the node will move the robot's head
Minimum head position for pan movement (left-right) when searching for a face.
Maximum head position for pan movement (left-right) when searching for a face.
Minimum head position for tilt movement (up-down) when searching for a face.
Maximum head position for pan movement (up-down) when searching for a face.
Velocity of pan head movement when searching for a face.
Velocity of tilt head movement when searching for a face.
Mean threshold used to find the ROI (Region of Interest) with the best mean. A value between 0 and 255.
Mean threshold used in CAM Shift to discriminate bad values of bounding rect found. A value between 0 and 255.
This consists in the number of iterations we will keep moving the head after have lost the object. It is useful to keep seeking for the object when it gets out of the image.
The distance_filter_threshold corresponds to the maximum distance in which incoming objects are considered. If a point distance surpasses this value, it will not be considered. The value is in meters.
You can download this package from its GIT repository from github. Then, simply MAKE the pack and its dependencies.
git clone https://github.com/OpenQbo/qbo_stereo_selector rosmake --rosdep-install qbo_stereo_selector
TODO - Install instructions using the .deb file.
You can either run
qbo_stereo_selector node directly:
rosrun qbo_stereo_selector qbo_stereo_selector
Or use the launcher “qbo_stereo_selector.launch” located in “launch/” folder:
roslaunch qbo_stereo_selector qbo_stereo_selector.launch
You can see the detected objects by running the image_view node in another console and subscribing to the
Subscribe to the
qbo_stereo_selector/viewer uncompressed images:
rosrun image_view image_view image:=/qbo_stereo_selector/viewer
Subscribe to the
qbo_stereo_selector/viewer compressed images (must have image_pipeline stack installed):
rosrun image_view image_view image:=/qbo_stereo_selector/viewer theora