**5. Conclusions**

In this study, we presented seven requirements of real-time robot SW platform that can be used for industrial robot and examined whether existing middleware such as ROS, OPROS, openRTM, and RTMIA [15] satisfy these requirements. In particular, communication middleware such as ROS has a disadvantage of demanding the user to have more knowledge about the real-time operating system to use the industrial robot but advantage that its usage is simpler because it does not manage execution of processes and/or threads. On the other hand, OPRoS, openRTM, and OROCOS manage the execution of threads for periodic execution but does not control the execution of processes.

In this study, we proposed the real-time robot SW platform that satisfied the presented seven requirements R1–R7 by extending RTMIA and demonstrated its implementation on the Xenomai real-time operating system and Linux. The proposed SW platform utilized the timer-interrupt based approach to keep strict period and the shared memory for convenient usage.

We applied our method to a practical robot system, wherein the programs of PLC and the robot were used simultaneously, and their corresponding operating results were also presented. In this implementation, PLC ladder program and robot control program were managed using period of 10 milliseconds. As the implemented application was simple, it was not shown that event handling and execution of periodic processes were working well. But they did work well. That is, it can be known that the proposed platform satisfied requirements R1–R7. As a result, the platform proposed in this study was verified.

The other advantage of this study is the method to access shared variable. It can be known that it is generally easy and convenient to read and write the shared variables using the conventional variable access method when the shared variables defined in other threads are accessed. Hence the proposed method for accessing of shared variables is designed for multiple processes or threads to have mutually exclusive access to shared variables using the conventional variable access method. And it is shown that the proposed method for accessing of shared variables is working well.

**Author details**

, Donguk Yu<sup>2</sup>

2 Navcours, Daejeon, South Korea

University, Gangwon-do, South Korea

provided the original work is properly cited.

of Industrial Technology, Gyeonggi-do, South Korea

*Real-Time Robot Software Platform for Industrial Application*

*DOI: http://dx.doi.org/10.5772/intechopen.91014*

\*Address all correspondence to: hspark@kangwon.ac.kr

, Hoseok Jung<sup>1</sup> and Hong Seong Park<sup>3</sup>

1 Convergent Technology R&D Division, Robot R&D Group, Korea Institute

3 Department of Electrical and Electronic Engineering, Kangwon National

© 2020 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium,

\*

Sanghoon Ji<sup>1</sup>

**119**

Future work may include investigating a robotic platform that optimally operates multiple threads in multicore systems. And the proposed platform will be implemented on the μC/OS.

### **Acknowledgements**

This work was partially supported by KITECH research fund and Korea Evaluation Institute of Industrial Technology (KEIT) grant funded by the Ministry of Trade, Industry & Energy (KOREA) (No. 20004535 and No. 20005055).

*Real-Time Robot Software Platform for Industrial Application DOI: http://dx.doi.org/10.5772/intechopen.91014*
