Project files
README.md
Machine-translated by Robotheca from the original in Chinese (opens in a new tab). License: MIT (opens in a new tab).
Hexapod Robot
Overall Introduction
This project was developed during the summer vacation and primarily includes the mechanical design of a hexapod robot, hardware selection, and software control. Due to limited funding, the project did not result in a complete hexapod robot. However, we 3D-printed a set of support legs to verify the correctness of inverse kinematics control and the host computer system.
Mechanical Structure
The hexapod robot consists of six supporting legs and a body assembly. The supporting legs provide walking and turning movements, while the body assembly is used to house some hardware facilities.

Each supporting leg is powered by three MG996R servos and is fixed to the body assembly.

Most structural components of the hexapod robot are manufactured using 3D printing. The list is as follows:
- Servo upper mounting part ×1×6
- Servo lower mounting part ×1×6
- Servo upper fixing part ×1×6
- Servo lower fixing part ×1×6
- Ring connecting part ×1×6
- Body fixing plate_upper plate ×1
- Body fixing plate_lower plate ×1
- Lower limb drive plate ×1×6
- Lower limb passive plate ×1×6
- Lower limb fixing plate ×1×6
- Middle segment drive plate ×1×6
- Middle segment passive plate ×1×6
- Middle segment drive plate_reinforced ×1×6
- Middle segment passive plate_reinforced ×1×6
Some structural components and connecting parts are made of standard parts. For details, see Standard Parts List
Hardware System
Due to time and experimental conditions, this project uses ready-made development boards. The power supply uses an 18650 12 V 5600 mAh lithium battery pack, and a LM2596S DC-DC adjustable step-down voltage regulator module provides 5 V power to the development board. The servo controller board uses a Yeahbot 24-channel servo controller board, with a DX-BT04-E02 module providing Bluetooth communication support and an ATK-USB-UART-V1.2 module providing USB-to-serial communication support.
Software Control
The control program is written in Python and is mainly divided into model control, communication control, and user interface. The control software has been packaged as an .exe executable file.
The user interface consists of a toolbar and the main interface. Users can select the communication method and send data to the servo control board. Servo control commands can be referenced in the user manual.

The initialization includes subpages for modifying parameters of the body and legs. Users can adjust the body dimensions, initial position, leg dimensions, initial angles, angle compensation, allowable angle range, and reference coordinates.

The communication connection includes subpages for serial and Bluetooth communication, including settings for the required information for serial and Bluetooth connections.


The subpages at the bottom include custom control, posture control, and movement control.
Custom control allows users to individually control each servo angle, and each angle value is updated in real time.

Posture control is used to change the posture of the hexapod robot in a non-moving state. Users can control the posture using keys or set it via the input box on the right.

Movement control is used to control the hexapod robot's forward, backward, and turning movements. Users can choose between a tripod gait or a ripple gait. The custom loop action on the right allows users to define action sequences for continuous control.

Robot Motion Demonstration
Moving posture

Triangular gait

Undulatory gait

Turning

LICENSE
This project is licensed under the MIT License. For more details, please refer to the LICENSE file.
Files by @AlexanderJFDR, at commit 33877a3, read from GitHub in your browser. Hardware license: MIT; software license: MIT. Robotheca doesn't review code: read it before running it.