Automatically programming swarms of robots to carry out tasks simultaneously could improve their safety and reliability, by significantly reducing the number of bugs in their software caused by human error.
Swarms of robots capable of communicating with each other to carry out complex tasks cooperatively are expected to become increasingly important in the future, in fields such as manufacturing and agriculture.
Autonomous cars will also need to be able to cooperate with one another, while observing their own rules of operation, in order to safely navigate the road network.
But glitches caused by human error during programming are a common feature of computing, with the global cost of debugging software estimated at around $312bn each year.
Researchers at Sheffield Robotics have now developed a technique that allows human users to input the task they would like the robots to carry out into a graphical tool, alongside details of what the robots are physically capable of doing.
The machine then automatically programmes these instructions, and translates them into a source code that can be used to control the robots, according to Dr Roderich Gross at Sheffield University, who led the EPSRC-funded research.
“The source code executed on the robot is automatically generated by the machine,” said Gross. “So what you want to achieve is specified by the human, but then how you obtain it is automatically generated by a machine, and this automation means there is less risk of error,” he said.
The program uses a form of linguistics, in which the “letters” relate to the actions the robots can choose to perform, and the “words” are the tasks they can complete, based on their instructions.
The robots attempt to form a word from the letters – or complete a task by undertaking a set of actions – while the program restricts their choice to only those letters that will create a valid word.
The team applied their programming method to control a swarm of up to 600 robots to complete a specified set of tasks, in research published in the journal Swarm Intelligence. The experiments required the robots to gather together, manipulate objects and organise themselves into logical groups.
This could be useful in situations where a team of robots is needed to tackle a problem, with each robot completing an element of the overall task, said Gross.
“In agriculture you could imagine a large field of crops, and the manager of the farm might specify certain minimum requirements, for example that every crop should be checked for disease and if necessary a certain chemical should be applied,” he said. “The robots could communicate with each other to identify the needs of all of the crops and to ensure these needs are met.”