Skip to content

Valthoron/hexapod-mk1-python

Repository files navigation

Hexapod MK1 - "Findir"

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.

Features

  • 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

Dependencies

How To Run

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.

Licensing

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.

About

Controller program for a hexapod robot.

Topics

Resources

License

Stars

Watchers

Forks

Languages