To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 18131
18130  |  18132
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.coNOSPAM.uk>
Viewed: 
578 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
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR