An Adventure in Engineering Design, Programming, and Pursuit of Robotic Projects:      Updated 09/14/2011

 

 

Project log for the Arduino Boe Clone-bot (ABC-bot)

STATUS - INACTIVE 

Manuever: Follow-The-Leader ]

Purpose: Arduino Boe Clone (ABC) is to replicate work with the Boe-bot project by using the Arduino MCU.  

The ABC-bot must

  • Be able to replicate all actions of the Boe-bot baseline robotics kit documentation including: IR navigation, photoresistors navigation, power 'squelch', tactile sensing, and serial data relay

  • Be able to perform the Follow-the-leader function with it as either leader or follower with the Boe-bot

  • Be able to perform the Formation function with with the Boe-bot

  • Be configured with the PING ultrasonic ranger [TBD]

  • Be able to be configured with removable shields to alter configurations from photoresistors and IR configurations

  • Be able to be easily removed from the Boe-bot chassis for use on other projects

  • Test COM port connectivity for remote operation

Task List

Design circuit, algorithms, and test functionality for IR follower

Implement serial controlled mechanism for fixed maneuvers or operations (forward,reverse,turn left, turn right, pulse LEDs, etc.) and return of data

 

Tasks Completed

Document assembly process in PDF (Worksheet 2) (6/5/08)

Move the photovore circuit to the shield with mini-breadboard (6/1/08)

Mount power to the chassis [4 AA pack + 2 AA pack] or [9V] (6/1/08)

Center the servos to ~90 (in the Arduino code)  (5/26/08)

Assemble the Arduino shield kit (5/26/08)

Designed circuit, algorithms, and test functionality for photovore (5/24/08)

Mount the servos to the extra Boe-bot chassis (5/24/08)

Create a hybrid shield adapter with a Radioshack PC board to mount to the Boe-bot chassis and accept the Arduino (Prototype 5/26/08 - Final 6/1/08)

 

Updates

Thursday, June 12th, 2008 

Implemented a test for remote guidance via the serial port.  Had some debugging issues of course with the process.  I found that without the individual "break" commands after each case sequence of entering "f" for forward for instance, that the servos would only spin in one direction... a finding that is very odd considering for "l" for left or "r" for right this also happened and resulted in the same command as "f".  Backwards "b" and halt "h" worked fine (but also had the break command implemented...).  Regardless after finding the bugs and squishing them, I now have a tethered robot.  Code is here.

 

Also ran into a memory leak error with the Arduino - 0011 Alpha program from March 2008.  This was the first occurrence, but it resulted in the code bombing out on startup... with no apparent solution except that you run "run.bat" from the Arduino installation folder and all is fine.

 

Thursday, June 5th, 2008
Completed the worksheet documentation for the PhotoVore!  Documentation includes references to multiple tables for navigation, sensors, and servo motion (see below).  Also includes construction techniques already discussed in the the project log.

Sunday, June 1, 2008

Completed the working final build for the Photovore ABC Bot!  Started with the small form Radioshack prototyping board and drilled new 1/8" holes (note the 4 holes on the outside white grid in a line; another hole that's not used it to the right).  The inner two holes are used to mount the Arduino MCU to this surface while the outer two are used to mount it to the new configuration.

Here you can see a new Radioshack 2- 13/16" x 3-3/4" 780 index hole general-purpose component board mounted on the Parallax chassis with four 1" risers and 2 flat head 1/2" 4-40 screws on top and 4 pan head 1/4" 4-40 screws on the bottom (not shown).  The upper risers are 1/2" through hole spacers mounted with 1" panhead 4-40s.

The MCU was mounted next followed by the shield and the adhesive mini-breadboard. 

Power was next.  The MCU as noted from the 26 May posting requires a bit more power than the Boe-bot to initialize the processor.  So I tied the 4 x AA pack with a 2 x AA holder I had laying around from last summer.  This was done by splicing the power cable connection from the 4 x AA and inserting the 2 x AA pack.  The black dashed wire is positive so it was connected to the black (negative) wires on the 2 x AA pack.  The positive (red) 2 x AA was then attached to the plug end of the spliced cable on the black dashed route.  The black side was left alone appropriately.

The 2 x AA rear unit fit nicely along the risers and is secured with a zip tie.

The bottom power unit is mounted as it was for the Boe-bot with 2 flat Phillips head 4-40 1/4" screws and nuts.  You can also see the servo mounting on the chassis.

For the last phase, I neatened up the shield mini-breadboard with jumpers and connected the servo motors on-top.  The sensor payload breadboard was ziptied to the front section and connected to the MCU with the yellow and blue jumpers.  The breadboard fits neatly between the risers and could be adhesively secured to the surface, but I figured I could just use the expendable zip ties and the shield to keep a photovore circuit together easily.  I can also just use the shield portion for servos and signal.  Since the IR following and photovore architectures are nearly identical, this will make it very easy to just swap out the larger sensor prototype board.

Yellow and white were used for signal while blue and gray were used for ground and orange and purple used for power. 

 

Here is the first demo of operations for the new ABC bot!  I had to revise the code... again... because of the fact that my forward function was actually backward (d'oh...).  Sometimes CCW and CW apparently get mixed up at odd hours in the morning (updated code).  Go figure.  At any rate back to the video... you can see the halogen lamp was not as easy to haul around as one would like for testing, but the algorithm works well even in ambient conditions.  I had to use it because I couldn't find my giant flashlight.  The robot rotates around when it found the highest intensity location of light (because the sensors are asymmetrically mounted and misaligned).  I was pretty nervous with getting it to go the way I wanted, it was a bit tricky since a flashlight is much much easier to use for this.

 

 

At any rate I finished the project have a nice means to experiment now, and the next step will be to do IR following with the Boe-bot after writing up a PowerPoint and PDFying the document for this site.

 

Monday, May 26, 2008

Completed the working prototype for the Photovore ABC Bot.  The LED / Servos / Photoresistors were tested with the desktop halogen light and a flash light.  Code for this project was updated from the version presented to the meetup group last week.  From the picture you can see the Arduino board mounted with a RadioShack PC board underneath it.  The Arduino needed drilled out to accept the 2nd of 2 1/2"  4-40 Flat Head screws.  A set of two plastic washers was also used in addition to 4-40 nuts (from Home Depot ($0.70)- after a very long search 4-40s were found on a single rack).  The RadioShack PC board was screwed into 1" posts from the extra Boe-bot chassis.  This provided satisfaction of the 'easy removed' requirement. The breadboard is currently 'hovering' over the MCU from tensile strength of the wires (but hey it SCREAMS prototype!).  

The final configuration will add another set of batteries (seems that the Arduino is a little power hungry and needs 7-12 V).  This is a step up from my Boe-bot education board with only requires 4 AAs to get working (6 V).  So I'll need to serialize another 2 AAs to make it work (9V) or go with a single 9V.  It will also have a mounted shield ($20 w/breadboard) over the MCU with a Parallax mini breadboard attachment to look like this:

The breadboarding for this MCU is a bit of a pain in the butt.  That's why I sprang for the extra mini-board/shield.  The shield however is not without it's annoyances.  When soldering last night, a capacitor and resistor were a bit too close.  That was a large annoyance... especially since I had thick (12 gauge?) solder instead of electronics gauge.  Bill decided to help and add the female and male headers to finish up.  It was helpful to have the vice in play and the 20W setting from the soldering iron worked well.  

Servos were centered to the "90" value by using the Two_Servo_Example.pde code and the Parallax Phillips head screw driver and following the discussion in Chapter 2 of Andy Lindsay's Robotics with the Boe-bot.  Photoresistor ambient and flashlight values were observed using the Photoresistor_Arduino.pde code.

Servos were mounted using the methodology in Chapter 3 of the Robotics with the Boe-bot and using the parts for that process.  Since no changes were made to the chassis during the build, the project can still serve as a platform for the Board of Education.  I had a bit of trouble with a stock 1/4" Panhead 4-40 screw that was stripped... and had more problems getting the rubber bands on the wheels... but it works.  

Other observations include the fact that the Board of Education has a nice feature in that you can toggle power on and off to the select portions of the analog pins (just the servo areas).  This would have been helpful when testing the sensors only of the photovore configuration instead of all the pins getting power at once.  Definitely seems that those Parallax people have been doing this for awhile.

 

Saturday, May 24, 2008

The work was begun with the completion of my Arduino Photovore Worksheet 1 for DC/MD/VA Robotics and Automation Team.  The link is available here.  The required open source servo code is here... with my code here.

Links to Projects:

Home
Boe-Bot
Arduino Boe Clone (ABC) bot
Inky
Blinky
Squidlian
Hummerbot
Blogspace

About the Author:

An astronautics engineer, the author is interested in studying artificial intelligence and more specifically the intelligent agents created to accomplish specific tasks.  The goal of his projects are to build a robotics test bed for experimentation and discussion amongst peers.

Contact Author

Copyright 2008, Justin S. McFarland.  All Rights Reserved.