“Robot design is still a very manual process. RoboGrammar is a way to come up with new, more inventive robot designs.”
The way humans move effortlessly can obscure them of the complex motions of the joints and limbs. One would be shocked if they were to build a robot considering all the degrees of freedom, the weight of the payload, 3D geometry and more. The sophisticated designs of robots have been more or less the same. Automation and understanding of robot design along with the interplay between the structure and controller of a robot has long been a key research question. This is challenging because the design space is vast and intractable, and there are limited tools for automatically and efficiently exploring it.
To make robot designs more diverse, a team of researchers at MIT have developed a new system called RoboGrammar. This new system takes input from the users on what kind of functionality requires available parts (think arms, wheels etc.) and then recommends a design that is best suited for that specific robot. To enable large scale search and optimisation of robots, we need new approaches for structuring this design space, tools for searching it efficiently, and simulations for exploring and evaluating many thousands of designs. Importantly, the tools developed must allow for the emergence of imaginative, or even inventive solutions, which diverge from those that manifest from more traditional design approaches.
Overview Of RoboGrammar
The universe of possible robot forms is “primarily composed of nonsensical designs,” says Allan Zhao, lead author of the paper.
Starting with a given set of robot components, wrote the authors, the goal of this system is to efficiently explore the space of robots that can be formed from these components. However, the authors warn that this space can be combinatorially large and primarily composed of nonsensical designs. In order to make the search more tractable, the researchers constrained it with a bio-inspired graph grammar. The structural rules are inspired by arthropods, which make up a majority of known animal species. “Bio-inspiration is a starting point. We choose to include wheels, which enable even more forms of locomotion at the cost of only one additional rule. Our grammar includes many familiar forms while allowing novel designs to emerge,” they added.
Above illustration is an example of a kinematic tree (top) with the corresponding robot graph (bottom). To enforce symmetry in leg pairs, after adding nodes for connectors on both sides of the body, both legs of one pair are defined in one branch of the graph.
The ‘’idea’ behind guiding Robot with Grammar:
- Grammar is based on arthropods; it only describes symmetrical robots.
- Legs are always added in pairs, and each pair has an identical leg structure on both sides.
- Exceptions to this rule are the optional head and tail limbs, which are individually formed and are not necessarily symmetrical.
- Symmetry and repetition are encoded by representing each pair of legs with a single branch in the robot graph.
- After deriving a full robot graph, it is then converted to a kinematic tree for efficient simulation.
The problem with going too innovative is that we eventually run against laws of physics. In order to tinker with the form while ensuring functionality, the researchers posited few production rules. Robot grammar rules are divided into two main categories — structural rules and component-based rules. Structural rules serve to construct a physically realistic topology for the robot and define the number of body and limb segments.
The above illustration is an example of the graph of a Simple Walker robot. Derivation begins with the start symbol S, then creates the body and extends it with rules r_1,r_2 respectively.
The grammar forms the front end of the RoboGrammar system, constraining the search space of all robotic structures to a tractable and meaningful subset. This is backed up by the search and optimisation algorithms that efficiently search for high-performing designs and controllers, exploiting the reduced search space this grammar provides.
The researchers ran the simulations to check for locomotion in multiple environments steps, terrains etc.
According to the authors, the Graph Heuristic Search algorithm is implemented in Python and the simulation and MPC in C++. Experiments were run on VM instances with either 32 or 64 Intel Cascade Lake vCPUs on Google Cloud Platform.
“Unlike many alternative approaches to generative robot design, this allows us to structure and limit the design space by applying a graph grammar, whilst allowing creative solutions to emerge. Importantly, the emergent designs are observably physically fabricable, and there is significant potential for the designs to be translated to real-world scenarios and environments,” concluded the authors.
Read the full paper here.