-
Notifications
You must be signed in to change notification settings - Fork 154
[Draft] adding landmark and imu support to RTABMapSLAM #1398
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
base: develop
Are you sure you want to change the base?
Conversation
…s to protobuf thing
Slam landmarks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment bugbot run
to trigger another review on this PR
|
||
Input& landmarks = inputs[landmarksInputName]; | ||
|
||
Input& features = inputs[featuresInputName]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Input Initialization Fails with Default Objects
The landmarks
and features
Input
objects are incorrectly initialized. They are defined as references to inputs
map entries that are created as default-constructed objects upon first access, rather than being properly constructed with required parameters like datatype constraints, blocking behavior, and queue sizes.
Purpose
In this pr we add support for RTABMap landmarks and add imu support to the RTABMapSLAM node. These are mainly useful for localization. The markers can allow RTABMap to consider inputs from sources such as apriltags both for global localization and for loop closures. The IMU support we found makes the transform output a bit more stable.
Specification
Two inputs have been added to the RTABMapSLAM node. One for Landmarks and one for imu input. In order to properly facilitate landmarks, we had to make a new landmark datatype. There are no current nodes in depthai-core that output it but we may make one in the future if we have the time to do so.
Dependencies & Potential Impact
None / not applicable
Deployment Plan
None / not applicable
Testing & Validation
We have been using our fork to develop a localization software called PurpleRanger. We have seen mostly good results but the software is still a work in progress and we are still working on eliminating jitter from out output.
Work in progress
This PR is not finished but it is getting close. We wanted to go ahead and get feedback on what we have written and address a couple problems we have had relating to inputs.
In RTABMapSLAM.hpp we have had issues properly getting the input syntax used by features to work for us. As a duct tape solution we decided to use the syntax that is used for the required inputs but that does not allow you to turn on and off the landmark input. We think the issue is that the landmarks input was not working properly with the sync node. If you know how to easily implement the input correctly we would be grateful.
Thanks in advance.