I just wanted to open a discussion on getting a robot from A to B using triangulation. Really, I might just be looking for a math class here...
I think i just did it . If you know the distance between the 2 beacons and the angle they are offset from each other, then it shouldnt be hard. I could explain it further if you like. Its just some trig. But probably a drawing a video would help you best
Two angles (measured) and the distance between beacons (given). No need for sonar.But given a sonar, you could determine position using only one beacon (like you suggested in the video).
Real question is: do you really need to know where you are? You just need to find the charger, right? Move towards the fardest beacon until the two angles are equal, then keep moving until you hit the wall. I suppose it's not as elegant. And antiquated, if I remember well.
Um getting 2 angles is kinda tricky with only one angle and a side. One side stays the same while 3 angles are always changing. Or do the beacons talk to walter? That would make things easier. I do not know how the setup works so i am a bit confused.
You do not really need the whole triangle to figure you where you are. One bearing plus a distance will tell you that. Question remains (for Chris) "How much do you need to know?".
After a month or two of quietness I picked up my Hammer and Head projects. The idea is that one bot chases another so I'm quite interested in this too.
So, the first idea I had was to build some kind of IR-beacon and try to track it. I ordered some IR-leds and IR-phototransistors from Techsupplies with a couple on Picaxes. Those didn't work very well, mostly because those phototransistors didn't have daylight filter so they were really noisy (and they didn't have datasheets so I didn't know anything about them).
After that I ordered some IR-leds and phototransistor that came with datasheets (leds are SFH 487 P and transistors SFH 313 FA). The idea was to have leds with big half angle (SFH 487's have 65deg.) so I'd need only few leds to cover 360 degrees (4 SFH 487s would cover (2*65)*4=520 degrees). On the other hand the transistors I chose have a small half angle (10 degrees) so I can get somewhat accurate direction when I scan for IR sources (transistor mounted on servo) and they have a daylight filter (not so noisy). I got much better results with these. I used phototransistor much like in Oddbot's compound eye (but only one). The downside is that you have to scan a large sector to locate the beacon. Maybe a mixture of phototransistors with different half angles would solve this.
Yesterday I tried to do some modulation to improve detection range. I PWMed the led with Picaxe and read the phototransistor with ATMega8 adc (Analog-to-Digital Converter). By quick calculation I got 19230 conversions per second from ATMega8 adc. So I set Picaxe to PWM the led at 9615Hz@50% duty cycle. This way the ATMega adc would get a "high" signal on one conversion and "low" on the other and I can detect background noise ("low" signal). The actual detection was based on the difference between low and high signals (two sequential conversions of adc). The difference seemed to "drift" a little bit so I decided to used the max value of 38 conversions (38 because it looked like I got "waves" of 38 conversions, don't ask why). This way it looked like it could work at least on 2 meter range (indoors). Anyway I have to do some more testing with this.
I'm not really sure if I made any sense (I blame the red wine I just had). Here's a couple of links I found about IR modulation: IR Remote control and Infrared alarm barrier. One thing to consider is to use a IR-receiver instead of IR-phototransistor in receiving end (a bit like in infrared alarm barriers). This way the IR-receiver could (possible) handle the de-modulation. One interesting choice would be using RF beacon plus a directional antenna and use RSSI to locate the beacon.
Here is the bottom line that I have found... Big robots in small areas is hard. If I could make a docking station with a follow line that was 15' long, we would have no problem here. As we have now, the line that Walter has to cross is only 3' long. Now, after he has crossed this line, he has to move forward to center his wheels on the line to "center-turn" (his line follow sensor is not centered on the chasis -it is forward of the wheels). Then he has to turn 90 degrees parallel with the line to follow it to its end and thus dock. Here are my problems and why I was thinking that a better beacon system could help.
The beacons... The sensor is shielded to see only a signal coming from straight ahead. This works great and I can find the beacon within 3 or 4 servo clicks each time I sweep. --This is with a unshielded IR beacon. Now this set up will tell you where the beacon is, and I can drive right to it, but there is no guarantee that I will be anywhere close to 90 degrees to the line or where on the line I will cross. --If the line were longer, it would not matter --cross where ever you want, turn until you find it, then take the length of the line to straighten yourself out and get yourself centered to be ready to stop on the eventual final stop line at the end of the follow line. With the short line, this luxury does not exist so I need to come in more-or-less to one end of the line and close to a 90 degree angle. I can modify this set-up and shield the beacon so it shoots very unidirectionally. This forces the sensor to not only be in line with the beacon but also at a certain heading toward it. The obvious problem here is that when walter is way off, far from the beacon, I need a more omni-directional beacon so he can find the general direction to go and then the ability to refine the path as we go.
To be honest, I was really looking for some brain storming here in additon to thoughts on the actual math. (Yes Pat, I wish I knew some trig). This is a situation where each sub-system is working and working great --It is the overall theory of operation that is flawed.
I will post a video in a few minutes showing the set-up
This is a bit embarrasing... It seems I have already done this... Hmmm. Wow, have I really been working on walter for this long? If I ever ask how to build a board to drive big motors, someone please come over, unplug my router and send me to the beach.
I remember that blog very well. I kinda referred to that earlier on. Should I have been more blunt? grin
My question remains though. What are you trying to accomplish woth the beacons? Should Walter "know" where he is in the room and than find his way to the dock? Or is just a little light house luring Walter closer towards the dock? Does Walter keep an internal map at all?
It is just a light house to lure Walter to the beacon and thus across the follow line. This discussion really is just about getting the beam/ sensor/ robot situation accurate enough to not only hit the line, but to hit the line in a position that allows room for walter to turn 90 degrees (from crossing the line to following it) and still leave enough room so it has enough length to follow and be staight and aligned when it gets to the end.