Yesterday, Realtime Robotics announced in a guest post in the IEEE spectrum that they have developed a new processor called ‘RapidPlan’ which tackles the bottleneck faced in a robot’s motion planning.
Motion planning determines how to move a robot, or autonomous vehicle, from its current position to a desired goal configuration. Although the concept sounds simple, it is far from the same. Not only does the robot have to reach the goal state, but it also has to avoid any obstacles while doing so. According to a study, this process of collision detection- determining which edges in the roadmap (i.e., motions) cannot be used because they will result in a collision- consumed 99 percent of a motion planner’s computing time.
Traditionally, motion planning has been implemented in software running on high-performance commodity hardware. The software implementation, however, causes a multiple second delay, making it impossible to deploy robots in dynamic environments or environments with humans. Such robots can only be used in controlled environments with just a few degrees of freedom.
The post suggests that motion planning can be sped up using more hardware resources and software optimizations. However, the vast computational resources of GPUs and sophisticated software maximize performance and consume a large amount of power. They cannot compute more than a few plans per second. Changes in a robot’s task or scenario often require re-tuning the software.
How does RapidPlan work?
A robot moving from one configuration to another configuration sweeps a volume in 3D space. Collision detection determines if that swept volume collides with any obstacle (or with the robot itself). The surfaces of the swept volume and the obstacles are represented with meshes of polygons. Collision detection comprises of computations to determine whether these polygons intersect. The challenge is titime-consumings each test to determine if two polygons intersect involves cross products, dot products, division, and other computations, and there can be millions of polygons intersection tests to perform.
RapidPlan overcomes the above mentioned bottleneck and achieves general-purpose, real-time motion planning, to achieve sub-millisecond motion plans. These processors convert the computational geometry task into a much faster lookup task. At the design time itself, the processors can precompute data that records what part of 3D space these motions collide with, for a large number of motions between configurations. This precomputation— which is offline and based on simulating the motions to determine their swept volumes— is loaded onto the processor to be accessed at runtime. At runtime, the processor receives sensory input that describes what part of the robot’s environment is occupied with obstacles. The processor then uses its precomputed data to eliminate the motions that would collide with these obstacles.
Realtime Robotics RapidPlan processor
This processor, was developed as part of a research project at Duke University, where researchers found a way to speed up motion planning by three orders of magnitude using one-twentieth the power. Their processor checks for all potential collisions across the robot’s entire range of motion with unprecedented efficiency.
RapidPlan, is retargetable, updatable on-the-fly, and has the capacity for tens of millions of edges. Inheriting many of the design principles of the original processor at Duke, the processor has a reconfigurable and more scalable design for the hardware for computing whether a roadmap edge’s motion collides with an obstacle. It has the capacity for extremely large roadmaps and can partition that capacity into several smaller roadmaps in order to switch between them at runtime with negligible delay. Additional roadmaps can also be transferred from off-processor memory on-the-fly allowing the user to, for example, have different roadmaps that correspond to different states of the end effector or for different task types.
Robots with fast reaction times can operate safely in an environment with humans. A robot that can plan quickly can be deployed in relatively unstructured factories and adjust to imprecise object locations and orientations. Industries like logistics, manufacturing, health care, agriculture, domestic assistants and the autonomous vehicle industry can benefit from this processor.
You can head over to IEEE Spectrum for more insights on this news.