09.5 Implementation

09.5 Implementation

Fabrication

We fabricated every part of our robot other than the bearings (BARINGS) and electronics. All the pieces that were fabricated by the group were 3D printed; this includes our base, car, linkages, and shafts. We weren’t picky on the type of 3D print material we chose and just opted to go for whichever led to the least amount of wait time at Texas Inventionworks. However, we were particular about the gears being PETG due to its strength and durability compared to that of PLA since the teeth would have large amounts of bending stress.

 

Assembly

image-20251214-041432.png
Figure 1: Fully constructed model

The robot was constructed with 3D prints, bearings, fasteners, and electronics. The 3D prints ensured that the structure that was moving was light weight to induce the least amount of required torque from the motor to make it move. The most complicated part of the assembly is the base where all the motors and gears lay. With all the movement of the motion being generated from the gears we decided that the gears shouldn’t be able to slip on the shaft they were on and so we bonded the gears to the shaft. During testing we realized that press fit alone wouldn’t be able to hold 3D prints on the metal splines of the motor and found that we could preload the 3D print by putting a M3 bolt through the threads of the motor which would allow for us to get sufficient torque transmission with less ability for failure. Any other unwanted motion was fixed by bonding the two parts together. The robot worked by gauging the attention of the cats and seeing if Tong could leave and the cats would still be engaged.

A big challenge we found during assembly was not having enough torque from the original servo that was designed to spin our 360 degree linkage which resulted in adding an extra gear and switching from a servo to a motor which would allow us to have infinite degrees of rotation unlike the servo which limited us to 180.

 

Electronics, Circuitry, and Software Development

image-20251214-041506.png
Figure 2: Full Circuitry

Our robot was designed to use a minimal amount of electronics. Servo position control was used to set the angles of the linkage system, while the brushed DC motor driving the gears was operated in open loop. The system consisted of a brushed DC motor, two servos, a 9 V battery, two 6 V batteries, one 11.1 V battery, an electronic speed controller (ESC), an Arduino, an ESP32, and a motor controller.

The 9 V battery supplied power to the motor controller, which provided 5 V to power the Arduino. The Arduino then supplied 3.3 V to power the ESP32. Each servo and the DC motor had its own dedicated battery, with all grounds tied to a common reference voltage on the ESP32.

System operation began by powering the motor controller, which both drove the DC motor and supplied power to the Arduino. The Arduino provided control logic to the motor controller and powered the ESP32. The ESP32 handled communication and control for the servos and motor. Software logic on the ESP32 processed inputs from a PS5 controller, with different controller inputs producing corresponding outputs to the servos and motor.