ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
You point out correctly that the camera_pose_calibration package only supports the case where all camera's simultaneously can see the same checkerboard target. The usecase where you calibrate different sets of camera's at different times is not well supported.
You could modify the calibration_tf_publisher (or the calibrator itself, either way works) to publish frames relative to one of the camera's you are calibrating. This can work, but be careful because the resulting code can easily be used wrongly: when you first calibrate cam1 -> cam2, and then you calibrate cam3 -> cam2, then cam2 will have two parent frames in tf (cam1 and cam3). This means the tf tree is invalid and you won't be able to do any meaningful tf queries. So to use your workaround correctly, you would have to calibrate cam1- -> cam2 first, and then cam2 -> cam3 (and not cam3 -> cam2).
It would be better to design a full solution to calibrate more distributed sets of camera's, but that would obviously be much more involved than the suggested workaround.