What is Multi-Robot Exploration?
A conversation with Professor Nathan Michael, Chief Technology Officer.
What do we mean by multi-robot exploration?
Exploration for a single robot system in our context considers uncertainty reduction in an unknown environment performed by a single agent. It involves the system making decisions of where it should go in order to acquire information and learn about the environment.
Multi-robot exploration applies that same concept to robotic systems in which multiple robots are working together. Those robots may or may not be able to communicate with each other at all times. They may or may not have the same types of sensing and processing capabilities. They may have differing mobility models. But, in general, those robots need to know how to work together. And in order to be able to do that, they need some way to think about how their actions collectively impact the overall system’s ability to acquire information and improve their understanding of the environment. This is the connection between the concepts of coordination and distribution.
In the context of multi-robot exploration, each individual robot needs to be able to work together to develop a common model of the world. This is the concept of distributed perception. They need to think about where they should go in order to reduce uncertainty with respect to that map of the world, and this is known as distributed coordination, or coordinated exploration. And then they need to take action, and this is where they are making and following planned trajectories in order to execute upon their coordinated exploration strategy.
In reference to this concept, we’ve heard “multi-robot exploration”, “coordinated exploration” and “distributed exploration”. What is the correct terminology to use?
For the most part, in this context, multi-robot, coordination and distribution mean roughly the same thing. “Multi-robot” simply means that there are multiple robots. “Coordinated” means that the robots are working together. “Distributed” means that algorithms are operating on multiple systems.
The choice to use one term over the other is nuanced and often dependent on what aspect of the system we are emphasizing in that conversation. For example, I would use the term “coordinated exploration” to indicate that a team of robots is working together in order to solve the exploration problem much more effectively. “Distributed exploration” suggests the same kind of concept, but I might use that term in order to highlight some nuances or aspects of the exploration problem itself, such as the scalability of the exploration problem or how information is being communicated across the system.
In this context, ”coordinated exploration” typically corresponds to the part of the algorithmic that is associated with solving exploration across multiple different robots in order to yield an increased collective performance that is superior to that of individual systems operating in parallel. While “distributed exploration” corresponds to the idea of making such a coordinated exploration algorithm readily communicable and distributable across a larger number of robots so that those systems can scale gracefully as they grow.
Is there one term that you use more than the others?
In general, if we're talking about heterogeneity or the deployment of multiple different types of systems or classes of systems, then I would use the term "multi-robot exploration" because we're emphasizing the type of robotic system. If we're talking about the optimality of the performance itself and how the system is working together in order to yield improved exploration performance, then I would use the term, "coordinated exploration". And if we're talking about the fact that these numbers of robots need to go to larger numbers, then I would talk about the distribution properties and the distributive nature or scalable nature of the algorithms; that's where I would go with "distributed exploration”.