Setting up viso2_ros for visual odometry with a robotino [closed]
Good day,
my teammates and me are working on a robotino which shall use visual odometry to map its environment for path-finding. Our robotino is modified with two vrmagic cameras so that we can use stereo visualization. Our software environment consist of Ubuntu 14.04 and ROS Indigo Turtle.
We are able to publish pictures of the cameras via
roslaunch vrmagic_camera camera.launch
and then we rectify those via
ROSNAME_NAMESPACE=vrmagic rosrun stereo_image_proc stereo_image_proc
. This gives us the following topics
vrmagic/left/image_rect
vrmagic/right/image_rect
vrmagic/left/camera_info
vrmagic/right/camera_info
which provide intrinsic camera parameters and rectified images. We determined our transformation maps for the robot-camera relationship (translational vector and quaternion for the rotational part) with ar_sys in an earlier phase of our project.
With these informations set, we have everything to perform the visual odometry with viso2_ros. We are now stuck on some problems regarding the actual execution of the visual odometry. The default launch-file which is provided with the viso2_ros package looks like this:
<launch>
<!-- Arguments -->
<arg name="bagfile" default="test.bag"/>
<!-- Find it on http://srv.uib.es/public/viso2_ros/sample_bagfiles/ -->
<arg name="camera" default="/stereo_forward"/>
<param name="/use_sim_time" value="true"/>
<!-- Play the bagfile -->
<node pkg="rosbag" type="play" name="rosbag" args="--clock $(arg bagfile)" />
<!-- Run the stereo image proc -->
<node ns="$(arg camera)" pkg="stereo_image_proc" type="stereo_image_proc" name="stereo_image_proc" />
<!-- Viso2 -->
<node pkg="viso2_ros" type="stereo_odometer" name="stereo_odometer">
<remap from="stereo" to="$(arg camera)"/>
<remap from="image" to="image_rect"/>
<param name="base_link_frame_id" value="$(arg camera)"/>
</node>
</launch>
We have many questions considering the proper configuration of this launch-file. The questions are sorted relative to the launch-file.
- What is the purpose of the bagfile?
- "/stereo_camera" must be replaced with "vrmagic/left"? What about "vrmagic/right"? Or is "/vrmagic" sufficient?
- Why do we have to "play the bagfile"? Aren't we rather trying to "record" something new?
- Is the "stereo image proc" block still necessary if we start the rectification manually via the terminal-line provided earlier?
- Shouldn't "image_rect" rather be "vrmagic/left/image_rect" or "vrmagic/right/image_rect"?
I hope that our questions are proper and we like to thank everybody who will participate into the clarification of this issue.
Regards