0% found this document useful (0 votes)
93 views17 pages

Final Report-2

The document summarizes the design process of Team 10 in creating an autonomous surveillance robot. They decided their top design objectives were durability, functionality, full autonomy, creativity, and aesthetics. They used a Rank Order Comparison Table and Kepner-Tregoe Decision Analysis to evaluate design ideas and choose to build a turtle robot. The initial prototype had issues like uneven motor speeds that were addressed in the final design by adding an override button and a second motion sensor for a wider view. The completed robot navigated autonomously avoiding obstacles, and future work may include more durable materials and detachable parts for repairs.

Uploaded by

api-528480778
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views17 pages

Final Report-2

The document summarizes the design process of Team 10 in creating an autonomous surveillance robot. They decided their top design objectives were durability, functionality, full autonomy, creativity, and aesthetics. They used a Rank Order Comparison Table and Kepner-Tregoe Decision Analysis to evaluate design ideas and choose to build a turtle robot. The initial prototype had issues like uneven motor speeds that were addressed in the final design by adding an override button and a second motion sensor for a wider view. The completed robot navigated autonomously avoiding obstacles, and future work may include more durable materials and detachable parts for repairs.

Uploaded by

api-528480778
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Obstacle Avoidance 

Robot 
 
 
 
 

Team 10:  
Teo Carbonell, Joseph Feeney, & Arianna Parada  
 
Table of Contents
Executive Summary……………………………………………………………………….. 2

Science Theory…………………………………………………………………………….. 3

Design Process…………………………………………………………………………….. 5

Final Design……………………………………………………………………………….. 7

Results……………………………………………………………………………………... 11

Conclusion…………………………………………………………………………………. 12

Future Work……………………………………………………………………………….. 13

Appendices……………………………………………………………………………….... 15

List of Figures
Figure 1: Pseudocode for Autonomous Robot…………………………………………….. 4

Figure 2: Movement of Robot in Relation to Distances Code…………………………….. 4

Figure 3: Rank Order Comparison Table………………………………………………….. 5

Figure 4: KT - Decision Analysis……………………………..…………………………... 6

Figure 5: Images of the Initial Prototype……………………………..………………….... 7

Figure 6: Robot with Override Button and Two Sensors………………………………….. 9

Figure 7: Drawing of Laser-Cut Piece…………………………………………………….. 9

Figure 8: Final Completed Robot……………………………...…………………………... 10

Figure 9: Drawing of Final Robot……………………………..…………………………... 10

Figure 10: Code Snippet for Reading Both Sensors………………………………………. 11

Figure 11: Sensor Orientation on Final Robot…………………………………………….. 12

1
Executive Summary
Team 10 has been tasked with creating a fully-autonomous surveillance robot for field
agents. The team created a turtle robot that can navigate a room avoiding any obstacles in its way
completely on its own. Contained in this report is the information regarding the scientific theory,
specific design objectives, the design process, code structure, prototype creation, improvements
throughout the creation process, drawings and figures, final robot details, and information on
future work.
We decided to create a Kepner-Tregoe Decision Analysis Chart and a Rank Order
Comparison Table to decide what our design objectives were going to be. Our top design
objectives were the device’s durability, functionality, fully autonomous, creativity, and its
aesthetics. After deciding to go with the turtle, we entered the building phase. After several trials
and adjustments, we were able to create a robot that navigated on its own avoiding objects it
detected in front of it. At this point, we learned to be careful with the code and the wiring
because the slightest mishap can cause major problems.
After we completed our initial prototype, we noticed there were many areas where we
could improve for the final design of the project. Specifically, we needed to improve the
functionality by adding an override button, improving equal motor speeds, and adding a second
motion sensor. We also improved the aesthetics of the robot by adding new creative components,
which in turn also improved durability. The greatest improvement was the additional sensor
because it allowed the device to expand its peripheral view. After several trials we found that it
would be best to place the sensors closer to the ground, facing slightly at an outward angle, and
about one centimeter apart.
One function we would continue to improve is achieving equal motor speeds. Also, we
would like to increase its durability and aesthetic appeal by replacing the construction paper with
wood or a 3D printed piece. We could also change the top part into a detachable shell which
could easily be removed in order to increase its aesthetic appeal and allow us to easily fix it in
case any technological problems arise.

2
The Gantt chart shows the tasks each group member completed. You can also see the
days that were dedicated to each activity and how many hours were spent completing them. The
expenditures of this project were minimal as we only had to pay $5 dollars for the laser cutter.
All of the other resources we used were either found on the sparkfun kit or donated by the
first-year engineering center.

Scientific Theory
The goal for this project was to create a fully-autonomous surveillance robot for the
National Espionage Unit. The device needed to be able to detect objects and avoid contact with
them. To create our robot we built it using parts from the Sparkfun Kit, the robot base provided,
and Arduino software. The base included two motors, two wheels, a motor controller, a battery
pack and a switch. The parts used to enhance our base into a fully functioning robot are two
distance sensors, a redboard, a breadboard, a kill switch, multiple male/male wires, multiple
female/male wires, a laser-cut wood piece and colored construction paper.
The pieces were provided by the First Year Engineering Learning Center or our Sparkfun
kits, so the necessary building blocks for our robot were easily accessible to us. Our parts work
due to the careful wiring and of our components and the code created for the robot. The
breadboard and redboard are connected to one another to allow communication between the code
on the computer and all the attached portions on the robot. The motors are then connected to the
switch as well as the redboard for communication between these pieces. There are wires
connecting the motor controller to the redboard and we also used these wires to connect our
sensors and kill switch back to the board while also providing the mobility necessary to place the
components in the desired locations. The precise wiring allowed us to locate where each sensor
is connected which was crucial in getting the code to function properly. The sensors work by
emitting waves which bounce off objects in a nearby vicinity. When these waves bounce off
objects they are read by the sensors; then the code will be able to calculate how far away the
object is and decide whether it is ok to continue moving forward, or if it is too close it will
require the robot to turn accordingly.

3
Throughout the rest of the report there will be information on the process of how we
came to reach our final prototype. This is through initial prototypes, design processes, charts and
improvements in place as well as plans for future improvement. The code used for the autonomy
of this robot was partly based off of the preexisting Sparkfun robot code as well as using new
code such as the NewPing portion which allowed us to group our sensors and treat them as one
within the code rather than having to deal with multiple variables to get a final reading.

Figure 1: Pseudocode for Autonomous Robot

4
Figure 2: Movement of Robot in Relation to Distances Code

Design Process
Before we were able to reach our final design for our robot we had to go through several
stages of the design process. Seeing as this was a challenging project we had to take great detail
into our ideas and prototypes. To do so we employed a couple of techniques from the
engineering design process such as the Kepner-Tregoe Decision Analysis Chart and the Rank
Order Comparison Table.
At the beginning of the entire process with our robot we decided what we wanted our
objectives for the final robot to be. We decided our most important design objectives were
functionality, autonomy, durability, creativity, and aesthetics; we believe these were the
objectives best suited for the wants and needs of the client. We also needed our robot to be
cost-effective with a budget of fifty dollars. Following our established objectives we decided to
put them in a rank order comparison table to see how they scored from most important objective
to least important. This allowed us to move into a Kepner-Tregoe Decision Analysis where we
saw if our ideas would be feasible considering our objectives. If they had a “No Go” in at least
one section the idea was null, and if they met all the needs then they are to be tested with our
wants. Each want would be weighted and each idea would be given an score, where in the end
the design with the highest score would be the design moving forward.

5
Figure 3: Rank Order Comparison Table

Figure 4: KT - Decision Analysis


Once settled on a design we moved into the building phase. This phase contained a lot of
troubleshooting. Seeing as we were implementing our edited version of the existing Sparkfun

6
robot code we had instances where the robot would only spin in a circle until it would detect
something and move backwards. From that we learned that our motors were flipped in our code.
Another problem occured when adding a second sensor as the code went haywire. There
were a lot of problems when using the same logic as the first sensor to write the code for the
second sensor. This caused us to search for an alternative which turned out being implementing a
newer form of coding called NewPing. With this we were able to treat the sensors as one which
was beneficial in the sense that we did not have to tamper with how the distance was being
calculated; the NewPing library did that for us too.
The kill switch would also hinder with the functionality of our robot as the override
button would only work if it was being held down rather than pressed once. After adjusting the
code the robot would not move at all seeing as we have changed the code to have the robot move
only if the switch was being pressed. On our next attempt to edit the switch we were able to get it
to work as a kill switch. If the button was pressed once, this would override the program and the
robot would stop altogether.
During construction we learned that the wiring of robots had to be done with extreme
care seeing as one wrong pin could cause the entire robot to not work. We also learned a new
way to add a multitude of sensors while still being able work the code by treating them as one
unit. From this we made sure to improve our robot by attempting to fix the differing motor
speeds on our base. Seeing as the motors had been soldered to the base we figured the best way
to fix our problem was through the intensity set in the code. Other improvements were adding an
extra sensor to our robot seeing as though one sensor was creating large blind spots in our initial
prototype. The final change we made was positioning our sensors closer to the ground since at
the original height the robot could not sense low objects, causing our robot to crash into people's
feet.

7
Figure 5: Images of the Initial Prototype

Final Design
While the initial prototype met many of the design objectives, there were still areas that
could be improved upon. First was regarding the functionality of the robot. The robot prototype
functioned well and was able to avoid obstacles it encountered head on, however the peripheral
vision could be improved. Additionally, the prototype did not have a red override button easily
accessible, so it was necessary to include this component in the final robot. The next area for
improvement was the aesthetics. The prototype had many visible wires, and had little aesthetic
appeal. Lastly, the final robot needed to have a laser-cut piece as a creative element. By
addressing these three areas -- functionality, aesthetics, and creativity -- the final robot design
met all design objectives as desired.
The robot prototype worked as it would avoid obstacles it sensed in front of it. However
it struggled to sense objects it encountered at an angle, causing it to touch and get stuck on walls
and other objects in its periphery. To compensate for this, we first tried to calibrate our two
motors to have the same moving speed. After several trials, we were able to improve the motor
speeds to make them more equal. Next, a second sensor was added to the front of the robot. In
order to do this, the code needed to be revised; new pins and variables needed to be established;
the code needed to consider distances read by both sensors, and then take the smaller of the two
distances and act accordingly to avoid the objects detected; and we​ ​had to adjust the position of
the sensors to be able to detect the largest range of space in front of it. We did this by placing the

8
sensors about one inch apart and at a slight outward angle. This modification improved the
robots peripheral view and it now can detect objects it encounters at an angle, and move
accordingly.
The next functionality modification made was the red override button. First the code
needed to have pins and variables established for the button. The button state determines whether
or not the button is pressed. The code was written such that the program will run as long as the
button is not pressed. Once the button is pressed, the motors will stop and it will exit the main
code. We used jumper cables and soldering technique to allow the button to stand alone and
connect it to the top of the robot (as seen in Figure 6).

Figure 6: Robot with Override Button and Two Sensors


Once the functionality of the robot was addressed, we worked to improve the aesthetics
and creative component of the robot. The design that was decided on was supposed to look like a
turtle. The turtle disguise is aesthetic yet appropriate for a spy mission as it is deceiving to
outsiders. The top of the robot would be a laser cut, circular piece that resembled a turtle shell.
The turtle shell piece would go on top, with beams that attach to the base of the robot.

9
Figure 7: Drawing of Laser-Cut Piece
Once the shell was in place, the outsides of the robot were covered with black
construction paper. This addition improved the structure of the robot as it covers the wiring, and
likewise improves the aesthetics. Finally, we painted the laser cut turtle shell piece green and
black to seem more realistic and make the top more aesthetically pleasing.

Figure 8: Final Completed Robot


The final robot was successful in meeting all of its design objectives. It functioned
properly, with potential to add more features. All of the wiring is covered by black construction
paper and a laser-cut turtle shell piece, which addresses the aesthetics, durability, and creativity.

10
Additionally, the final robot required minimal expenditures from the group. All materials were
provided by Northeastern's Engineering Center, making the robot cost effective.

Figure 9: Orthographic Drawing of Final Robot

Results
With the improvements made from the prototype, the final robot functions correctly.
Once the main switch is turned on, the robot will navigate autonomously avoiding objects in its
path. The robot can be turned off by pressing the red override button on the top. Additional
creative and aesthetic elements make the robot more aesthetically pleasing and unique, while
also improving its durability.
The addition of the second sensor greatly improved the robots ability to avoid obstacles.
The prototype struggles to detect objects in its peripheral vision causing it to hit walls and
become stuck at times. The two sensors were placed side by side, with a small gap between to
eliminate blind spots towards the front, each facing outward at a slight angle to improve its
ability to detect objects it encounters from the side. In the code, the program will display the
distances detected from each sensor on the monitor. If the distance sensed on either sensor is less
than 20 cm, the robot will stop and turn in place until it detects a clear path to proceed.

11
Figure 10: Code Snippet for Reading Both Sensors

To maximize the field of vision for the sensors, it took several trials. After each trial, we
would adjust the height of the sensors, the angle orientation, and distance between them in order
to find the optimal position. With several variables of the sensor orientation, it was difficult to
find the best position to maximize the field of vision for the sensors at first. The trials had to be
done where there were relatively tall objects, and we had to observe how well each sensor
orientation could detect the walls. From there, we concluded the optimal position was having the

12
sensors slightly lower to the ground, facing slightly at an outward angle, and about one
centimeter apart. This orientation allows the robot to sense objects as it comes approaches them
from an angle, and widens its overall field of vision.

Figure 11: Sensor Orientation on Final Robot

Conclusion
For our project we decided to make a robot that would achieve all of the requirements
that were asked of us. Our main priority was that it was functional because if not there wasn’t
any purpose in achieving the rest of the categories. We placed a lot of focus on getting the code
to work perfectly, and had to implement a second sensor in order to make up for lack of vision.
Our second priority was for it to work autonomously because we wanted for it to require as little
human attention as possible. This is why we decided to implement the on and off button to
increase the simplicity of the robot. Our third priority was for it to be durable because we didn’t
want a robot that would be disposable. This is why we decided to place wood around and above
the red board to protect the cables from harm. Fourthly, we wanted it to be aesthetically pleasing,
so we designed the robot to look like a turtle. Finally, we took the liberty of being a bit creative
and used the laser cutters in order to have a cleaner design on the turtle's shell.
Our robot was meant to act as a surveillance device that would detect people who
approached them. Our goal was to create a device that would avoid hitting anything in its path in
order for it to continue surveilling without stopping and we did just that. It needed to sense any

13
object in its path no matter what it would be and stop and turn to a clear path. In order to increase
its functionality we did 3 things. First, we were having difficulty with only one sensor because it
was having trouble dealing with walls. We fixed this issue by giving it another sensor and
spreading out their view. Then we decreased the elapsed time it would take sensor different
objects because we were seeing that it would get too close before turning. Finally, it still was
getting a bit close to its objects, so we decided to increase the distance from where to sense the
objects. All of these fixtures worked very good for our device because when we displayed it to in
the class, our device avoided collision at all time.
If we were to be given more time on this project the first issue we would like to fix is get
better motors for the device. Even though we tried to fix this issue by giving less power to the
working wheel, it still did not go in a perfectly straight line. It would be a great improvement to
get a perfectly functional wheel because it would greatly diminish the chances of a collision and
meaningless loops. If we had more time we would also try to improve the outside structure of the
robot and make it completely out of wood instead of half wood and half construction paper. This
fixture would make the device even more durable, and it would also look more professional.

Future Work
The first thing we would change on our project would be the defective motors. Since our
number one priority is functionality, this will greatly increase the performance of the robot since
it would go in a straighter line. We tried to make up for it by manipulating the code and give less
power to the more powerful wheel, but still it wasn’t perfectly balanced. If we could get equally
speeds for the wheels, then our robot would move in a straighter line. If it wasn’t possible to
obtain balanced motors, then we could carry our more trials adjusting the code to get the motors
to move at equal speeds.
Secondly, we decided that autonomy was the second most important design objective for
the robot. The robot was fully autonomous with the implementation of the button. However, we
would consider adding more features to improve this aspect of the robot, for example a remote
control or monitor.

14
Because durability was the third most important aspect of the robot, we believe we could
improve its structure a lot. The robot could be improved by switching the material we are
currently using. Since we didn’t have enough time to develop a stronger or more elegant
structure, we had to use the resources we had like construction paper or ⅛ inch wood. We could
try to use either stronger wood all around the robot instead of just on top or as a support or 3D
print a piece to fit.
We have ideas on how to improve the aesthetics of the robot. We could first try to make
the top part look like a real turtle shell by giving it a spherical aspect. This would not only give it
a prettier look, but would allow the cables in the red board to be more organized inside of it.
Also, we could try to give the robot a more turtle look by surrounding it by wood or a 3D printed
piece and painting it to look like a real turtle. Giving this robot a more appealing look would
surely separate it from the rest of the robots and impress the client more.
Lastly, we wanted our robot to have a unique and creative element. We feel like our
prototype was very well constructed, but it did lack some creativity. In order to increase
creativity, we could implement motion sensors that would rotate from side to side, or attach more
motion sensors around the robot in order to increase the visibility range. This aspect would give
our robot a wider view range that would help it avoid even more collisions increasing its
functionality. Also, we could create a detachable top like other groups did in order to fix any
issues that may take place in the red board. This will avoid dismantling the robot everytime we
encounter any technological issues along the way.
The final robot is fully functional and met all of our design objectives. It is cost-effective
and has potential to have features added. We believe our robot is the best option for the National
Espionage Unit for their surveillance missions.

Appendix
Gantt Chart:

15
Project Expenditures:
Laser Cut Piece - $5 dollars

List of Figures:
Figure 1: Pseudocode for Autonomous Robot…………………………………………….. 4

Figure 2: Movement of Robot in Relation to Distances Code…………………………….. 4

Figure 3: Rank Order Comparison Table………………………………………………….. 5

Figure 4: KT - Decision Analysis……………………………..…………………………... 6

Figure 5: Images of the Initial Prototype……………………………..………………….... 7

Figure 6: Robot with Override Button and Two Sensors………………………………….. 9

Figure 7: Drawing of Laser-Cut Piece…………………………………………………….. 9

Figure 8: Final Completed Robot……………………………...…………………………... 10

Figure 9: Drawing of Final Robot……………………………..…………………………... 10

Figure 10: Code Snippet for Reading Both Sensors………………………………………. 11

Figure 11: Sensor Orientation on Final Robot…………………………………………….. 12

16

You might also like