FrankenBot - My "First" Robot

Wanting to make a robot with my scout troop (go 1349!), I decided I needed to fully complete one myself before I tried to teach 8 impressionable 11-13 year olds. I had tried to make a robot before, and for some reason couldn't drive both motors simultaneosly. Turned out to be a programming problem, because I used basically the same setup as before, but couldn't' get both modified servomotors to turn.


So last night, I started by modifying the servo motors- cutting the block that prevents full rotation on the main gear, and removing the control circuitry, resoldering the red and black wire, and removing the unused signal wire before tucking everything back in its place and screwing it back together.


Putting my mind to brainstorming, I came back frustrated on how to build the chassis- it had to cost me nothing, be fully able to disassemble, but had to be rigid enough to stay together well. I thought about bending some polycarbonate and drilling holes for the servo motors, but I don't have a laser cutter, and any time I do too much work with acrylic I get frustrated and it ends up getting cracked by my drill bits (I need a plastic bit). Donning my lab coat with integrated pocket protector (helps me think) I had an epiphany-- I could just zip tie the motors to the holes in a lego technic beam! I got to work. It didn't take long to build up a decent chassis. But where to mount the microcontroller? I didn't want to totally abandon my acrylic sheet idea-- I had some in the garage, and if I took enough breaks and was careful enough, I lied to myself that I would not get frustrated. So I snapped several technic beams together and taped them to a scored and snapped 5" square of acrylic. Using the holes as the template made drilling more accurate, but unfortunately, my cheapness got the best of me-- I intended to drill 4 rows of holes and use them to mount ANY chassis to it, so it would be more versatile. However, about 99% of the holes "spidered" or split out into cracks on account of the wrong type of drill bit. I decided going to bed and working on it the next day was best.

This morning, I scored and snapped a new 5" square of acrylic and instead found a what I believe to be ingenious way of mounting it. A shorter brick beam is inserted sideways into the main vertical beam's holes and then the cross axles are inserted with a few spacers just like standoffs. I then drilled 4 holes (no spidering!) for the axles. Once the acrylic sheet was fitted, I mounted the Arduino by drilling holes small enough for some small "hex" PC standoffs that I self tapped into the acrylic-- it was critical that these holes would not spider, which they didn't. Once the microcontroller was mounted, I actually realized that my bot would need power, so out of the projects graveyard came a 9 volt battery holder with Arduino barrel jack and a 4xAA holder. Turns out both fit perfectly in my chassis, and after thanking the universe for aligning just enough for me to be this successful, I drilled the holes in the battery cases for zip tie mounting. Once mounted, I wired everything to my Adafruit motor shield, and uploaded some test code. After some fiddling with the code, the bot was moving around, albeit in a very erratic fashion. Now I actually have to spend money and get some sensors.

 

Some Ideas:

5mm LED's fit very snugly into the Lego Technic beam holes, so I was wondering about making a IR LED/Transistor combo. (yes I know I can just buy a sharp sensor already built)

PING))) ultrasonic sensor(s)

Simple touch switches with whiskers

Photoresistors

Also, I want to have a small solar panel trickle charge the AA's.

  • CPU: Arduino Duemilanove 328
  • Power source: 9v battery for Arduino, 4x1.5v AA for motors
  • Programming language: Arduino C/C++
  • Target environment: indoor

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/frankenbot-my-first-robot

Very impressive for a first attempt.

I have been reading about building robots for years and have picked up a couple ideas I would share with you.

For drive wheels a suggestion is go to the hobby store and pick up a pair of 2 1/2" to 3 1/2" wheels from the section that houses wheels for airplanes. You would be able to glue your servo horn to the rim, but, you might need to put the screw for the servo in before hand, because I believe the axle hole in the rim is too small to get the screw through after the fact.

For the caster, you could replace your pair of wheels on an axel with anything that had a small diameter radius, like a drawer pull or half of a ping pong ball. An easy way to mark a ping pong ball that I saw was to mount the ball to a drill and then with the ball spinning touch a marker to it.

As to sensors, combos are good. You might consider looking at Ro-Bot-X’s most excellent tutorial on using the IR remote receivers. I purchased a pair of those receivers from my local Radio Shack and paid 4.20 each for them. I know I overpaid, but, it was local vs placing an order and having the parts shipped. You would still need an IR LED to get obstacle avoidance. Sonar is another good choice and there is really nothing wrong with Sharps as far as it goes.

If the Subject line didn’t make my point, I am impressed with your first attempt at a robot.

Thanks!

Thanks birdmun!

I saw these wheels online after I built the bot, and I’ll probably order some as soon as some cash is available: http://solarbotics.com/products/sw/

I saw the IR sensor article, and “collected” it. What is the difference between the 3 pin detector and the 2 pin detector that looks like an LED? They are both phototransistors, right? I’ve got the remains of an old VCR and a few other parts that have the 3 pin ir sensor so I just need to take apart a few remote controls, or actually go buy one.

I fixed the caster binding problem by adding a 3 long cross beam to my cross axle that limits the direction of the caster. I might implement the ping pong ball trick though. I’ll post up some photos later today.

Technically, this is my second attempt! The reason this bot didn’t cost me anything new is because I had all the components from a previously failed bot: http://andymakes.blogspot.com/2010/09/robot-abr-1.html

Of wheels and IR
The wheels I was talking about were more like http://www.robotmarketplace.com/products/0-GW-LFW-508-21.html . There are many different types. I did a search for RC airplane wheels foam, http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=RC+airplane+wheels+foam+#q=RC+airplane+wheels+foam&hl=en&prmd=imvns&source=univ&tbm=shop&tbo=u&sa=X&ei=VnO4TrfQD4j02QW_8NjNDQ&ved=0CH4QrQQ&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=b173c3dec6c5044b&biw=1440&bih=799 .

The 3 pin IR receivers have a bit more circuitry to them than just phototransistor or photodiode. They are only sensitive to a modulated light, typically 38khz, but, as Ro-Bot-X pointed out they are available with frequencies from 36 to 50(+) khz.
Remote controls will not have the receiver only the controlled device will have the receiver. Remote controls will have an IR LED that is being modulated at the proper frequency. Also as RBX stated, the modulation helps reduce problems with false readings.

Salute!

Nice to see a fellow scouter on LMR!

I salute you for not using MindStorms or VEX.

Go ARDUINO!

I’d use mindstorms if I could…

But I don’t have the $300 bucks to buy the system. I like the flexibility that Arduino provides and the programming language is easy enough for me to understand.