“A performance gap of an order of magnitude has emerged in motion planning and control: robot joint actuators react at kHz rates,” according to the research team, “but promising online techniques for complex robots e.g., manipulators, quadrupeds, and humanoids (Figure 1) are limited to 100s of Hz by state-of-the-art software.”
Optimizing existing models and the code for specific robot designs has not closed the performance gap. The researchers write that some compute-bound kernels, such as calculating the gradient of rigid body dynamics, take 30 to 90 percent of the available runtime processing power in emerging nonlinear Model Predictive Control (MPC) systems.
The specific field of motion planning has received relatively little focus compared with collision detection, perception, and localization (the ability to orient itself in three-space relative to its environment). In order for a robot to function effectively in a 3D environment, it has to first perceive its surroundings, map them, localize itself within the map, and then plan the route it needs to take to accomplish a given task. Collision detection is a subset of motion planning.
The long-term goal of this research isn’t just to find a way to perform motion-planning more effectively, but it’s also to create a template for hardware and software that can be generalized to many different types of robots, speeding both development and deployment times. The two key claims of the paper are that per-robot software optimization techniques can be implemented in hardware through the use of specialized accelerators, and that these techniques can be used to create a design methodology for building said accelerators. This allows for the creation of a new field of robot-optimized hardware that they dub “robomorphic computing.”
The team’s methodology relies on creating a template that implements an existing control algorithm once, exposing both parallelism and matrix sparsity. The specific template parameters are then programmed with values that correspond with the capabilities of the underlying robot. 0-values contained within the matrices correspond with motions that a given robot is incapable of performing. For example, a humanoid bipedal robot would store non-zero values in areas of the matrices that governed the proper motion of its arms and legs. A robot with a reversible elbow joint that can bend freely in either direction would be programmed with different values than a robot with a more human-like elbow. Because these specific models are derived from a common movement-planning template, the evaluation code for all conditions could be implemented in a specialized hardware accelerator.
The researchers report that implementing their proposed structure in an FPGA as opposed to a CPU or GPU reduces latency by 8x to 86x and improves response rates by an overall 1.9x – 2.9x when the FPGA is deployed as a co-processor. Improving robot reaction times could allow them to operate effectively in emergency situations where quick responses are required.
A key trait of robots and androids in science fiction is their faster-than-human reflexes. Right now, the kind of speed displayed by an android such as Data is impossible. But part of the reason why is that we can’t currently push the limits of our own actuators. Improve how quickly the machine can “think,” and we will improve how quickly it can move.