Hexapod
Design, Implementation, Simulation, Testing
Hexapod: Design, Implementation, and Testing
A highly versatile, robust, and feature rich hexapod. Features that it is has include, a complete ROS2 based Controller, Upgradable design, Cameras for perception, Feet contact sensors, Reinforcement learning based control for walking on rough terrain(Work In Progress), Various walking Gaits, Various motion filter modes.
ROS2 Based Controller
The ROS2 based controller, here I am using a PS4 controller to give commands.
Simulation in Gazebo Simulator (Classical Control):
Overview
This shows the classical style hexapod controller, wherein, it follows:
- x_translation, y_translation, and Z_height, of hull.
- Linear (x,y) velocity of body.
- {Roll, Pitch}(Closed Loop Control) and {Yaw}(Open Loop) of hull.
- Tripod, Ripple, and Amble gaits.
- Motion filters / Modes
Reinforcement Learning in Isaac Gym
It learned to Walk
Unexpected Interesting Stuff
Attempted camera based Learning (Not emough V-RAM on my laptop)
Overview
The goal is to train a model that adapts the hexapod’s leg movements to maintain a stable hull while following velocity commands.
- The first video demonstrates the hexapod learning to follow basic linear and angular velocity commands.
- The second video is amusing.
- The third video showcases the use of camera input from each environment’s hexapod, highlighting the potential to incorporate camera data during training.
Technical Details
Hardware
- Hexapod (In development): Custom 3D-Printed parts, 30Kg-cm Serial-bus servos, Aluminum (2mm), Cameras.
- Sensors: Contact sensors, 3-axis inclination, 3-axis acceleration.
- Controller: Raspberry Pi, ESP32-based Servo Driver.
Images
Demonstration Video
Software
- Programming Language: Embedded C, Python, C++.
- Autonomy: Wireless Teleoperation, Wired teleoperation, Camera guided Motion.
Source Code
The complete codebase and documentation are available on GitHub.
Acknowledgments
Software: me, Hardware was funded by, IIT Dhanbad.
What’s Next?
A lot of cool stuff.
- Reinforcement Learning
- Improving the code structure
- Publishing the Controller


