»»-----------► A 6 week team project to build an autonomous driving robot!
2nd Year Engineering Physics students take a 6-week course called ENPH 253: Introduction to Instrument Design, where we group up into teams of 4 and are tasked with designing and building a fully autonomous robot from scratch.
At the end of this course, teams face off in a live competition to see which robot performs the best.
The theme of the competition varies each year (examples include Indiana Jones, Avengers, and the game Overcooked), and for us, our theme was Mario Kart!
A simplified summary of the rules is as follows:
The full rule documentation can be found here
This is the map of the competition track:
It’s up to teams to decide which route they want to take, like using the IR beacon to cut across the map or taking the zipline and snatching coins. Our initial gameplan involved jumping off the ramp, but we eventually opted to do laps around the track normally, no zipline or IR. A little boring, I know, but simplicity and consistency were our priorities (something that works > something fancy, in this case).
Our initial designs were pretty complex, with lots of sensors and moving parts, but as we progressed through the design phase and moved to actually building the different parts, we figured it was best to keep things simple. With a solid driving foundation, the other features were not necessary and were minimized to avoid risks.
I made a rough claw prototype using an Arduino kit at home, programming a servo motor to close at a certain distance, though the ultrasonic sensor was rather inconsistent and was later removed from the design as we didn’t need it. Using spare parts in the lab, I also made a rough chassis to get a sense of the structure and layout. There were some size constraints in the rules, but it didn’t prove to be much of a problem.
This was later developed into a CAD model on OnShape, after which we produced 2 design iterations, the second being the final build you see in the competition video.
The laser-cutting machine was a highly sought after commodity throughout the course! We got a taste of cheap, high-speed factory production… this was the industrial revolution… I had taken a course on machine shop training to prep for this, but the laser cutter was simply too convenient.
To drive around the course, we implemented a navigation system via tape following. The track has black tape laid out for a standard-lap path, and by using reflectance sensors, which provide information on the robots position relative to the tape-road, we could program a PID system to drive around.
At this point, it was getting late into the course, and time was ticking away… Our driving mechanisms were looking pretty good thanks to the hard work of everyone on the team, and our robot was steadily completing laps. Here’s a video from one of our driving tests, slowed down (it took many many days of tuning the driving parameters…). The front wheels were sagging quite a bit here, but we fixed it later on with some O-rings from the lab, which held the wheel pins straight via tension.
Since most teams hadn’t finished their driving systems yet, we were content with the points collection system we had currently (doing laps). To avoid risking breaking the systems we had, we decided not to implement a block collection system (rip to the claw) or the jumping off ramp idea, as this could displace the IR sensor positions, which would heavily affect PID tuning.
I don’t have many good photos but during the last week, I added a bumper out of a metal sheet (with a smiley face!) that was fastened with zipties to our chassis. This helped the robot push away any blocks and potential magnetic bombs without tipping them over (which would cause them to blow up), also provided some level of protection for the sensors against collisions.
Alas, competition day came (once again, available on YouTube here). Our robot performed wonderfully and I’m happy to say that our team’s robot made it past the group stage and into the finals! It was definitely a fun learning experience and I send my appreciation to the lab instructors, who supported us throughout the process.