kcontrol version 0.4.7
simple control mode
When the khepera robot is set up in the direct control mode environment
we have a completly serial execution model for the code. This model has mainly four
steps of execution. They are describes as follows
- The time tC is needed to perform some calculations on the host computer
depending on the used algorithm. The time tC is mostly unknown.
- Then a command is formed an sent to the khepera. The time tT for this second step
could be estimated by counting the length of the command in bits and dividing
by the used baudrate.
- In the next step we count the time tE for the execution of the commands,
receiving, collecting and sending of data on the robot. The length of this time is also
mostly unknown.
- In the last step we receive data from the robot. The needed time tR is
also estimated on the lenght of the received data as in step 2. Then the execution
resumes on step 1. We consider the sum over these four times to be one update
interval.
This model has several disadvantages. There can be a large delay between the
request of a special command and its execution. Also the sensory data being read from
the robot reflects a state back in time. These delays force us to run the robot
at slow speed. Another disadvantage is that one CPU has to wait for the other
since the execution depends on the data which is exchanged between the host and the
robot. With this model a reaction to event in sensory input can take two
under some circumstances up to three update steps.
duplex control mode
With the duplex model we introduce some sort of parallelism into the execution.
We assume that the serial ports of both the host and the robot have a modern
communication chip which can send and receive at the same time and do some
buffering without CPU interaction (like the 16655 chip). The execution takes
place as in simple control mode but we have two paths of execution. These paths are
overlaid in a way that sending and receiving of data takes place in parallel.
The execution on both CPUs is resumed independently and takes place also in
parallel. With this model we can get more sensory data within a particular time
interval and the run of the robot is somewhat smoother. Also the idle times of
both CPUs are shorter.
back to kcontrol
maintained by
Thomas Pantzer ,
mailto
pantec@aix520.informatik.uni-leipzig.de,
PGP public key available