# FPGA Applied to Latency Reduction for the Tactile Internet
## 5 Simulated Tactile Internet Model  
Figures 1 and 4 details the structure used for the hardware design in FPGA, in which a given operator, OP, handles a PHANToM Omni on the master side, MD, which is connected to HMD that, in this case, is a dedicated FPGA hardware. Data are transmitted through the network, the NW subsystem, to HSD which is also a dedicated hardware in FPGA. The HSD is also connected to a PHANToM Omni that interacts with the environment, the ENV subsystem. Figure 4 also details the backwards direction from the ENV and the OP. The OP is modeled as an information source responsible for generating a spatial trajectory through discrete signals expressed in the \(\mathbf{a}(n)\) array. At each \(n\)-th instant \(t_{s}\) the OP sends three variables \(x^{OP}(n)\), \(y^{OP}(n)\) and \(z^{OP}(n)\) representing the positioning of the MD tool (Figures 2 and 3) in the Cartesian space an this is expressed by  
\[\mathbf{a}(n)=\left[x^{OP}(n),y^{OP}(n),z^{OP}(n)\right]. \tag{42}\]  
Both devices, master and slave PHANToM Omni, and the structures that form the system were modeled and simulated on Matlab/Simulink [43] and Xilinx System Generator. This step simulates the spatial movement of the MD tool by the operator, that is, at each instant of time, \(t_{s}\), a spatial movement is performed and a new signal \(\mathbf{a}(n)\) is generated by the OP. Figure 4: Detailed discrete model of a tactile internet system. The PHANToM Omni has encoders at its three joints that translate spatial positioning at the three angles \(\theta_{1}\), \(\theta_{2}\) and \(\theta_{3}\) (Figures 2 and 3). Thus, based on Figure 4, it can be said that MD converts the signal \(\mathbf{a}(n)\) into a signal expressed as  
\[\mathbf{b}(n)=\left[\theta_{1}^{MD}(n),\theta_{2}^{MD}(n),\theta_{3}^{MD}(n)\right] \tag{43}\]  
and forwards it to the HMD at every \(n\)-th instant of time \(t_{s}\). Then, as can be seen in Figure 4, the \(\mathbf{b}(n)\) signal propagates to the HMD, which on receiving the signal transforms the joint positioning angles, \(\mathbf{b}(n)\), into spatial position by calculating the FK according to Equations (15)-(17). All equations are implemented in FPGA through a hardware module called the FK-HMD. The equations are implemented in parallel which can significantly increase the processing time. The use of FK is motivated by an reduction of the amount of information utilized, i.e., for a \(N\)-DoF robotic manipulator \(N\) joint angles will be generated and that can be converted into only three values associated with the spatial position of the tool, \(x\), \(y\) and \(z\). On the other hand, the use of this strategy increases the amount of calculations to be performed by the MD, which is compensated by the parallel implementation of the algorithm in FPGA. It is essential to note that the use of custom hardware operating in parallel allows processing time not to be substantially affected by \(N\). Based on Section 3, after the FK calculation by the FK-HMD hardware module, a new discrete signal is created that can be expressed by  
\[\mathbf{c}(n)=\left[x^{HMD}(n),y^{HMD}(n),z^{HMD}(n)\right] \tag{44}\]  
where \(x^{HMD}(n)\), \(y^{HMD}(n)\) and \(z^{HMD}(n)\) are the values of the spatial coordinate array generated by the HMD to be sent to HSD via the communication medium, NW. The FK-HMD hardware module generates a new \(\mathbf{c}(n)\) array every \(n\)-th instant of time.