Translations of this page?:


1. General ROS Package Info

Arturo Bajuelos
ROS Package
Uses the camera's stereo to select close objects and move the head
computer vision,

2. Package Summary

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.

3. qbo_stereo_selector ROS node

3.1 Subscribed Topics

/stereo/disparity (stereo_msgs::DisparityImage)

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.

/stereo/left/camera_info (sensor_msgs::CameraInfo)

Provides the camera intrinsic parameters, which are necessary to estimate the object's angle in respect to the camera.

/joint_states (sensor_msgs::JointState)

Topic which indicates the head's position.

/stereo/left/image_rect_color (sensor_msgs::Image)

Provides images used for for the viewer published topic. This is the original image on which the object's selection is drawn.

3.2 Published Topics

/qbo_stereo_selector/object (sensor_msgs::Image)

The object's ROI cropped from the input image

/qbo_stereo_selector/viewer (sensor_msgs::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.

/cmd_nose (qbo_arduqbo::Nose)

Changes the color of the Qbo's nose if a close object is detected.

/cmd_joints (sensor_msgs::JointState)

Publishes the head movement instructions

3.3 ROS Parameters

/qbo_stereo_selector/move_head (bool, default: true)

A boolean that indicated if the node will move the robot's head

/qbo_face_following/search_min_pan (double, default: -0.3)

Minimum head position for pan movement (left-right) when searching for a face.

/qbo_face_following/search_max_pan (double, default: 0.3)

Maximum head position for pan movement (left-right) when searching for a face.

/qbo_face_following/search_min_tilt (double, default: 0.7)

Minimum head position for tilt movement (up-down) when searching for a face.

/qbo_face_following/search_max_tilt (double, default: 0.7)

Maximum head position for pan movement (up-down) when searching for a face.

/qbo_face_following/search_pan_vel (double, default: 0.3)

Velocity of pan head movement when searching for a face.

/qbo_face_following/search_tilt_vel (double, default: 0.3)

Velocity of tilt head movement when searching for a face.

/qbo_stereo_selector/roi_mean_threshold (int, default: 60)

Mean threshold used to find the ROI (Region of Interest) with the best mean. A value between 0 and 255.

/qbo_stereo_selector/match_threshold_cam_shift (int, default: 70)

Mean threshold used in CAM Shift to discriminate bad values of bounding rect found. A value between 0 and 255.

/qbo_stereo_selector/undetected_threshold (int, default: 10)

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.

/qbo_stereo_selector/distance_filter_threshold (double, default: 1.0)

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.

4. How to install

You can download this package from its GIT repository from github. Then, simply MAKE the pack and its dependencies.

git clone
rosmake --rosdep-install qbo_stereo_selector

TODO - Install instructions using the .deb file.

5. How to use

5.1 Run qbo_stereo_selector node

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

5.2 Observe detected objects

You can see the detected objects by running the image_view node in another console and subscribing to the qbo_stereo_selector/viewer topic.

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
You could leave a comment if you were logged in.
qbo_apps/ros_pack/qbo_stereo_selector.txt · Last modified: 2012/02/28 08:01 by arturobajuelos