using icp and visual odometry at the same time!

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

using icp and visual odometry at the same time!

Masoumeh
This post was updated on .
hi mattieu,

I am using demo-husky and rtabmap.launch files for my robot (my robot is warthog).
I have activated visual odometry, but in rviz i can see that even the vehicle is in one location, the map starts drifting:




Now, i want to activate icp, as well. but accoriding to the setting which have been defined in rtabmap.launch file. if icp-odometry is false, it will starts checking for visual odometry: https://github.com/introlab/rtabmap_ros/blob/master/launch/rtabmap.launch


    <group unless="$(arg icp_odometry)">
      <group if="$(arg visual_odometry)">


so how can i have both of them at the same time, and besynched with each other as well.
the frequency rate of 3D lidar is 10, and the freq rate of my rgbd is about 30 hz.

thanks

Reply | Threaded
Open this post in threaded view
|

Re: using icp and visual odometry at the same time!

matlabbe
Administrator
Hi,

I would start without visual and icp odometry first, to see if the drift is coming from your /odometry/filtered topic. Like in demo_husky.launch, if you launch with icp_odometry:=false. If it is drifting, debug your robot odometry (maybe your IMU is drifting).

Why would you want to start visual odometry and icp odometry at the same time? One or the other is not enough? With rtabmap.launch, we cannot do that, it is one or the other to avoid TF conflicts.

It is possible to start icp_odometry and rgbd_odometry at the same time (by launching the nodes directly), but you should make sure topics are not sent on same name, and there are no TF conflicts. If you would want to do fusion of icp odometry, visual odometry and wheel odometry with robot_localization, you can set publish_tf=false for icp and visual odometry.

To use icp odometry, rtabmap should be built with libpointmatcher as stated here.

cheers,
Mathieu