With all of the discussion happening around collaborative robots (cobots) there is, of course, a lot of talk of how these robots will interact (and possibly replace) humans in the workspace. One less discussed aspect is how these robots will collaborate with each other. But if smart factories continue to bring in cobots and the robots themselves take on increasingly more complex tasks, centralized systems will become increasingly inefficient and distributed robotics will become more critical.
“In the last 15 or so years one of the big trends in AI has been the move toward distributed AI or multi-agent systems,” Maria Gini, distinguished professor at the Department of Computer Science and Engineering at the University of Minnesota, told Design News . “These are systems in which instead of just one entity that is intelligent and makes decisions you think about multiple entities, – such as robots and programs – that somehow have a task to do and accomplish it by some form of collaboration and communication.”
Gini, a keynote speaker at the upcoming 2017 Embedded Systems Conference (ESC) in Minneapolis, has spent the bulk of her 30 years as an artificial intelligence and robotics researcher working in the field of distributed robotics. “I really focus more and more on how to build communities and teams of robots and on the competitive – the game theory aspects – of how they can work together.”
For Gini, the greatest advantage distributed systems offer is robustness. “If I’ve built my [distributed] system properly, if one robot breaks other robots can still do the work. Whereas if I have a central system then if one robot breaks maybe the system doesn’t know and if it does know it has to reallocate everything. Centralized systems produce better quality solutions, but they aren’t as robust to failures. A distrubuted system is more resilient.”
What makes distributed robotics particularly challenging from an AI perspective, according to Gini, is that engineers have to think of all the different ways that robots could interact and react to each other. More than simply handing off tasks from one robot to another like an assembly line, distributed robots may be called upon to course correct errors, pick up slack workloads for each other, and even figure out how to most quickly and efficiently accomplish a task.
“Imagine I have to clean a building and I have a team of people to do it with,” Gini said. “[With humans] I could say to each of them, ‘Run wherever you want and pick up garbage’ and after some random amount of time the building will be clean. It works, but there’s no communication.” Gini said a lot of robotics is approached this same way, with each robot working independently and never taking advantage of the possibility of communication.
But with that communication comes a lot of questions in regards to process and implementation. Should all of the robots in a space be communicating all of the time? What should happen if a robot fails? We expect extra collaboration to make jobs faster and to save energy, but if done badly it could have just the opposite effect.
“If I want to collaborate with robots the question then becomes how do I do it and one of the main issues is communications,” Gini said. “Do have communication with one robot? All the other robots? Just some? Do I have a central controller that tells teach robot what to do and allocates space to each robot? I could make a local system or a global system or I can have a system where the team self-organizes. All of these methods are different in real life and when you want to write programs.”
One method of addressing this, Gini said, is with the use of an auction system, wherein robots “bid” on tasks (based on how quickly they can accomplish it, for example) and the machine that is best able to accomplish it is assigned the task. “Once I know what all the tasks are I can assign them a value and say something like, ‘This task is going to cost me five or 15 or whatever.’ When you give a task a one number like this the communication is very light.”
Once all of the robots have submitted bids the system acts as an auctioneer and picks the best robot for the task and assigns it. “So there’s a bit of centralization, but it’s not one entity that makes all the decisions,” Gini said. “Right now, the robots run a program that says to compute your cost you figure out where you are, how far you have to go, how much battery power you need, and that’s how you submit the bid. In the long term we want the robots to learn how to do those things. But this is much farther away.” One of Gini’s most recent studies looks at this challenge directly by examining methods of allocating tasks to robots in conditions where time and space are limited.
There is however debate as to whether distributed robotics is the best solution going forward for all applications. The International Journal of Advanced Robotic Systems is currently working on a special issue on ” Distributed Robotic Systems and Society ” that aims to examine all sides of the issue. According the the journal, many of the characteristics that make distributed robotic systems ideal for certain emerging applications are also holding it back from being more widely adopted. “For instance, controlling the motion and behavior of large teams of robots still presents unique challenges for human operators, who cannot yet effectively convey their high-level intentions in application.” the journal said.
“Not everyone likes this idea [of distrubted robotics], there’s debate in the scientific community, because you do lose something,” Gini said. “In a sense it’s the same with humans if you have a team of people and you have a commander who is fully aware of the system and can decide what to do. Humans have failed at some local ability to understand, but if you send a person to a room and the room is locked the person is not going to sit there. A robot however will just sit there unless you’ve programmed it otherwise. In a distributed system robots may be stuck doing things nobody knows about.”
It sounds like the long-term ideal for distributed robotics then would be to implement AI sophisticated enough that it can adapt even to unforeseen circumstances – essentially having robots able to program themselves. Gini agrees, though she said that this notion is far off at this point. However, she said that as distributed robots are applied to more complex tasks the algorithms and AI behind them will also grow in complexity.
“Right now the areas where these things are looking to be used are warehouses such as Amazon’s distribution centers – though Amazon uses a centralized system. Hospitals can use robots to move medicines, supplies, and food around and they’re also trying to automate as much as possible so that they don’t need a centralized system.”
Someday however distributed robotics could be seen outside of the manufacturing and could one day pop up in our smart cities and become a key technology in the widespread use of autonomous vehicles. “Vehicle routing problems are another big application,” Gini said. “If you think about the logistics of trucks, for example. How is this done? It can be done centrally but imagine a system where each truck diver gets a list that says, ‘These are the things we need to ship around. How much will it cost you?’ and the driver submits a bid.”
Now imagine those trucks are automated and you can start to envision how it would work. “Technically, in general you are not guaranteed to find an optimal solution,” Gini said. “But a more robust system can be resilient when things break, when there’s noise in the communication, or something else. With robots it’s very critical because things never work the way you expect them to.”
>>Read more by Chris Wiltz, Design News, October 05, 2017