Skip to content

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).

Photo and 3D model

Hexapod-ROS, photo from its repository
Photo:@greenhand520 (opens in a new tab)GPL-3.0-onlysource file (opens in a new tab)
Try it in the browser

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.

  1. 1Clone the repository and initialize submodules
  2. 2Install dependencies (YDLIDAR SDK, MicroROS agent)
  3. 3Compile the ROS2 workspace
  4. 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