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 / 12058
12057  |  12059
Subject: 
Re: Autonomous Robot
Newsgroups: 
lugnet.robotics
Date: 
Thu, 10 Aug 2000 00:43:27 GMT
Original-From: 
Steve Baker <sjbaker1@!stopspam!airmail.net>
Reply-To: 
sjbaker1@STOPSPAMairmail.net
Viewed: 
940 times
  
Doug Weathers wrote:

This is a really cool idea.  I wonder if it will be accurate enough at large
distances from the tower, where small changes in angle of the laser create a
large movement of the laser spot.

You can work it out easily enough - if you know the height of the tower
and the angle of the laser to the ground.

For (say) a 1 meter tall tower, the error (in meters) is

   1 / tan ( A ) - 1 / tan ( A + 1 )

...so if the beam is at 45 degrees to the ground, the error will be about
3.5cm, if the beam is at 75 degrees, it's about 2cm but when the beam
is at only 25 degrees to the ground, the error climbs to 9cm.

If you double the height of the tower, you double the error - but because
the laser hits the ground at a steeper angle, you actually get better
precision.

If you can improve the accuracy with which you move the laser - you can
get better precision (well, duh!)

One way to get around this is to use an internal RCX timer with its
millisecond (?) resolution.  The base station will have only one laser, at
ground level.  First it does a fast scan to discover the approximate angle
of the robot.  Then it does a slower scan across the robot again, which does
two things: gets a better fix on the location of the robot, and gives the
robot a chance to measure HOW LONG it takes for the beam to transit the
detector.

But if the robot isn't accurately pointed at the laser, it won't be able to
do that calculation since the ANGULAR separation of the detectors (subtended
at the laser) won't be known.

The knowledge of how wide the detector is, combined with
knowledge of how fast the tower was rotating (angle sensor and IR broadcast
from tower), should allow the robot to calculate its distance from the
tower.  The accuracy limitation here is not the resolution of the angle
sensor, but the latency issues of the RCX firmware and your code.  (And the
smoothness with which the base station can rotate.  Oil your turntable!)

The ACCURACY of the SPEED of the laser becomes an issue.  Since motors vary,
the actual speed of rotation is unknown unless you measure it continually
and pass that information to the robot.  Since the precision of measurement
of angle is the thing you are trying to get rid of, this is a self-defeating
mechanism.

But my main concern is the issue of the orientation of the robot.

If the tower were the active component though (with all the brains), it
could measure the position of two or more retro-reflectors on the robot
and deduce the orientation from that.  That might not be terribly accurate
though.  I favor doing *only* position measurement - using consecutive
readings to deduce the direction the robot is moving - and therefore
pointing.  If you drive in straight-ish lines for reasonable distances,
you can get this information to an arbitarily good precision.  Use
odometry to cope with going around corners and to fill-in when you don't
read IR from the tower or if it loses the robot and has to re-aquire it.

If you are going to go for a tower-based system - and admit to non-Lego
laser pointers - then doing all the work in the tower is just monumentally
easier *and* faster than all these spinning robots, spinning lasers, wide
and narrow beams, etc, etc.

The scheme I'm imagining would consume 2 scanning motors, two angle
sensors, one photo-detector and a $5 laser pointer (ALL in the tower)
plus *NOTHING* in the robot other than a retro-reflector mounted on
it's roof somewhere.  It'll be fast - you could probably update the
robot with it's position once a second - and best of all, the robot
doesn't have to stop doing it's work to spin in place in order to
know where it is.  The robot can use all three RCX inputs for doing
it's real job of work - and I can have multiple robots if I want.

Now, I just need to figure out how to make a corner reflector instead
of using a bicycle reflector so that I don't get spurious laser light
flashing around the room - potentially damaging people's eyesight.

If the tower can track a robot reasonably well, the laser will always
go down from the ceiling somewhere and shine within an inch or two of
the robot - then reflected back into the ceiling fitting.  It would
be hard to get that shone in your face unexpectedly.

My two rotation sensors are on order :-)

--
Steve Baker   HomeEmail: <sjbaker1@airmail.net>
              WorkEmail: <sjbaker@link.com>
              HomePage : http://web2.airmail.net/sjbaker1
              Projects : http://plib.sourceforge.net
                         http://tuxaqfh.sourceforge.net
                         http://tuxkart.sourceforge.net
                         http://prettypoly.sourceforge.net



Message is in Reply To:
  Re: Autonomous Robot
 
in article FyyAqy.5zy@lugnet.com, Ian Warfield at ipw47@hotmail.com wrote on 8/7/00 6:56 PM: (...) That's what this is all about, after all. Type on! (...) There are two ways to design a laser sensor - directional or omnidirectional. Either way (...) (24 years ago, 9-Aug-00, to lugnet.robotics)

37 Messages 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