[Draft] adding landmark and imu support to RTABMapSLAM#1398
Open
dragonblade316 wants to merge 59 commits intoluxonis:developfrom
Open
[Draft] adding landmark and imu support to RTABMapSLAM#1398dragonblade316 wants to merge 59 commits intoluxonis:developfrom
dragonblade316 wants to merge 59 commits intoluxonis:developfrom
Conversation
…s to protobuf thing
Slam landmarks
|
|
||
| Input& landmarks = inputs[landmarksInputName]; | ||
|
|
||
| Input& features = inputs[featuresInputName]; |
There was a problem hiding this comment.
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.
Locations (1)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.