Open-source software gives a leg up to robot research

Open-source software gives a leg up to robot research

Aaron Johnson’s Robomechanics Lab has developed an open-source software that enables more agile movement in legged robots.

It would be awesome to have robots that can help us do important things, like aid disaster recovery efforts or monitor the environment. In the case of quadrupeds, robots that walk on four legs, their mobility requires many software components to work together seamlessly. It’s a drag when all your time is spent on developing lower-level infrastructure instead of focusing on high-level behaviors. Aaron Johnson’s Robomechanics Lab experienced these frustrations firsthand. His team often had to rely on simple models for doing research because existing software solutions were not open sourced, did not provide a modular framework, and lacked end-to-end functionality. 

A four-legged robot using Quad-SDK software is shown jumping. Source: Carnegie Mellon University/Robomechanics Lab 

An example of innovation born out of necessity, Johnson, an associate professor of mechanical engineering, and his team designed their own locomotion software stack, Quad-SDK, a full-stack framework for agile quadrupedal locomotion. Many graduate students have contributed to the development of the software across a two-year period, but it was time well spent. Their design can simplify the development process for roboticists everywhere because it uses an open-source license, meaning the software can be used and modified as the user wishes. Quad-SDK comes ready to use, so researchers don’t have to worry about implementing the necessary tools and infrastructure; instead, they can get right to work on exciting behaviors and applications. 

Unlike other options, Quad-SDK is also compatible with the Robot Operating System (ROS). ROS is a middleware, somewhere between hardware and software, that lets different parts of a system talk to each other. For example, if a robot senses an obstacle in its path and needs to transfer information from its perception module to its decision-making module, ROS is what enables that communication. Imagine an app that doesn’t use iOS or Android—it’s much simpler when everything works together.

Locomotion is a layered problem, as team member and Ph.D. student Ardalan Tajbakhsh describes it. “In order to do anything meaningful on a robot, you need to have many components working together seamlessly.” Quad-SDK provides a framework for robotics researchers and developers to focus their efforts on the core algorithms instead of the software tooling and infrastructure.

In order to do anything meaningful on a robot, you need to have many components working together seamlessly. - Ardalan Tajbakhsh, Ph.D. student, Mechanical Engineering 

Other software packages are very good at solving one component, like motion planning, but it’s critical to have end-to-end frameworks that provide the necessary algorithms, tools, and infrastructure for performing high-quality robotics research. Quad-SDK is full stack, meaning it contains every level of the hierarchy that affects quadruped locomotion, starting with global planning. This layer sits at the top of the stack; Tajbakhsh compares it to Google Maps, because it chooses where the robot should roughly go to reach its destination. The next layer, local planner, is what decides the specifics of the route, like where the robot should place its feet. This culminates in a third layer, the robot driver, which sends commands to the quadruped’s joints to execute the desired motion.

In the weeks since Quad-SDK won a Best Paper Award at the Workshop on Legged Robots at the 2022 IEEE International Conference on Robotics and Automation (ICRA), people have already requested to use it, a clear indicator of how useful its solutions are and how the open-source format invites collaboration within the robotics community. Figuratively and literally, Quad-SDK can go many places.