Sunday, February 10, 2008

Sensors and Sensibility

Progress is accelerating! The Sharp GP2D12 infrared (IR) range finder arrived in the mail Friday and I was able to install it on a servo just in time for the SHARC meeting where I spent much of the day tweaking wall following software (it's coming along ok). I'm exceedingly pleased with this sensor. It seems very consistent and reliable for the limited testing I've done so far, making it much easier to detect wall distances.

Coincidentally, a major R/C expo was taking place at Wings Over the Rockies where we meet every 2nd Saturday of the month. So we got to meet a lot of great folks and, I hope, managed to recruit a few new members! :) Not to mention we saw loads of really cool R/C cars, airplanes, and helicopters, and got to show off George's web-controlled telepresence tank and other robots.

A package full of all kinds of goodies had arrived from BG Micro when I got back from the meeting. Sadly my secret weapon doesn't appear to be panning out. I'll tell you what it is once I'm sure. :)

That setback is no problem, because I had a major breakthrough: using a large lantern flashlight reflector with IR LED is surpassing my expectations. It appears to be relatively insensitive to candle height and, mounted on a servo, it can detect the presence and direction of a candle reliably at more than 260cm -- nearly double the maximum competition distance!

So the clock relentlessly ticks on quickly but things are starting to look a little more hopeful!

Tuesday, February 5, 2008

Fire Suppression System

Over the weekend after banging my head against the wall (and banging the bot's head against it too), I worked on flame sensing and fire suppression.

Here's what I came up with for the fire suppression system: a PVC T-fitting as a tank, filled with water and compressed air, the latter forcing water through a valve (to be operated by servo) and through a drip system sprayer.





The white cap is the water fill tube. Fill the tank with a little water, maybe 1/2 full, then put the cap on. The clear tube is the air fill tube, with a valve to hold pressure in after filling. Right now it is kind of messy and inconvenient to fill and use. It leaks a little bit around the 1/4" hose fittings, and the valve has to be precisely off or water leaks out.

I switched from using 90° sprinker heads to a single 0.8gph fogger/mister head, finding that it was more than adequate to put out the candle, and is more efficient. Not an ideal solution... at least not yet. But, I feel better knowing that the idea more or less works.

It was cool to see, last night, the different approaches to sprayers at the SHARC meeting. Some really excellent ideas. More on the meeting later this week, as well as an update on Sparky.

Saturday, February 2, 2008

Question and Progress Report

I got a great question from roboRobert (he has a cool robotics blog, check it out!).
are you sure you've never done anything like this before?

Well, I do claim book learning in electronics and robotics. Sure, I have a computer engineering degree, and I do have programming experience, but I've done very little electronics tinkering and I'm quickly finding that book learning is a far cry from real world robotics experience! Although systems engineering is my day job and I'm in an SE master's program, this is helpful primarily because of my lack of experience in robotics.

Sparky is the first robot I've started to build from scratch. I say "started" because, despite his performance in the speed test video, behind the scenes he doesn't work reliably and he's in pieces right now. I just can't figure out why he stalls out half a second after starting to move. (No, you can't see the blooper reel of me cussing at the robot in my PJs)

Meanwhile I've been working to get Cruiser to follow a wall and turn a corner using infrared detectors. Turns out the "distance" readings change with battery charge and ambient light. Cruiser works in one room but not the other; he works one minute and not the next. Turning a corner is a total crap shoot.

Programming for the analog world is a whole different ballgame requiring a different mindset. Testing sensor readings under many conditions may help. Alternate sensors or algorithms may be less sensitive to environmental changes. I don't know. Getting better at diagnosing circuit problems with an oscilloscope should help for niggling electronics problems.

So, no, I've never really done anything quite like this and given all the trouble I'm having, and how little progress I've made in the last few weeks, I'd say it shows. :) With just over a month left I was kind of hoping to have more than just a prototype robot chassis completed. (In the chart, orange=design done, purple=built it).

So all that is left is the hard stuff: all the electronics and software for navigation, entering and leaving a room, finding the candle, and extinguishing it. Wish me luck, I'm going to need it.