ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 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>

`

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>

`

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