/zed/odom deviates from rtabmap pose but the 3D map is good

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

/zed/odom deviates from rtabmap pose but the 3D map is good

acp
Hi People :)




I was plotting the /zed/zed_node/odom  and also the rtabmap/pose  that is in MapGraph.








As you can see in the pictures in the beginning both topics match each other and the more the map is covered, the /zed/zed_node/odom deviates considerably from the rtabmap/pose.

But the /zed/zed_node/odom follows the rtabmap/pose.


Also, I can see that the /zed/zed_node/odom deviates from the origin position a lot, just when the rtabmap finds a loop closure the map get corrected but the /zed/zed_node/odom  remains shifted except in the final position.


Also, there is a big gap before the map finds a loop closure, shouldn't be like this, although the map gets corrected on loop closure.


Do you have a clue why is like this ?


Thank you
Reply | Threaded
Open this post in threaded view
|

Re: /zed/odom deviates from rtabmap pose but the 3D map is good

matlabbe
Administrator
Do you feed an imu to rtabmap? It is like the odometry path is optimized using IMU on rtabmap side. For the big gap, it is mostly odometry drift, which is corrected after the loop closure is detected.
acp
Reply | Threaded
Open this post in threaded view
|

Re: /zed/odom deviates from rtabmap pose but the 3D map is good

acp
Hi,


Yes I do feed imu to the rtabmap.


Concerning about the big gap before loop closure. Is there  a way to improve the big gap?  I can Imagine the drone flying a bit far, then the map will be twisted, to avoid that,  the drone needs to go to the start point to correct the map.


Cheers
Reply | Threaded
Open this post in threaded view
|

Re: /zed/odom deviates from rtabmap pose but the 3D map is good

matlabbe
Administrator
Hi,

the big gap is caused by odometry drift. You may try different odometry approaches to see if one drift less with your hardware.

cheers,
Mathieu