Docking, Beacons and Triangulation (Open Discussion)

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...

https://www.youtube.com/watch?v=HsVxBdEt4lM

I think i just did it . If

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

 

 

Distances depend on …

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

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.

All boils down to “what was the question”?

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?”.

IR Beacons (how about RF?)

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.

 

How much do you need to know…

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

Docking picture

0813002047.jpg

Well, it seems…

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.

https://www.robotshop.com/letsmakerobots/node/6499

lol

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?

Etc.

It is just a light house…

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.

i should start by saying i

i should start by saying i may or may not know what is going on…

trig is nice for math problems but using it for angle calculation for something like this would require a high degree of accuracy and precision. if you wanted walter to be within a few centimeters of his calculated position I would think that would be a little hard. again im not sure if im understanding this situation correctly. you could always try a camera or something and have it target a power outlet (which would be awesome)

Update*

Top video is now an explaination of the whole thing.

How about a procedural approach?

Walter feels hungry, scans the room for beacons. Finds one (or mozies along until he does).
- turns towards the found beacon, facing it head on (angle towards the wall behind beacon is still unknown).
- scans for second beacon, it’s on the left or on the right (identifying beacons makes this step unnecessary).
- turns 90 degrees towards second beacon (left or right).
- drives forward, keeping the first beacon at exactly 90 degrees to the (left or right).
- path describes circle segment with first beacon in centre, unknown radius (unless sonar gives distance to wall).
- keep scanning for second beacon, drive until …

■■■■■ this will not work…

unless…

unless you change the beacons

Make one beacon shine 180 degrees around (omni kinda directional) and the second shine a sharp sliver of light perpendicular to wall and black 3’ line (uni kinda directional). Place both beacons on the same spot. Continue from “keep scanning”

- keep scanning for second beacon until, well duh, you find it.
- you might not find it, you may have chosen the wrong direction (so when facing the wall at the end of the segment, turn around 180).
- now you’ve gotta find it.
- turn towards it, drive forward, find black line, do your thing.

Do you need the follow line?

Do you need to use the follow line at all? If you are using the beacons to position Walter so he can find the line, couldn’t you just use them to position him so he can find the dock, say have it mid point between the beacons?