Camera pose calibration: no request callback
I am trying to do a camera pose calibration using multiple cameras. The camera_pose_calibration package in our setup with two Prosilica cameras is running pretty good (depending on the network (1Gbps), I sometimes receive the "Couldn't get measurement in interval" message). Unfortunately, when I try the same thing with the rectified images (RGB mono) of two kinects, the pose calibration is never capturing a calibration sample.
This is the current setup:
kinect2 on miniitx2 (Ubuntu 10.04 with ROS Diamondback)
kinect3 on miniitx3 (Ubuntu 10.04 with ROS Diamondback)
pma-09-042 (=PC from where I launch everything) (Ubuntu 10.04 with ROS Diamondback)
camera launch file:
<launch>
<!-- MACHINES -->
<machine name="miniitx2" address="192.168.10.72" user="common" default="never" ros-root="$(env ROS_ROOT)" ros-package-path="$(env ROS_PACKAGE_PATH)">
<env name="ROS_IP" value="192.168.10.72" />
<env name="ROS_MASTER_URI" value="http://192.168.10.72:11311/" />
<env name="ROS_PACKAGE_PATH" value="/opt/ros/diamondback:$ROS_PACKAGE_PATH" />
</machine>
<machine name="miniitx3" address="192.168.10.73" user="common" default="never" ros-root="$(env ROS_ROOT)" ros-package-path="$(env ROS_PACKAGE_PATH)">
<env name="ROS_IP" value="192.168.10.73" />
<env name="ROS_MASTER_URI" value="http://192.168.10.72:11311/" />
<env name="ROS_PACKAGE_PATH" value="/opt/ros/diamondback:$ROS_PACKAGE_PATH" />
</machine>
<!-- LAUNCH KINECT2 ON MINIITX2 -->
<node machine="miniitx2" ns="kinect2" pkg="nodelet" type="nodelet" name="manager" args="manager"/>
<!-- Driver nodelet -->
<node machine="miniitx2" ns="kinect2" pkg="nodelet" type="nodelet" name="openni_node2" args="load openni_camera/driver manager">
<param name="rgb_camera_info_url" value="file:///home/common/ros_seb/calibration_rgb.yaml" />
<param name="depth_camera_info_url" value="file:///home/common/ros_seb/calibration_depth.yaml" />
<param name="rgb_frame_id" type="str" value="kinect2" />
</node>
<node machine="miniitx2" ns="kinect2/rgb/" name="image_proc" pkg="image_proc" type="image_proc" output="screen" >
<remap from="image_raw" to="/kinect2/rgb/image_raw" />
<remap from="cam_info" to="/kinect2/rgb/camera_info" />
</node>
<!-- LAUNCH KINECT3 ON MINIITX3 -->
<node machine="miniitx3" ns="kinect3" pkg="nodelet" type="nodelet" name="manager" args="manager"/>
<!-- Driver nodelet -->
<node machine="miniitx3" ns="kinect3" pkg="nodelet" type="nodelet" name="openni_node3" args="load openni_camera/driver manager">
<param name="rgb_camera_info_url" value="file:///home/common/ros_seb/calibration_rgb.yaml" />
<param name="depth_camera_info_url" value="file:///home/common/ros_seb/calibration_depth.yaml" />
<param name="rgb_frame_id" type="str" value="kinect3" />
</node>
<node machine="miniitx3" ns="kinect3/rgb/" name="image_proc" pkg="image_proc" type="image_proc" output="screen" >
<remap from="image_raw" to="/kinect3/rgb/image_raw" />
<remap from="camera_info" to="/kinect3/rgb/camera_info" />
</node>
<!-- INCLUDES -->
<include file="$(find openni_camera)/launch/kinect_frames.launch" />
<include file="$(find camera_pose_calibration)/blocks/calibration_tf_publisher.launch" >
<arg name="cache_file" value="/tmp/camera_pose_calibration_cache.bag" />
</include>
</launch>
The calibrate_2_camera.launch file:
<launch>
<arg name="camera1_ns" default="kinect2/rgb" />
<arg name="camera2_ns" default="kinect3/rgb" />
<arg name="checker_rows" default="7"/>
<arg name="checker_cols" default="6"/>
<arg name="checker_size" default="0.108"/>
<arg name="headless" default="false" />
<!-- checkerboard detector for each camera -->
<include file="$(find camera_pose_calibration)/blocks/rgb_block.launch">
<arg name="ns" value="$(arg camera1_ns)" />
<arg name="checker_rows" value="$(arg checker_rows)" />
<arg name="checker_cols" value="$(arg checker_cols)" />
<arg name="checker_size" value="$(arg checker_size)" />
</include>
<include file="$(find camera_pose_calibration)/blocks/rgb_block.launch">
<arg name="ns" value="$(arg camera2_ns)" />
<arg name="checker_rows" value="$(arg checker_rows ...