Week 1 - Robotics

This week's goal involved building robots capable of being able to save people in simulations of a natural disaster. One would activate during an emergency and guide people to an exit, while another would go in a building in order to find any survivors.

Robotics is the field of using different hardware parts in order to move around and perform various actions. In the specific case below, we were mostly driving around and using sensors to find people or exits. With computer science, we were able to code these together to have actual uses.

The Tank

The Tamiya Tracked Vehicle was built from several pieces and screwed together. A single motor was replace with a double motor to allow for two separate axis of movements, allowing for much higher mobility. We chose a gear ratio that was high, but not too high, in order to have a bit of speed while still being able to have power to hold the capacity of the motor and heavy batteries.

Buggy

The RedBot was made and designed from given motors and sensors. Most notably, there are two whiskers in front that act as bumper sensors along with an Arduino on the top that ran everything. This robot would be able to drive around and sense much of its surroundings.

The Base & Battery

As we were using a big motor, the battery also needed to be able to hold a lot of power. This container was taped onto the base and the wires were hooked up to the motor.

The Motor

This double motor was hefty and a lot of consideration was taken for its placement.

Combined

Put together, this tank is able to drive around relatively quickly and will be a useful asset for emergencies.

The Arduino

This is the "brain" of the robot; it is able to tell the motors what to do and receives data from the sensor. In this specific case, the motors wire wired to a breadboard, which was connected to a motor driver and an Arduino.

Success

We successfully got the wheels to turn which meant that the program was going well and everything was functioning properly. (For now.)

The RedBot was a struggle to build due to the complexity of the wires, and technical issues that hindered our progress. Despite the difficulties, we quickly built the robot and moved on to programming.

Efficiency

The RedBot was assembled relatively quickly, and successfully passed the test trials.

The Final Product

We completed the RedBot, which was able to use most sensors and drive successfully.

The Box

The Box is the course we used for the RedBot to track the lines.

Programming

There was a lot of trial and error that we needed to do with code. Sometimes the compiler wouldn't work, and sometimes we just forgot a semicolon. We had a lot of focus on trying to get the sensors working and we had to do a lot of research to get sensors working.

The Tamiya Tracked Program

The program for The Tank was troublesome as there were many issues with the robot itself that caused many setbacks.

The RedBot Program

The program was challenging and messy, but we were able to accomplish the task.

Debugging

Although the RedBot passed the sample test without fail, trying to make the new program work was frustrating.

Virtual Robot


Using level builders, we were able to virtually design a course for a virtual robot to run. It was designed with the idea of it being an office building, with several hallways and meeting rooms.


Unfortunately, these were made on virtual machines, and there were many people in our class trying to connect to them at the same time. As a result, connections would lag out and all available machines would be full, so there were many times when we were completely unable to work on the virtual robot.


A test run of the virtual robot going through the course.

Issues

Crash

The Arduino crashed twice so we went through three copies. There was uploading and compiling errors that prevented it from working.

Wiring

The wiring was difficult, as the wires were stiff and awkward to move around; they were often in the way of the building process. Additionally, countless times they slipped out of their sockets, which became increasingly infuriating over time as more problems occurred.

Burning

The Tank at some points made a noticeable burning smell.

Motor Failure

The motor on the RedBot was defective so we had to take apart the robot in order to replace it.

Battery Box Replacement

We had to replace the battery box with another that easily plugged into the Arduino, increasing efficiency.

Battery Failure

The battery popped, covering parts of the robot with sulfuric acid, and setting us back to square one until we found new parts.

We quickly recovered from these errors, by taking apart the robots to remove the defective parts. The programming was irritating, but the programmers persisted to complete it.

What We Learned

We learned that we need to test out everything before actually using them. One of our RedBot motors was faulty, and we didn't realize that until the entire bot was built. We ended up needing to undo half the robot and replace the motor, which took a long time.

At the same time, a lot of our wires on the Arduino for the RedBot and the Tamiya Tracked Bot were really messy, and it was hard to distinguish one from another and which ones seemed to be plugged in correctly or not.

Additionally, several times we had to take apart the robot to replace a part; it would be more efficient to plan out what we need to do first, then figure out what to do from there.

Testing/Trials

The Test Trial

Using sample code, we were able to get the RedBot moving successfully.


The Line Tracker

The RedBot is programmed to track the lines. This was one of the most challenging problems we were able to solve, and we were able to do 90 degree turns by slowly rotating the robot until it could sense another line.

The Tank Test Trial

We were successful in programming the Tamiya Tracked Vehicle to spin its wheels, showing that progress was made. (This was early in development.)

The Bumper Tracker

When one of the whiskers is pulled back far enough, the robot will spin in the other direction. This was one of the first thing we were able to figure out and get right.



(External Link)


This was a separate use of the line tracker in a much more slow and consistent way. This one is able to turn more consistently than the previous trial.








Our race track combined with Group 9.

A nice race we had with Group 9.

Race Car Track

For fun, we made a connected race track using our box and the track the other group in our room (Group 9!) used. Our robot worked perfectly.


This video shows how we were able to do both left and right turns. (Later, we made the entire loop seen below and the robot could just go back and forth without stopping.)

What we would do - Ending and Summary

The biggest issue where we decided to stop for the Tamiya Tracked is when it started to short-circuit. Essentially, many bare wires were touching each other on the motor driver breadboard and transferring electricity. Everytime the robot was powered, wires would get really warm and you could smell them burning. If we had more time to work on it, we would rewire the entire Arduino setup on this robot so that they are more neatly placed, and we would use wires with caps so that they would be much less exposed and have a much less chance of touching.

Research Paper

Week 1 Paper