ros-navigation / navigation2

ROS 2 Navigation Framework and System
https://nav2.org/
Other
2.3k stars 1.2k forks source link

Multi-robot features #1245

Closed orduno closed 3 years ago

orduno commented 4 years ago

Feature request

Feature description

Meta-issue for collecting multi-robot feature requests.

Trying to stay within the scope of navigation, here are some ideas:

Are you interested in any of these? Do you have other ideas/requests?

shivaang12 commented 4 years ago

Hi @orduno,

I am interested in contributing to these ideas, especially for a centralized global path planning. In the recent past, I have worked on developing global coverage/surveillance planners for multi unmanned aircraft system. May be we can aim something similar here. Let me know your thoughts about it.

orduno commented 4 years ago

Hi @shivaang12, Thanks for your interest in contributing. I'll touch base with you once we define our priorities for the next release. Hopefully, we can also get more people interested in this topic :smiley:

mattcenoo commented 4 years ago

Hi @shivaang12, could you list some key methods for solving multi robots navigation problems, and how should it be integrated into the navigation stack. I'm absolutely interested in this topic but still have no idea yet.

shivaang12 commented 4 years ago

Hey @mattcenoo, I just saw this, sorry for replying this late. To answer your question, it depends on what you want from multi robot system. There are many sub areas in this topic and I have experience only with coverage and surveillance part of it. About integration, currently I can see one way we can integrate multi robot system in nav2 by tweaking bt_navigator to provide support for "n robots". But then one more question will arise, you want centralized or decentralized system. So long story short, it is difficult to model multi robot system as generic.

orduno commented 4 years ago

Users might have a preference for a particular architecture (centralized, distributed, hybrid) depending on the requirements (coherency, fault tolerance, level of coordination, hardware) and constraints for their specific use case. Let's consider developing an example/solution for each.

Given that MRS is a vast field, we would have to narrow down the scope and capabilities -- probably to cooperative, strongly coordinated, aware systems.

We can develop a centralized (or hybrid) architecture to address industrial applications. Some of the high-level components involved are, at the robot, task execution, and, at the orchestrator, task allocation, centralized planning, and mission management. We can do other cool things once we have the orchestrator.

On a distributed architecture, we mostly have the task allocation model and coordination protocol. Plenty of solutions exist in the literature; maybe we can start with a negotiation-based allocation.

But, before getting too deep into details, I'd like to start by collecting use cases and an initial set of requirements, where I'd appreciate your input.

We should also think about a set of multi-robot navigation missions, for example, coverage, distribution, etc.

I hope this helps to answer some of your questions.

BorgesJVT commented 4 years ago

Hi @orduno,

I'm also interested in contributing to these features. For the next months I will be working in my thesis, which involves multi-robot coordination and it would be good to do this task integrated with ROS2.

How is the status of these tasks? Is there another channel where these topics are been discussed?

SteveMacenski commented 4 years ago

@BorgesJVT we have a weekly working group meeting, see calendar here: https://index.ros.org/doc/ros2/Governance/.

The status is that we can simulate multiple robots in multiple namespaces using the TB3 multi-robot launch files. The rest are on-going feature requests and we'd be more than happy to discuss them on the call or find some set of work you could contribute to that effort

SteveMacenski commented 4 years ago

I found this recently: https://github.com/atb033/multi_agent_path_planning

May be helpful

arpit6232 commented 4 years ago

I would love to pitch in

SteveMacenski commented 4 years ago

Awesome @arpit6232, any particular area / project to start on?

SteveMacenski commented 3 years ago

There hasn't been much interest / involvement from folks in awhile around multiple robot features. I'm closing these tentatively due to this lack of interest. I'm sure if there's groups in the future that would like to consider this, we can open a ticket and scope out the work at that junction. However many of these projects don't very clearly fit in the framework and will have a relatively small impact on the userbase comparatively.

iLanceS commented 2 years ago

i need this too