Subject:
|
Re: Autonomous Robot
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Fri, 4 Aug 2000 03:02:40 GMT
|
Viewed:
|
1319 times
|
| |
 | |
"Mario Ferrari" <mario.ferrari@edis.it> wrote in message
news:Fyo60o.6LF@lugnet.com...
> Hi Mauro
>
> I find your project very challenging, being navigation one of my main
> interests inside Lego-robotics. About 18 months ago I made my first
> experience with pure odometry (no external landmarks) and found that in the
> short range it is *very* precise. At that time I was using legOS 0.1.7 and
> had to implement all the math in fixed point, writing myself the code for
> the sin, cos, arctan and sqrt functions.
> This is the link to my page about that project:
> http://www.geocities.com/~marioferrari/s7/s7.html
Hi, Mario. you may not remember but we exchanged e-mail before. I questioned
about your old style car with 2 gears, remember?
Your site is great. One of my favorites. If I decide to do one to present my
ideas, that is one I would use as a model. I have been watching ITLUG
challenges also. That's interesting how simple problems requires so much
thinking, testing and improvement. Of course I got some ideas by your
comments from the dragster races and the line following competition,
especially the battery discussion. We are trying to organize a brazilian
users group. ITLUG events and presentation are great.
Yes, I know, I'm not so original. :) Unfortunatelly I did not visit both
sites for some time so I don't know if there are any news.
> The problem intrisic to odometry is that it accumulates errors, so you
> definitely need some landmark system to reset the robot to a specific
> position.
You got exactly my point!
> Some free thoughts about this topic:
>
> 1) With a differential drive setup, you could use two rotation sensors both
> for navigation between landmarks, and for collision detection: when the
> wheels are supposed to rotate (motor on) but don't, you know you are against
> an obstacle. Very simple but effective. You now can use the third sensor
> port for a light sensor bound to landmark detection.
Nice approach. It combines a nice way to measure travel distance, turn angle
and object detection, all in one.
Unfortunatelly I have no rotation sensors yet. It's virtually impossible to
get them here in Brazil but I met a guy who did. I hope to get 2 and try
this. I'll try this for sure as soon as I can.
The only disadvantage is that all 3 ports are used so there is no room for a
touch sensor, unless you combine it with the light sensor for additional
functions.
Meanwhile I must rely on regular sensors so I must use timing for rotation
and distance measure and use the landmarks for corrections.
> 2) A grid of tape on the floor works very well as artificial landmark. Use
> different color for the horizontal and vertical lines, so you're sure of
> what kind of line you crossed.
I bought a lot of colored tapes for experiments with that already. :)
Unfortunatelly, I still could not find a dark grey one or similar. Most dark
tapes I found were plastic so they reflects light and are recognized as a
light color.
The problem is that my apartment is not a controllled environment. It varies
from colored carpet to wood floor and other types. The main challenge is to
find a color that can be diferentiated from the floor. I just acquired a
silver tape that may work well for that. Not tested yet. Once the detect
robot detects it is inside the landmark, it can run a landmark routine until
it detects it is out of it.
Although the idea of vertical and horizontal lines seens good, I still
didn't figure out a good algoritm to deal with that. The light sensor
measures a mean light reflection. That means that if it over the edge of a
black light and a white paper, the reading could be the same as the one from
a gray line. I confess I still didn't try that. Sometimes you must see the
robot working to figure out a solution...
> 3) A different landmarking approach could be using a laser beam to query
> some base stations (if you're open to use a non-Lego laser pointer). The
> idea is you have a roating laser pointer connected to a motor and a rotation
> sensor (multiplied to increase resolution). When the robot wants to
> calculate its position, it stops and starts slowly rotating the laser beam.
> The base stations have a light sensor positioned at the same height of the
> laser beam. When the light sensor gets hit by the laser light, it reads
> almost 100% and the base station transmit an IR message to say "got it".
> Receiving the IR message the robot reads the rotation sensor and measure the
> angle against the base station. If you have at least two base stations, you
> can apply some trig and find your position with very good approximation
> (except the case you're on the ideal line that connects the two stations).
> Three stations is definitly a better configuration. One of the base stations
> could also be your recharging station.
> The limitation is you need the base station are "visible" from the robot.
I already got a lsaer pointer but i never figure out what to do with that.
I bought a book ("Mobile Robots") that mentions a comercial robotic vacuum
cleaner that uses a similar approach. He also have a rotating laser pointer
but also have a rotating ligt sensor. In his case the stations are passive
and and are designed to reflect the light back. these reflections are a kind
of bar code to identify the stations. I liked the idea but didn't figure out
how to do that yet.
Your idea is good also. The problem is the number of RCX needed. Line of
vision is a problem also, but could be dealt with.
Again, the rotation sensor is needed. :(
> 4) NQC: I love it and use it for most of my project. But I'd say that space
> mapping is off its range. I probably better start directly with legOS.
In fact it is impossible to do with NQC alone, unless it is hard coded due
to variable limitation. You can writeto the datalog but you can't read it
with the RCX. The only way to have a map in NQC is to have it hard coded.
Suppose for example a function MAP (X,Y) , where given coordinates X and Y
it returns a value if there is a obstacle there or not.
That's where the VB program enters. It should generates this NQC function
based on datalog info got from a previous explorer program. I'll make a few
experiments and report results and a more detailed explanation of the
algoritm.
Thanks for your ideas, Mario. You really opened a whole new branch of ideas!
Mauro
|
|
Message has 1 Reply:  | | Re: Autonomous Robot
|
| (...) questioned (...) Sure, I do :-) (...) my (...) Many thanks for your kind words about my and ItLUG sites. I'm happy you like them. I have recently slightly rearranged my site to make navigation easier. I'm going to post some new robots in a few (...) (25 years ago, 4-Aug-00, to lugnet.robotics)
|
Message is in Reply To:
 | | Re: Autonomous Robot
|
| Hi Mauro I find your project very challenging, being navigation one of my main interests inside Lego-robotics. About 18 months ago I made my first experience with pure odometry (no external landmarks) and found that in the short range it is *very* (...) (25 years ago, 2-Aug-00, to lugnet.robotics)
|
37 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
|
|
|
|