The HEBI APIs provide several different levels of access to the hardware in order to cover a wide range of research projects and applications. Kinematics and trajectory APIs provide high-level control, similar to that of today's industrial robots. Joint-level control APIs allow complete control of each actuator's motion and tight integration of feedback from multiple actuators and external sensors. Lastly, a rich set of logging tools ensures that data can be recorded with virtually no overhead and easily analyzed and visualized.
APIs for various programming languages allow system developers to control HEBI robotic components using the environment they are most comfortable with, and that best matches the requirements of the project.
Many robotics research groups prototype control algorithms and robotic behaviors in MATLAB, and then spend significant time on porting the code to another language like C/C++ to test it on a real system. This development cycle is slow, expensive, requires a broad range of programming knowledge and skills, and it is a significant barrier in making meaningful advances in robotics.
The HEBI API for MATLAB lets you prototype directly on real hardware without ever leaving the flexible and powerful MATLAB programming environment. The development cycle is accelerated by logging and analyzing data directly in an environment that excels at processing and manipulating numeric data.
Python is a high-level object oriented scripting language that is easy to learn and use, but is still powerful and flexible. The HEBI API for Python takes advantage of this ease of development, allowing you to quickly and easily control HEBI robotic systems.
C++ is a powerful and dependable language used for many deployed systems. The HEBI API for C++ is a cross-platform, object-oriented API using the C++ 11 language specification. It gives the developer flexibility over details such as threading, while still providing a high-level API that is quick to get started with.
The HEBI API for C++ is provided as source code wrapping a C library to guarantee maximum portability across compilers, platforms, and operating systems.
ROS, or the Robot Operating System, is an open source system for control robotic systems. The power of ROS is in the variety of contributed packages, which include everything from vision and navigation to control and motion planning.
The HEBI API for ROS provides an easy way to take advantage of the wealth of existing software packages and algorithms to control systems composed of HEBI components.