Documentation Status

pr2_object_manipulation: active_realtime_segmentation | fast_plane_detection | manipulation_worlds | object_recognition_gui | object_segmentation_gui | pick_and_place_demo_app | pr2_create_object_model | pr2_grasp_adjust | pr2_gripper_grasp_controller | pr2_gripper_grasp_planner_cluster | pr2_gripper_reactive_approach | pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs | pr2_handy_tools | pr2_interactive_gripper_pose_action | pr2_interactive_manipulation | pr2_interactive_object_detection | pr2_manipulation_controllers | pr2_marker_control | pr2_navigation_controllers | pr2_object_manipulation_launch | pr2_object_manipulation_msgs | pr2_pick_and_place_demos | pr2_tabletop_manipulation_launch | pr2_wrappers | rgbd_assembler | robot_self_filter_color | segmented_clutter_grasp_planner | simple_Jtranspose_controller | tabletop_collision_map_processing | tabletop_object_detector | tabletop_vfh_cluster_detector | vfh_recognition | vfh_recognizer_db | vfh_recognizer_fs

Package Summary

Documented

Upon a request, this service collects the necessary sensory data to transfer the colour information from the wide field to the narrow field camera image. Since the narrow field cameras of the PR2 are monochrome, this can be useful for any algorithm that does, e.g., segmentation or recognition based partially on colour information.

pr2_object_manipulation: active_realtime_segmentation | fast_plane_detection | manipulation_worlds | object_recognition_gui | object_segmentation_gui | pick_and_place_demo_app | pr2_create_object_model | pr2_grasp_adjust | pr2_gripper_grasp_controller | pr2_gripper_grasp_planner_cluster | pr2_gripper_reactive_approach | pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs | pr2_handy_tools | pr2_interactive_gripper_pose_action | pr2_interactive_manipulation | pr2_interactive_object_detection | pr2_manipulation_controllers | pr2_marker_control | pr2_navigation_controllers | pr2_object_manipulation_launch | pr2_object_manipulation_msgs | pr2_pick_and_place_demos | pr2_pick_and_place_tutorial | pr2_tabletop_manipulation_launch | pr2_wrappers | rgbd_assembler | robot_self_filter_color | segmented_clutter_grasp_planner | tabletop_collision_map_processing | tabletop_object_detector | tf_throttle

Package Summary

Documented

Upon a request, this service collects the necessary sensory data to transfer the colour information from the wide field to the narrow field camera image. Since the narrow field cameras of the PR2 are monochrome, this can be useful for any algorithm that does, e.g., segmentation or recognition based partially on colour information.

pr2_object_manipulation: interactive_perception_msgs | manipulation_worlds | object_recognition_gui | pr2_create_object_model | pr2_gripper_grasp_controller | pr2_gripper_grasp_planner_cluster | pr2_gripper_reactive_approach | pr2_gripper_sensor_action | pr2_gripper_sensor_controller | pr2_gripper_sensor_msgs | pr2_interactive_gripper_pose_action | pr2_interactive_manipulation | pr2_interactive_manipulation_frontend | pr2_interactive_object_detection | pr2_interactive_object_detection_frontend | pr2_manipulation_controllers | pr2_marker_control | pr2_navigation_controllers | pr2_object_manipulation_launch | pr2_object_manipulation_msgs | pr2_pick_and_place_demos | pr2_tabletop_manipulation_launch | pr2_wrappers | rgbd_assembler | robot_self_filter_color | segmented_clutter_grasp_planner | tabletop_collision_map_processing | tabletop_object_detector | tf_throttle

Package Summary

Documented

Upon a request, this service collects the necessary sensory data to transfer the colour information from the wide field to the narrow field camera image. Since the narrow field cameras of the PR2 are monochrome, this can be useful for any algorithm that does, e.g., segmentation or recognition based partially on colour information.

Cannot load information on name: rgbd_assembler, distro: hydro, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: rgbd_assembler, distro: indigo, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: rgbd_assembler, distro: jade, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: rgbd_assembler, distro: kinetic, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: rgbd_assembler, distro: lunar, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

Overview

The RGB-D assembler is designed to generate synchronised RGB-D data for the monochrome narrow stereo cameras of the PR2. This can be useful for segmentation approaches such as in the package active_realtime_segmentation that rely on disparity and RGB data.

In detail, we transfer the RGB data from the color wide-field cameras of the PR2 into the narrow stereo optimcal frame by going through the following steps:

  1. Collect disparity and camera_info from the narrow stereo cameras.
  2. Reconstruct point cloud.
  3. Transfer point cloud into wide field camera frame using tf.

  4. Project point cloud to wide field image to create an RGB lookup.
  5. Fill the monochome image of the narrow stereo camera with these RGB values while keeping the intensity value of the wide field cameras (through transforming RGB to HSV and back to RGB).

If you are using the kinect, then the RGB and disparity data is readily available. The RGB-D Assembler collects them such that these two types of information are roughly synchronised.

Starting the RGB-D Assembler

Bring up the RGB-D Assembler on the robot using the following launch file:

roslaunch rgbd_assembler rgbd_assembler.launch

For bringing up the RGB-D Assembler using the kinect, use the following launch file:

roslaunch rgbd_assembler rgbd_kinect_assembler.launch

Example Output

Here are two example images generated based on disparity values coming from the textured light projector of the PR2. Note that at places where no disparity information is available, no RGB data can be looked up in the wide field stereo. At these places the original grey level values are kept.

rgbd_assembler_1.jpg rgbd_assembler_2.jpg

Wiki: rgbd_assembler (last edited 2011-06-03 08:32:57 by JeannetteBohg)