Software for managing a robot arm, automatically detecting its configuration
- Transfer
If you've ever written software to control a robot arm or any robot-like mechanism in general with more than three degrees of freedom, you know that most of the time it takes to program the movements themselves. Now imagine that you built a robot arm by connecting the links and drives as you like, and the software determined the lengths of the links, their location, rotation angles, and so on.
That's exactly what Columbia Research researchers did when they wrote software that learns how to set up robotshaving no initial idea of the physics, geometry or dynamic characteristics of engines. Immediately after the first launch, he does not know what form of the robot, how its engines work, how and what each of them affects. For about a day and a half, making at first cautious movements that seem random, and receiving feedback about what is happening, the software, using deep learning, configures the simulator built into it so that the virtual robot is as much as possible physical.
Project manager Lipson and his graduate student Robert Kwiatkowski are experimenting with an articulated robot arm with four degrees of freedom. At the beginning of the software training, the model was inaccurate, and the order of connecting the links was not determined. After 35 hours of training, the model corresponded to reality with an accuracy of no worse than four centimeters. Then the software forced the roboruk to take and move objects, while there was an additional recalibration after each movement according to the model formed only by independent training.
In order to determine whether such software can detect damage to the robor arm, a similar but specially deformed one was printed in place of one of the parts. The software determined that it had changed and made appropriate changes to the model. Soon, it performed the tasks of lifting and moving objects only slightly worse.
Since the internal idea of the software about the device of the robot is not static, this allows it not only to act better and better, but also to adapt to damage and structural changes. Also, everything will continue to work with the gradual wear of parts and their replacement with slightly different shapes.
Of course, a roboruk controlled by such software will not very soon become as accurate as Dexter, a roboruk with traditional software that presented its developers with a prize at the 2018 Hackaday competitionbut it's still interesting to see how it works: