For this project, I was teamed up with 2 other individuals and we were tasked with creating an autonomous line following robot using an Arduino kit, RC car wheels, 3D printed material (PLA) and Acryllic.

The original design
The original design was originally a two-tiered design that would house the breadboard on the bottom and Arduino on top. The two rectangular cutouts on the bottom serve to hold the RC car wheels.

After attempting to build the original design, it was found to not be the most feasible design and was scrapped for a more simple single tier design that both more economical and overall feasible.

The first phase of the secondary design
The first phase of the secondary design

Overall, our team kept the secondary design as it was lightweight, made from sustainable materials as per the I.C.E. Version 2 by Prof. Geoff Hammond & Craig Jones, efficient, and accomplished the goal of being autonomous adequately. But what actually caused this robot to be autonomous? The main component that allowed this robot to maneuver by itself was the photoresistors in front of the robot that sensed an absence of light or rather the reflection of light caused by a non-black, and semi-reflective surface.

Shortened Bill of Materials
Our Bill Of Materials (B.O.M)
Lofi Prototype Robot following a black line

The final Hi-Fi, presentation-ready, robot did not complete the final path it was to be tested on, however. This was narrowed down to three main reasons.
Reason number 1: The calibration of the photoresistors was a huge variable as the final test was performed in a different venue compared to the controlled testing environment.
Reason number 2: The current that was being supplied was not sending enough voltage to the wheels to adequately supply power after it was untethered to allow concurrent turning and recognition of the black line.
Finally, reason number 3: The lightweight of the robot. While this was one of the goals for the robot to accomplish (and it did successfully meet our criteria of lightweight), it was too light, and because of this, the wheels that were supplied to us could not get enough traction on the smooth floor causing a large amount tire spinning (no smoke sadly) with very little movement.

Overall, the project was both challenging and enjoyable. I learned and enhanced my hard skills in Arduino, as this was the platform that was used to control the entire robot, and SOLIDWORKS, as this was used to create the first design render of the device as well as the front wheel and front wheel supports.
I was also able to improve on my soft skills in areas such as leadership, accountability, perseverance. Leadership was required in order to make executive decisions on how to proceed with the direction of the building of the robot, and while not every decision was easy, I learned the invaluable lesson of taking everyone’s thoughts into consideration before making a decision.
Accountability was absolutely crucial in this project as there were many times when a team member would contact the group saying that they would perform a certain task, like troubleshoot the robot, and then never actually show up after class hours to troubleshoot the robot, leaving the choice of either another member to pick up the slack or to just chance it. Being determined to see this project succeed, I ended up taking up the slack, spending countless hours after classes were done, staying on campus well past typical class hours just to make a necessary tweak to the code or a tweak to the design. While it was hard, and sometimes I struggle, I enjoyed every minute of it as I continued to learn what did and didn’t work and was always excited to try something new in hopes of it being the next big breakthrough.
Finally, perseverance was just as, if not more, crucial than accountability because I would be lying if I said that there were never any times I just wanted to quit and leave it for another member. But it was always in those moments that I happened to find something I hadn’t noticed before and then was reinvigorated to try to tweak what I just discovered in anticipation that the tweak I was going to make would fix the problem I was trying to solve.