On 5 Nov 2005 08:51:30 -0800, "Andreas" <soror78@hispeed.ch> wrote:
>So with an 802.11g it's possible to handle 30
>robots.
That's 10 robots on 3 non-overlapping channels. However, I'm sure it
could be done with 50 bots on just one channel using UDP and by
limiting transmissions to only those bots that needed an update.
The proposed system was essentially interrupt drive. The speed and
direction was sent to the bot. The bot had enough intelligence to
point itself in the correct direction and start moving. If it hit
anything along the way, it would transmit an interrupt (packet) and
the controlling program would need to revise the speed and direction.
This drastically reduced the transmission times.
>We also want to do it off the shelf,
>because we haven't enough time.
That's fine because you'll have plenty of time to do it over again.
Is this a club, skool, or class project?
http://www.cs.cmu.edu/~brettb/robocup/ http://www.eurobot.org/eng/ http://www.robot-ch.org/site/index.php?sel_lang=english
Which one?
>I think we will build "intelligent"
>robots with implemented collision detection and motor control. In case
>we send only commands like "go to position X with speed Y". Then we
>will only need about 2 or 3 Messages per second and robot.
That will barely work. That's far too high an update rate.
Since ours was indoors, the designers decided to NOT use a GPS or
hyperbolic location system but used an overhead video camera (Global
vision) and PC provided the location of each robot. The last version,
which was NOT working before the project died, use multiple cameras
and parallax location. However, both of these systems had problems
with long delay times in locating the bots. 200msec to several
seconds was typical. That resulted in failure of simple positioning
algorithms such as what you're suggesting. In some cases, the bot
would arrive at its destination before the position report arrived
resulting in some rather bizarre behavior. It also forced maneuvering
to be limited to straight line positioning. The update problem was
reduced by limiting position update to only after a collision, where
it was imperitive to obtain a corrected position.
Let's run the numbers. 3 position updates per second per bot requires
333msec latency. If a position report is delayed by 333msec, it won't
work. However, 50 bots on a channel requires 6.67msec latency, and
that's not going to happen in an 802.11g collision infested
environment. Even splitting it over 3 channels at 20msec latency is
going to be difficult (one channel per team). Fortunately, you don't
have to update all 50 robots at one time and will probably be
concentrating on a few active players. The active bots can possible
do 3 updates per second, but the other will need to wait much longer.
I'll leave the algorithmic problem to you, but I suspect that you will
need to drastically reduce your transmission rate.
>Can you
>rememer what kind of WLAN modules they used? I could only find modules
>with 802.11b for embedded Systems (we would like to connect them with a
>serial port). A module with 802.11g would be nice i think. Any
>suggestions?
Yes, but it was too long ago to be useful. At the time, all that was
available was 802.11b. The SBC (single board computer) were various
overpriced PC104 designs (Kontron?) with a mezzanine PCMCIA adapter
board and an Orinocco classic silver card. This was not going to be
the final production robot, but the company imploded before the cost
and configuration could be optimized.
--
Jeff Liebermann
jeffl@comix.santa-cruz.ca.us
150 Felker St #D
http://www.LearnByDestroying.com
Santa Cruz CA 95060
http://802.11junk.com
Skype: JeffLiebermann AE6KS 831-336-2558