Admiral Trackbar, winner of the Star Wars autonomous robot challenge!
Admiral Trackbar is an autonomous robot that navigates using 3D printed treads, avoids detection by detecting infrared signals, and rescues Ewoks through servo powered arms. It was build by a team of four (Chuan Du, Forbes Choy, Vladimir Novakovic, and myself) as part of the course: ENPH 253, Introduction to Instrument Design.
The objective of ENPH 253 is to learn the basics of digital and analog electronics, control systems, C++ programming, project management, and instrument design. The content for the course is a series of lectures and mini-projects, but the practicum is the construction of a robot that completes an obstacle course.
At the end of the course all of the groups’ robots compete against each other to complete the course and score the most points. Our Admiral Trackbar robot won this competition and proved to be the defender of the galaxy!
The competition’s main objective is to “rescue” the ewoks and Chewie by using the robot to pick them up and return them to the robot’s starting location. The ewoks are worth less points than Chewie.
The major obstacles on the course is two 6″ gaps in the competition surface floor, a rotating platform triggered by an infrared tripwire, a narrow ledge, and a zip-line. The rules dictate that the robot should autonomously navigate this course without human intervention in less than 2 minutes.
Let me tell you, this competition is not easy. We only had about 3 months to design, implement, and test the robot, and the robot needed complete all of the objectives perfectly and return, otherwise no points are scored.
One of the first pieces of the robot that was designed was the chassis. We went with a tank-style tread design since it could easily cross the first gap, as well as the second gap on the track. The treads themselves were 3D printed out of flexible TPU, for which I did the CAD design using Onshape and AutoDesk Fusion 360. I also helped create the design and create the aluminum axles using a combination of lathe and manual mill, as well as laser-cut wheels, motor mount, and gear reduction mechanisms.
Two of my main responsibilities was to design the IR sensor arrays that were used to position our robot, and to design the main motherboard (we would add a second board later to expand our IO). The main board featured a 5V regulator, an STM32 development board, and a collection of JST-style connectors that would connect the main board to other peripherals. This main board was made on a perfboard, so we could iterate and change the design as necessary.
Lastly, we needed to write code that would allow the robot to complete the course. The code was written using C++ using the Arduino framework in the PlatformIO IDE. It was mostly a collection of classes, algorithms, and loops that enable us to complete small parts of the track, and by running these small parts together we were able to complete the much larger objective.