Skip to content
ranbao_deng://
← ~/projects

BEng thesis · SUSTech · Oct 2020 – Jun 2021

“Centaur” load-carrying walking robot

A wearable robot with two extra legs, strapped to the wearer's back. The human navigates and the robot carries the load. My thesis made the robot perceive its wearer's gait and walk in step with it.

My role
Gait perception, gait planning & control, simulation, hardware testing
Lab
Prof. Chenglong Fu, Dept. of Mechanical & Energy Engineering, SUSTech
Tools
MATLAB, Simulink, IMU sensor fusion, inverse kinematics
Outcome
Stable 10-minute walking trials on the physical prototype

Why a centaur?

Soldiers, rescue workers and hikers carry heavy loads where no vehicle can go. Exoskeletons help, but they are strapped to the legs, so they interfere with natural motion and can throw the wearer off balance. Quadruped robots carry loads well, but they are expensive and have short battery life. The Centaur takes a third route: an independent pair of robotic legs coupled to the wearer's back. Human intelligence steers, and robotic legs take the weight.

The platform

The physical Centaur prototype worn by a person, seen from the side: a back frame connects to a carbon-fibre robotic torso carrying a load, supported by two jointed robotic legs. The photo is cropped at the shoulders.
Prototype The carbon-fibre prototype carrying a load (photo cropped to keep the wearer anonymous). full size ↗ (Prototype, opens in a new tab)
CAD render of the Centaur robot: a human figure wearing a back frame connected to a robotic torso with two jointed legs behind them, carrying a load on top.
CAD The design model. Mechanical design and build were led by the lab; I helped test the sensing modules. full size ↗ (CAD, opens in a new tab)
Legs
2 × 2 DoF (hip pitch + knee), parallelogram linkage, carbon fibre
Actuators
4 × Motorevo GA80-35: 35:1 reduction, 42 N·m continuous torque
Human sensing
2 × XSENS MTi-630 IMUs worn on the feet
Interaction force
6-axis force/torque sensor in the back coupling
Mass
≈ 15 kg total

Ankle and extra hip joints were deliberately left out. A human-led robot needs little shock absorption, and two joints per leg keep control and actuation tractable. Both motors sit coaxially at the hip to keep leg inertia low.

Sensing the wearer's gait

To walk with someone, the robot has to know where their feet are in the gait cycle, in real time, for any wearer. I compared three families of methods using the foot-mounted IMUs:

  • Learning-based foot-trajectory prediction. Accurate, but it needs a large dataset and has to be fitted to each person. I ruled it out for this platform, and that data problem is what I now work on in my MSc research.
  • Zero-velocity-update (ZUPT) foot tracking. Double-integrates IMU acceleration to get foot position, and resets the drift every time the foot is detected as stationary. I implemented it in MATLAB and validated it against recorded walking.
  • Phase-angle gait estimation. Uses the thigh's pitch angle as a monotonic phase variable, giving a continuous 0–2π gait phase with no finite-state machine. It is simple, real-time and adapts quickly to different people, so it became the method used on the robot.

I also proposed a combined LIPM + ZUPT model. A linear inverted pendulum predicts the next foothold, ZUPT tracks the actual foot, and comparing the two gives the gait phase and corrects the prediction every step, so no error accumulates. It can also predict the next N footholds, which future gait planning could use directly.

Walking in step

The robot's own foot trajectories are planned with the same linear inverted pendulum model, transformed into the robot frame and converted to hip and knee set-points by inverse kinematics. The wearer's gait phase then schedules those set-points. The legs are position-controlled either in phase with the human or at a fixed phase offset, which gives both a synchronous and a diagonal gait.

IMU ×2 on feet

6-axis F/T in back coupling

phase-angle gait phase

direction & coupling-force estimate

LIPM foot trajectory → IK

phase-scheduled position controlhip + knee, both legs

Control Sensing and control architecture, redrawn from the thesis.
MATLAB Simulink multibody simulation of the two-legged robot: a box-shaped torso with two two-segment legs standing on a ground plane.
Simulation The robot model I built in MATLAB Simulink, used to check kinematics, dynamics and the control strategy before running it on hardware. full size ↗ (Simulation, opens in a new tab)

Results

  • ZUPT tracking reconstructed periodic foot trajectories from IMU data without accumulating drift.
  • The control strategy ran stably in simulation over full multi-step walking sequences.
  • On the ≈ 15 kg prototype, the robot followed its wearer in both synchronous and diagonal gaits during 10-minute indoor walking trials, and the wearer reported that walking felt easier.

The limits were flat ground only and no terrain perception. My thesis proposed vision and SLAM as next steps.

What happened next

The lab kept developing the concept. In 2026 it published a new wearable Centaur robot in the International Journal of Robotics Research. With a 20 kg load, it cut the wearer's net metabolic cost by 35% and plantar pressure by 52% (Tu et al., IJRR 2026). I wasn't involved in that later work, but it's good to see the idea mature.

What I took from the project was hands-on experience with human-in-the-loop control, and an early lesson in choosing a model-based method when there isn't enough data for a learned one. That lesson later became my research question.