Learning-based Control with Low-level Interface

Developed low-level control interface for quadruped robots, with reinforcement learning in IsaacGym and real-world deployment.

Building from the ground up, I first implemented a low-level control interface using UDP protocol, enabling position control for legs. This interface supports both user-specified target positions and sinusoidal motions. Then, I migrated the interface to use the Lightweight Communications and Marshalling protocol, adopting a publisher-subscriber architecture for command input and state feedback.

User-specified control
Sinusoidal control

Built on top of this interface, I deployed an existing gait generator on the real robot, enabling customizable gait patterns by tuning parameters (e.g., frequency, amplitude, phase, etc.). Subsequently, I trained multiple locomotion policies (e.g., flat-ground and general locomotion) in Isaac Gym and deployed them on the real robot. An onboard IMU was integrated to provide state observations required by the policy.

Gait generator
IsaacGym evaluation

The final deployment result demonstrating robust locomotion on uneven terrain is shown below.

Walking on a QRC practice terrain