This is a controller program for a hexapod (six-legged) robot. Mechanical design of the robot can be found here: https://github.com/SmallpTsai/hexapod-v2-7697. Electronics and software is custom.
- Control algorithm running in soft real-time under Raspbian Lite on Raspberry Pi Zero W
- Movement on three axes: Forward-back, sidewards, and left-right turn
- Adjustable movement speed
- Adjustable body height and attitude
- Adjustable leg lifting height
- I2C communication with two Waveshare Servo Driver boards (PCA9685) to run a total of 18 servos
- I2C communication with an Arduino Nano to read command signals from a Sanwa SD-10G radio controller for remote control (Arduino code available at https://github.com/Valthoron/arduino-rc-sampler-interrupt)
- XML-based configuration file for servo calibration
Main controller routine is python3 Main.py
.
To calibrate servos, python3 ServoCalibration.py
commands all joints to preset angles and continually reads the configuration XML for bias values.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.