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 / 18108
18107  |  18109
Subject: 
Re: Even better, RIS 1.5, $99.99
Newsgroups: 
lugnet.robotics
Date: 
Sun, 9 Jun 2002 00:55:17 GMT
Original-From: 
Steve Baker <sjbaker1@airmail.net*Spamless*>
Reply-To: 
sjbaker1@airmail.NOMORESPAMnet
Viewed: 
702 times
  
Jonathan Spitz wrote:
I have thought about those methods as well, the only problem is when you
don't work with the RCX's for just one robot. When you want to try a little
bit with AI and interactions between different robots you can't have a
master that requests, unless you use it to communicate as a telephone
operator, we would need to find a way in wich two or more robots can
communicate without messing up, as you can't have more than one
"conversation" at a time you can't tell the other robot to wait. If instead
of using IR it used a Radio comm. it would be easier as every robot would
know when the others are talking. This subject still needs lots of
investigation.


What makes this REALLY difficult is that the communications medium is
error prone - it's all too easy for two robots to get out of IR contact
with each other when they are moving around.

That makes all the usual protocols very difficult.  In the real world,
we use protocols like TCP/IP (which is one of the most important protocols
on the Internet) that can route around communication breakages and send
messages via intermediaries, repeat messages that got lost, etc, etc.

The problems with using that for RCX are severe though - you don't have
enough code space to implement all of that - and the S-L-O-W speeds of
the IR link would make a fully bullet-proofed scheme *unbearably* slow.

What I was doing worked well only because the five Lego computers were
carefully arranged so that the RCX could see all of the 'slave' Scout's
and each Scout could see the RCX.  With a request/response approach, that's
enough.  With a token-ring, everyone has to be able to see everyone else -
which is harder to arrange in a practical robot (although I did sucessfully
implement that too).

The Ethernet low-level protocol is interesting, it uses a trick called
'ALOHA' to solve the "everyone talking at once" problem.  ALOHA works
like this:

   * When I want to send a message, I listen to make sure there are no
     messages currently being sent.

   * When the air is quiet, I send my message *LISTENING TO WHAT I SEND*.

   * If what I hear is exactly what I sent - then the message went out OK.

   * But if the message I sent is screwed up (because someone else happened to
     start talking at more or less the exact same moment as I did) then
     I deliberately broadcast garbage for a while to make sure that everyone
     else *knows* that both messages were corrupted.

   * Then I wait for a RANDOM amount of time - and try all over again.

   * If I have to retry more than once, I wait for statistically increasing
     amounts of time on each retry.

Waiting for a random time when something goes wrong otherwise two computers
whose messages collide would probably retry at the exact same moment and
cause another collision.  Waiting a random amount of time reduces the odds
of another collision and guarantees that the two machines will *EVENTUALLY*
get through without colliding if they retry enough times.

Aloha might be a good approach for IR - but it's not clear whether an
RCX can reliably read it's own IR output signal.

----------------------------- Steve Baker -------------------------------
Mail : <sjbaker1@airmail.net>   WorkMail: <sjbaker@link.com>
URLs : http://www.sjbaker.org
        http://plib.sf.net http://tuxaqfh.sf.net http://tuxkart.sf.net
        http://prettypoly.sf.net http://freeglut.sf.net
        http://toobular.sf.net   http://lodestone.sf.net



Message is in Reply To:
  Re: Even better, RIS 1.5, $99.99
 
I have thought about those methods as well, the only problem is when you don't work with the RCX's for just one robot. When you want to try a little bit with AI and interactions between different robots you can't have a master that requests, unless (...) (22 years ago, 9-Jun-02, to lugnet.robotics)

12 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