When designing a new robot, engineers have to account for many parameters: shape and internal structure, kinematic and dynamic qualities, manufacturing methods, materials, drive types, sensors, and many more. Often, these properties contradict each other, making it harder to create an optimal structure that meets all of the client’s needs. Engineers have to constantly look for balance between all these factors, “sifting” through thousands of designs. This significantly increases the time needed to design a robot and diminishes objectivity in selecting design modifications, as it depends on the designer's experience and engineering intuition – not on maximal functionality.
The problem can be solved by automating the process. To achieve this, PhD students from the Faculty of Control Systems and Robotics used the MCTS algorithm, which analyzes all possible combinations of solutions to a given task while accounting for the available data. Then, the algorithm simulates the scenarios to test their effectiveness and chooses the optimal one. Scientists from ITMO decided to apply this sifting function in robotics – once reprogrammed, the algorithm was efficient in choosing the most optimal robot designs. The resulting open-source repository was named Rostok (“Sapling”).
To launch the algorithm, engineers have to input the future robot’s features such as the number of fingers and finger joints, step-size for the variation of geometrical parameters, and so on. Then, it is important to outline the limits of the infospace within which the algorithm will search for solutions. The limits can be set as widely as possible so as to allow the program a maximal degree of freedom. Taking all these parameters into account, the algorithm filters through all the possible designs and tests their efficiency in a virtual environment where these mechanisms are assembled and simulated. Each model is then graded based on its performance. Once all designs are evaluated, the algorithm ranks them from worst to best, presenting the top ten to the user.
“The algorithm can sift through thousands of combinations and substantiate its choices with quantitative data. Human engineers, by comparison, are limited by time and resources and can only examine a limited number of solutions; they must also base their choices on experience, knowledge, and intuition. Now, Big Tech companies are actively using neural networks to design new tech products. However, such models require large amounts of real-life data for training. It’s hard to collect such datasets. Our algorithm “trains itself” by working in a simulator and thus acquiring the necessary data. That’s why algorithms can provide a great environment for training neural networks: they can provide AI with the necessary materials for development,” says Kirill Zharkov, one of the project’s authors, a PhD student and junior researcher at ITMO’s International Laboratory of Biomechatronics and Energy-Efficient Robotics (BE2R Lab).
A gripper mechanism designed by the algorithm. Recording courtesy of the research team
The gripper mechanisms proposed by the algorithm have already undergone practical testing. The designs successfully fulfilled their tasks of gripping and securing various objects. However, the simulator currently doesn’t account for all possible external factors that may arise in real-life conditions. At the moment, the developers are planning to improve their code and minimize the Sim2Real gap – the difference between data produced through virtual experiments and through real-life tests.