RH_C3D

Maintainer: Gerardo Aragon-Camarasa and Susanne Oehler

1. Overview

This package includes the C3D stereo matcher ROS node and the legacy C3D camera calibration ROS node. It is also included the wrappers for the new "fast matcher" which is currently under development. This tutorial describes how to use this package.

2. Nodes

2.1 RHstereomatcher.py

Node that matches a pair of images using the java implementation of C3D. This node computes horizontal and vertical disparity maps and a range map image if the robot head has been calibrated using C3D functions.

NOTE: Adjust the java heap memory according to the hardware, this can be done by looking the variable "C3Dcmd" in RHstereomatcher.py and set flags "-Xss####k" and "-Xmx####m" within a lower and upper RAM values available in the system.

2.1.1 Subscribed Topics

Main topic message where captured images are transmitted.

2.1.2 Published Topics

Topics where the horizontal and vertical disparities, respectively, are transmitted. Disparity images are encoded as CV_32FC1 and with the same size as the incoming images.

Range image topic. This topic is not used in the current version of the clopema_robothead stack as C3D calibration is not longer used for the CloPeMa robot head. An OpenCV implementation has replaced C3D calibration.

2.2 RHstereomatcher_simulation.py

Node that reads a previously matched pair of images using the java implementation of C3D. This node is used only for simulation and test purposes.

2.2.1 Subscribed Topics

Main topic message where captured images are transmitted.

2.2.2 Published Topics

Topics where the horizontal and vertical disparities, respectively, are transmitted. Disparity images are encoded as CV_32FC1 and with the same size as the incoming images.

2.3 RHcalibration.py

Node that calibrates the stereo rig using the java implementation of C3D. For more information, follow the instructions described HERE node is not longer used in the current version of the clopema_robothead stack as an OpenCV implementation has replaced it. For completion purposes, this node is still available.

NOTE: Adjust the java heap memory according to the hardware, this can be done by looking the variable "C3Dcmd" in RHstereomatcher.py and set flags "-Xss####k" and "-Xmx####m" within a lower and upper RAM values available in the system.

2.3.1 Subscribed Topics

Main topic message where captured images are transmitted.

2.4 RHmatcherBMP.py (BETA; Not working properly 10/09/2013)

Node that matches a pair of images using a Vector Pascal port of the C3D matcher. This node computes horizontal and vertical disparity maps. The python script calls the executable file "../clopema_robothead/RH_C3D/VPC/fastMatcherBMP". To run this node, it is required to "roscd clopema_robothead/RH_C3D/src".

2.1.1 Subscribed Topics

Main topic message where captured images are transmitted.

2.1.2 Published Topics

Topics where the horizontal and vertical disparities, respectively, are transmitted. Disparity images are encoded as CV_32FC1 and with the same size as the incoming images.