Quadruped Robot

Hardware and software of a 12-DoF legged robot (2021)

I started my Ph.D. at the NUS Biorobotics Lab on Aug 3rd 2020, focusing on developing novel motion planning and motion control algorithms. In addition to my research, I also participated in hardware and software development of several robotic platforms.

In the first year, I collaborated with 4 reseach engineers to develop a quadruped robot from scratch. Thanks to them, I had a systematic understanding of robots with high degrees of freedom (DoFs).

Project members:

12-DoF quadruped robot.

It is a 16.5kg, electrically actuated, torque-controlled, four-legged robot. The leg link can reach 0.5m when full extended. Most of mechanical components are customized, mainly made of aluminum alloy, carbon fiber, and 3D-printing material.

Mechanical design. The figures from left to right illustrate the leg transimission, joint layout, and body structure.

There are 12 actuated joints in total. Each joint is equipped with a (brushless DC electric) BLDC motor (GYEMS RMD X8 Pro). The motor intergates a 6:1 planetary reducer and a driver that supports 3 control modes (potision / velocity / torque).

Electronic system.

The onboard computers include an Advantech PC104 and a NVIDIA Jetson TX2. The former functions as a low-level motion controller, while the latter runs high-level control and learning algorithms. In terms of sensing, each joint has a encoder, and the robot body has a 9-axis inertial measurement unit (IMU) (WitMotion HWT901B) for state estimation.

Electronic devices and wiring.

The robot is powered by a 24V 6000 mAH Li battery. Three voltages are available for electronics: 24V - motors, 12V - computers, 3.3V - LEDs and switches. These devices communicate with each other via different protocols including CAN, UDP and USB.

The robot’s real-time software architecture allows code to run in isolated threads, which are bound to different CPUs.

Wiring diagram (left) and software architecture (right).

We develop the locomotion controller based on the well-known Mini Cheetah. The hierarchical control framework consists of:

  • a model predictive controller (MPC) computing desired body position, body orientation, and foot force in a short horizon.
  • a whole-body controller (WBC) prioritizing tracking tasks and computing joint position, velocity and torque command.
  • several low-level modules processing user instructions or sensor feedback for the high-level controllers.
Hierarchical control framework.

The algorithm is verified in ROS/Gazebo. The videos below show three robot states: “balanced stand”, “stand up”, and “trot”.

Simulation in ROS/Gazebo.

Simultaneously, we conduct single-leg hardware experiments on a bench.

Single leg test.

The completed robot can’t wait to run on the ground!

Side view (left) and top view (right).

We command the quadruped robot to trot indoors and outdoors. Its agile maneuvers demonstrate good locomotion performance.

Trot indoors.
Trot outdoors.