Subject:
|
Re: building a maze
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Fri, 12 Nov 1999 19:39:57 GMT
|
Viewed:
|
1016 times
|
| |
| |
Your challenge inspired me to give it a try. I decided to make an actual
moving robot that would navigate the full 8x8 maze. I constructed a section
of the maze and went to work. I hope to have pictures soon, but here is a
little information.
Not having rotation sensors, I built two touch sensor based rotation counters
and but one on each wheel of a tank like chassis. Using the rotation counters
it goes relatively straight and I can measure how far it travels and turns.
The robot moves from the center of one square to the center of an adjacent
square. Once there a crain arm with a downward facing light sensor checks
forward, left and right (no need to check where the robot just came from) for
a wall. The arm is a but larger than half the square and is situated at the
center of rotation for the robot to help it find walls even with small
positional errors. While it is checking for walls another light sensor on the
crain arm looks for the beacon of light and records where the arm was when the
light was brightest. The arm uses a lego stepper motor design so the robot
can keep track of the rotation of the arm.
Once it has collected this information, it records the square as 'visited' and
uses a scoring system to decide which way to go next. Any direction that has
no wall gets 100 points. Any already visited square gets 50 points off. The
direction that most closely matches the heading to the beacon gets 25 more
points, and then west gets 3 points, east gets 2 points, and north gets 1
point. The last bit is to prevent ties.
The Robot then turns the appropriate direction and moves into the decided upon
square. Then the whole thing starts over again.
The process is very slow and fraught with difficulty. I am using NQC so the
variable space is limited. I need to track current heading, position of the
arm, the current x/y address of the square the robot is in, and then I use
several variables to store bits related to the visited/unvisited squares.
Heading to the beacon, current wall locations, and scores for all the
directions add additional storage requirements. With the temp variables
needed it just makes it in the Firmware limit. Due to the extra bit storage
needed for a 10x10 maze, 8x8 is the largest it can handle. I would love to
store the state of each square (where there are walls) but thisis really out
of the questions without LegOS.
The problem is the positioning errors. It is pretty important that the robot
get to the center of each square. After moving 7 or 8 squares, there is
enough accumulated error to cause problems. I have the treads geared way down
to increase the rotation counts per unit distance or rotation, but the touch
sensor based counters just are not good enough. Some real rotation sensors
would probably improve the accuracy by quite a bit.
As it stands now the robot can navigate to the beacon in my small mazes,
anything larger and the robot would eventually get confused and end up
crossing a wall, which happens sometimes even in the small mazes I use
(usually 4x4). It does make the right choices and proceeded methodically, and
very slowly, towards the light beacon.
Wow, maybe that was a bit more than 'a little information'. I am stuck
without rotation sensors, any hints or suggestions?
Richard
richard at mailstart dot com
"Robot building is fun."
In lugnet.robotics, Philippe Jadin writes:
> So, finally, someone managed to build a bot which walks into a virtual
> maze... Sound great, and looks like what I launched some weeks ago : the
> lab chalenge... I'm still trying this, but it's quite hard to have your
> bot do the right things.
>
> If anyone is still working at building a bot which could find it's way
> into a maze (virtual or not), please let me (us) know your results.
> Sounded quite hard, but with such brains in this newsgroup, someone
> probably got it.
>
> Phil
>
>
> >
> > I did just that and was able to invert the problem and move the maze under
> > the robot.
> >
> > Have a look at <http://www.hempeldesigngroup.com/lego/pdf/pbForthMaze.pdf>
> >
> > for some introductory slides I made for Mindfest. I promise I'll post
> > as soon as I get the sirte updated with some pictures of the walker...
> >
> > Cheers,
> >
> > Ralph Hempel - P.Eng
> >
> > --------------------------------------------------------
> > Check out pbFORTH for LEGO Mindstorms at:
> > <http://www.hempeldesigngroup.com/lego/pbFORTH>
> > --------------------------------------------------------
> > Reply to: rhempel at bmts dot com
> > --------------------------------------------------------
>
> --
> ---------------------------------------------------------------------
> Philippe Jadin
> mailto:philippe.jadin@skynet.be
> Belgium, Europe
> Simple yet usefull Robot stuff goto
> http://users.swing.be/philippe.jadin
> For low-cost web design goto http://users.skynet.be/clairetnet
|
|
Message has 1 Reply: | | Re: building a maze
|
| Interesting, About your positioning problem... perhaps you can mark down the center of the "hallways" with a different color than is used for the walls. This way you can use standard line following methods to keep your 'bot centered within the (...) (25 years ago, 12-Nov-99, to lugnet.robotics)
|
Message is in Reply To:
| | Re: building a maze
|
| So, finally, someone managed to build a bot which walks into a virtual maze... Sound great, and looks like what I launched some weeks ago : the lab chalenge... I'm still trying this, but it's quite hard to have your bot do the right things. If (...) (25 years ago, 11-Nov-99, 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
|
|
|
|