4.2.3. Visualization—MATLAB Application

For the visualization of the robotic cell behavior, any development tool supporting functionalities for sockets processing can be used. In this case, the visualization part of application was implemented using the MATLAB software tool since it was already used for simulation validation of the proposed solution. The capability of MATLAB to access existing system Java classes to be used in the MATLAB workspace [31–34] was utilized in this application part. The communication with the master object was realized through the activated TCP/IP channel (Box 7).

#### **Box 7.** Communication initiation in MATLAB.


The received message from the master object consisted of cell object identifier (*station*), operation identifier (*index*), and operation duration (*value*). After decoding, the message was used as a data source for graphical representation (3D bar graph) of the production process in the robotic cell, as shown in Figures 18–20 (Box 8).

**Box 8.** Socket communication in MATLAB.

**Figure 18.** Visualization of operation duration in the production process.

The graph in Figure 18 was updated after each operation. Information on the operation duration of all participating executive elements was collected and subsequently distributed by the master manipulator.

#### 4.2.4. Implementation Results

Implementation results are represented based on the visualization part of the application. The operation durations of all cell elements during the production process with the implemented basic algorithm without feedforward synchronization are depicted in Figure 19.

The change of endpoint movement speed of the master manipulator occurred in this case during operation number two in production cycle five (Figure 19e). The production cell activities were resynchronized after the 2nd operation in the next production cycle (Figure 19f).

**Figure 19.** Implementation and visualization–synchronization without feedforward effect. (**a**) Initial cycle; (**b**) Quasi-synchronized state; (**c**) Nearly-synchronized state; (**d**) Synchronized state; (**e**) Master speed change cycle; (**f**) Resynchronized state.

In the case of the advanced algorithm with feedforward synchronization implementation (Figure 20), the movement speed change of the master manipulator endpoint occurred in operation one during production cycle five (Figure 20d). The feedforward effect ensured production cell activities were resynchronized in the next two operations in the same production cycle (Figure 20e).

On the basis of the obtained results depicted in Figures 19 and 20, it is clear that the proposed and simulation-validated algorithm for the synchronization of the movement speeds of manipulators (representing endpoint movement speeds) grouped in heterogeneous robotic work cells is functional and applicable. The deviations in achieved operation duration times of master and slave robotic manipulators in the initial production cycles (Figure 19b,c and Figure 20b) are noticeable. These are caused by non-linear characteristics of the movement of robot arms (acceleration, deceleration), and because operations two and four are composed of several movements of different types (linear, circular). However, this disproportion is fully eliminated by dynamic speed correction of the slave manipulators during subsequent cycles.

In the case of basic non-feedforward synchronization, the system reaction to the endpoint movement speed change of the master manipulator was as expected. The process was resynchronized in the next production cycle in the same operation, where the change occurred.

The results also indicate that the reaction of slave manipulators to the global change of the master manipulator speed with the use of feedforward synchronization persists in real conditions for an additional cycle step (Figure 20e) than is presented in Section 3.1 for the simulated system with idealized conditions. The reason for this difference is that the master manipulator speed change occurred during operation execution. The percentage proportion deviation among these operation durations (between master and each slave) is thus different from the percentage proportion deviation among durations of the next operation that is completely performed at the changed speed.

**Figure 20.** Implementation and visualization–synchronization with feedforward effect.(**a**) Initial cycle; (**b**) Nearly-synchronized state; (**c**) Synchronized state; (**d**) Master speed change cycle; (**e**) Resynchronized state in the same cycle; (**f**) Synchronized state.
