19.4 Implementation

19.4 Implementation

Fabrication

The majority of the robot is laser cut from plywood using the TIW Trotec laser cutter because the material is light and fast to manufacture in fast iterations. We also used TIW’s 3D printers to print out more complex parts, such as the foot, CAM, servo mount, and chassis-leg coupler (Fig 1).

Fig 1. iteration and spare parts

Assembly

We avoided using fasteners to save weight and simplify our design (our robot is too small to use too many fasteners anyway). We mainly used thin duct tape strips to constrain our assembly without making it look too messy. For instance, we wrapped duct tape around the exposed ends of the dowels to serve as caps, further securing them in place. 

The assembly is primarily divided into two subsystems: the legs and the body. Assembly began with the legs, where a 4-bar linkage was constructed with wooden dowels through 3mm bearings as joints that link the laser-cut links. A torsional spring was secured by bending its ends into the designated hooks (made from torsional spring legs) through the links.

The central body (“spine”) spans the entire mechanism and includes holes for orthogonal dowels that join the servo mounts and chassis-leg couplers. Servo motors are screwed onto the servo mounts, and CAMs are screwed onto the servo arms. The battery had a designated slot around the CM, but in practice, it was moved to a further back position on the tail for optimal weight balance. The Electronics are taped along the spine accordingly to complement the weight distribution. 

IMG_4811-20250504-032315.heic

Fig 2. Assembly and Tuning

Electronics and Circuitry

We used an ESP32 devkit V1 board as the main controller for the system. Initially we planned on using a Seeed Studio Xiao ESP32 for even lighter weight, but we failed to set it up. Motor control code was uploaded to the ESP32 via Arduino IDE. The controller’s analog pins were connected to the motors to transmit control signals, while its 5V and ground pins were connected to a voltage converter interfacing with the battery, along with the servo. Below is a schematic of our circuitry:

Circuit Diagram

Software Development

The software used on the robot is relatively simple, as its primary function is to control the motor by turning it on and off. However, the day before the demo, one of the servo motors failed and had to be replaced with a similar model that did not have identical operating characteristics. To compensate for the mismatch, we conducted extensive tuning of the motor speeds to ensure both motors performed in sync.