This repo serves as a collection of code, resources, and documentation for my personal quadruped robot project. The goal of this project to to build a walking robot inspired by insects.
There are a number of arbitrary choices which will influence the building of this robot, all for the sake of converting book knowledge to practical experience.
- Design the physical construction from the ground up, using CAD software, 3D printing, circuit design and manufacture, etc.
- Design kinematic and dynamic models of the robot for the purposes of motion planning.
- Incorporate the use of a raspberry pi, microcontroller, and fpga - purely for the sake of using all three in a single project.
The most recent "functioning" prototype was a 4-legged cardboard+hotglue contraption, controlled by an ATMega328, with buggy radio communications.
Some cringe-worthy videos of the development of this design:
Currently in development is a 3D printed prototype utilizing an FPGA as a servo controller.
Current Status:
The servo controller is a verilog implementation using the TinyFPGA BX as the hardware platform.
The fpga_servo_controller submodule contains the code which implements a simple SPI interface and 12 PWM generators (this number can be arbitrarily increased).
This verilog is synthezised using the APIO project
The high level logic is run on a Raspberry Pi Zero W running Raspbian Buster Lite.
For instructions on how to build and install the firmware please see the Installation Guide
The BCM2835 C Library is used to configure the SPI interface for use with the custom servo controller described above.
The servo_controller.* files implement a library to interface with the SPI peripheral, selecting servos and setting angles.
These are a few things I have in mind for next steps:
- Python wrapper around servo_controller.c
- Walking gaits, first hard-coded/hand designed, then investigate gait generation/discovery
- Battery Power