## 4 Description of Subsystems
### The Synchronization Subsystem  
In this section, the error equations will be developed to achieve the synchronization goal. First the trajectory tracking error \(\mathbf{e}_{i}\) of the \(i\)th active joint is defined as follows:  
\[\mathbf{e}_{i}(t)=\mathbf{q}_{d_{i}}(t)-\mathbf{q}_{i}(t) \tag{9}\]  
where \(\mathbf{q}_{d_{i}}(t)\) and \(\mathbf{q}_{i}(t)\) denote the desired and actual trajectories of the \(i\)th active joint, respectively.  
Then, the tracking error vector \(\mathbf{e}(t)\) can be written as follows.  
\[\mathbf{e}(t)=\left[\mathbf{e}_{1}(t)\ \mathbf{e}_{2}(t)\ldots\mathbf{e}_{n}(t) \right]^{T} \tag{10}\]  
The synchronization goal is to make the tracking errors of all active joints identical at all times, which can be achieved if the following is the case.  
\[\mathbf{e}_{1}(t)=\mathbf{e}_{2}(t)=\ldots\mathbf{e}_{n}(t) \tag{11}\]  
In order for (11) to be valid, a control scheme must be aware of all the joint errors and must control the motions of all joints, thereby resulting into possible control and communication errors and heavy real-time computational requirements. Alternatively, (11) can be satisfied by achieving its following sub-goals [8]:  
\[\begin{split}\mathbf{e}_{s_{1}}(t)=2\mathbf{e}_{1}(t)-\left[ \mathbf{e}_{2}(t)+\mathbf{e}_{n}(t)\right]\\ \vdots\\ \mathbf{e}_{s_{i}}(t)=2\mathbf{e}_{i}(t)-\left[\mathbf{e}_{i+1}( t)+\mathbf{e}_{i-1}(t)\right]\\ \vdots\\ \mathbf{e}_{s_{n}}(t)=2\mathbf{e}_{n}(t)-\left[\mathbf{e}_{n-1}( t)+\mathbf{e}_{1}(t)\right]\end{split} \tag{12}\]  
where \(\mathbf{e}_{s_{i}}(t)\) presents the synchronization errors of the \(i\)th active joint.  
It is evident that if all synchronization errors in (12) are equal to zero, then the original synchronization goal stated in (11) is automatically achieved.  
From (12), a synchronization error vector \(\mathbf{e}_{s}\) can be written as follows:  
\[\mathbf{e}_{s}(t)=\begin{bmatrix}2&-1&0&\cdots&-1\\ -1&2&-1&\cdots&0\\ \vdots&\ddots&\ddots&\ddots&\vdots\\ 0&\cdots&-1&2&-1\\ -1&0&\cdots&-1&2\end{bmatrix}\begin{bmatrix}e_{1}(t)\\ e_{2}(t)\\ \vdots\\ e_{n-1}(t)\\ e_{n}(t)\end{bmatrix}=\mathbf{C}\mathbf{e}(t) \tag{13}\]  
where \(\mathbf{C}\) is the synchronization transformation matrix and \(\mathbf{e}_{s}(t)=\left[e_{s_{1}}(t)e_{s_{2}}(t)e_{s_{3}}(t)\ldots e_{s_{n}}( t)\right]^{T}\). The cross-coupling error vector that combines both tracking errors and synchronization errors is defined as follows:  
\[\mathbf{e}_{c}(t)=\mathbf{e}(t)+\alpha\mathbf{e}_{s}(t)=(\mathbf{I}+\alpha \mathbf{C})\mathbf{e}(t) \tag{14}\]  
where \(\mathbf{I}\) is the \(n\times n\) identity matrix, and \(\alpha\) is an \(n\times n\) diagonal positive definite matrix. Since every leading principal sub-matrix of \((\mathbf{I}+\alpha\mathbf{C})\) has positive determinant, \((\mathbf{I}+\alpha\mathbf{C})\) is positive definite. [26]  
**Remark 1**.: _Assuming that all the elements of matrix \(\alpha\) are very small, then if \(\mathbf{e}_{c}(t)\) is controlled such that as \(t\rightarrow\infty\), \(\mathbf{e}_{c}(t)\to 0\) then \(\mathbf{e}(t)\to 0\) and then \(\mathbf{e}_{s}(t)\to 0\) and finally \(\mathbf{e}_{i}(t)=\mathbf{e}_{i+1}(t)\) (synchronization goal)._