Alp Ayata & Zed Leung
Team Alpha
Robot Project Overview
The final robot project was completed using Sparkfun Electronics Kits as well as some laser-cut and 3D-printed components. Each of the tasks builds on the previous task with the project culminating in the creation of a robot that can navigate a secret maze!
The project was kept track of using a digital design notebook.
All orders sent to the robot were coded through C++ and uploaded to a redboard.
As with any car, small robot or not, the first task was to assemble its parts. Given the laser-cut pieces, we assembled the robot parts using hot glue and screws.
This part of the project proved easy in comparison to other sections, but Team Alpha was up for the challenge, and we moved on to the next section of the challenge.
Our team was given the following instructions:
Program the robot to drive in a straight line, staying within a path, from end to end and stop.
Your first robot task is to have your robot move in a straight line across the table (4 feet) from one point to another and stop.
The path is 4 feet long and 2 feet wide.
We set up all of our wires and assembled our motors. We decided to use a switch in our activation wiring, which then proved to be the wrong decision.
The flowchart below represents our code from the button. More on the button below.
The issue with the switch, as we came to find out, was a lack of connection with the breadboard of our robot. With the switch not getting enough power, the robot as a whole could not turn its wheels.
We made the decision to switch to button wiring, saving us from the long hassle of the robot not moving in the long run.
In the end, our robot was tested on a table and succeeded in the challenge.
The instructions given to the team were:
Program the robot to drive through the specified course shown below using components from the Sparkfun kit. You'll need to pre-program your robot, as there are no walls for any sensor to detect.
Now, as a team we were tasked with getting the robot to turn. This was simple to do in code, with the help of the consistenty of the button wiring.
The issue we faced however was that the new surface the robot was to be tested on was the floor. This caused issues with the robot going straight, and therefore as a team we decided to improve our robot with new laser cut parts.
There were some notes to be taken from this challenge.
As a team, utilizing laser cut objects, we should have improved the manuverability of our robot.
Our code should have accounted for slight changes in turn, as our turns were set to complete at only 90 degrees.
We took account of these and did our laser cut parts prior to challenge 3.
Using AutoCAD 2023 design software, I set up a rectangular prism to be attached to the front of our robot.
I then transferred this into a laser-cutting file to be completed.
When assembled our robot had less weight placed on its rear, and in turn reduced the uncertainty of the friction.
Due to our working space being closed, I initially taped the laser cut pieces together. I then placed dead batteries in the holder to put waste to good use, and weigh down the robot.
After implementing both of our laser-cut products, the robot looked as such. We used super glue for our pieces, and velcro for the attachment.
The instructions given to the team were:
Program the robot to drive autonomously in an known maze made of carboard that looks exactly like Challenge 2 path, avoiding walls using sensors. You should NOT pre-program your robot.
In this section of the challenge, although we were allowed to use a count system to tell the robot when it should turn right or left, we decided to code a robot that is not aware of the course it is on.
Doing so allowed our team not to re-code for challenge 4.
We added a distance sensor into our wiring, and got our robot to drive.
The flowchart is set up so that:
The robot detects an object less than 6 inches in front of it.
It then performs a right turn.
If there is no wall, it will reset and continue.
If there is a wall it turns left.
If there is no wall it will reset and continue.
If there is a wall on all three sides, it recognizes the dead end and comes to a stop.
The successfull attempt of our robot.
The instructions given to the team were:
Program the robot to drive autonomously in an unknown maze made of cardboard, avoiding walls using sensors.
Create a maze for another team to test their robot on.
Given our team's set-up previously, with code suitable for Challenge 4 and our laser-cut parts having been assembled, all that was left to do was set up our maze and perform three trials.
On the left are the sketches we produced as a team.
On the top is the final design for our maze, which was then made with cardboard.
Attached are photographs of each maze that we tested our robot on, corresponding to the video order.
A successfull trial of our own maze.
A successfull trial of another maze chosen by our team.
A successfull trial of another maze chosen by our professor.
Although teamwork has become a buzzword in today's job world, it has its reasons. My teammate Zed and I worked not as individuals but as TEAM ALPHA.
We divided the work to suit our schedules.
We owned up to our failures.
We recognized each other's strengths.
As this was a process that took hours at a time, with rescources not always available to us, we made sure to work efficiently and with regard to other work we had to complete. It was far too common to see other teams wiring their robot on the due date, and we made sure not to fall victim to our time constraints.
This was my first real experience with wiring. Using redboards and breadboards helped broaden my understanding of technology commonly used today.
Through failure in our first attempts, I learned to recognize the importance of trials. With more attempts, as a team we were able to alleviate uncertanties, and make sure our robot had consistency.
Although our project falls simple in comparison to the technology used today, any automated system must be designed with the correct purpose. With the rise of artificial intelligence in the general population and an exponential increase in technological harm, it is important to recognize that the intent behind a project such as this has to be morally correct, with no room for malice.
On the other hand, however, projects like these can shed light on the possibilities that technology offers to us today. Making a robot capable of driving itself through C++ coding and simple wiring is proof of how more detailed projects may change the world.