4.1.6. Summary of Experiment 1b and Experiment 2b

The simulation results of the experiment with a change of master manipulator speed are depicted in Figures 10 and 11. Results of the experiment with a change of slave manipulator speed are shown in Figures 12–14. Both experiments results, where an advanced synchronization algorithm was used, are aggregated in Figures 12 and 15. These results prove that the proposed algorithm can identify a global change of speed of the master element (Experiment 2a) and also of the slave element (Experiment 2b). Most importantly, the algorithm is able to modify the speed of the slave element (elements) feedforward unlike in the case of the standard algorithm. Based on monitoring the operation duration of master and slave manipulators (Figures 10 and 13), and according to evaluation of percentage proportion deviations (Figures 11 and 14), it is clear that the algorithm ensured the time-synchronized movement in the 3rd step of the production cycle from such a change. This resynchronized activity is indicated by a minimized absolute value of percentage proportion deviation *Di,j* in the two operations after this change.

**Figure 10.** Operation duration times of master and slave manipulators with feedforward synchronization—Experiment 1b.

**Figure 11.** Percentage proportion deviation with feedforward synchronization—Experiment 1b.

**Figure 12.** Brief summary of Experiment 1b results.

**Figure 13.** Operation duration times of master and slave manipulators with feedforward synchronization—Experiment 2b.

**Figure 14.** Percentage proportion deviation with feedforward synchronization—Experiment 2b.

**Figure 15.** Brief summary of Experiment 2b results.

#### *4.2. Implementation of the Proposed Solution and Discussion*

The functionality of the designed algorithms was tested in the final phase on real robot manipulators in a multi-robotic cell. The algorithms were processed in the native language of each robotic manipulator controller using its built-in standard functions.

The model robotic cell, used for the purposes of this paper, contains a heterogeneous triplet of robotic manipulators as shown in Figure 16.

**Figure 16.** Heterogeneous multi-robotic cell.

One production cycle consists of five operations (*m* = *5*), and mainly contains instructions for circular interpolation movement in combination with linear interpolation movement. The whole production cycle is schematically shown in Figure 17.

**Figure 17.** Desired set of operations in one production cycle.

The organizational structure of this robotic cell control was realized as master–slave [24,25] without an external control element. The master object (master manipulator) chosen was a Mitsubishi Melfa RV-2FB-D robot with the Mitsubishi CR750-D control system [26]. Robots ABB IRB 120 and ABB IRB 140, with IRC5 Compact control systems, were the child objects-slaves [27]. A personal computer was considered an element of the slave group and provided visualization of the cell activity synchronization process. Configurations of every cell element are listed in Tables 1 and 2. The TCP/IP channel provided communication among cell elements on the basis of socket exchange [25,28].




**Table 2.** Master Configuration.

Confirmed coordination of operations control among robotic manipulators and unconfirmed communication between master and monitoring computer were used in the cell. Confirmed coordination means that after every operation is executed by the master element, a terminating message is sent to the slave side and the master element waits for a confirmation message. The next operation can only be initiated after receiving a confirmation message from the slave object. Unconfirmed communication in this case involves simply receiving messages about the synchronization process by the slave object, without sending any confirmation message to the master object [25].

4.2.1. Master—Mitsubishi Melfa RV-2FB-D

In the case of the Mitsubishi CR750-D controller of the robotic manipulator Mitsubishi Melfa RV-2FB-D, the algorithm application was implemented in MELFA BASIC V language [29]. Communication with the slave object was realized through the initiated TCP/IP channel (Box 1).

**Box 1.** Communication initiation in MELFA BASIC V.

```
Open "COM7:" As#1 'IRB120 IP:192.168.1.120 port 10007
Open "COM8:" As#2 'IRB140 IP:192.168.1.140 port 10008
Open "COM6:" As#3 'PC IP:192.168.1.111 port 10006
```
A duration time of each operation was evaluated and this information was, after the message was received on the completion of each operation by all slave objects, sent in a defined format to these slave objects. This message was also a confirmation message that enabled the beginning of the next operation execution. The operation duration time evaluated by the master object (*Time*) was measured in milliseconds. All of the obtained information was also sent to the visualization part of the application for further processing (Box 2).

**Box 2.** Socket communication in MELFA BASIC V.

