Parker Knopf

Mechanical Engineer

Podex

Hexapod Walking Robot

About

General Info

Inspired by a randomly stumbled upon Youtube video of a rolling hexapod robot. With 19 PMW servos, and 3 micro controllers this project began to take life. Any and all aspects of robotic engineering was involved in the creation of this hexapod robot. The significance of this project was not the final product, but rather the educational journey I took to get there. Every step presented an issue I had to overcome and learn from. Being my first engineering endeavor ever, every technical skill was learned along the way. Extensive research, persistence and old fashion trial and error propelled me to success. My understanding and knowledge grew significantly in conjunction with my problem solving skills.

Image 1

Conic Geometries

Complex Conic geometries to support a spherical shell

Part Iterations

Generations of component design and prototyping

Modular Batteries

Conserving and utilizing space with modular placement
Image 2

Capacitors

Reserved power was essential to consistently power servos

Modular Placement

Accessible modular placement for Buck converters/Breakers

Wire Management

Accounted for in assembly design
Image 3

Graphics UI

Digital UI Operational over robot wifi network

16 Channel PWM

Stackable Adafruit Servo hat enabling servo control

Raspberry Pi Motherboard

Central control unit for all operations
Image 4

Gyroscopic Mode

Inverse kinematics to pitch/yaw/roll the robot

Open-loop Walking Gait

Open-loop walking gait hard coded into soft

Features

Project Functionalities

Walking Gait

Main Functionality

The primary purpose of this hexapod robot is to walk. The robot can walk in 4 directions and can turn by rotating in place. Although the program I wrote for the robot to walk is not robust as I would have hoped for from my standards today, it did its job.

Dynamics

Gyroscope

On-top of the robot being able to walk it can also perform dynamic movements by moving its legs to orientate its body. These dynamic movements include vertical offsets as well as a gyroscopic movement. Using an accelerometer in another project, the Arm Remote, by turning my hand it was intended to update the robot's position to micic the yaw and pitch of my hand movement. Although I was almost able to make this work the kinematic dynamics became too complicated with too little time convoluted by educational studies.

GUI Interface

GUI Interface

Remote Control

This self-built GUI was developed as an executable file to be used as the main controller of the robot. The application used serial communication over a localized wireless LAN network emulated by the Hexapod robot. This application was created through Python packages and APIs.

Testing

Stand Base

The robot underwent hours of “tethered” tests as I repeatedly implemented updated, more efficient, and effective code. Holding the robot is its standing base which also functions as a charging stand. At the end of the video the robot transforms into sphere mode bringing its legs in to pre-set a spherical position.

Failure

Constant But Slow Progression

This was the first time the robot had tried to walk and it was not the last time it failed either. Creating a hard coded loop of walking motion proved to be a challenging task with 6 legs. Another factor that proved problematic throughout this project as well turned out to be the power and strength of the servos.

Manufacturing

CNC Milling & 3D Printing

The entire robot was manufactured with additive manufacturing processes for rapid prototyping abilities. The stand for the robot however was fabricated with a CNC mill. Along with designing the base myself, I also wrote the G-code through the CAM program Mastercam, and operated the HAAS machine.