Stereo Camera Calibration
I am using a realsense r200 camera on Ubuntu 16.04.2 LTS and Ros kinetic. running the camera node with:
roslaunch realsense_camera r200_nodelet_multiple_cameras.launch
the topics that I have in this state are as following:
/camera1/color/camera_info
/camera1/color/image_raw
/camera1/color/image_raw/compressed
/camera1/color/image_raw/compressed/parameter_descriptions
/camera1/color/image_raw/compressed/parameter_updates
/camera1/color/image_raw/compressedDepth
/camera1/color/image_raw/compressedDepth/parameter_descriptions
/camera1/color/image_raw/compressedDepth/parameter_updates
/camera1/color/image_raw/theora
/camera1/color/image_raw/theora/parameter_descriptions
/camera1/color/image_raw/theora/parameter_updates
/camera1/depth/camera_info
/camera1/depth/image_raw
/camera1/depth/image_raw/compressed
/camera1/depth/image_raw/compressed/parameter_descriptions
/camera1/depth/image_raw/compressed/parameter_updates
/camera1/depth/image_raw/compressedDepth
/camera1/depth/image_raw/compressedDepth/parameter_descriptions
/camera1/depth/image_raw/compressedDepth/parameter_updates
/camera1/depth/image_raw/theora
/camera1/depth/image_raw/theora/parameter_descriptions
/camera1/depth/image_raw/theora/parameter_updates
/camera1/depth/points
/camera1/driver/parameter_descriptions
/camera1/driver/parameter_updates
/camera1/ir/camera_info
/camera1/ir/image_raw
/camera1/ir/image_raw/compressed
/camera1/ir/image_raw/compressed/parameter_descriptions
/camera1/ir/image_raw/compressed/parameter_updates
/camera1/ir/image_raw/compressedDepth
/camera1/ir/image_raw/compressedDepth/parameter_descriptions
/camera1/ir/image_raw/compressedDepth/parameter_updates
/camera1/ir/image_raw/theora
/camera1/ir/image_raw/theora/parameter_descriptions
/camera1/ir/image_raw/theora/parameter_updates
/camera1/ir2/camera_info
/camera1/ir2/image_raw
/camera1/ir2/image_raw/compressed
/camera1/ir2/image_raw/compressed/parameter_descriptions
/camera1/ir2/image_raw/compressed/parameter_updates
/camera1/ir2/image_raw/compressedDepth
/camera1/ir2/image_raw/compressedDepth/parameter_descriptions
/camera1/ir2/image_raw/compressedDepth/parameter_updates
/camera1/ir2/image_raw/theora
/camera1/ir2/image_raw/theora/parameter_descriptions
/camera1/ir2/image_raw/theora/parameter_updates
/camera2/color/camera_info
/camera2/color/image_raw
...
the exact same topics for /camrea2. and then:
/camera_nodelet_manager/bond
/clicked_point
/image
/initialpose
/move_base_simple/goal
/rosout
/rosout_agg
/tf
/tf_static
then I try running the calibrator Using:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 --no-service-check right:=/camera1/color/image_raw left:=/camera2/color/image_raw right_camera:=/camera1 left_camera:=/camera2
Which returns following error:
('Waiting for service', '/camera2/set_camera_info', '...')
Service not found
('Waiting for service', '/camera1/set_camera_info', '...')
Service not found
then I tried it again using no service check:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 --no-service-check right:=/camera1/color/image_raw left:=/camera2/color/image_raw right_camera:=/camera1 left_camera:=/camera2
at this state the GUI window opens but it is not responding or showing any images from the camera. Am I missing something?
The problem can not be with the camera connection. Because when I try the calibration for one camera it works fine, using:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 --no-service-check image:=/camera1/color/image_raw camera:=/camera1
or:
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 --no-service-check image:=/camera2/color/image_raw camera:=/camera2
Update: I have made some changes in the launch file (changing topic names) and I startd to getting this error even after undoing the changes:
[ERROR] [1499336013.357536131]: /camera2/driver - Error calling rs_enable_stream_preset ( device:0x16e60d0, stream:COLOR, preset:BEST_QUALITY ):
streams cannot be reconfigured after having called rs_start_device()
[FATAL] [1499336013.519454825]: Failed to load nodelet '/camera2/driver` of type `realsense_camera/R200Nodelet` to manager `/camera_nodelet_manager'
[camera_nodelet_manager-1] process has died [pid 21334, exit code 1, cmd /opt/ros/kinetic/lib/nodelet/nodelet manager ...
What are the services available (the result of
rossrv list
) ?I have updated it.
It looks like the service '/camera1/set_camera_info' is not available.
You should be able to add "--no-service-check" to camera calibration's parameters to skip the service checks. You'll have to then save the calibration data and manually add it to your launch file.
have you tried (without modifying your launch file):