Build a Robot (Autonomous Navigation)

Description: Macintosh HD:Users:alanolsen:Desktop:CIMG2470.JPG

Goals: powerful, yet inexpensive and easy (just follow the instructions).

Disclaimer:  I am not responsible for any misfortune incurred as a result of this content.

 

What to get:

What

Notes

Price *

DFRobot Romeo

robotshop.com part: RB-Dfr-36

$37

USB A/B cable

Search “USB A/B cable” on amazon.com for an example. You can probably find this, cheap, at a thrift store.

$2

6-AA Battery Holder

robotshop.com part: RB-Cyt-50

$1

2.1mm DC Barrel Male Plug w/ Cable

robotshop.com part: RB-Cyt-124

$1

Wire stripper

 

 

Electrical tape

 

$1

Six (or more) AA batteries

 

$10

Clipboard

About 9” wide, or at least 6 ¼” wide. At least 10 ¼” long from one end of the board to the opening edge of the clip. This will be the chassis. You can probably find this at a thrift store.

$1

Ruler

To measure and to make straight lines

 

Razor knife

Used to score the clipboard

 

Serrated knife

Can be an old serrated kitchen knife. Or you could even use a Sawzall. Used to cut the clipboard.

 

Drill

 

 

Tamiya Twin Motor Gearbox

robotshop.com part: RB-Tam-01

$10

Tamiya Narrow Tire Set

robotshop.com part: RB-Tam-26

$7

Pololu Ball Caster with 1" Plastic Ball

robotshop.com part: RB-pol-96

$5

Philips screwdriver(s)

To mount gearbox and ball caster

 

25' #22 Gauge Hook-Up Wire

robotshop.com part: RB-Ibo-88

$2

Permanent marker

To mark wires for identification

 

Two rubber bands

One big enough to wrap around the battery holder and the gearbox, to keep the battery holder on the clipboard. The other is optional, and used to synch the two motors together. Maybe look for these when you get to that point in the instructions.

 

DFRobot URM V3.2 Ultrasonic Sensor

robotshop.com part: RB-Dfr-11

$15

230mm F / F 10 Pin Jumper Wire

robotshop.com part: RB-Dfr-109

$2

Tamiya Universal Arm Set

Optional. Can simply tape parts to the chassis instead (it’s a choice of solidity and aesthetics).
robotshop.com part: RB-Tam-47

$7

Two 4-40 x 3/8" Socket Cap Screws

Fastenal part: 1123043   ?

Ę

Two 4-40 Machine Screw Nuts

Fastenal part: 36012

Ę

3/32” Allen Wrench

Optional

 

Pololu LSM303DLHC 3-Axis Compass Module

robotshop.com part: RB-Pol-201

or pololu.com part: 1273

$18

One 2-56 x 1/2" 18-8 Grade Socket Cap Screw

Fastenal part: 73402

Ę

One 2-56 Machine Screw Nut

If you decide not to purchase the Tamiya Universal Arm Set, then get three of these (in total) to use as spacers.

Fastenal part: 36006

Ę

2mm Allen Wrench

Optional

 

DFRobot Serial Bluetooth Module

 

robotshop.com part: RB-Dfr-10

$22

* Prices are approximate and do not include taxes or shipping

Tools are italicized.

You can stop at any double-line/color change in the table above (in case you have a budget to keep). Here is a list of each group – its purpose and accumulative cost:

-       Processing ($39)

-       Battery Power ($52)

-       Mobility ($77)

-       “Sight” ($101)

-       Orientation ($119)

-       Telecommunication ($141)

 

Instruction photos and source code are coming soon. If you have any questions, please feel free to email alan@olsen.org

 

Instructions:

Note: Although the DFRobot Romeo isn’t an actual “Arduino,” I refer to it as one throughout the following instructions

Stage 1 – Processing (Arduino)

1.     Download and install the Arduino software

a.     From here - http://arduino.cc/en/main/software

b.     Or search Google for “Arduino download”

2.     Plug USB cable into Arduino board and computer

3.     Open the Arduino software

4.     Select the board (“Tools” menu \ “Board” \ Arduino Duemilanove)

5.     Open the blinking LED example program (“File” menu \ Examples \ Basics \ Blink)

6.     Upload the program to the Arduino (“File” menu \ “Upload”)

7.     Wait for upload to complete (the TX/RX or transmit/receive LEDs stop blinking)

8.     Observe that the LED program is running

9.     Unplug USB cable from Arduino

Stage 2 – Battery Power

1.     Strip the wires ends for the battery holder and the DC Barrel plug

2.     Twist the end of the red/positive wire on the battery holder together with the wire for the center of the DC barrel plug

3.     Twist the end of the black/negative wire on the battery holder together with the wire for the outside of the DC barrel plug

4.     Insert batteries into holder

5.     (Optional: If you have a voltometer/multimeter, you can test to make sure that the polarity is correct by inserting the meter’s positive probe in the center of the DC barrel and touch the negative probe to the outside of the barrel. If the reading is positive, then the connection is setup properly)

6.     Lay/press exposed wire ends flat against the wire’s plastic shielding (do this for each wire)

7.     Use electrical tape to conceal exposed wire ends by taping it to the wire’s plastic shielding (do this for each wire)

8.     Plug the DC barrel into the Arduino

9.     Observe that the LED program is running

10. Unplug the DC barrel from the Arduino

Preparing the Chassis for Remaining Stages

            Cutting

1.     Using a razor, score a straight line along the clipboard, 10 ¼” in towards the clip, parallel to the clip.

2.     Score both sides thoroughly

3.     Apply pressure to break the board along the line

4.     Use the blade to clean up the frayed area

5.     Note: The cut end of the board is the “back” of the robot

6.     Using a pencil, draw a line down the middle of the board, long-ways on the top and bottom of the clipboard

7.     Using the serrated knife, cut two 2 ½” long lines in from the back of the robot. One line 1 3/8” above the middle line, the other 1 3/8” below.

8.     Cut two 2 ½” long lines in from the back of the robot. One line 2 ½” above the middle line, the other 2 ½” below.

9.     Score a line between the front-most ends of the 1 3/8” mark and the 2 ½” mark, above the middle line (Score thoroughly on both sides of the clipboard). Repeat with marks below the middle line.

10. Apply pressure to remove each of the two small rectangular segments

11. Use the blade to clean up the frayed area

Drilling

1. Flip the clipboard over to the bottom side of the robot

2. Place both rectangular segments on top of each other, lay them long-ways along the middle line, 5/8” from the front of the robot

3. Use enough tape to temporarily secure these segments firmly on the board

4. The ball caster enclosure has a large/wide dip, and a small/narrow dip. Place the flat side of the enclosure on top of the rectangular segments, at the front of the rectangular segments, with the large/wide dip pointing towards the front of the robot.

5. Hold the enclosure firmly in place with one hand

6. With the other hand, draw through each hole onto the rectangular segments

7. Remove the enclosure

8. With a 3/32” bit, drill where the dots were marked

9. Remove [and dispose of] the tape

10. Remove [and keep] the rectangular segments

11. Flip the clipboard back over to the top side of the robot

12. (Orientation) If you plan on ever installing the compass  - With a 3/32” bit, drill a hole anywhere (say, ½”) below the front-most hole of the Arduino

13. With a ~7/32” bit, drill two holes about 2 ¾” apart from each other, centered along the middle line, 1 ½” from the front of the robot

14. Repeat previous step, but 3” from the back of the robot (this time, only one hole is really necessary - used to send wires from the battery holder to the Arduino)

15. With a 7/64” bit, drill two holes 2 ¼” apart from each other, centered along the middle line, 1” from the back of the robot (used to mount the gearbox)

16. Center the Arduino on the middle line, with the USB connecter facing the back of the robot, and the opposite end of the Arduino located 2” away from the front of the robot

17. Hold the Arduino firmly in place with one hand

18. With the other hand, draw thick dots through each hole of the Arduino onto the clipboard (you really only need to do this for the holes that you want anchored to the clipboard)

19. Remove the Arduino

20. If you will be using more than just tape to anchor the Arduino to the clipboard (i.e. if you bought the Tamiya Universal Arm Set) - With a 7/64” bit, drill where the dots were marked

21. (“Sight”) If you plan on ever anchoring an ultrasonic sensor onto the board with the Tamiya Universal Arm Set (rather than taping it down) - With a 7/64” bit, drill two holes 1 13/16” apart from each other, centered along the middle line, 3/8” from the front of the robot

22. Optional: Erase the middle lines

Stage 3 – Mobility

1.     Flip clipboard over to the bottom side of the robot

2.     Place rectangular clipboard segments back where they were when drilling

3.     Stack all of the included ball caster “spacers” on top of the rectangular segments, and the ball caster enclosure on top of that

4.     Use the included screws and nuts to mount the enclosure

5.     Insert the rollers, and finally the ball caster

6.     Assemble gearbox and wheels (following any included instructions)

7.     Put wheels on axels

8.     Optional: Fasten a rubber band around the motor casing (this may help keep the unit together and reduce gear noise)

9.     Cut four 9 ½” wires

10. Strip wire ends

11. Attach wires to motors (insert ends through small metal eyelids located on the sides of the motors, then bend/fold them back and/or solder them)

12. Holding the gearbox with mounting holes closest to you and motors extending upward, mark the opposite end of each wire with a marker:

a.     Close, left motor wire, one mark

b.     Far, left motor wire, two marks

c.      Close, right motor wire, three marks

d.     Far, right motor wire, four marks

13. Using included screws and nuts, mount the gearbox on the bottom of the robot

14. Pass detached wire-ends through the front-most, large hole, below the middle line

15. Tape middle of wires to the clipboard (so they don’t sag when the robot is right-side-up)

16. Flip the clipboard back over to the top side of the robot

17. Insert wires into motor driver terminals, and secure them in with a screw driver:

a.     One mark goes in +M1

b.     Two marks goes in -M1

c.      Three marks goes in +M2

d.     Four marks goes in -M2

18. Cut two 13” wires

19. Strip wire ends

20. Remove tape from battery holder wires

21. Twist in one new wire-end into each batter holder wire-end

22. Re-tape wires

23. Mark the detached wire-ends with a marker:

a.     The one attached to the positive (red) wire, one mark

b.     The one attached to the negative (black) wire, two marks

24. Pass detached wire-ends through the back-most, large hole

25. Flip clipboard over to the bottom side of the robot

26. Pass wire-ends through the front-most, large hole, above the middle line

27. Tape middle of wires to the clipboard (so they don’t sag when the robot is right-side-up)

28. Flip the clipboard back over to the top side of the robot

29. Insert wires into motor power terminals (one mark goes in VIN, two marks goes in GND), and secure them in with a screw driver

30. Position Arduino according to the previous “Drilling” instructions

31. You can either tape the Arduino to the clipboard (i.e. if you didn’t buy the Tamiya Universal Arm Set), or use some of the screws and nuts included in the Tamiya Universal Arm Set to anchor the Arduino to the clipboard

32. Place battery holder, flat, just above where the gearbox is

33. Use a rubber band to secure the battery holder to the clipboard and gearbox

34. Plug USB cable into Arduino board

35. Upload mobility program (Not available for download yet - stay tuned)

36. Unplug USB cable from Arduino

37. Plug the DC barrel into the Arduino

38. Observe that the mobility program is running

39. Unplug the DC barrel from the Arduino

Stage 4 – “Sight”

0.     Regarding the ultrasonic sensor, "Before you wire anything up, dependant on the version you have make sure the two jumpers to the right hand side of the device are set to TTL mode. You'll also find a secondary jumper on the left hand side, you must break this connection or you may damage your device." (from http://milesburton.com/URM37_Ultrasonic_Distance_Measurement_Library#URM37_Setup)

1.     Peel off 5 jumper wires (they can remain attached to each other)

2.     Plug jumper wires onto the ultrasonic sensor on pins 1, 2, 7, 8, and 9

3.     Plug the other end of pin 1 onto Analog 5V #2

4.     Plug the other end of pin 2 onto Analog GND #2

5.     Plug the other end of pin 7 onto Analog 5V #3

6.     Plug the other end of pin 8 onto Digital #9

7.     Plug the other end of pin 9 onto Digital #8

8.     Either tape the jumper ends (attached to the sensor) to the front end of the robot/clipboard, or complete the following two steps to anchor it with screws.

9.     Use the 4-40 screws and nuts to mount the bottom, back (pin-side) of the ultrasonic sensor to the half-circles on the angle brackets (in the Tamiya Universal Arm Set). You can tighten them with your fingers or with a 3/32” Allen Wrench

10. Use two screws and nuts from the Tamiya Universal Arm Set to mount the first holes of the angle bracket (i.e. the holes farthest from the half-circles) to the front of the robot (put the bracket underneath the clipboard, pointing up)

11. Download and setup the sensor’s Arduino library

a.     From here - https://github.com/milesburton/URM37

b.     Or search Google for “URM37 library” or “DFRobot URM V3.2 Ultrasonic Sensor library”

12. Restart the Arduino software

13. Plug USB cable into Arduino board

14. Upload “sight” program (Not available for download yet - stay tuned)

15. Observe that the “sight” program is running

16. Unplug USB cable from Arduino

Stage 5 – Orientation

1.     Solder the straight pins on to the compass, with the long ends up

2.     Peel off 4 jumper wires (they can remain attached to each other)

3.     Plug jumper wires onto pins for VIN, GND, SCL, SDA

4.     Plug the other end of VIN onto Analog 5V #5

5.     Plug the other end of GND onto Analog GND #5

6.     Plug the other end of SCL onto Analog In #5

7.     Plug the other end of SDA onto Analog In #4

8.     Use the 2-56 screw and nut to mount the compass to the robot. Also, use the smallest spacer from the Tamiya Universal Arm Set (if purchased), or the additional 2-56 nuts, to put space between the compass and the clipboard. You can tighten the screw with your fingers or with a 2mm Allen Wrench

9.     Download and setup the sensor’s Arduino library

a.     From here - https://github.com/pololu/LSM303

b.     Or search Google for “LSM303 library”

10. Restart the Arduino software

11. Plug USB cable into Arduino board

12. Upload orientation program (Not available for download yet - stay tuned)

13. Observe that the orientation program is running

14. Unplug USB cable from Arduino

Stage 6 – Telecommunication

Note: Bluetooth and USB share the same communication channel on the Arduino, so the Bluetooth adapter has to be unplugged in order to upload anything via USB

1.     Plug USB cable into Arduino board

2.     Upload telecommunication program (Not available for download yet - stay tuned)

3.     Unplug USB cable from Arduino

4.     Insert Bluetooth adapter on Arduino

5.     Plug the DC barrel into the Arduino

6.     Run telecommunication client on computer (Not available for download yet - stay tuned)

7.     Observe that the telecommunication program is running

8.     Unplug the DC barrel from the Arduino

 

Instruction photos and source code are coming soon. If you have any questions, please feel free to email alan@olsen.org

 

(Last updated 7/13/2013)