Hexapod-ROS
An open-source hexapod robot platform based on ROS2, featuring real-time gait control and laser navigation.
- Quadruped
- Open source
- Work in progress
- ROS 2
- 3D model (URDF)
- 3D printable
Suggested by Robotheca, created by @greenhand520 (opens in a new tab), from github.com/greenhand520/hexapod_ros (opens in a new tab). Pinned to commit 39a51e4 (opens in a new tab).
- Hardware license
- GPL-3.0-only (opens in a new tab)
- Software license
- GPL-3.0-only (opens in a new tab)
- Commercial use
- Allowed
This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.
Photo and 3D model

3D preview converted from github.com/greenhand520/hexapod_ros at 39a51e4, under GPL-3.0-only. View the original files from GitHub (55.6 MB) (opens in a new tab)
- Degrees of freedom
- 18
- Power
- 100 W
What it can do
Written by Robotheca from the project's documents.
- 18 degrees-of-freedom leg motion with inverse kinematics and multiple gait modes
- SLAM mapping and autonomous navigation using a 360° 2D laser scanner with Navigation2
- Real-time IMU attitude estimation and battery management
- Controlled via ROS2 Humble on the main computer with MicroROS on the microcontroller
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The creator's steps, each with its instructions.
- 1Clone the repository and initialize submodules
- 2Install dependencies (YDLIDAR SDK, MicroROS agent)
- 3Compile the ROS2 workspace
- 4Compile and flash the STM32 firmware
The guide appears here as you scroll.
Guide by @greenhand520 (README.md), under GPL-3.0-only. The English translation is by Robotheca, shared under the same license.
More guides
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- RK3566 (LubanCat Zero) main computer running ROS2 Humble
- STM32F405RGT6 microcontroller running FreeRTOS and MicroROS
- Eighteen UBTECH serial-bus servos for leg joints
- YDLIDAR X2 360° 2D laser scanner
- MPU6500 6-axis IMU (accelerometer + gyroscope)
- BQ40Z50 battery gauge and protection IC (overcharge, overdischarge, overcurrent, short circuit)
- BQ24725 battery charger management IC (up to 100 W)
- TPS40305 buck DC-DC converter for servo power (battery to ~8.4 V)
- CH339F USB 2.0 hub and Ethernet expander
Connections
- RK3566 communicates with STM32 via UART using MicroROS
- STM32 connects to MPU6500 over SPI
- STM32 connects to BQ40Z50 and BQ24725 via SMBus
- YDLIDAR X2 connects to RK3566 via UART8
- Eighteen UBTECH servos are daisy-chained on UART4