Change name of set_camera_info services

Issue #6 wontfix
Isaac Saito created an issue

First of all thanks for creating this package! It works with our UI155 cameras (with some tweaks)!

By default of ueye, camera_calibration cannot "commit" calibration result into the cameras, because the service names that ueye package and camera_calibration use are different.

Without knowing if remapping rosservice names is easy or not, I worked around this problem by just changing its code like this:

    //  srv_cam_info_ = node.advertiseService("set_camera_info", &CameraNode::setCameraInfo, this);
    srv_cam_info_ = node.advertiseService("camera/set_camera_info", &CameraNode::setCameraInfo, this);

For stereo, StereoNode.cpp:

    //l_srv_cam_info_ = node.advertiseService("left/set_camera_info" , &StereoNode::setCameraInfoL, this);
    //r_srv_cam_info_ = node.advertiseService("right/set_camera_info", &StereoNode::setCameraInfoR, this);
    l_srv_cam_info_ = node.advertiseService("left_camera/set_camera_info" , &StereoNode::setCameraInfoL, this);
    r_srv_cam_info_ = node.advertiseService("right_camera/set_camera_info", &StereoNode::setCameraInfoR, this);

Unless there's specific reason to use different names, I suspect that adjusting to common tools might be a good idea.

Comments (1)

  1. Kevin Hallenbeck repo owner

    The camera_calibration tool was designed with the intention of remapping topics as arguments each time. For example, 'right' means the right image, and must be remapped to 'my_stereo/right/image_raw'. With this same logic, 'right_camera' means 'namespace of the right camera', and should be remapped to 'my_stereo/right'.

    The standard namespace for a stereo camera is:




    Below is an example to remap the service names taken from More information on remapping can be found here:

    rosrun camera_calibration --size 8x6 --square 0.108 right:=/my_stereo/right/image_raw left:=/my_stereo/left/image_raw left_camera:=/my_stereo/left right_camera:=/my_stereo/right

  2. Log in to comment