Matrix fans listen up, you might finally have the answer to when machines will start taking over! Scientists at MIT have developed a computer program that can design robots. To do this they use a program called RoboGrammar. The system allows computers to, not only design robots, but also to analyze the designs, learn and improve.
Computers can now design and test their own robots...
Simply set the components available and the environment that the robot will be used in. The computer will generate designs, and analyze and test them in a virtual environment. The system uses machine learning to constantly improve on the possible designs.
The program is called RoboGrammar and it offers robotics designers, what the team is calling, "Computer-Aided Creativity" (although it might feel more like the computers are designing the machines themselves). All the user needs to do is tell the computer what parts are available: wheels, joints, body parts etc, and what environment the robot will move in: stairs, icy lake, walled, etc.
The goal of the system is to take a set of user-specified primitive components and generate an optimal robot structure and controller for traversing a given terrain. The primitive components include different joint types, links, and wheels, each with user prescribed attributes such as rotational angles and axes, sizes, and weights -- RoboGrammar: Graph Grammar for Terrain-Optimized Robot Design
The program was created because the scientists believed a computer could generate more innovative solutions for robot design than a human. A lot of current robot designs are quadrupeds (4 legged). However, the hope was that a computer might generate a more unusual and optimal design. Interestingly, the majority of the most successful designs were indeed 4 legged!
To stop the computer program from simply generating a lot of random and quite useless designs, the team developed a "graph grammar". This is a set of rules such as "leg segments must connect to other leg segments via a join". Similar technology has been used for architectural design and computer graphics.
The rules were inspired, not from robotics, but from the animal kingdom, in particular, invertebrate arthropods (animals without a spine and with an external skeleton). However, wheels were also allowed in the design. Interestingly, wheels did not feature on any of the winning designs.
Each of the body sections could have only one pair of legs and the legs were always added in symmetrical pairs. There was also a limit set on the complexity of the design.
Once RoboGrammar generated the designs (some 2,000 in this instance) a control program was autogenerated. Similar to the system created by MIT to generate hybrid drone designs.
Every control system is different for each robot design. The control system is generated using MPC (Model Predictive Control -- this is similar to the technology you might find in a plant control system or driverless vehicles).
Once RoboGrammar generated the designs (some 2,000 in this instance), the designs were tested in different environments.
The designs produced by the computer looked wildly different; from a man kneeling down to pray, to a car with rear wheels mounted like a rear-facing helicopter blade. There were also several scorpion and spider-like robots that, quite frankly, I wouldn't want to see scuttling towards me!
The team used machine learning -- Graph Heuristic Search algorithm (a neural network algorithm) to evaluate the different robot and controller designs. This means that system is ever-improving. The computer learns from its mistakes and its success. It can then use this data to generate better designs faster.
A selection of the best-performing designs generated with RoboGrammar. (Left top to bottom right) The designs can traverse over ridged textures, flat landscapes, a frozen lake, and gapped terrains. Credits: Courtesy of the researchers
What were the winning designs?
Rugged terrain -- long limbs were found to work best.
Flat terrain -- short limbs placed far apart on the body performed better.
Icy terrain -- long-limbed robots with 2, heavily articulated limbs that drag with maximum surface contact.
Gapped terrain -- long limbs optimized for reaching forward.
Walled terrain -- multiple joints allow robots to take corners quickly.
Some of the rules in the experiment, were somewhat limiting to the designs.
The success of the robot was focused on how well it could move forward. If you wanted a robot that could move in other directions, this would not be the optimal design.
Factors like frictional wear and tear, from parts being dragged along, have not been taken into account. How would a design that must drag a portion of its body along the floor survive in the long term?
The team hopes to build some of the designs to be tested in the real world, so soon we see how these real-world bots compare to their simulations.
These robots could be used in several applications; from martian exploration to factory robot design to random video game, enemy generation.