August 16, 2022
Open-source software gives a leg up to robot research
Carnegie Mellon researchers have developed an open-source software that enables more agile movement in legged robots.
Robots can help humans with tasks like aiding disaster recovery efforts or monitoring the environment. In the case of quadrupeds, robots that walk on four legs, their mobility requires many software components to work together seamlessly. Most researchers must spend much of their time developing lower-level infrastructure instead of focusing on high-level behaviors.
Aaron Johnson's team in the Robomechanics Lab at Carnegie Mellon University's College of Engineering has experienced these frustrations firsthand. The researchers have often had to rely on simple models for their work because existing software solutions were not open-sourced, did not provide a modular framework, and lacked end-to-end functionality.
In 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.
The 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 tools and infrastructure; instead, they can get right to work on 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.
Other software packages are very good at solving one component, like motion planning, but it is 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. A 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 been requesting to use it, an indicator of how useful its solutions are and how the open-source format invites collaboration within the robotics community.