- 15 Non-Certified IT Skills Growing in Demand
- How 19 Tech Titans Target Healthcare
- Twitter Suffering From Growing Pains (and Facebook Comparisons)
- Agile Comes to Data Integration
Computerworld - It's one thing for a robot to walk around your house and do the dishes or fold the laundry.
It's entirely another thing for 20, 50 or 1,000 robots to work together to complete a large, complex task.
That's what researchers at MIT are figuring out how to do.
MIT scientists are writing computer programs that can control large teams of robots or networks of devices with different functions.
"In [multi-agent] systems, in general, in the real world, it's very hard for them to communicate effectively," said Christopher Amato, a post-doctoral student at MIT's Computer Science and Artificial Intelligence Laboratory, in a statement. "If you have a camera, it's impossible for the camera to be constantly streaming all of its information to all the other cameras. Similarly, robots are on networks that are imperfect, so it takes some amount of time to get messages to other robots, and maybe they can't communicate in certain situations around obstacles."
It's tough enough to create software that will control one robot at a time, but the obstacles are multiplied when trying to create a team of robots. What happens if the communication links among robots fail? What if one robot hits a dead end? What happens if some of the robots encounter different terrain than the others?
The problem scientists have always run into is programming robots to handle uncertainties that strike some of them, but maybe not all of them.
"When you try to make a decision, there's some uncertainty about how that's going to unfold," Amato said. "Maybe you try to move in a certain direction, and there's wind or wheel slippage, or there's uncertainty across networks due to packet loss. So in these real-world domains with all this communication noise and uncertainty about what's happening, it's hard to make decisions."
The MIT researchers are dealing with these uncertainties by stringing together three different inputs.
One is a low-level set of algorithms that controls the robots' behaviors collectively or individually. The second set focuses on executing the programs in specific environments. The third set gives valuations to different tasks, such as completing a command gets a high value but consuming a lot of energy gets a negative valuation.
With scientists creating attention-grabbing robots like Boston Dynamics' four-legged robot BigDog and its 330-pound humanoid robot Atlas, an increasing amount of attention is being paid with how to get them to operate autonomously.
For instance, Google recently acquired DeepMind Technologies , a London-based artificial intelligence company. Analysts expect Google to use the technology to add smarts to its newly acquired robotics division.
In December, DARPA, the research arm of the U.S. Defense Department, held a challenge for teams around the world to develop the best software to run Atlas, Boston Dynamics' six-foot-tall robot.
The challenge pitted teams from MIT, NASA, Carnegie Mellon University and Worcester Polytechnic Institute, among others, to have their robots complete eight tasks, including climbing a ladder, driving a car and scrambling over difficult terrain.
Originally published on www.computerworld.com. Click here to read the original story.