# On the Improvement of ROS-Based Control for Teleoperated Yaskawa Robots
## 4 Evaluation of Standard Motoman ROS-Based Control for Teleoperation Tasks  
In this section, the open-source control interface based on standard Motoman driver package [27], created with the cooperation of [PERSON], is experimentally analyzed in order to check its effectiveness for teleoperation tasks of Yaskawa manipulators. Thanks to ROS, it is possible to tag precisely the times when data is sent and received on all nodes. Response time and tracking delay generated by the standard Motoman ROS-based control are investigated. The evaluation of standard Motoman ROS-based control for teleoperation tasks is performed with an Intel Core i7-6700 HQ processor computer. The motion task is done using a 3 DConnexion Space-Mouse Pro device, which requires the implementation of \"Spacenav_node\" from \"joystick_drivers\" metapackage of ROS. The melodic version of ROS is used. For performance tests, we will perform three forward and backward articular motions of only the first axis of the 6 Degrees-of-Freedom (DoFs) Yaskawa GP8 robot, with a YRC1000 controller. The interface between the simulation and real robot is based on the Motoman ROS driver, which allows the interfacing between ROS-Industrial nodes with Yaskawa Motoman robot controllers. Figure 2 shows the GP8 first axis articular displacement \(q_{1}\) issued from the different nodes. The blue (green, red, respectvively) line presents the SpaceMouse motion instructions \(c_{joy}\) (articular displacement orders \(q_{goal}\) calculated by the trajectory generation node, measured robot articular position \(q_{m}\), respectively). Forward (backward, respectively) motions are red-framed (white-framed, respectively). Table 1 summarizes the average of measured delay times of each phase. The measured latency between \(c_{joy}\) and \(q_{m}\) is the image of the total latency. This latency is a decomposition of simulation latency, between \(c_{joy}\) and \(q_{goal}\), and Motoman node latency, between \(q_{goal}\) and \(q_{m}\). Experimental data shows that the total latency average while integrating the standard ROS-based control is equal to 0.780 s (\(>\)0.6 s), which is not acceptable for precise teleoperation tasks [18]. The simulation part has an average latency of 0.232 s, which corresponds to 29.74% of the total latency. The execution of Motoman driver node by sending \(q_{goal}\) and receiving \(q_{m}\) has large delays, whose average is equal to 0.548 s. This corresponds to 70.26% of the total latency average. In addition to these delays, the robot motion presents regular stopping phases, while sending continuous motion task. Performance degradation of teleoperated robot is supposed to be related to software development. Figure 1: Control architecture of a robot teleoperated by a joystick. Figure 3 presents the Motoman ROS node architecture provided by Yaskawa Motoman documentation [35]. This node is based on the principle of two-point trajectories. Each trajectory is discretized by the Motoman ROS node and then sent to the robot controller. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Measured Delay** & **Simulation Latency** & **Motoman Latency** & **Total Latency** \\ _(s)_ & \(c_{joy}\) vs. \(q_{goal}\) & \(q_{goal}\) vs. \(q_{m}\) & \(c_{joy}\) vs. \(q_{m}\) \\ \hline Phase 1 & 0.207 & 0.549 & 0.756 \\ \hline Phase 2 & 0.235 & 0.545 & 0.780 \\ \hline Phase 3 & 0.210 & 0.571 & 0.781 \\ \hline Phase 4 & 0.230 & 0.520 & 0.750 \\ \hline Phase 5 & 0.270 & 0.592 & 0.862 \\ \hline Phase 6 & 0.240 & 0.512 & 0.752 \\ \hline Average & 0.232 & 0.548 & 0.780 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Measured latency while using standard control architecture: Average value. Figure 2: (a) First axis displacement while using the standard Motoman ROS node (b) Zoom on the 5 th phase (c) Zoom on the 6 th phase. The MotoRos code then takes care of applying this interpolation between the different trajectory waypoints. The diagrams of Figures 4 and 5 from MotoRos documentation [35], describe the Motoman ROS node overall behavior.