Software that enables robots to move objects about a room, building up ever-more knowledge about their environment, is an important step forward in artificial intelligence.
Some objects can be moved, while others cannot. Balls can be placed on top of boxes, but boxes cannot be stably stacked on top of balls. A typical one-year-old child can discover this kind of information about its environment very quickly. But it is a massive challenge for a robot - a machine - to learn concepts such as ‘movability’ and ‘stability’, according to Björn Kahl, a researcher at the Bonn-Rhein-Sieg University and a member of the Xpero robotics research project team.
The aim of the Xpero project was to develop a cognitive system for a robot that would enable it to explore the world around it and learn through physical experimentation.
Logically testing hypotheses
The first step was to create an algorithm that enabled the robot to discover its environment from data it received from its sensors. The Xpero researchers installed some very basic predefined ‘knowledge’ into the robot. That knowledge is based on logic. The robot believes that things are either true or false - there are no ‘maybes’. The robot uses the data from its sensors as it moves about to test that knowledge. When the robot finds that an expectation is false it starts to experiment to find out why it is false and to correct its hypotheses.
Picking out the important factors in the massive and continuous flow of data from the robot’s sensors created one challenge for the EU-funded Xpero project team. Finding a way for a logic-based system to deal with the concept of time was a second challenge.
Initially the robot has no useful vision of the probable future, but with each observation it learns better hypotheses that it can use to predict the effects of its actions. If an experiment showed that one of its hypotheses was false, then there were literally an infinite number of possibilities of what the correct solution might be. The team had to find ways to short-circuit the process to stop the robot spending an infinite amount of time testing each possibility.
Part of the Xpero team’s solution was to ignore some of the flow of data coming in every millisecond and instead to get the robot to compare snapshots of the situation after a few seconds. When an expectation proved false they also cut down the possible number of solutions by getting the robot to build a new hypothesis that kept the logic connectors from its old hypothesis, simply changing the variables. That drastically reduced the number of possible solutions.
Building a store of knowledge
An important development from Xpero is the robot’s ability to build its knowledge base. “It makes no distinction between previous knowledge and learnt knowledge,” explains Kahl. “That it can re-use knowledge is very important. Without that there would be no incremental learning.”
In award-winning demonstrations, robots with the Xpero cognitive system on board have moved about, pushed and placed objects, learning all the time about their environment. In an exciting recent development the robot has started to use objects as tools. It has used one object to move or manipulate another object that it cannot reach directly.
While exploring robots makes great theatre, the most exciting developments to come out of Xpero are what the team learnt about the process of learning itself, says Kahl. “We gained a lot of insight into what the challenges in learning are and how machine-learning really works. Just getting the robot to figure out that something is not right required major insights from a research point of view.”
They are planning a new project that will run one or two robots for a much longer time - perhaps months - to see how they advance.
The Xpero project lays the first cornerstones for a technology that has the potential to become a key technology for the next generation of so-called service robots, which clean our houses and mow our lawns - replacing the rather dumb, pre-programmed devices on the market today. A robotics manufacturer is already planning to use parts of the Xpero platform in the edutainment market.
“But while Xpero advances machine learning, it is still far short of the capabilities of a baby,” says Kahl. “Of course, the robot can now learn the concept of movability. But it does not understand in the human sense what movability means.”
Explore further: 'What can I, Robot, do with that?'
Xpero project - www.xpero.org/