Visual Odometry Using Multisense SL





This post provides a brief overview of how to get a basic visual odometry demo up and running using a Multisense-SL. This demo requires the installation of the viso2 stack and was tested on Ubuntu 12.04 64 bit install using ROS Fuerte. (Note: The demo will also work on Groovy provided the groovy viso2 branch is built and installed). A full listing of the commands to run this demo can be found at the end of this post.


The viso2 ROS stack is a wrapper of the libvios2 library developed by Andreas Geiger. It runs by matching features between left and right rectified images at time t and t-1.


To install the viso2 stack checkout the fuerte branch into the same workspace where the Multisense-SL driver is installed. After building the viso2 stack copy the attached multisense_viso.launch file into the viso2/viso2_ros/launch directory.


Next launch the Multisense-SL driver and then the viso2 visual odometry driver. After both drivers have been successfully launched rosrun RViz and load the attached viso2_rviz_config.vcg RViz configuration file.


To visualize the laser_scan point clouds in RViz increase the decay time of the laser_scan topic.



(Note images were taking with the laser stationary.)









Command listing:

mkdir ~/viso_demo
cd ~/viso_demo/
rosws init . /opt/ros/fuerte
. setup.bash
rosws set multisense --git
rosws update multisense
git clone -b fuerte
rosws set viso2
. setup.bash
rosmake multisense
rosmake viso2

After downloading the attached multisense_viso.launch and viso2_rviz_config in the $HOME/Downloads directory

cp ~/Downloads/multisense_viso.launch ~/viso_demo/viso2/viso2_ros/launch/
cp ~/Downloads/viso2_rviz_config.vcg ~/viso_demo/viso2/
roslaunch multisense_bringup multisense.launch 

In a new terminal

. ~/viso_demo/setup.bash
roslaunch viso2_ros multisense_viso.launch

In a new terminal

. ~/viso_demo/setup.bash
rosrun rviz rviz -d ~/viso2/viso2_rviz_config.vcg

Have more questions? Submit a request