To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.org.us.laflrcOpen lugnet.org.us.laflrc in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Organizations / United States / LafLRC / 68
67  |  69
Subject: 
Re: Just a few highlights and points...
Newsgroups: 
lugnet.org.us.laflrc, lugnet.robotics
Date: 
Wed, 28 Sep 2005 13:24:42 GMT
Viewed: 
1582 times
  
In lugnet.org.us.laflrc, Thomas Chesney wrote:

...one way to do it is to use the 'always turn left
(or right)' technique... recording the (x,y) position
of each turn... Getting accurate (x,y) data is a pain
though.

   Agreed. Using two rotation sensors could certainly work, but that takes two
RCX inputs, leaving me only one light sensor for line following (OK most of the
time) and detecting & describing junctions (rather more difficult with a single
light sensor). Timing the distance might work in some cases, but here it would
be tough - the time between two nodes in this maze isn't a nice, constant
function, and a long straightaway could really mess up this method. Still, it
might be a possibility (& it might help with another problem I've had, see
below)

One variable holds the direction N,S,E,W to
calculate if the x or y should be going up
or down.

   Yep, one variable is the heading, although currently it is used to help
identify which branch out of a junction I've taken (and how much I need to turn
to get there).

How does this sound?

   Good, although I want to apply at least one other optimization. At a
junction, the first choice of direction to explore should be either straight
(turns take time) or towards the exit (this maze starts at grid coordinate (0,0)
and finishes at (6,6) - I might end up taking advantage of that, if I (the
programmer) get time).

   The other problem I've had (referenced above) is detecting dead-ends in a
timely fashion. The current design runs about 17 inches/sec on a straightaway,
and recognizes a dead-end by the fact that it hasn't seen the line in the last
0.2 seconds (so dead-end overshoots are at least 4"... in practice, more like
6"). Worse, they are not straight-line overshoots (the line-following code is
trying to "correct" back to a line that's not there) but curve right. I *think*
I can reverse the curve it follows during the overshoot (at least roughly), but
a 6" overshoot is much more than is good. Reducing the time until the routine
flags a "line lost, must be a dead-end" is ideal, but... limited. For one thing,
I'm monitoring the timer with an event, so the lowest resolution is 0.1 seconds
(NQC can't use FastTimer() as a source for an event). Secondly, there are times
it takes more than 0.1 seconds to re-find the line during normal line-following.
   Right now I'm seeing if I can have yet another task running to watch for some
sort of clearer "end of line" condition - like no significant variation in the
sensor reading during a short (9 msec? 12 msec?) time. Even that looks like it
will need to be done by timing loops, certainly not Wait().

--
Brian Davis



Message has 1 Reply:
  Re: Just a few highlights and points...
 
Brian, don't read this. (he's trying to work it out for himself...) :) (...) While this is a good "brute force" method of mapping a maze, you'll be saving, and trying to use quite a bit of information that you don't need. Assuming you can identify (...) (19 years ago, 28-Sep-05, to lugnet.org.us.laflrc, lugnet.robotics)

Message is in Reply To:
  Re: Just a few highlights and points...
 
(...) This is actually very interesting. I guess one way to do it is to use the 'always turn left (or right)' technique to find the way from start to finish with the first go at the maze, recording the (x,y) position of each turn and to save space, (...) (19 years ago, 28-Sep-05, to lugnet.org.us.laflrc, lugnet.robotics)

13 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
    

Custom Search

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