Ask Your Question

Visual (Inertial) Odometry in ROS noetic

asked 2021-04-06 10:28:01 -0500

Hendrik C gravatar image

updated 2021-04-07 10:04:15 -0500

Hello everyone

I am looking for V(I)O algorithms that are available for ROS Noetic. The VO is to be performed with a monocular camera and an IMU. I have already found and tried the following algorithms:

So far I got Viso2 and MSCKF working, however results aren't great. Any ideas for more up-to-date V(I)O would be appreciated!

PS. I am aware some SLAM algorithms also incorporate V(I)O (like RTAB-map and ORB-SLAM2). What I'm looking for is an algorithm that only does V(I)O. This because I want to compare different available algorithms.

Thanks in advance


edit retag flag offensive close merge delete


What do you mean by standalone implementation?

fabian gravatar image fabian  ( 2021-04-07 08:36:49 -0500 )edit

I changed the post to hopefully make it a bit more clear. Basically, I want to compare some V(I)O-techniques with eachother. If it is possible to only use the V(I)O part of ORB-SLAM, than I will take a look at it as well.

Hendrik C gravatar image Hendrik C  ( 2021-04-07 10:02:35 -0500 )edit

You can use only the visual data for ORB slam, but it wont exploit the IMU information. To combine both source of information, did you think of writing a pose graph with edges being created from the IMU data and transformations you calculate from the visual data? Would that work for you?

fabian gravatar image fabian  ( 2021-04-08 01:26:14 -0500 )edit

This is an interesting solution, I'll certainly give it a try. Do you have any knowledge about additional algorithms that I could use? Only having one algorithm in a comparison is not ideal :).

Hendrik C gravatar image Hendrik C  ( 2021-04-08 01:47:16 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2021-04-20 03:44:30 -0500

Hendrik C gravatar image

updated 2021-04-20 03:45:06 -0500

For anyone interested in using these V(I)O (or older software in general), I have solved the issue by using docker. This allows me to run the algorithms on an older version of Ubuntu/ros (Xenial/kinetic in my case). Afterwards, I set up a network between this docker container and my host OS (Focal/noetic). For more info you can check out these tutorials:

I would recommend first looking at some tutorials about docker in general. Otherwise the used concepts will be quite foreign.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2021-04-06 10:28:01 -0500

Seen: 322 times

Last updated: Apr 20