More and more robots are being used in factories, warehouses, and other environments all around the globe. And with this increasing number of robots working in the same space comes the necessity of organizing and optimizing robots’ tasks and interactions.
The problem
Let’s assume we have an heterogeneous group of 30 robots that are in charge of running a coffee shop. While we want some robots preparing the coffees, we want others serving them to the tables, others cleaning the tables, and others refilling the systems. We need to control automatic access to certain zones of the coffee shop, like automatic doors and elevators. We need to be able to deliver all those tasks in the most optimal way, at the same time that we manage the robots’ charging cycles.
And all this while, they don’t bump into each other, into other people and don’t run rampant all around the shop, or even lose themselves and end up in the toilet or out in the street.
All this isn’t easy to manage.
How to attack the heterogeneous fleet management problem
An heterogeneous fleet of robots can be composed of:
- Different types of robots: for instance, mobile bases, robotic arms, drones, etc
- Different manufacturers’ robots: this means, even if all the robots of our fleet are mobile bases, may be some are from one manufacturer, and others from a different one
- Several types of actuators: for instance, system to open/close doors through which the robots must go, elevator managers, connectors to other machines the robot must interact with…
The fleet management system must be able to handle heterogeneous fleets in an orchestrated way, in order to achieve the fleet goal. If the goal is to run a cafeteria, then, many different types of robots and actuators will have to work together to keep the cafeteria running and with satisfied clients.
Basic components of a fleet management system
Any fleet management system needs at least the following core systems:
- Path optimization systems: Once a task is assigned to a robot, the execution of that task has a cost. This cost typically is time but could be energy or any other parameter you consider a valuable resource in your robot environment. The fleet management system must optimize that cost.
- Task allocation systems: Not all robots can perform all the tasks. So it is necessary to have a system that knows which robot can do what. Also, assign priorities to each job to improve the performance of the global systems. A vital element is resource allocation optimization. The tasks must be designated so that it uses all robot resources in the best way possible.
- New Task creation systems: a flexible infrastructure that allows to create custom tasks required for the robotics solution. For instance, a task that requires to pick an object, paint it, transport it somewhere else, check it, package it, and send it to the customer.
- Integrators of diverse navigation, movement, and manipulation systems: We need something that allows us to use different navigation and movement systems transparently so we can perform the tasks independently of the inner workings of each robot in the fleets.
- Conflict detection and resolution systems: No system is perfect, so when something happens, when the tasks assigned conflict, how can we detect them and resolve them automatically?
- Robot fleet health management: We need a system to decide when to send the robots to charge or declare them unavailable.
- Monitoring Tools: We need a way to watch all our fleets or robots and know which task they are performing: their battery percentage, general health status, and location, among other things.
- IoT integrations systems: We need our robots to be able to talk with other elements of our environment, such as human-operated stations, doors, lifts, mechanization machines, packaging systems, cranes, or even other external robots.
- ROS2 enabled: It’s a recommended feature if you intend to use all the ROS2 power and open source infrastructure.
Having a complete framework for fleet management that takes all those elements into account is costly, very difficult to implement, and complex. That is why most of existing solutions only concentrate on the orchestration of fleets of mobile bases.
Already available systems
What follows is a list of fleet management tools already available in the market. We list commercial and open-source solutions.
Fleet management solutions must be divided between:
- software that only allows monitoring of the fleets
- software that allows to act upon the robots at anytime to modify their tasks
- software that orchestrates all the robots to provide the best task resolution
Collecting data, even if one of the functionalities of a fleet management software, cannot be considered fleet management per se. Fleet management requires to be actionable upon the robots at any time.
Dashboards and reporting tools
Those are tools to monitor fleets of robots but do not achieve control of the fleet. They are just monitoring and providing insights about the fleets
- BridgeRobotics
- Cannot be considered a fleet management system because it is only concerned on reporting status and analytics
- It relies on MiR fleet Management system to actually do the fleet management
- Formant
- This tool, provides remote data from the robots
- It also allows to control the robots remotely. I have included in the section of reporting tools because its remote control capabilites are not in the sense of fleet management/coordination, but more kind of remote control of the robots
- Braincorp
- In the same way as Formant, basically used for reporting and remote control, but not for fleet coordination towards the resolution of a task
Fleet management solutions
- Meili Robots
- For the coordination of AGVs
- Omron
- For the coordination of AGVs
- MiR Fleet
- Quite advanced, allows the integration of external elements, like doors or elevators in the control of the fleet
- Otto Fleet Manager
- Even if it manages tasks for robots, it is not thought for a globally orchestrated system where a global tasks has to be accomplished in an optimized way. This software is more for assigning individual tasks to a set of robots, in an independent manner.
- For robot navigation tasks (no integration with other types of robots or IoT)
- Only works with Otto robots
- FetchCore Software
- Even if it manages tasks for robots, it is not thought for a globally orchestrated system where a global tasks has to be accomplished in an optimized way. This software is more for assigning individual tasks to a set of robots, in an independent manner.
- For robot navigation tasks (no integration with other types of robots or IoT)
- Only works with Fetch robots
- Addverb
- Concentrated on the coordination of AGVs
Open source solutions
- OpenRMF
- This is the most promising solution because it is open, it is under active development, and integrates elements for fully heterogeneous fleets.
- See a better description below
- Rooster_fleet_manager,
- It works on ROS1
- Mainly for fleets of mobile bases. Doesn’t include support for other types of tasks besides navigation.
- It’s not been updated since 2020 (as for Sep 2022)
- openTCS-NeNa
- Works with ROS2
- Not been updated since 2021 (as for Sep 2022)
- Also, only focused on coordinating the navigation of mobile bases.
- You can get additional information about the project here.
Unfortunately, as you might see in most links and videos, the information and testing options are scarce or non-existent.
Open Robotics’ Fleet Management Tool
Luckily, the OSRF version, named RMF, seems to be the most promising, complete, documented and supported of those mentioned above.
Here you can find the documentation generated for it, which has a lot of elements still in the works but is promising nevertheless:
PROS:
- Supports both ROS1 and ROS2.
- Its open-source nature of it makes it the best choice to start developing for your own company or even start a business of fleet management software.
- It has a very active community and maintainers. See this discussion link to post new questions, issues, or feature requests.
- It has all the above requirements in a ROS2 decoupled package system that allows you to mod very little.
- It has some simulated demos that can at least give you a quick start for your application.
- It is a really heterogeneous management system
- It is open source
CONS:
- It still needs a lot of work from the usability and stability points of view, especially from an industry standard (But now is the best time to learn it, and once it is stable, you will be among the FIRST ones to know how to use it).
- The documentation has a lot of missing elements and examples, especially when it comes to integrating it into your own custom system.
Are you interested in learning about RMF or have tried but found it too time-consuming?
In that case, attend our ONLINE HANDS-ON RMF TRAINING:
- three days training
- 100% hands on: practice with simulations and real robots (remote access)
- not need to setup anything, start from minute one
- master multi-robot navigation and fleet management in ROS2
Enroll the next Managing Fleets of Robots With ROS2 training here
Conclusions
- Besides some commercial applications completely adapted to a specific company, it looks like there is no generic fleet management system apart from the Open-RMF, and even that, it is still on an early stage (as for September 2022).
- The Open-RMF looks like the most promising fleet management software out there, given its openness and because it is developed by Open Robotics, the maintainers of ROS.
- There has been an early attempt to define a kind of standard for robot inter-operability beyond the manufacturer. It is called the MassRobotics Interoperability Standard, which it is said that has been supported by several big players of the sector like Open Robotics (but I can’t find any mention to that standard anywhere). The idea is that manufacturers support that standard for interoperativiity, so your fleet management software can manage the robots of your fleet independently of who the manufacturer is. However, this standard doesn’t look moving forward (there are no documentation, the code is been stopped for almost a year (as September 2022)), as well as looking far away from an open standard (the name of the standard contains the name of the company that launched it. This may indicate that it is not so open).
Additional Resources:
3D Models of the 3D cafeteria:
0 Comments