Subject:
|
Re: Autonomous Robot
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Wed, 2 Aug 2000 14:38:11 GMT
|
Viewed:
|
1994 times
|
| |
 | |
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
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.
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.
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.
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.
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.
Please keep us informed with your progress.
Mario
Web page: http://www.geocities.com/~marioferrari
LUGNET member page: http://www.lugnet.com/people/members/?m=22
Proud member of ItLUG: http://www.itlug.org
Mauro Vianna <mauro_vianna@hotmail.com> wrote:
> I had an idea to a project that I want to start in a very slow pace. In
> fact, it is based in lots of ideas already presented here in this list so I
> am not sure if someone already tried it before. Any help is welcome.
> The main goal is to build a Lego robot able to navigate inside my home
> without assistance. Although it is simple, it involves a lot of issues, some
> of then already discussed here. The main approach follows:
>
> 1) I will use a landmark approach to navigation. There was a long and very
> good discussion on this matter a few months ago. This approach means that
> the robot will know how to reach an specific location at home moving through
> these landmarks positioned at specific locations. These landmarks be used
> both to tell the robot it arrived a specific location and act as a
> mid-course correction so that it can reorient itself. There are 2 options
> for the landmarks:
>
> a) Piece of paper with lines and color marks. They would have a kind of "bar
> code" to identification and lines for reorientation through line following
> algoritms.
> b) A kind of docking station made of lego pieces. The shapes of the robot
> and station should be in a way that the robot could dock to the station in a
> way that it points to a specific direction, so that it would reset
> orientation. The identification would be a sequence of colored bricks.
>
> Ploblems I already thought about:
> -How to implement a bar code, line following, colision detection etc. with
> the limitation of sensors of a single RCX?
> -How to implement the reorientation in a efficient manner?
> -Mapping algoritm: Can it be implemented with NQC alone? QC and LegOS would
> be an alternative. I was thinking about a hard-coded map in NQC to start. I
> have ideas about that to discuss later.
>
> 2) I would like the robot to be able to recharge its own batteries. The RCX
> can detect the low battery state, so I need a way to recharge them. The
> approach I thought about was to use the 1.0 version with an external battery
> pack (9.6V). When it feels hungry (low battery), it would go to a special
> docking station (in fact a second RCX based robot) that would dettach its
> external battery, replace it with another pack or recharge it. The robot
> would sleep (wait for charging) until it has a battery available. The
> internal batteries would be used to keep it on only so they would last much
> longer.
> I did not test if the RCX keeps on if an outside power source is removed
> even with internal batteries yet. If not, some tampering would be necessary
> (2 packs connected with diodes with fake batteries?)
>
> Problems I already thought about:
> -The batteries connectors must be easy to attack and detach;
> -Possible ripple problem;
> -Battery replacement station mechanics may not be simple...
> -Is there a problem with 9.6V with the RCX? I believe someone already used
> it.
>
> Although the main idea seens complex, I believe it is feasible with Lego
> bricks. All I need is to solve one problem at the time and join the pieces
> later...
>
> Any comments, suggestions and ideas are welcome!
>
> Mauro Roberto Vianna
>
>
>
>
>
|
|
Message has 2 Replies:  | | Re: Autonomous Robot
|
| Hi Mario, Mauro, (...) I tried to get away with a single rotation sensor on a differential drive (put it on one of the output), assuming that I one motor is not moving I could deduce total movement. Unfortunately the turning motor drifts slightly on (...) (25 years ago, 3-Aug-00, to lugnet.robotics)
|  | | Re: Autonomous Robot
|
| "Mario Ferrari" <mario.ferrari@edis.it> wrote in message news:Fyo60o.6LF@lugnet.com... (...) the (...) 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 (...) (25 years ago, 4-Aug-00, to lugnet.robotics)
|
Message is in Reply To:
 | | Autonomous Robot
|
| I had an idea to a project that I want to start in a very slow pace. In fact, it is based in lots of ideas already presented here in this list so I am not sure if someone already tried it before. Any help is welcome. The main goal is to build a Lego (...) (25 years ago, 1-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
|
|
|
|