Open suchetanrs opened 3 months ago
I am interested in adding support for Stereo and Stereo Inertial mode.
I'd like to support the RGB-D interial. Let me know how I can help
Awesome! @Shivam7Sharma Please let me know if you face issues doing it. You can probably open a new issue to carry forward discussions.
@harshal-14 This should be simple. Most of the code already exists in the RGBD mode. You need to create a new directory rgbd-i and you'll need to call trackRGBDi
. Let me know if you face difficulties. Feel free to open a new issue to discuss the problems if you face any.
@suchetanrs I was able to start and make the stereo run on the stereo Euroc dataset in ROS2, but the map points are not being published, and I see the following message in the terminal (even though the frames are being set in the constructor through default values):
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_SELF_TRANSFORM: Ignoring transform from authority "Authority undetectable" with frame_id and child_frame_id "" because they are the same
[Stereo-1] at line 209 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_SELF_TRANSFORM: Ignoring transform from authority "Authority undetectable" with frame_id and child_frame_id "" because they are the same
[Stereo-1] at line 209 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_SELF_TRANSFORM: Ignoring transform from authority "Authority undetectable" with frame_id and child_frame_id "" because they are the same
[Stereo-1] at line 209 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_SELF_TRANSFORM: Ignoring transform from authority "Authority undetectable" with frame_id and child_frame_id "" because they are the same
[Stereo-1] at line 209 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_SELF_TRANSFORM: Ignoring transform from authority "Authority undetectable" with frame_id and child_frame_id "" because they are the same
[Stereo-1] at line 209 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] [INFO] [1726769343.761514063] [robot.ORB_SLAM3_STEREO_ROS2]: Current ORB-SLAM3 tracking frequency: 20.0039 frames / sec
[Stereo-1] [INFO] [1726769343.763009505] [robot.ORB_SLAM3_STEREO_ROS2]: *************************
[Stereo-1] Error: TF_SELF_TRANSFORM: Ignoring transform from authority "Authority undetectable" with frame_id and child_frame_id "" because they are the same
[Stereo-1] at line 209 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_SELF_TRANSFORM: Ignoring transform from authority "Authority undetectable" with frame_id and child_frame_id "" because they are the same
[Stereo-1] at line 209 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_SELF_TRANSFORM: Ignoring transform from authority "Authority undetectable" with frame_id and child_frame_id "" because they are the same
[Stereo-1] at line 209 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_CHILD_FRAME_ID: Ignoring transform from authority "Authority undetectable" because child_frame_id not set
[Stereo-1] at line 217 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
[Stereo-1] Error: TF_NO_FRAME_ID: Ignoring transform with child_frame_id "" from authority "Authority undetectable" because frame_id not set
[Stereo-1] at line 224 in ./src/buffer_core.cpp
Could this be the reason for no map points in ROS2? I see the points in the ORB SLAM visualiser. Any idea on how to fix this?
I made these errors go away by changing one parameter to true. I think it was no_odometry_mode. But still no point clouds and odometry. I am using the function that you wrote for rgbd for getting the map points.
Update:
I was able to get map points in Rviz. But if I set no_odometry_mode to true, then odometry doesn't get published, and if false, then we will see those TF errors.
Hey @Shivam7Sharma Thanks for your comments. I think it's best I try out your code on my end to see what's up. Can you please raise a new issue for this, sync up your repository with the latest commit on this repository (as there may have been a few fixes) and share your fork? Or you could also raise a merge request. We can discuss this further on the new issue you make. This will also help in merging your contribution to the main repository later on. Thanks!
Hi!
Thanks for landing here! The current repository supports only RGBD tracking mode. The code is (almost) ready for RGBD-IMU mode but needs to be tested.
However, ideally, support needs to be added for Monocular, Monocular Inertial, Stereo and Stereo inertial modes as well. I'm looking for help here. All contributions are highly welcomed. Please comment on this issue in case you'd like to contribute and take up adding support to any of the above mentioned modes.
Some insights:
rgbd.cpp
.