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
  1. The time tC is needed to perform some calculations on the host computer depending on the used algorithm. The time tC is mostly unknown.
  2. 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.
  3. 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.
  4. 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