Contemporary robots can move quickly. "The motors are fast, and they're powerful," says Sabrina Neuman.
Yet in complex situations, like interactions with people, robots often don't move quickly. "The hang up is what's going on in the robot's head," she adds.
Perceiving stimuli and calculating a response takes a "boatload of computation," which limits reaction time, says Neuman, who recently graduated with a PhD from the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL). Neuman has found a way to fight this mismatch between a robot's "mind" and body. The method, called robomorphic computing, uses a robot's physical layout and intended applications to generate a customized computer chip that minimizes the robot's response time.
The advance could fuel a variety of robotics applications, including, potentially, frontline medical care of contagious patients. "It would be fantastic if we could have robots that could help reduce risk for patients and hospital workers," says Neuman.
Neuman will present the research at this April's International Conference on Architectural Support for Programming Languages and Operating Systems. MIT co-authors include graduate student Thomas Bourgeat and Srini Devadas, the Edwin Sibley Webster Professor of Electrical Engineering and Neuman's PhD advisor. Other co-authors include Brian Plancher, Thierry Tambe, and Vijay Janapa Reddi, all of Harvard University. Neuman is now a postdoctoral NSF Computing Innovation Fellow at Harvard's School of Engineering and Applied Sciences.
There are three main steps in a robot's operation, according to Neuman. The first is perception, which includes gathering data using sensors or cameras. The second is mapping and localization: "Based on what they've seen, they have to construct a map of the world around them and then localize themselves within that map," says Neuman. The third step is motion planning and control -- in other words, plotting a course of action.
These steps can take time and an awful lot of computing power. "For robots to be deployed into the field and safely operate in dynamic environments around humans, they need to be able to think and react very quickly," says Plancher. "Current algorithms cannot be run on current CPU hardware fast enough."
Neuman adds that researchers have been investigating better algorithms, but she thinks software improvements alone aren't the answer. "What's relatively new is the idea that you might also explore better hardware." That means moving beyond a standard-issue CPU processing chip that comprises a robot's brain -- with the help of hardware acceleration.
Hardware acceleration refers to the use of a specialized hardware unit to perform certain computing tasks more efficiently. A commonly used hardware accelerator is the graphics processing unit (GPU), a chip specialized for parallel processing. These devices are handy for graphics because their parallel structure allows them to simultaneously process thousands of pixels. "A GPU is not the best at everything, but it's the best at what it's built for," says Neuman. "You get higher performance for a particular application." Most robots are designed with an intended set of applications and could therefore benefit from hardware acceleration. That's why Neuman's team developed robomorphic computing.
The system creates a customized hardware design to best serve a particular robot's computing needs. The user inputs the parameters of a robot, like its limb layout and how its various joints can move. Neuman's system translates these physical properties into mathematical matrices. These matrices are "sparse," meaning they contain many zero values that roughly correspond to movements that are impossible given a robot's particular anatomy. (Similarly, your arm's movements are limited because it can only bend at certain joints -- it's not an infinitely pliable spaghetti noodle.)
The system then designs a hardware architecture specialized to run calculations only on the non-zero values in the matrices. The resulting chip design is therefore tailored to maximize efficiency for the robot's computing needs. And that customization paid off in testing.
Hardware architecture designed using this method for a particular application outperformed off-the-shelf CPU and GPU units. While Neuman's team didn't fabricate a specialized chip from scratch, they programmed a customizable field-programmable gate array (FPGA) chip according to their system's suggestions. Despite operating at a slower clock rate, that chip performed eight times faster than the CPU and 86 times faster than the GPU.
"I was thrilled with those results," says Neuman. "Even though we were hamstrung by the lower clock speed, we made up for it by just being more efficient."
Plancher sees widespread potential for robomorphic computing. "Ideally we can eventually fabricate a custom motion-planning chip for every robot, allowing them to quickly compute safe and efficient motions," he says. "I wouldn't be surprised if 20 years from now every robot had a handful of custom computer chips powering it, and this could be one of them." Neuman adds that robomorphic computing might allow robots to relieve humans of risk in a range of settings, such as caring for covid-19 patients or manipulating heavy objects.
Neuman next plans to automate the entire system of robomorphic computing. Users will simply drag and drop their robot's parameters, and "out the other end comes the hardware description. I think that's the thing that'll push it over the edge and make it really useful."
This research was funded by the National Science Foundation, the Computing Research Agency, the CIFellows Project, and the Defense Advanced Research Projects Agency.