swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Real time event scheduling?


From: Sorin Lerner
Subject: Re: Real time event scheduling?
Date: Fri, 12 Feb 1999 12:38:04 -0500

"Marcus G. Daniels" wrote:

>
> But it sounds like the only capability you really care about is
> ensuring that consistent transactions occur with RoboCup every 100ms,
> or some multiple of that.  Is that right?

That's correct. We need to send a command to the RoboCup server every 100ms.
The idea in using SWARM to do this is to provide a platform where soccer
playing agents can be developped without regard to the actual environment the
agent is in. Thus, the players all communicate with the soccer field object,
but they have no idea how the soccer field is providing information about the
environment: the soccer field object might do the simulation itself in
Objective C or it might use the services of another simulator, like the
RoboCup server, or it might even interface to a real robot. All of this is
transparent to the players. As a first step, we are concentrating on working
with the RoboCup soccer server, and that's where the 100ms timing comes in.

We have found a simple solution that works well for our purposes. To get SWARM
synchronized with the 100ms cycles of the RoboCup server, we first install an
action that calls the step method of all the players and the soccer field.
Then, using an alarm and a sigsuspend call in the step method of the soccer
field, we can get the soccer field object to wait until the 100ms cycle
expires. In other words, the soccer field ensures that the simulation steps of
SWARM are actually 100ms apart. This is similar to the solution that Jonathan
Impett has posted, but instead of continually polling for time, we are just
absorbing the remainder of the cycle by sleeping in the soccer field object.
For our purposes this also mimics the conceptual flow of information. Indeed,
the soccer field object knows best what the time constraints are, so it makes
sense that it be the one that controls the timing.

I know that this might be defeating some of the concepts that SWARM was
designed for, but right now it's the only solution that I can see. Does
anybody have any other suggestions?

Sorin



                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]