HEBI Robotics Enables Rapid Development of Real-Time Control Algorithms for Robots Assembled from Smart Actuators

“Some of our demo systems would not be feasible without MATLAB as a starting point. The plotting and debugging tools enable rapid troubleshooting, and the portability of MATLAB code ensures that the system will work properly when our customers use a robotics kit with the MATLAB code and API we provide.”

Challenge

Enable researchers with diverse programming skills to rapidly develop real-time control software for robots assembled from smart actuator modules

Solution

Develop a MATLAB based API and example code that researchers use to jumpstart development and rapidly implement prototypes for testing control ideas

Results

  • Cross-platform interoperability issues eliminated
  • Key control system developed in weeks
  • Customer ramp-up time shortened
Igor, a self-balancing two-wheeled robot built using the HEBI Robotics platform.

Igor, a self-balancing two-wheeled robot built using the HEBI Robotics platform.

HEBI Robotics, a startup founded by engineers from the Robotics Institute at Carnegie Mellon University, provides a hardware and software platform that enables robotics researchers to build professional-grade, customized robots. With this platform, robots that used to take months to create can now be designed, assembled, and programmed in weeks, or even days. The hardware cornerstone of the platform is a smart, Ethernet-enabled actuator module that researchers use to control position, torque, and velocity simultaneously. Complementing the hardware modules are logging tools and APIs that enable rapid development of system-level kinematics and trajectory control, as well as joint-level control of each actuator’s motion.

HEBI engineers used MATLAB® to develop example control software for kits based on the smart actuators, test the actuators, and create an API for roboticists who are not experienced software engineers.

“The pseudocode you would write for motion control or coordinating joints in a manipulator or leg is much like the MATLAB code that actually does it,” says Dave Rollinson, cofounder and robotics engineer, at HEBI. “Data analysis, plotting, working with matrices—it’s all very natural in MATLAB, which greatly expands and diversifies the set of people who can get up and running fast with our platform.”

Challenge

At the Robotics Institute of Carnegie Mellon University, HEBI’s founders worked on a research team that included students in the mechanical engineering and electrical engineering departments, as well as students in the humanities and arts colleges. While everyone in the group knew what they wanted to do with the robot, and most had a good understanding of the mathematics needed to achieve their vision, few could express their ideas in C/C++ code. The HEBI founders set out to bridge the gap between idea and implementation by making it easier for researchers who were not expert programmers to assemble and program robots for their own applications.

To achieve this goal, HEBI needed to design and deliver actuators that could easily be assembled into custom robots, and they needed to provide an API and example code that customers could use to accelerate development of real-time control software. HEBI wanted to enable researchers to visualize logged data and rapidly debug and iterate on control designs while working on their preferred operating system.

Solution

HEBI engineers used MATLAB to develop an API that they and their customers use to control complex robotic systems in real time directly from MATLAB.

The team developed their API with the External Language Interface for Java, creating background threads that enable applications built with the API to achieve response times on the order of milliseconds.

In a typical workflow, a research team begins with one of the company’s robotics kits, such as a six-degrees-of-freedom robotic arm, a self-balancing two-wheeled robot, or a hexapod. The researchers run MATLAB example scripts provided with the kit to control either a single actuator or the assembled robot. They can then study the MATLAB code that performs kinematic analysis, such as computing inverse kinematics and Jacobians.

After mastering the basics of the HEBI platform, the researchers develop their own control applications by extending the example code or using it as a template.

As they develop and debug the control software in MATLAB, they use plots and graphs to visualize logged data captured during tests.

HEBI engineers use MATLAB extensively in-house to develop kits and test actuators. For example, they use a nonlinear least-squares data-fitting solver from Optimization Toolbox™ for inverse kinematics, and they use MATLAB plots to analyze motor current, IMU calibration, and gear performance of actuators on the assembly line.

HEBI engineers are currently developing additional kits based on their in-production X5 and X8 actuators, as well as a series of next-generation actuators.

Results

  • Cross-platform interoperability issues eliminated. “When we use other programming languages, code that works on one system doesn’t work on another,” says Rollinson. “That can easily cost us days of downtime, and those days always seem to coincide with a deadline. With MATLAB, code written on Linux® works just the same on Windows®.”
  • Key control system developed in weeks. “The core of our Igor robot is the balance controller, which we developed in MATLAB in a day; the entire robot took about three weeks,” says Rollinson. “For proving out the idea and building the robot, MATLAB was indispensable. I don’t know of any other environment that would we could have used to complete the design in that timeframe.”
  • Customer ramp-up time shortened. “Our goal is to meet our customers where they are,” says Rollinson. “With MATLAB, our customers can get a real-time kinematics or balancing controller working quickly and then start to test out their own ideas directly, without having to rely on a team of software engineers.”