[Solved] Camera calibration

Trying to calibrate camera using this package image pipeline- http://wiki.ros.org/camera_calibration

Unable to build it. The following is the error message for catkin_make_isolated

CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by “stereo_msgs” with
any of the following names:

stereo_msgsConfig.cmake
stereo_msgs-config.cmake

Add the installation prefix of “stereo_msgs” to CMAKE_PREFIX_PATH or set
“stereo_msgs_DIR” to a directory containing one of the above files. If
“stereo_msgs” provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:4 (find_package)

– Configuring incomplete, errors occurred!
See also “/home/husarion/ros_workspace/build_isolated/depth_image_proc/CMakeFiles/CMakeOutput.log”.
See also “/home/husarion/ros_workspace/build_isolated/depth_image_proc/CMakeFiles/CMakeError.log”.
<== Failed to process package ‘depth_image_proc’:
Command ‘[’/home/husarion/ros_workspace/devel_isolated/camera_calibration/env.sh’, ‘cmake’, ‘/home/husarion/ros_workspace/src/image_pipeline/depth_image_proc’, ‘-DCATKIN_DEVEL_PREFIX=/home/husarion/ros_workspace/devel_isolated/depth_image_proc’, ‘-DCMAKE_INSTALL_PREFIX=/home/husarion/ros_workspace/install_isolated’, ‘-G’, ‘Unix Makefiles’]’ returned non-zero exit status 1

Reproduce this error by running:
==> cd /home/husarion/ros_workspace/build_isolated/depth_image_proc && /home/husarion/ros_workspace/devel_isolated/camera_calibration/env.sh cmake /home/husarion/ros_workspace/src/image_pipeline/depth_image_proc -DCATKIN_DEVEL_PREFIX=/home/husarion/ros_workspace/devel_isolated/depth_image_proc -DCMAKE_INSTALL_PREFIX=/home/husarion/ros_workspace/install_isolated -G ‘Unix Makefiles’

Command failed, exiting.

Am I missing something or is there anyother way to do caliberation?

Hello Thiaga,

The error says that stereo_msgs package could not be found, do you have it installed?
It can be installed with:

sudo apt install ros-kinetic-stereo-msgs

Regards,
Łukasz

Hi Lukasz thanks for the reply. Yes I went through the calibration I was able to calibrate, save but not commit properly.

rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/camera/rgb/image_raw camera:=/camera --no-check-service

I calibrated few samples and saved

(‘Wrote calibration data to’, ‘/tmp/calibrationdata.tar.gz’)

then clicking commit throws the following

(‘Wrote calibration data to’, ‘/tmp/calibrationdata.tar.gz’) ('D = ', [0.012549838537645557, 0.021674135143611696, -0.009267007227901775, 0.012716783490379342, 0.0]) ('K = ', [546.6294230974819, 0.0, 332.33800134063, 0.0, 549.6288994026594, 226.02302443078491, 0.0, 0.0, 1.0]) ('R = ', [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]) ('P = ', [555.478759765625, 0.0, 339.83535793701594, 0.0, 0.0, 562.2973022460938, 222.0097091317275, 0.0, 0.0, 0.0, 1.0, 0.0])

oST version 5.0 parameters
[image]

width 640

height 480

[narrow_stereo]

camera matrix 546.629423 0.000000 332.338001 0.000000 549.628899 226.023024 0.000000 0.000000 1.000000

distortion 0.012550 0.021674 -0.009267 0.012717 0.000000

rectification 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000

projection 555.478760 0.000000 339.835358 0.000000 0.000000 562.297302 222.009709 0.000000 0.000000 0.000000 1.000000 0.000000

Traceback (most recent call last): File “/opt/ros/kinetic/lib/python2.7/dist-packages/camera_calibration/camera_calibrator.py”, line 247, in on_mouse if self.do_upload(): File “/opt/ros/kinetic/lib/python2.7/dist-packages/camera_calibration/camera_calibrator.py”, line 204, in do_upload response = self.set_camera_info_service(info) File “/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py”, line 435, in call return self.call(args, *kwds) File “/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py”, line 495, in call service_uri = self._get_service_uri(request) File “/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py”, line 463, in _get_service_uri raise ServiceException(“service [%s] unavailable”%self.resolved_name) rospy.service.ServiceException: service [/camera/set_camera_info] unavailable

my rosservice list anf topic list
rosservice list /camera/camera_nodelet_manager/get_loggers /camera/camera_nodelet_manager/list /camera/camera_nodelet_manager/load_nodelet /camera/camera_nodelet_manager/set_logger_level /camera/camera_nodelet_manager/unload_nodelet /camera/depth/image/compressed/set_parameters /camera/depth/image_raw/compressed/set_parameters /camera/depth/image_rect/compressed/set_parameters /camera/depth/image_rect_raw/compressed/set_parameters /camera/depth_metric/get_loggers /camera/depth_metric/set_logger_level /camera/depth_metric_rect/get_loggers /camera/depth_metric_rect/set_logger_level /camera/depth_points/get_loggers /camera/depth_points/set_logger_level /camera/depth_rectify_depth/get_loggers /camera/depth_rectify_depth/set_logger_level /camera/depth_rectify_depth/set_parameters /camera/depth_registered/image_raw/compressed/set_parameters /camera/depth_registered/sw_registered/image_rect/compressed/set_parameters /camera/depth_registered/sw_registered/image_rect_raw/compressed/set_parameters /camera/depth_registered_sw_metric_rect/get_loggers /camera/depth_registered_sw_metric_rect/set_logger_level /camera/driver/get_loggers /camera/driver/set_logger_level /camera/driver/set_parameters /camera/get_serial /camera/ir/image/compressed/set_parameters /camera/ir/set_camera_info /camera/points_xyzrgb_sw_registered/get_loggers /camera/points_xyzrgb_sw_registered/set_logger_level /camera/register_depth_rgb/get_loggers /camera/register_depth_rgb/set_logger_level /camera/rgb/image_raw/compressed/set_parameters /camera/rgb/image_rect_color/compressed/set_parameters /camera/rgb/set_camera_info /camera/rgb_rectify_color/get_loggers /camera/rgb_rectify_color/set_logger_level /camera/rgb_rectify_color/set_parameters /camera_base_link/get_loggers /camera_base_link/set_logger_level /camera_base_link1/get_loggers /camera_base_link1/set_logger_level /camera_base_link2/get_loggers /camera_base_link2/set_logger_level /camera_base_link3/get_loggers /camera_base_link3/set_logger_level /cameracalibrator/get_loggers /cameracalibrator/set_logger_level /rosout/get_loggers /rosout/set_logger_level

husarion@husarion:~$ rostopic list /camera/camera_nodelet_manager/bond /camera/depth/camera_info /camera/depth/image /camera/depth/image/compressed /camera/depth/image/compressed/parameter_descriptions /camera/depth/image/compressed/parameter_updates /camera/depth/image_raw /camera/depth/image_raw/compressed /camera/depth/image_raw/compressed/parameter_descriptions /camera/depth/image_raw/compressed/parameter_updates /camera/depth/image_rect /camera/depth/image_rect/compressed /camera/depth/image_rect/compressed/parameter_descriptions /camera/depth/image_rect/compressed/parameter_updates /camera/depth/image_rect_raw /camera/depth/image_rect_raw/compressed /camera/depth/image_rect_raw/compressed/parameter_descriptions /camera/depth/image_rect_raw/compressed/parameter_updates /camera/depth/points /camera/depth_rectify_depth/parameter_descriptions /camera/depth_rectify_depth/parameter_updates /camera/depth_registered/camera_info /camera/depth_registered/image_raw /camera/depth_registered/image_raw/compressed /camera/depth_registered/image_raw/compressed/parameter_descriptions /camera/depth_registered/image_raw/compressed/parameter_updates /camera/depth_registered/points /camera/depth_registered/sw_registered/camera_info /camera/depth_registered/sw_registered/image_rect /camera/depth_registered/sw_registered/image_rect/compressed /camera/depth_registered/sw_registered/image_rect/compressed/parameter_descriptions /camera/depth_registered/sw_registered/image_rect/compressed/parameter_updates /camera/depth_registered/sw_registered/image_rect_raw /camera/depth_registered/sw_registered/image_rect_raw/compressed /camera/depth_registered/sw_registered/image_rect_raw/compressed/parameter_descriptions /camera/depth_registered/sw_registered/image_rect_raw/compressed/parameter_updates /camera/driver/parameter_descriptions /camera/driver/parameter_updates /camera/ir/camera_info /camera/ir/image /camera/ir/image/compressed /camera/ir/image/compressed/parameter_descriptions /camera/ir/image/compressed/parameter_updates /camera/projector/camera_info /camera/rgb/camera_info /camera/rgb/image_raw /camera/rgb/image_raw/compressed /camera/rgb/image_raw/compressed/parameter_descriptions /camera/rgb/image_raw/compressed/parameter_updates /camera/rgb/image_rect_color /camera/rgb/image_rect_color/compressed /camera/rgb/image_rect_color/compressed/parameter_descriptions /camera/rgb/image_rect_color/compressed/parameter_updates /camera/rgb_rectify_color/parameter_descriptions /camera/rgb_rectify_color/parameter_updates /left /right /rosout /rosout_agg /tf /tf_static

If the error is that I have got [/camera/ir/set_camera_info] instead of the service [/camera/set_camera_info] how could I rename or remap it?

Hello Thiaga,

You can remap service name the same way as for topics.
Please note, that for RGB camera there is service /camera/rgb/set_camera_info.

Regards,
Łukasz

Hi Lukasz, Thanks I used this command and was able to successfully complete the calibration.

rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/camera/rgb/image_raw camera:=/camera /camera/set_camera_info:=/camera/rgb/set_camera_info