Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

New Feature: Continual SLAM #424

Merged
merged 80 commits into from
Sep 13, 2023
Merged

New Feature: Continual SLAM #424

merged 80 commits into from
Sep 13, 2023

Conversation

aselimc
Copy link
Collaborator

@aselimc aselimc commented Mar 31, 2023

Hello everyone,

This PR aims to add new SLAM tool Continual SLAM, original repository can be found here.

Currently, still work in progress. But I have finished the simple data iteration, which returns the OpenDR type Image, Distance and Speed
…ance publisher

Currently still work in progress. Wrote the ROS node which publishes the sequantial images from KITTI as well as it publishes the velocity and distances at that current moment respectively
… mode

The caching of the previous times and previous images will be done in the reciever node
…ogether with ROS Node (just for prediction mode now)
@aselimc aselimc marked this pull request as ready for review April 5, 2023 13:58
@stefaniapedrazzi
Copy link
Collaborator

We have a quick question here to the repository owners. We are using g2o, for optimization; however, there is no setup.py for it. Thus, the installation process is a not straightforward. Here, should I try to write a setup.py file to do this installation automatically, or leave it out and just write how it should be done in README, or what would be your suggestion?

Thanks in advance

Yes, you should write a setup.py file.
We should aim at having a script that automatically installs all the tool's dependencies.

@stefaniapedrazzi stefaniapedrazzi marked this pull request as draft June 5, 2023 12:29
@aselimc aselimc marked this pull request as ready for review July 26, 2023 11:44
@aselimc
Copy link
Collaborator Author

aselimc commented Jul 26, 2023

@stefaniapedrazzi Hello, I have fixed the setup issue, and now it installs everything automatically. Can you please review the code?

Thanks

@vniclas
Copy link
Collaborator

vniclas commented Aug 28, 2023

Hi, following up on the email after the meeting. This PR has been ready for review since the last commit.

omichel
omichel previously approved these changes Aug 29, 2023
Copy link
Collaborator

@omichel omichel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.
That looks good to me.

@passalis
Copy link
Collaborator

Thank you! Can you please update the dependencies to make sure that follow the rest of the toolkit. Currently we are using

torch==1.13.1
torchvision==0.14.1

You are specifying torch==1.9.0, but since we are having another version only one of the two is going to be installed, either breaking this tool or some of the rest of the tools.

Also, when not absolutely necessary, please consider using less strict versions, allowing for updates, i.e.,>= instead of == in dependencies.

@aselimc
Copy link
Collaborator Author

aselimc commented Sep 5, 2023

Hello @passalis , we have addressed everything. Please have a look at the draft again, thank you!

Copy link
Collaborator

@passalis passalis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! @tsampazk @omichel Please also check this one! Thank you!

@omichel omichel self-requested a review September 13, 2023 15:24
Copy link
Collaborator

@omichel omichel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good for me.
Thank you.

@vniclas vniclas merged commit 108bd9d into develop Sep 13, 2023
@vniclas vniclas deleted the feature-cl-slam branch September 13, 2023 16:53
@vniclas
Copy link
Collaborator

vniclas commented Sep 13, 2023

@passalis @omichel Thank you for the approval!

lucamarchionni pushed a commit to lucamarchionni/opendr that referenced this pull request Jun 10, 2024
* initial commit

* feat(Continual-SLAM): Finished __getitem__ dataset iterator

Currently, still work in progress. But I have finished the simple data iteration, which returns the OpenDR type Image, Distance and Speed

* feat(Continual-SLAM): Wrote the ROS node for image, velocity and distance publisher

Currently still work in progress. Wrote the ROS node which publishes the sequantial images from KITTI as well as it publishes the velocity and distances at that current moment respectively

* feat(Continual-SLAM): Extended ROS node to hold past 3 data values

* feat(Continual-SLAM): [WIP] Implementation of CL-SLAM expert inference

* feat(Continual-SLAM): [WIP] Implementation of CL-SLAM expert inference cont.

started implementation of inference

* feat(Continual-SLAM): Reverted dataset publisher into original single mode

The caching of the previous times and previous images will be done in the reciever node

* feat(Continual-SLAM): [WIP] Implemented predict function for depth-pose networks

* feat(Continual-SLAM): [WIP] Started implementation of Learner class together with ROS Node (just for prediction mode now)

* feat(Continual-SLAM): [WIP] ROS node for CL-SLAM Predictor

* feat(Continual-SLAM): Add reconstruct depth images from disparity

* feat(Continual-SLAM): [WIP] Ros node and learner class

* feat(Continual-SLAM): [WIP] ROS nodes are implemented, synch is missing

* feat(Continual-SLAM): ROS Node and Learner Implementation for only Predictor is done

* feat(Continual-SLAM): [WIP] Fit/Adapt function is implemented, ROS Node publisher coordinate change

* fix(Continual-SLAM): Fix small predictor mode requirements

* feat(Continual-SLAM): [WIP] Learner/Predictor + ROS Nodes imp. done, need to fix bugs

* refactor(Continual-SLAM): Refactored some parts to increase readability

* feat(Continual-SLAM): [WIP] Working on adapt function

* feat(Continual-SLAM): [WIP] Fix asterisk imports and init files

* feat(Continual-SLAM): [WIP] Small addition for debugging, this commit can be ignored later on

* refactor(Continual-SLAM): [WIP] changing couple of things to debug, not an important commit

* feat(Continual-SLAM): Fixed algorithm, maybe there is room to improve

* feat(Continual-SLAM): [WIP] trying to improve dataset publisher and visualization

* feat(Continual-SLAM): [WIP] Added multi-device support back

* feat(Continual-SLAM): Initial commit to Replay Buffer

* feat(Continual-SLAM): [WIP] Replay buffer cont.

* feat(Continual-SLAM): [WIP] for Replay buffer implementation

* feat(Continual-SLAM): [WIP] Finished replay buffer implementation for ROS nodes as well

* refactor(Continual-SLAM): Better namings, improvement in code

* refactor(Continual-SLAM): Improvement of code quality for predictor node

* refactor(Continual-SLAM): Improve code quality of ROS nodes

* refactor(Continual-SLAM): Code quality improvement in CL-SLAM module

* feat(Continual-SLAM): [WIP] new implementation of learner

* feat(Continual-SLAM): [WIP] Fixed algorithm, improve replay buffer

* feat(Continual-SLAM): [WIP] Improved ROS nodes

* feat(Continual-SLAM): [WIP] Writing ROS2 nodes

* feat(Continual-SLAM): Add ROS2 nodes

* feat(Continual-SLAM): Added ROS2 node, and started writing tests

* refactor(Continual-SLAM): Update default buffer size and publish rate for learner node

* feat(Continual-SLAM): Added Loop Closure Detection

* feat(Continual-SLAM): Fix small issues on Loop Closure Detection

* feat(Continual-SLAM): [WIP] Loop Closure Performance

* feat(Continual-SLAM): [WIP] Loop Closure Detection prob continues

* feat(Continual-SLAM): Fixed LoopClosure

* refactor(Continual-SLAM): Refactor code fix style problems, add LC update to ROS1 nodes

* refactor(Continual-SLAM): Enable fit and infer tests

* fix(Continual-SLAM): Fix small comment issue

* feat(Continual-SLAM): [WIP] Demo

* refactor(Continual-SLAM): Fix styling and get rid of debug lines

* feat(Continual-SLAM): Update demo, add README's

* docs(Continual-SLAM): Added docs for ROS nodes

* feat(Continual-SLAM): Done with unit tests and demo

* fix(Continual-SLAM): Fix typo bug on kitti.py

* Adapt readme

* feat(Continual-SLAM): Add publish pointcloud

* feat(Continual-SLAM): Add pointcloud publish for ROS2 node

* feat(Continual-SLAM): Add position graph for demo

* feat(Continual-SLAM): Add dependencies

* docs(Continual-SLAM): Fix deleting previous section mistake

* feat(Continual-SLAM): Fix pep8, fix confused dataset files

* feat(Continual-SLAM): Fix pep8, add pointcloud screenshot

* fix(Continual-SLAM): Fix undetected local pep8 mistakes

* feat(Continual-SLAM): Add g2o into skipped dirs for cpp style check

* fix(Continual-SLAM): Place the skip dir correctly

* fix(Continual-SLAM): Fix clang format

* test(Continual-SLAM): Remove Loop Closure test due to not having g2o on test server

* feat(Continual-SLAM): Update dependencies

* feat(Continual-SLAM): Add the automatic installation of fixed g2opy

* Update torch versions

* Fix pep8

---------

Co-authored-by: Niclas Vödisch <voedisch@cs.uni-freiburg.de>
Co-authored-by: Niclas <49001036+vniclas@users.noreply.github.com>
Co-authored-by: Nikolaos Passalis <passalis@users.noreply.github.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request test sources Run style checks test tools Test the toolkit methods
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants