Let's Make Robots!


echo.png31.83 KB
echo.12b.txt - 12Blocks file, rename without the .txt extension and load into 12Blocks8.77 KB
IMG_20100803_232241.jpg -inside Bender's rusty inards1.01 MB
IMG_20100804_231435.jpg - a view of the fitPC21.12 MB
IMG_20100805_204304.jpg1.02 MB

Bender is a medium sized robot based on the Crustcrawler Nomad HD platform. It uses the Parallax Motor Kit with Position Controllers, a pair of Parallax HB-25 Motor Controllers, 6 Parallax Pings, and a Parallax Propeller Robot Control Board.

The propeller handles the low level functions, such as sensor scans, movement, collision avoidance, robot status monitor. Low level routines are written in SPIN and all the behavior software is written in 12Blocks, which talks to the lower level routines through  12Blocks custom blocks written by me.

Bender's brain is a FitPC2, a 12 volt powered Atom 1.6 processor based microPc. It has 1.6Ghz processor, 1 G RAM, 160G hard drive, 6 usb 2.0 ports, dvi video, full audio, an ethernet port and built in WiFi. All of this in a package that measures 4x4x1 inches and consumes only 6-10 watts of power.

There is a Logitech Orbit webcam on board running AbleCam (video web server)

All this is powered by a 13000 mAh NimH battery pack.

Not shown is the scanning laser rangefinder. I have it, just haven't sat down to figure out how to get the propeller to read it. Also not shown is the head, which remains to be built. It sports a 7" touch screen display (back ordered) and is where the camera will be eventually mounted.

At the moment, the PC is still running on house power. I've opted to use a small inverter running off the battery pack to avoid cutting up the power cable. At some point this will have to go but since there is still plenty of room inside, it's a fair prototype trade off. I've ordered the inverter but don't expect to get it until next week. This limits the roving range to the length of the power cable but is sufficient for testing.

Running RealVNC, I can directly control Bender via WiFi. At the present time, I can drive the robot around using manual keystrokes which are passed to the propeller via the Parallax Serial Terminal that comes with the Propeller Development Editor or directly in 12Blocks as it has a built in terminal that also allows you to watch the propellers's pins change state and track all your variable. Very handy for debugging.

Software installed:

  • RealVNC
  • AbleCam
  • 12Blocks
  • Propeller Editor

UPDATE: 5 Aug 2010

Today I installed the 200 watt inverter into Bender. It has two 120 jacks, One goes to the FitPC, the other goes to the new 7 port USB hub, allowing me to hide all of the USB lines inside the robot.

Now, instead of a tangled mess of wires outside, there's a tangled mess of wires inside. I'll have to wrap the excess cable so it will be a bit neater.

Bender is now tether free! it can now be driven around the house under direct control of any computer in the house. Tomorrow I will deal with the rat nest of USB and power cables inside. I suppose I could put the inverter and hub outside, we'll just have to see how things work out tomorrow.  The inverter is a stop gap measure until I can round up a suitable power plug to run directly off the battery.

Beware, Murphy lurks in the darnedest places. 6 Aug 2010

Well tonight I found a couple of power plugs that will allow me to power the PC and the propeller off the battery. As I was checking the polarity of the power plug for the propeller, one of the cables blocked the screen of my voltmeter just enough to not see the '-'. When I plugged it into the propeller, There was the tell tell smell of acrid burning electronics. Too late! The propeller is now fried and gone to silicon heaven  and I've ordered a replacement. unfortunately, it means I can't do any of the weekend testing and development that would have allowed me to take it to work Monday to show it off.

This goes to show you that anybody can make simple mistakes. This one cost me the price of a new board and three or four days lost, all because I was not paying as much attention to everything I should have. In my case, I plead 'cataracts in both eyes, one eye that sees nothing and the other runs at about 20/70' A few years ago, this is a mistake I would not have made, but then I recall making many others,,,

It's a hundred dollar lesson that will last for awhile. They always do. Moral of the story? Don't be afraid of making mistakes, that's where we learn our toughest lessons, Don't be careless either.


Update 11 Aug 2010

The new propeller board arrived today. Like the old one, it's a MSR1, the Propeller Robot Control Board. So far, it's been fired up and programmed to handle the simple R/C program I have running for initial tests. Tonight, I'm planning on running it through a few tests to see how well it handles the WiFi things, drive it around to get the feel of it etc. I'll post some video if all goes well.

Update: 12 Aug 2010

Today, Bender fulfilled its primary design function: That of delivering a bunch of Chocolate Chip cookies to the office of our director. While it was all done under the use of telepresense, ie; remote control, Bender successfully navigated the approximatly fifty feet between my office and his, notwithstanding the positioning of a number of trash cans as obstacles. There are still issues with the anti collision software, and controlling the robot solely from the webcam was a challenge. My next step is to switch Bender to using the encoders so it will travel in something that more closely resembles a straight line.

Update 20 Aug 2010

Bender is now Skype enabled. Now I'm working on a pair of programs to talk to Skype. The first is on Bender and listens in on the chat channel for commands, then transfers the appropriate command sequence tot Bender via the serial port. Trivial program.

The second program runs on the remote client, reads mouse commands, and sends them over Skype to bender for execution.

Both programs are in VB.net. They will provide the ability to control Bender usinfg only a skype connection and my VB client.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Quote:  Apology Accepted Captain Neider (lol) It's a Star Wars Joke

...And then we get talking about the "tone of voice" within a text-only comment. Also, we are electronics people. What I meant to say was, "You're talkin' to my man all wrong, it's the wrong tone --You do it again and I'll stab you in the face with a soldering iron."



I finally got to use it. lol

One of the cool things that I learned from the "Unofficial Propeller Expo West" was that Pings should have a cool-off time. Since their range is 3 meters, I figured that the round trip time is about 18ms for 3 meters. So I am going to try to add an 18-20ms delay between each call of a Ping to see if I stop getting false readings from echos.

Mike Green on the Parallax Forums sugested 60-100ms delays but I think that is overkill and probably too slow for my 5 Ping setup.

That's why I don't ping adjacent PINGS. just sticking a delay between pings works, but slows everything down. Ping opposite PINGS solves the problem and lets the PINGS run at full speed. slow moving robots are less critical here but faster moving robots c an easily overrun the speed of sound/reaction time window and still crash into things. I once built a pair of glasses with three SRF04s in them. One in the middle and one on each side, aimed about 45 degrees.The idea was to see how effective sonar glasses could be for vision impaired people. Naturally, I was the test subject. One of the things I discovered was that it was impossible to walk at normal walking speed because my reaction time plus the time it took to stop often exceeded the range of the sonar units. if I slowed down a bit I could avoid pretty much everything in my path. I also walked into a lot of parked cars cuz you have to do a lot more physical panning and tilting of your head and that's not a natural thing to do. We humans have a wide field of vision that allows us to take in quite a bit without turning our heads much.

Anyway, I try not to introduce extra timing in sonar sweeps to avoid the possibility of overrunning them.

I've never had any problems with the pings per se. One of the problems I've found with ultrasonic range finders is that because the ping they emit is not unique to the individual device, one ping can often hear another and can produce false readings when this happens. Usually it's because two pings have overlapping coverage and are triggered back to back. Picture a sound wave going a distance and bouncing back. But, instead of a single bounce, think of it bouncing off something 10  inches away and also something 40 inches away. The first wave bounced back is fine, but the second ping fires and gets an almost immediate response because of the longer signal path from the first ping. as a result, the second ping produces bad data.

My solution to  the problem has always been two fold; don't overlap the pings  AND don't trigger adjacent pings in succession. When I have the problem, I trigger the pings a lot like one might trigger spark plugs in a car engine; Fire a ping, then a ping as opposite a direction as possible from the first and keep doing that until all pings are used. This works great when there are 6-8 pings on a robot . Since pings can only fire after the previous ping returns a signal or times out, by the time an adjacent ping triggers, the echos of the ping next to it are likely to have died down.

I learned this lesson using SRF04 and routinely set the pings up with this phenomena in mind. As a result, I rarely have any real issues with them,

Something you should keep in mind though is that some surfaces do not reflect sound very well and will appear invisible to the ultrasonic device. That is what the I/R rangefinders are great for. Every ultrasonic rangefinder should be backed up with an infrared one as few things are transparent to both. I haven't added I/R yet but do plan to before long


As far as the divide and conquer thing goes. If you look at a modern robotic factory, that's pretty much what they do albeit in a minimalist way. Right now the paradigm is the replacement of human labor. We're still in the early stages pf using robots and in this country (USA) labor unions are traditionally anti robot. Look for the advancements in the emerging third world.

1st - Love the robot.  Using a nice chasis is expensive, but it's worth it.

2nd - How are the Ping sensors working for you?  I've found them to be jumpy - it will read 18" or whatever, then jump up to 1" or 2" for a second.  At the Propeller Expo, I met a guy who was selling parabolic reflectors for the Ping that made output dramatically more stable.  I'm pretty sure Parallax will start carrying those reflectors soon.

Your robot also got me thinking - most robots that are actually productive (like industrial robots) are massive.  In nature, there are plenty of animals that take the approach of 'divide and conquer' - dividing labor among many cheap units to get complex things done.  Like how ants build their hill, or bees make a hive.  I wonder how the divide & conquer approach would work in an industrial setting...

Wow, I think I need to offer an appology or explaination here. First off, I had no intention of stepping on anyone's toes. The tone of my last post was not to be disparaging to you or this project. My comments on being "only a RC car" and/or "$4500!?" was to emphasise my confusion and that "I must be missing something here." --Indeed I was. I really think this is the standard issue of written text not having a tone-of-voice.

For the record, I think this is a great project and trust me, I understand how hard it is to navigate and control large robots (I have been working almost 2 years now). I am hip to walking before running, I get the whole thing now. I wish you the best of luck.

Don't worry about it Chris. The nature of these things are that tongue in cheek expressions often backfire in a text only environment. Every once in awhile, it takes us all by surprise and it only becomes apparent after the fact, when it is often difficult to take things back.  It would help if more of us had thicker skins, but we don't so...


When my boss learned that I was building robots at home a couple of years ago, he asked if they could deliver cookies. When Bender got to the telepresense level (easy peasy), I brought it in because there were several requests to see it. So I brought it in and ran some cookeis down to his office. The video was done by an office mate so I had nothing to do with its creation. I included it cuz there was a request for some video.

That's not what Bender was built for

I never said anything about the cookie delivery being Bender's only goal, it was just its primary goal as it was not built for anything in particular, it's a development platform. As fpr the RC part, that was all done via wireless internet built into the robot. I didn't build the robot to deleiver cookies, that would have been stupid. I delivered the cookies because it was a joke demonstration for my boss, and our office's amusement. Not everyone in my office is robot savvy. while nobody on this forum would be impressed,the people in my office don't see robots every day. Some of the swerving was due to the avoidance software trying to override the R/C.

And you are wrong about the worst driver/best car analogy The best driver still has to outdrive the worst one to win and its' got to finish. it's not a given.

You'd think I broken some sacred oath or soemthing.

Crawl before you walk, walk before you fly. The thing was only a couple of days old at the time. I only had it running completly on battery power the night before. Give me a break.

Don't worry TOBI 1, 2 & 3 broke the oath too!

There is a heated forum thread about RC robot rigs not being "Real Robots" or having "Robotic Life". But you have to crawl before you walk and that is more the case for large robots, since a large rogue robot can do a lot of damage. Don't take anyone here too seriously. My robot was called nothing better than a radio controlled "RC Flier" wagon at one point.

So don't let CTC or anyone dampen your spirits.

Can you post sone detailed pictures of the inner workings of your robot? I'm dying to peek under the hood of Bender.