ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
So I am no VISP expert, but I have used it. I was using usb_cam as the interface to my camera. It takes calibration params as rosparams, so you can bypass the ROS calibration ini file.
I ran the VISP calibration setup, then ran
rosservice call visp_camera_calibration/calibrate 2 .2 640 480
I think then that either prints out the calibration params to the screen, or puts it into the calibration.launch files logs (was a long time ago I did this)
Then you can copy the values over to the usb_cam node:- ` <node pkg="usb_cam" name="camera" type="usb_cam_node" output="log"> ...
<rosparam param="D">[0.03983109092, 0.0, 0.0, 0.0, 0.0]</rosparam>
<rosparam param="K">[666.015717, 0.000000, 319.2997418, 0.000000, 662.0900984, 246.9209726, 0.000000, 0.000000, 1.000000]</rosparam>
<rosparam param="R">[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]</rosparam>
<rosparam param="P">[666.015717, 0.000000, 319.2997418, 0.000000, 0.000000, 662.0900984, 246.9209726, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]</rosparam>
</node>
`
2 | No.2 Revision |
So I am no VISP expert, but I have used it. I was using usb_cam as the interface to my camera. It takes calibration params as rosparams, so you can bypass the ROS calibration ini file.
I ran the VISP calibration setup, then ran
rosservice call visp_camera_calibration/calibrate 2 .2 640 480
I think then that either prints out the calibration params to the screen, or puts it into the calibration.launch files logs (was a long time ago I did this)
Then you can copy the values over to the usb_cam node:-
`
node:-
<node pkg="usb_cam" name="camera" type="usb_cam_node" output="log">
...
...
<rosparam param="D">[0.03983109092, 0.0, 0.0, 0.0, 0.0]</rosparam>
<rosparam param="K">[666.015717, 0.000000, 319.2997418, 0.000000, 662.0900984, 246.9209726, 0.000000, 0.000000, 1.000000]</rosparam>
<rosparam param="R">[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]</rosparam>
<rosparam param="P">[666.015717, 0.000000, 319.2997418, 0.000000, 0.000000, 662.0900984, 246.9209726, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]</rosparam>
</node>
`
3 | No.3 Revision |
So I am no VISP expert, but I have used it. I was using usb_cam as the interface to my camera. It takes calibration params as rosparams, so you can bypass the ROS calibration ini file.
I ran the VISP calibration setup, then ran
rosservice call visp_camera_calibration/calibrate 2 .2 640 480
I think then that either prints out the calibration params to the screen, or puts it into the calibration.launch files logs (was a long time ago I did this)
Then you can copy the values over to the usb_cam node:-
<node pkg="usb_cam" name="camera" type="usb_cam_node" output="log">
...
<rosparam param="D">[0.03983109092, 0.0, 0.0, 0.0, 0.0]</rosparam>
<rosparam param="K">[666.015717, 0.000000, 319.2997418, 0.000000, 662.0900984, 246.9209726, 0.000000, 0.000000, 1.000000]</rosparam>
<rosparam param="R">[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]</rosparam>
<rosparam param="P">[666.015717, 0.000000, 319.2997418, 0.000000, 0.000000, 662.0900984, 246.9209726, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000]</rosparam>
</node>
I suppose you could just write those values to the ini file yourself too