Subject:
|
Re: Navigation using landmarks (Was: Re: lasers and RCX)
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Fri, 14 Jun 2002 01:04:24 GMT
|
Viewed:
|
816 times
|
| |
| |
Hi, Steve
I thought about most of your solutions (sphere, bycicle and 3 mirrors).
Unfortunatelly I came to the same conclusions.
The funny part is that my alternative nav system was very similar to yours.
But it was based on a line, not a ? shape.
Since I never really tried it in a large scale I don't have real results to
show. But I pretend to try it again.
The main idea was to use a robot with rotation sensors on 2 wheels. Starting
from a known position it would be able to turn and move with some precision.
But there will still have some acumulated error due to slippery, obstacle
avoidance, etc.. But it would be enough to move from one landmark to the
other.
Once there, it needs to move to a known position and direction. A bar code
would be used as the landmark id. Coords would be hardcoded or stored by a
landmark search routine.
I liked your idea of a ? shaped. It is a big target, no matter which angle
the robot approaches. In my case the robot had to search the line once it
detected it was over a white sheet of paper (it was lighter than my lliving
room floor).
The problem with the tail you mentioned may be solved using grey for the
line and black for the bar code. I never tried it...
In my experiments I had trouble to have a precise direction. The
line-following algoritm I used was the one that follow the border of the
line. But once the line ends the direction wasn't precise since it still
tried to correct before detecting the line was over. Maybe using a black dot
in the end solves the problem, like it was used in Dave Baum book.
I had one idea for correcting the direction but I never tried it. It would
be a mechanical solution. Something like a "docking station" (built with
lego?). It should be funnel shaped so that if the robot aproaches from a
aproximate correct angle, it would fit straight in the docking station and
correct its direction.
I thought about that because I wanted to make a battery recharge using an
external 9.6 battery pack and some kind of contacts with a recharger. So the
robot could move "forever". Of course I have to find a way to protect the
RCX from any high voltages generated by the recharger.
I needed a precise aproach for that.
Mauro Vianna
Steve Baker <lego-robotics@crynwr.com> wrote in message
news:3D05A6E3.7090905@airmail.net...
> 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
>
>
>
|
|
Message has 1 Reply: | | Re: Navigation using landmarks (Was: Re: lasers and RCX)
|
| (...) I looked into several patterns. What would be ideal would be something which you could drive across along any straightline path and get back your direction and position from the pattern of dark and light. It seems rather unlikely that such a (...) (22 years ago, 14-Jun-02, to lugnet.robotics)
|
Message is in Reply To:
| | Navigation using landmarks (Was: Re: lasers and RCX)
|
| (...) 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 (...) (22 years ago, 11-Jun-02, to lugnet.robotics)
|
12 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Robotics
|
|
|
|