-
Notifications
You must be signed in to change notification settings - Fork 558
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VIO drifts away from pointcloud with realsense d435i #1221
Comments
Hey, i am also trying to do the same from past days but i am unable to get any data on rtabmap_viz . I would appreciate if you could tell me how you did this using this rtabmap_ros . I am using ubuntu 22 ros2 humble and same camera d435i. Thank you |
@jbodhey What ros2 distro are you using? What's the code you are running? |
@ARK3r Ubuntu 22.04.5 LTS- ROS2 humble-devel. I am using code- realsense_d435i_color.launch.py from the example folder. First i am using " ros2 launch realsense2_camera rs_launch.py enable_gyro:=true enable_accel:=true unite_imu_method:=1 enable_sync:=true"in the terminal and then "ros2 launch rtabmap_examples realsense_d435i_color.launch.py" in the second terminal |
@jbodhey try this, if the visualization is too laggy change the unite method to |
@ARK3r
I am not sure to understand this:
In the video, the TF would show where the camera is relative to ground. Assuming the ground is the point cloud, I don't see a problem here, it means the camera is really that high?! Do you have a database to share? @jbodhey I'll recommend to use the "infra" or "stereo" launch files instead of the color one, to get smoother odometry. |
Thanks for your reply. This code works, I need to change unite_imu to 1. But, its not able to show the 3d map properly. I tried both color.py and stereo.py using the code you sent. Below is the image of output and terminal warnings, |
I'll need to do more tests to see if it is better to revert back default unite_imu_method to 1 (or add an argument to change it). For your warnings, read this "Lost Odometry" section: https://github.com/introlab/rtabmap/wiki/Kinect-mapping#lost-odometry-red-screens, particularly in your case, don't point the camera to a textureless ceiling. |
@matlabbe You're correct in that the rtabmap does publish the transforms, I was simply running into the issue because I was not setting |
Yes, I tried infra and stereo.py code they work better, and I am able to get the trajectory. Can you tell me how I can know the distance travelled (odometry) by the camera? I want to check the accuracy with the real distance. |
@jbodhey You can echo
|
This is the first time I am using rtabmap on my robot and I might be doing something wrong:
When doing visual-inertial odometry AND point cloud generation with a realsense d435i using rtabmap_ros in an outdoor environment where no loop closure is expected for a very long distance, the odometry drifts from the point cloud. This drift happens in all 3 axes: x, y, and z (as there is gradual elevations in the path of the mobile robot). The drift after 2 minutes is so drastic that the odometry is practically unusable as a reference for determining the closest parts of the point cloud relative to the camera (and the robot as a result).
This is a video of where the odometry is relative to the point cloud. The drift in the z-axis is very clear here, however, over time all axes seem to drift. (the tf frame is supposed to be roughly 30 cm off the ground, but here it looks well over 1.5 meters off the ground).
The code is as follows for
rtabmap_realsense_bringup.launch.py
:Any help moving forward with debugging this would be appreciated.
The text was updated successfully, but these errors were encountered: