MaverickPeter / MR_SLAM

[IEEE T-RO 2023] A modularized multi-robot SLAM system with elevation mapping and a costmap converter for easy navigation. Different odometry and loop closure algorithms can be easily integrated into the system.
MIT License
281 stars 20 forks source link

Replace front-end odometry? #9

Closed Joosoo1 closed 1 year ago

Joosoo1 commented 1 year ago

Hello author, thank you very much for open sourcing this project. I am very interested in this project, I also want to do a set of multi-computer SLAM system, may I ask you this module to support the replacement of other front-end odometry, that MR_SLAM seems to support only FAST_lio2 and A_LOAM, I want to replace the other odometry integrated into this system, may I ask that the system has a special requirement for odometry?

MaverickPeter commented 1 year ago

@Joosoo1 Hi Joosoo, thanks for following our work, the odometry in our pipeline only serves as a submap generator. You can write your own odometry with an extra submap generator which you can refer to the submapGenerator.cpp. Also, you need to modify the frameid in the odometry to distinguish different robots' names.

Joosoo1 commented 1 year ago

Thanks for your reply, I have successfully integrated other Lio into MR_SLAM and it looks great, thanks for open sourcing this highly encouraging work. Below build the graph results: Multi-computer mapping results

Joosoo1 commented 1 year ago

Also, I have a question for you, does the submap have to be a pointcloud? And can it be replaced with an OccupancyGrid map, because in practice OccupancyGrid maps are easier to transport. For some work, I need to utilize the OccupancyGrid map, which is transferred between multiple robots, for global map construction. I've tried a lot of methods for mutil_grid_map so far, but the results are not obvious, so I'm begging you to give me some suggestions!

MaverickPeter commented 1 year ago

Hi @Joosoo1, In the current version, the submap has to be a pointcloud. It's a good idea to transport Occupancy Grid maps between multiple robots and I'll add this feature in the next version.

Joosoo1 commented 1 year ago

OK, I'll continue my research in this area as well and look forward to your next version!

diamonazreal commented 1 year ago

@Joosoo1 What version of GPU driver are you using?

Joosoo1 commented 1 year ago

@Joosoo1 What version of GPU driver are you using? Driver Version: 535.113.01

diamonazreal commented 1 year ago

@Joosoo1 What kind of GPU are you using?I used 3060GPU, but it failed.

Joosoo1 commented 1 year ago

@Joosoo1 What kind of GPU are you using?I used 3060GPU, but it failed.

4060GPU

Joosoo1 commented 1 year ago

3060GPU should be enough to run this program, maybe it's something else that's causing it to fail

diamonazreal commented 1 year ago

@Joosoo1 Thank you for your reply. Did you use Docker for the reproduction or did you configure and reproduce the environment directly on Ubuntu20.04 system? I am looking forward to discussing the details of the reproduction with you. Looking forward to your reply