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

Multi Map Level Server Example #109

Open
mikekaram opened this issue Aug 10, 2018 · 1 comment
Open

Multi Map Level Server Example #109

mikekaram opened this issue Aug 10, 2018 · 1 comment

Comments

@mikekaram
Copy link

mikekaram commented Aug 10, 2018

Hello,

I'm using the multi_map_level_server package from the bwi_common. I saw that in a previous issue, it was recommended that the segbot_navigation is an exemplary usage of multi_map_level_server. However, the wiki of multi_map_navigation, despite being a bit outdated, specifies some actions for the transitions, which I have searched for but couldn't find. Moreover, the bwi_logical_navigation includes the multi_map_level* headers, and I'm trying to find how to use it, but it's not clear to me. Right now I have the navigation stack of my robot working and also can run the example of multi_map_level_server successfully with my own maps. Could anyone please, tell me or guide me so as my navigation stack can understand that there are many floors in a building and then make a path to a wormhole and to show up in another floor with the correct map? Is this functionality implemented, or should I write it myself? It's such a pitty having such a great package in your repository, but no documentation or a tutorial on how to use it, for a robot (with existing setup and navigation stack) other than segbot.

Best regards,
Mike Karamousadakis

@maxsvetlik
Copy link
Member

Hi Mike

I'm hoping 2 years later this isn't an issue for you any more, but I'll try to answer some of your questions that may be helpful for others searching.

However, the wiki of multi_map_navigation...

That is not a wiki page for our package, which is why the transitions mentioned on that page don't exist in our multi_level_map_server package(s).

... navigation stack can understand that there are many floors in a building and then make a path to a wormhole and to show up in another floor with the correct map?

The multi_level_map_server package(s) do not attempt to do this. These packages merely handle and multiplex more than one map file, and leave level switching up to the user through the exposed ~change_current_level service. The new level's map is switched and the ROS nav stack responds accordingly (i.e. recognizing the new map file, inflating global obstacles, etc.)

The way we handle the integration into the navigation stack is through our higher level planning stack bwi_kr_execution. Here is the CallElevatorAction that may be useful as a reference.

The bottom line is that the planning to the wormhole and the level change is expected to be handled on top of the navigation stack. I have also, in a different lab, used multi_map_server along with ROSPlan to great success.

To your point, an example of using multi_level_map_server with our planning framework could be especially useful and could hopefully be done soon. I would also like to break multi_level_map_server out of bwi_common because I feel it has broader community appeal.

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