ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Yes, it is mandatory to rectify the images before feeding them to viso2_ros. And no, the library does not compute odometry using unrectified images. To produce rectified images you can use the package image_proc. Your camera driver should publish sensor_msgs/Image together with sensor_msgs/CameraInfo containing the calibration. image_proc then creates the rectified image for you which you can feed into viso2_ros.
A sample launch file would look like this:
<!-- example launch file for mono_odometer -->
<launch>
<arg name="camera"/> <!-- camera must be set at launch -->
<node name="image_proc" pkg="image_proc" type="image_proc" ns="$(arg camera)"/>
<node name="mono_odometer" pkg="viso2_ros" type="mono_odometer" output="screen">
<remap from="image" to="$(arg camera)/image_rect" />
<param name="camera_height" value="0.5" /> <!-- cam is 0.5m above ground -->
<param name="camera_pitch" value="0.0" /> <!-- cam is looking straight forward -->
</node>
</launch>