PERSONAL ROBOT PROJECTS
MICRO-SPOT QUADRUPED
Fully 3D-printed quadruped in development using 12 servo actuators and ESP32 microcontroller. Personally developed inverse kinematic code and algorithm for limb movements given desired end-effector position.
TWO-WHEEL BALANCING ROBOT
Two-wheeled self-balancing robot built using only parts that can be sourced from local online vendors in rural Western Kenya. Uses PID controller, ESP32 microcontroller, and MPU6050 gyroscope.
MICRO-SPOT QUADRUPED
Micro-Spot is an open-source project where STL files for a small robot body resembling the Boston Dynamic's 'Spot' quadruped robot, but using hobby-grade servo motors. I used these files and personally designed the electronics and power distribution system to run 12 high-torque servo motors.
Learned inverse kinematic techniques to control basic coordinated limb movements
Software initially created to control standing, sitting, pan, tilt, and roll functions to understand basic movements and the limits of the chosen quadruped design.
Created algorithm to control limb movement when selecting spatial positions for end-effector to move.
​
Due to the limitations of the ESP32 microcontroller, performing matrix operations for finding optimal limb movement did not perform as well as iterative solving.
​
Personally designed iterative algorithm for solving for the servo angles which correspond to the correct end-effector spatial placement with minimal travel distance for all servos.
Notebook pages for brainstorming quadruped gait algorithms to attempt
Wrote end-effector optimal movement software in Python
​
Function Custom ROS2 package solves for the optimal limb position given a starting position and desired end-effector position (in both angular position and Cartesian 3D coordinate, allowing for use in generic robotic arm). This package will be used as a ROS2 service as an alternative to the existing transformations library.
Currently working on...
-
Researching quadruped gait to allow walking
-
Using ROS2 with a Raspberry Pi 4 computer to run gait control based on reinforcement learning techniques. Project will be continued after the finish of my time teaching in Kenya.
-
Redesigning leg limbs for more natural movements (via mechanical and electric springs).
-
Redesigning motor
TWO-WHEEL BALANCING ROBOT
Using only components available from Kenyan companies which serve rural villages, this project is attempting to make a stable two-wheeled robot. Parts consist of hobby-grade geared motors, two 18650 lipo batteries, H-bridge motor controller, and ESP32 microcontroller. Parts were selected to reduce costs and are reasonable for a local interested student to also attain and replicate this project.
Used Kahlman filtering to improve the signal of the low-cost MPU6050 gyroscope for accurate angle measurement
Implemented Kahlman filter to predict subsequent angle values from raw data stream to provide real-time and improved outputs.
Currently using PID controller for motor control to provide stability
Currently tuning controller for stability. Ultra-stability doesn't seem likely until a locally-sourced motor encoder is found.
​
Currently working on...
-
Sourcing motor encoders to enhance stability.
-
Changing ESP32 software to use microROS to communicate with external computer.