Videos of industrial robots will often show their arms moving at high speed as they carrying heavy objects. To achieve this, the robots have been carefully programmed to move those objects and that programming cannot adapt if the object is not where the robot thinks it is when trying to pick it up. Researchers at MIT are working to change that with two algorithms they have created capable of adapting to different environments and objects, which will be needed for future, general-purpose robots.
The typical experimental general-purpose robot uses the rapidly exploring random tree, which uses known unobstructed paths, and sticks to them, but depending on the complexity of a robot's design, that algorithm can become very complicated very quickly. For example, if a robot had an arm with seven joints and could move itself around, it would have to consider ten dimensions when computing its movement. One of the new algorithms from MIT looks to simplify those computations by describing how an object will respond to different forces.
The other algorithm developed at MIT actually isolates where obstructions occur and will use that information to the robot's benefit. For example, if the robot has two arms, it will use the second one to prevent the object in the first arm from falling, by placing its gripper in the way.