Wii and Simplicity
The Wiimote… Nope, I am not doing any wiidar (the laser on the other side is for fun). Instead, I am returning to one of my old tried-and-true’s but now upgraded. I have used IR beacons in the past, with great results using a 38khz sensor, at the end of a tube, on top of a servo. The tube shielded the sensor so it could only see IR directly ahead of it and the direction was gotten from the servo position. The “beacon” was a few LED’s on a little stand in the corner. The wiimote will do the exact same thing but with obvious upgrades. First, we can tell the direction the led is coming from, by the simple IR X,Y coming from the wiimote. Next, with the addition of a second LED at a given distance from the first, we can get a good sense of distance by simply measuring the distance from IRpoint1 and IRpoint2. This may be accurate enough to dock directly off of the beam, or at a minimum, will get me to my line follow “cross line” to be used for “final” docking. The same system should work in reverse with 2 led’s on Walter himself and the wiimote in my hand. “Invisible Leash”. My final thought is putting those 2 LED’s on the smaller robot for hide-and-seek or follow-the-leader. I guess it is “figuring out where you are” based on 2 points but I would hesitate to call it “triangulation”. In terms of communication, the computer is just going to have to be the “relay” here. Check the wiimote and send the data back to the robot. I am going to have to give up a cog for this but I will have it completly in the background, with variables constantly updated, with the main loop able to use those variables any time it needs. This same cog could also be able to keep an eye on everything and keep a constant stream of data going back to the computer. This could be used for mapping etc.
Simplicity… It might not look it, but Walter in his current state, is MUCH simpler than he has ever been. There are a few more components on the top deck, but that pales in comparison to how many have been removed from the underside!. Total number of processors (not including dedicated “slave” devices) has gone from 6 to 2. I went from a total of 64 I/O pins (almost 50 used) on the 2 “main” picaxe brains to just the 32 on the Prop. This is after 4 pins have been taken for the SD card, 3 for the TV, 2 for RX/TX and 1 for audio! I do admit, I am using 2 I/O expanders, but one simply does the input buttons on the top shield and the other clicks the side sonar on and off. That’s really it.
In total, I think I reduced total total hardware by 25-35%. Code is not such a pain so more either. With the 2 “main” picaxe brains (navigation and “personality”) if I changed anything in one code, I would have to make a corresponding change in the other “main” code. It was constant plugging and unplugging of the sync cable. Uff-Da.
Tell ya what, I’m rambling… Here’s the list:
Prop Board from GG
Rocket Brand Custom Top Module (top shield)
RBC boards for PS2 connectors and NES
Serial MP3/ Amplifier
Video out/ TV
Dagu Motor Driver (with an Arduino on-board --is an I2c Slave)
One I2c Servo driver (Acroname SD-20)
(2) I/O Expand (I2c) for buttons and sonar on/off
Encoders
Bluesmirf
X-bee
(2) SRF05’s --forward
(2) EZ-1’s --side
That’s it!