**3. Design of Multi-Robotic Cell Synchronization Algorithm**

The principle of the synchronization algorithm design is to dynamically adjust the speed of operation performing *Vi,j* on the slave side. The speed adjustment means the change of manipulator endpoint movement speed, based on the synchronization coefficient *Ki,j* - *K* = *{K1,1,* ... *, Kn,m}*. This coefficient *Ki,j* is evaluated for each operation *Oj* for each slave manipulator *MSi* based on Equation (1).

$$\mathcal{K}\_{i,j} = T\_{i,j}/T\_{1,j} \tag{1}$$

The synchronization coefficient *Ki,j* therefore represents the ratio of the operation duration *T1,j* of the master element and the operation duration of the slave element *Ti,j* for *i* = (2, ... , *n*).

It is necessary to emphasize that although the speed *Vi,j* is based on coefficient *Ki,j* recalculated immediately after operation *Oj* execution, the new speed value is used only in the next cycle.

The ability of the master manipulator *M1* to distribute operation *Oi* duration time *T1,j* after performing for each slave manipulator *MS* is the obligatory condition for feasibility of this proposal.

### *3.1. Basic Synchronization Algorithm*

The elemental analysis results in the basic synchronization algorithm, which is the same for each slave manipulator *MSi*; its structure is depicted in Figure 2.

**Figure 2.** Basic algorithm for synchronization of robotic cell operations.

As is later mentioned in Section 4.1., the main disadvantage of the proposed algorithm is low reaction speed to changes in master or slave behavior. This is contrary to the requirement R08 from Figure 1. Every change of master manipulator *M1* (or slave manipulator *MSi*) activity is captured immediately so the synchronization coefficient *Ki,j* is evaluated. This leads to the adjustment of endpoint movement speed *Vi,j* of each slave manipulator *MSi*. However, the adjusted endpoint movement speed *Vi,j* is actually used during movement of the slave manipulator *MSi* in the next production cycle.
