This is the Bot08M's big brother and he's a bully! Navigating with Bot08M's navigation code and tracking objects that come into range with 4 of my homemade IR obstacle detection sensors and modified tracking code.
The first video is just my first attempt at navigation.
The second video has everything going but the IR tracking. You can just hear the pumps high pitch whine when it's shooting at an object in its path.
The third video is my first outdoor test of Splatbot after I changed his program to go towards objects otherwise with so much room to move he didn't shoot anything.
The fourth video is Splatbot attempting to write LMR. Unfortunately the wind wasn't helping still Splatbot seemed happy with the results as he ran over them :)
The fifth video is a previously unreleased video of SplatBot trying out a new font that attempts to compensate for the radial motion of the cannon.
SplatBot has a meccano chassis and wheels. Two motors I raided from a toy dinosaur (similar to solarbotics GM3) are mounted in the center of the chassis with a polymorph bracket. These motors are driven by giant servo kits (visible behind the center wheel) that convert them to continuous rotation servos for easier speed/direction control.
At this point SplatBot just needs a drink bottle and the pump mounted on the upper servo along with some circuitry and code tweaking. Then he'll be ready for the "Cat Splat!" and "Olympic" challenges :)
Well I rushed the water cannon a bit and it looks terrible. Warning hot glue will deform plastic drink bottles and make you job look crap! It doesn't show in the photo. I'll leave it for now. It works quite well considering the pump is designed for 12-15V.
The bottle is a 300mL softdrink bottle. This seems to be a good size for the robot. The pump is just a cheap windscreen wiper water pump from a local autoparts shop. This cost me about $10 US. The tube above the meccano is a breather tube. The tube within the meccano struts is the output with a black plastic fishtank tube joiner on the end for a nozzle. This about doubles the distance to 2m or so. Remember that I do not want to hurt any animals with this so pressure is limitted and besides, the range of the object trackers is less than a meter so this is heaps for my purpose.
Ok here is my rush job water cannon mounted. It is my first attempt and probably not my last!
Just managed to squeeze everything except IR sensors onto a small breadboard - no spare busses!
Fully assembled and suffering all sorts of problems! I had thought this would be easy to get up and running. Just a matter of combining Bot08M's navigation code with a modified version of my previous IR tracking code and a few tweaks, boy was I wrong about that!!
The navigation wasn't so bad, mainly adjusting for a different clock speed (16Mhz) and changing a few constants to allow for the different motors. Biggest hassle has been changing the deadband on the motor drivers, Still not perfect, but easy to fix.
The tracking has been another story. I ended up rewritting the code from scratch although it still follows the basic principles of the original code. The array and servos are all new so it is hard to tell sometimes if a fault is the result of hardware or software.
I've had some weird behaviour from this setup including a scene out of the excorsist where the gun twisted around backwards despite the fact that the servo isn't physically capable of travelling that far. I thought it must have broken but moving it by hand it seems ok and is back to 180 degrees travel instead of near 360. Go figure!
It also has a tendancy to cower from sunlight when the original tracking system turned towards the light. It also exceeds the programmed limits of the servo and litterally buries it's head in the sand with the IR sensor hard down to the ground. I thought I might have reversed the sense of it but even when I swapped that around it still misbehaved, waving the water cannon around like a maniac before hiding its head again.
It seems I've created a gun weilding maniac that is afraid of sunlight and has fits of demonic possesion. Do they do exorcsisms on robots?
You can see my new IR object tracking sensor array mounted on the front of the cannon. This is bigger than I originally wanted but will do for a prototype.
This is the sensor array. each of the four sensors consist of two phototransistors in parallel and 5xIR LEDs. There are 20 LEDs drawing 250mA in total. The IR LEDs are only on for a small percentage of the time so they don't have a significant effect on battery life. I had hoped to get more range from the array but I still don't get much more than 500mm at night.
The whole water cannon / object tracking system will need to be redone at a later date. Ultimately I'll end up with 2 water bottles, one mounted either side above the wheels and only the IR array and nozzle of the cannon being aimed by the servos.
I finally worked out whats going on with my IR tracking system. When I originally tested and callibrated the sensor array the batteries were nearly flat from a day of writting and testing code. With fresh batteries the IR sensors were being swamped by all those IR LEDs. I've now added shielding in the form of heatshrink tubing and am getting much better range. The reason for apparent hiding its head was an accumlative effect of poor sensor calibration. I'll fix these errors after I've had some sleep.
I've posted another video with improved navigation and the cannon aiming and shooting (no water because it's indoors). The sound is bad because of the air conditioner but I left it because you can just hear the high pitched whine of the pump when it's firing. At the moment without the IR tracking it shoots any object directly in front of it before going around.
Once the IR tracking is working it will use that to locate it's prey. when it detects and object the robot will stop and if the object continues to move then it will be shot. This way only moving objects will be targeted.
SplatBot would occasionally hit something with one of the front wheels and get caught without realising it. I've now fitted him with limit switches on the front bumper which are monitored by an interupt routine. This allows him to react quickly to a collision. I've also fitted a speaker so he can make various noises to indicate certain conditions. He now emmits a two tone warning if he collides.