Stand-Alone Bipedal Humanoid Robot Performing Inclined Squat Movements: Embedded Control Design using myRIO and LabVIEW

  Read in   |   Print Print

"By developing this project on myRIO with LabVIEW Real-Time, we could realize stand-alone inclined squat movement with autonomous balance management."

- Prof. Robert Babuska, TU Delft

The Challenge:
Implementing and testing algorithms for squat movements with autonomous balance control on a walking bipedal humanoid robot called Leo.

The Solution:
Developing a stand-alone system based on the myRIO device using the LabVIEW Real-Time Module and the LabVIEW MathScript RT Modules to control servo motors located at the leg joints to perform squat movement and autonomous balance management.

Prof. Robert Babuska - TU Delft
Thomas Booij - TU Delft
Dennis van Rooijen - TU Delft

Background and the TU Delft Robotics Institute

For more than a decade, researchers at the TU Delft Robotics Institute have been developing novel, bio-inspired robotic systems, such as robotic arms and bipedal walking machines. For this project, we used a bipedal humanoid robot called Leo, which was designed in 2009 as a “2D” robot supported by a boom construction keeping the hip axis horizontal.  Leo is actuated by Robotis Dynamixel R-28 servo motors in the hips, knees, ankles, and arm. Designed for as a testbed for research in reinforcement learning, Leo can walk in circles and autonomously stand up after a fall.

Figure 1. Leo – the bipedal humanoid robot laterally stabilized by a boom and performing circle walking.

Stand-Alone, Auto-Balanced Squat Movements

In this project, we used Leo without the boom support to perform autonomous squat movements . The project combined three important challenges. The first one was to make Leo stand-alone without any support structure and external energy source. Second, Leo had to perform squat movements on a flat surface, while keeping balance. Third, stability has to be maintained even when performing squats on an inclined surface.

Figure 2. Stand-alone bipedal humanoid robot performing squats using NI myRIO.

Using myRIO, the LabVIEW Real-Time Module, and the LabVIEW MathScript RT Modules 

To implement the auto-balanced squat movement, we needed an embedded control system to command the servo motors and manage stability. We used the myRIO device, which has a built-in accelerometer, combined with an embedded controller to perform these actions.

We employ inverse kinematics to calculate the angle reference trajectories for the hip and knee servos so that the robot remains stable when the ankle follows a prescribed sinusoidal movement. We have developed the mathematical model and deployed it for myRIO with the help of the LabVIEW Real-Time Module. Commands are sent to the servo motors using the USB connection located on the myRIO by simulating it as a serial port.

Figure 3. Ankle, knee and hip angles involved in the mathematical model and controller.

We used The MathWorks, Inc. MATLAB® software to develop the mathematical model of the body inclination to keep the robot stable. Using the LabVIEW MathScript RT Module to import MATLAB code into LabVIEW was really beneficial. We based this code on keeping the body of the robot at a certain constant angle with the ground. For the squats on an inclined slope, we incorporated an accelerometer to measure the torso angle in combination with a proportional-integral (PI)  controller to adjust the angle of the ankle servo.


Figure 4. Importing MATLAB code with MATLAB script node.

Figure 5. Single NI myRIO USB communication controlling all servo motors.

We tuned the proportional and integral coefficients (Kp and Ki)  for a stable, smooth motion, so that the robot can squat on an inclined slope. However, since the robot has some backlash in the moving parts and the IMU is at the torso, the sensor readings are corrupted by noise. We used a moving average filter to reduce the noise.

We can only control the Robotis Dynamixel R-28 servo motors through USB serial communication. An embedded USB-HUB device located on the robot regroups all six servo motors into a unique USB connection. By transforming the USB port located on the myRIO device as a serial port, we can send and receive commands and control simultaneously all servo motors through its unique USB connection.

Benefits of NI Solutions for the Delft Robotics Institute

The NI hardware and software platform allowed us to quickly realize an effective real-time implementation. Intuitive graphical programming coupled with seamless integration with NI hardware, real-time OS capabilities, and the ability to interact with third-party code (for example, MATLAB code) are key elements that helped us increase the efficiency of implementation and reuse of existing algorithms.

Beside product benefits, the interaction with NI support engineers helped us understand the capabilities of embedded systems (like myRIO) and the possibility of reusing a third-party existing code (LabVIEW MathScript RT).


By developing this project on myRIO with LabVIEW Real-Time, we could realize stand-alone inclined squat movement with autonomous balance management. The key elements of this project include being able to deploy a stand-alone application easily with LabVIEW Real-Time, reducing complexity by reusing existing MATLAB code, and easily commanding all servo motors with the myRIO device through the USB port.


Leo, the bipedal robot:
Research background:
Detailed description of Leo and the learning algorithms:
TU Delft robot Leo learns to walk:

Author Information:
Prof. Robert Babuska
TU Delft

Bookmark and Share

Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community

Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI