Subject:
|
RE: Navigation using landmarks (Was: Re: lasers and RCX)
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Wed, 12 Jun 2002 08:08:52 GMT
|
Original-From:
|
Ward, David <david.ward@siraeo.co.ukIHATESPAM>
|
Viewed:
|
732 times
|
| |
| |
Probably what you need is a corner cube reflector.
Light 'in' is always reflected back along the same path.
Basically take three square mirrors and place them at 90degrees to each
other (reflective sides in), like three sides of a cube.
-----Original Message-----
From: Steve Baker [mailto:sjbaker1@airmail.net]
Sent: 11 June 2002 08:30
To: Mauro Vianna
Cc: lego-robotics@crynwr.com
Subject: Navigation using landmarks (Was: Re: lasers and RCX)
Mauro Vianna wrote:
> Since I wanted it to be simple, the beacons were passive. The idea was to
> use reflective beacons. That way they could reflect the beacon back to the
> robot.
> I used some tubes (any plastic cosmectics recipient fits) covered with an
> aluminium sheet for reflection. I thought about other types but I never
> tried.
I've played quite a bit with this kind of problem (although I put the
reflector
on the robot and the laser in the corner of the room - but that's another
story).
What's needed is a "RetroReflector" - which is to say, an object that always
reflects light back to it's source.
A shiney sphere (or a cylinder if this is a two-dimensional problem) works -
but
as you noticed, it disperses the beam - which reduces precision.
I played with a bicycle reflector - which works suprisingly well - but
produces
secondary reflections all over the place that make it look more like a disco
ball. Scattering laser light all over the room isn't a good idea - so
that's
out.
The theoretically *perfect* solution is to place three flat mirrors at
right angles so they make an interior corner:
/|\
/ | \
/ | \
| | |
| / \ |
| / \ |
|/ \|
\ /
\ /
\ /
No matter what angle your laser hits this target, it'll come back in a beam
that's parallel to the incoming ray. So long as you keep the mirrors
reasonably small, a 'hit' on the reflector should be detectable by a light
sensor mounted close to the laser.
I found it hard to get the mirrors mounted accurately at right angles - and
the beam on my laser pointer was a bit too tight - so when I did get a good
hit, it tended to bounce back onto the lens of the laser pointer and not
onto the light sensor - which was less than a centimeter away.
> In fact, I decided to change my nav system by an entirely diferent aproach
> without lasers, but that is another story...
Yep - me too.
I played with this idea for navigating in a large room with a light coloured
floor:
* Use your computer to print a full-page pattern thats basically shaped
like a '?' character - with the loop at the top making an almost
complete
circle - and with a barcode where the '.' at the bottom of the '?'
would
normally be.
* Print a bunch of these with different numbers encoded into their
barcodes...each '?' being about eight inches across. These are our
"Landmarks".
* Place landmarks at reasonable (~5 foot) spacing all over your floor.
* Install a light sensor looking downwards under your robot.
* When the robot detects that it's hit a black line, have it execute
a simple 'clockwise' line following algorithm. This will lead it
around the loop of the '?' and onto the barcode at it's tail. When
your robot realises it's reached the tail, it can switch to driving
in a straight line and reading the bar code.
* The number stored in the barcode is the X/Y coordinate of that
landmark.
* The robot now knows both it's position and it'll always be
pointing in the exact same direction - so it knows that too.
* From this point onwards, approximate dead reckoning tricks should
suffice to allow you to travel to the next landmark en-route to
whatever task the robot is working on.
* If you detect that you've driven about the right distance and
have not yet hit a landmark, you can start a simple growing-spiral
search pattern.
There is still the chance that your robot will accidentally drive up to
the '?' and hit the tail part instead of the circle part. That's something
I didn't get working. Perhaps you can resolve that by having the tail
printed in a mid-grey scale or something.
I also thought of creating a mechanical analog of this using carefully
placed bump sensors to follow around a 3D structure built onto the floor.
If you could make that work, you'd have a "pure lego" solution. It would
be harder to deal with bumping into furniture and such though.
----------------------------- Steve Baker -------------------------------
Mail : <sjbaker1@airmail.net> WorkMail: <sjbaker@link.com>
URLs : http://www.sjbaker.org
http://plib.sf.net http://tuxaqfh.sf.net http://tuxkart.sf.net
http://prettypoly.sf.net http://freeglut.sf.net
http://toobular.sf.net http://lodestone.sf.net
|
|
1 Message in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Robotics
|
|
|
|