A new system devises hardware architectures to hasten robots’ response time. 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.
Robomorphic computing
The method, called robomorphic computing, uses a robot’s physical layout and intended applications to generate a customised computer chip that minimises 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.
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 localisation. “Based on what they’ve seen, they have to construct a map of the world around them and then localise 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
Hardware acceleration refers to the use of a specialised hardware unit to perform certain computing tasks more efficiently. A commonly used hardware accelerator is the graphics processing unit (GPU), a chip specialised 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 customised 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.)
Maximise efficiency
The system then designs a hardware architecture specialised to run calculations only on the non-zero values in the matrices. The resulting chip design is therefore tailored to maximise efficiency for the robot’s computing needs. And that customisation 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 specialised chip from scratch, they programmed a customisable 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.
“This work is exciting because it shows how specialised circuit designs can be used to accelerate a core component of robot control,” says Robin Deits, a robotics engineer at Boston Dynamics who was not involved in the research.
“Software performance is crucial for robotics because the real world never waits around for the robot to finish thinking.” He adds that Neuman’s advance could enable robots to think faster, “unlocking exciting behaviours that previously would be too computationally difficult.”
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.”
(Main image: MIT researchers have developed an automated way to design customized hardware, or “brains,” that speeds up a robot’s operation. Image: Jose-Luis Olivares, MIT.)