# FPGA Applied to Latency Reduction for the Tactile Internet
## 7 Results

Table 3: Hardware speedup related to the time limits for the 1 ms and 10 ms latency constraints. was implemented in FPGA for computing the sine, cosine, and tangent arc functions. The proposed hardware was implemented using a 32-bit floating-point representation. The total time to perform the calculations was 1240 ns. The calculations are performed in parallel. Comparing to the forward kinematics (FK) implementation using 32-bit floating-point proposed by this work, the speedup was 26.38\(\times\) over the model presented in [30]. The work presented in [31] shows the results of an implementation of the inverse kinematics module using floating-point 32-bit representation. Three types of implementations are presented, but only the one with the best performance was compared. For that, it was used an Altera Cyclone IV FPGA, in which a microprocessor system based on the Nios II soft-processor was build. This processor enables to perform operations such as hardware summation multiplication, subtraction division and square root. The equations allow partial parallelization of individual operations, decreasing the computation time. The kinematic model was designed to work with a 3-DoF device, and the time required to calculate is 143000 ns. When compared with the proposal of inverse kinematics (IK) presented in this work, which uses 32-bit floating-point representation, this implementation presented a speedup of 655.96\(\times\) over in relation to the model proposed by [31]. The kinematics models presented in [32] described in Table 4, presented data regarding the forward and inverse kinematics implementations for controlling a 6-DoF device using the 32-bit fixed-point representation. The modules were implemented using 21-bit for the fractional part and 11-bit in the integer part. For the forward kinematics (FK), 3000 ns are required to perform all calculations, and for inverse kinematics (IK), 4500 ns is required. Based on the results of the implementations presented in this section, the implementation proposed for this work using floating-point representation had a speedup of 63.82\(\times\) for forward kinematics and 20.64\(\times\) for the inverse kinematics. The research presented in [33] proposed a hardware implementation of inverse kinematics to control a 10-DoF device. Although the robotic model has 10 Dof, the equations for the calculations are just composed of subtraction and division calculations. Regarding trigonometric calculations, only the tangent arc is used in the equations, and the square root used through the CORDIC module. The hardware was projected using the 32-bit fixed-point representation, however the amount of bits used in the fractional part was not specified. The architecture proposed to calculate the inverse kinematics requires 440 ns to perform the computation. All calculations are performed by the hardware in parallel. Comparing to the inverse kinematics (IK) implementation using 32-bit floating-point proposed by this work, the speedup was 2.01\(\times\) over the model presented in [33]. The processing time has a lower value when considering the DoFs, but this is due to the fact that the algorithms are less complex. The authors in [34] present the results of fixed-point implementation for forward and inverse kinematics to control a 5-DoF device, as described in Table 4. The proposed hardware implementation uses the numerical representation of 32-bit (15-bit to fractional part) and 16-bit (7-bit to fractional part) in different parts of the modules. The equations associated with the calculation of the forward and inverse kinematics make use of the trigonometric functions sine, cosine, arctangent, and arccosine. To perform the arctangent and arccosine, the Taylor series expansion was used. The time required to perform the calculations is 680 ns and 940 ns for forward and inverse kinematics, respectively. Comparing to the floating-point implementation proposed by this work, the speedup was 14.46\(\times\) for forward kinematic and 4.31\(\times\) for inverse kinematic over the model presented in [34].