Skip to content
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

Handling pose jumps for planner due to loop closure by mapping algorithm #27

Open
tejalbarnwal opened this issue Sep 9, 2024 · 1 comment

Comments

@tejalbarnwal
Copy link

I came across a curious question.
Let's say there is a robot equipped with the exploration planner module and an independent SLAM module running for localization and relocalization.
Let us say that the robot, during exploration, starts with place A, goes to place B, goes to places C, and D , E,... and eventually returns to place C(for, e.g.) during the exploration.
At this point, the SLAM algorithm will perform a loop closure, leading to a sudden slight pose jump and further corrections to the drone's previous poses. So, the map made by the SLAM algorithm would also be updated.
However, the ESDF map used for the exploration planning wouldn't be updated thoroughly, which might lead to some inconsistencies in the system.
How does the planner handle pose jumps in the robotic planner after SLAM loop closure?
Should the planner rebuild an ESDF map from the affected part of the SLAM map again?
Further, could you please elaborate on how you re-evaluate the frontiers used by the planner in this case?

The pose jump should ideally also occur when one drone has already visited a part of the map, and a new drone is visiting it now(inter-agent loop closure). How is the ESDF map for drones adjusted after SLAM loop closures in these cases?

@Pallav1299
Copy link

Pallav1299 commented Sep 20, 2024

@tejalbarnwal HERE, I can see that the pose jump is being handled by compensating for the World->Odom transform offset found after loop closure.

@ZbyLGsc @yinleung I could not find reference in code for map correction upon loop closures. Do you correct the global map explored by swarm? If yes, how? If not, why?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants