Robotics
Robotics is a field of study and practice of the design, building and operating of robots. Robotics uses both mechanical engineering (for the construction of the body) and computer science (for the algorithm of the body). The goal of robotics is to create a machine that assist human in many different situation such as in disasters or even for delivering food.
Computer Engineering
Computer Engineering is similar to a combination of both electrical engineering and computer science, integrating both components from the two fields of study. they predominantly work on designing, building and testing software components for modern computers and other electrical devices. Computer engineers work in a wide range of industries such as healthcare, robotics, cybersecurity and artificial intelligence. They create tools and power grids that benefit both citizens and companies.
Virtual Robot
When programming a virtual robot to aviod obstacles from disasters, we set as many barriers as possible on the virtual world to test the robot, and that makes the coding process become more complicated .
We set a loop program for our robot that it will keep repeating the movement in the loop, and such command create a bug that loop and obstacle sensor cause the robot to fail to reach the destination directly. It's going to take a lot detours because we've programmed it to change direction when it encounters an obstacle.
Tamiya Tracked Vehicle Chassis Kit
While constructing the tracked vehicle, we faced a few difficulties. After finishing the entire robot and all the corresponding wiring, we found that the wheels would not turn on despite the switch being on. After examining the different components, we found that it was a problem with the gearbox. In this picture, we had to deconstruct the gearbox to repair a mistake we had made earlier before it was attached to the chassis. We forgot to insert a half screw into a hexagon nut which made the rod not spin with the gears. By screwing in this micro sized screw, the rod was able to move with the gear which allowed the whole vehicle to move back and forth
When we connected the double motor to the tracking vehicle, initially, only the right track was able to spin and the left side of the track was not working. This meant that, when the vehicle was turned on, the vehicle can only turn right making it only be able to do donuts. Through careful investigation of the motors, the wires and the tracks, we figured that the problem lied with the wiring of the vehicle. by rewiring the motor to the battery, as seen on the video above, the vehicle can now go back and forward.
The Tamiya robot was a difficult task for our group for a variety of different reasons. None of our group has dealt with Arduino boards or dealt with the coding of a robot. Regardless we found success in the development of this machine. We started by building a strong and reliable chassis along with a dual motor system to power the robot. We then attached the wires to the breadboard and Arduino using the schematic provided. Once those steps were over we plugged it in and ran the program made. Unfortunately however we were unsuccessful due to a couple factors. We found multiple different errors in our code and even after that was finished there was trouble relating to the connection between the computer and Arduino.
Zumi Robot
The process of constructing Zumi was originally smooth, but when we first program it, the connection had been unsuccessful, and it turn out to be the camera wire was not connect properly during the assembly process. So, we
I coded for Zumi to react when it faces obstacles, and the codes are as follows. At first, I thought it used cameras to identify objects or obstacles and turn left or right because I trained it to follow my gestures through camera. However, after I tried how to activate the camera, the system kept reporting an error. Then, I found that the robot had its sensor, too, so I could just use the sensors to detect objects. This video shows how the Zumi robot reacts to my foot. Basically, it detect object in front of it, and it turns.
RedBot
No one in our group had any experience with arduinos and had little to no coding experience so we had to create our code using the resources we had.
First, we looked to ChatGPT to get us off our feet. Our initial idea was to watch a video to create a first draft code then ask ChatGPT to debug it. The code did not end up working and after many tries of sending error messages to ChatGPT to debug, we gave up on this idea. Next, we asked ChatGPT itself to generate the code. Its code didn't work and none of the revisions it made worked either.
The next resource we found was the example codes in the Arduino IDE. We found that there was already a line detecting code and imported it. We had a lot of trouble uploading the code into the arduino on the RedBot to test the code. We tried switching robots but the new robot was defective as well. In the end, we realized the original robot we had was still working it just needed new batteries. With the sample code, the red bot followed the line slightly but its sensors would often lose the line and go off track. To fix this, we adjusted some of the line thresholds (from 800-900) so the sensors could better detect the tape track. After this adjustment, the robot worked perfectly.
Design Process
RedBot: To create the code for the RedBot to follow a line, we used many resources. First, we watched a video and created a code. After uploading the code into the RedBot, the code did not work and the RedBot did not work. Then, we asked ChatGPT to generate code to get us started. ChatGPT's code ran into various error messages that we did not understand. We sent the error messages to it and it generated a revised code. We repeated this process a few times until we finally got to a code with no syntax errors. However, the code when uploaded to the RedBot did not function. Lastly, we used the example code resources that came with the Arduino IDE. We imported the line following sample code and tested it with our RedBot. The code got the RedBot to move which was an improvement but it only followed the line for a bit before getting lost. To fix this issue, we modified the line threshold so that the sensors could better detect our tape track. After this change, our robot navigated our course with no problem.
Zumi: We used the Zumi website to test the function of the robot. For example, we recorded different hand gestures such as pointing forward, leftward, and backward. However, the robot's camera couldn't work at that time. We checked the codes and the internet connection, but we didn't find any error. Then, we thought of rebuilding the zumi robot, and we found out that two board weren't connected properly. So, after solving this problem, we were able to ask the robot to recognize objects and make actions. After that, we learnt how to code from online sources and Chat GPT. Then, we mainly used if statement to set the condition and debugged so the Zumi bot could actually avoid obstacles by making left or right turns.
Research Paper