Abstract
Recently, it is increasingly important to provide good real-time performance with the Android platform, since it has been used in industrial devices. The Android platform, however, does not provide a tight real-time guarantee that is required by such industrial devices as robots. Until a real-time extension of the Android platform becomes publicly available, application developers need a lightweight application-centric approach to achieve good real-time performance on the existing platform. This paper proposes an application-centric approach requiring no real-time extensions of the Android platform, which centers around multi-core partitioning and partition-aware application design. Following the proposed approach, we present an implementation study of motion control applications where the real-time tasks of the target application run on dedicated processor cores as a native Linux process while the non-real-time tasks run on other cores as an Android process. In the paper, we prove that the proposed approach is enough effective to deal with motion control applications on the existing Android platform with no real-time extensions. Our experiments show that on a quad-core Android board we can achieve such a good real-time performance as 99 % task activation jitters less than 5 µs for a motion control application with four real-time tasks and a period of 500 µs.
Similar content being viewed by others
References
Bollela G, Brosgol B, Dibble P et al (2001) Real-time specification for Java. Addison-Wesley, Reading
Gerum P (2004) Xenomai—implementing a RTOS emulation framework. Xenomai Official Web site. http://www.xenomai.org/documentation/xenomai-2.5/pdf/xenomai. Accessed 25 March 2015
Rostedt S, Hart DV (2007) Internals of the RT patch. In: Proceedings of the Ottawa Linux symposium, Ottawa, Ontario, Canada, pp 161–172
Maia C, Nogueira L, Pinho LM (2010) Evaluating Android OS for embedded real-time systems. In: Proceedings of the 6th international workshop on operating systems platforms for embedded real-time applications, Brussels, Belgium, pp 63–70
Mauerer W, Hillier G, Sawallisch J, Honick S, Oberthur S (2012) Real-time android: deterministic ease of use. In: Proceedings of the 18th LinuxTag, Berlin, Germany
Yan Y, Cosgrove S, Anand V, Kulkarni A, Konduri SH, Ko SY, Ziarek L (2014) Real-time Android with RTDroid. In: Proceedings of the 12th international conference on mobile systems, applications, and services, Bretton Woods, NH, USA, pp 273–286
Kalkov I, Franke D, Schommer JF, Kowalewski S (2012) A real-time extension to the Android platform. In: Proceedings of the 10th international workshop on Java technologies for real-time and embedded systems, pp 105–114
Cereia M, Bertolotti IC, Scanzio S (2011) Performance of a real-time EtherCAT master under Linux. IEEE Trans Ind Inform 7(4):679–687
Jansen D, Büttner H (2004) Real-time Ethernet: the EtherCAT solution. IEEE J Comput Control Eng 15(1):16–21
Prytz G (2008) A performance analysis of EtherCAT and PROFINET IRT. In: Proceedings of the 13th IEEE international conference on emerging technologies and factory automation, pp 408–415
Pose F (2013) IgH EtherCAT Master 1.5.2 documentation. IgH EtherLab Official Web site. http://www.etherlab.org/en/ethercat. Accessed 25 March 2015
Eindhoven University of Technology (2014) Simple open EtherCAT Master. SOEM Web page. http://sourceforge.net/projects/soem.berlios. Accessed 25 March 2015
Sha L, Rajkumar R, Lehoczky JP (1990) Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans Comput 39(9):1175–1185
Henriksson R (1998) Scheduling garbage collection in embedded systems. PhD Dissertation, Lund University. http://www.cs.lth.se/home/Roger_Henriksson/thesis. Accessed 25 March 2015
Kim MS, Wellings A (2008) An efficient and predictable implementation of asynchronous event handling in the RTSJ. In: Proceedings of the 6th international workshop on Java technologies for real-time and embedded systems, New York, NY, USA, pp 48–57
Bernstein D (2008) Dalvik VM internals. Google I/O conference. https://sites.google.com/site/io/dalvik-vm-internals. Accessed 25 March 2015
Oracle (2015) Java native interface specification. https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/jniTOC.html. Accessed 25 March 2015
Paolieri M, Quinones E, Cazorla FJ, Wolf J, Ungerer T, Uhrig S, Petrov Z (2011) A software-pipelined approach to multicore execution of timing predictable multi-threaded hard real-time tasks. In: Proceedings of the 14th annual IEEE international symposium on object/component/service-oriented real-time distributed computing, pp 233–240
Hardkernel Inc (2013) Odroid-x2. Hardkernel Official Web site. http://www.hardkernel.com/main/products/prdt_info.php?g_code=G135235611947. Accessed 25 March 2015
Yaghmour K (2001) The real-time application interface. In: Proceedings of the Ottawa Linux symposium
Xi S, Wilson J, Lu C, Gill C (2011) RT-Xen: towards real-time hypervisor scheduling in Xen. In: Proceedings of the international conference on embedded software, Taipei, pp 39–48
Dong Y, Yang X, Li X, Li J, Tian K, Guan H (2010) High performance network virtualization with SR-IOV. In: Proceedings of the IEEE 16th international symposium on high performance computer architecture, pp 1–10
Buttazzo G, Bini E, Yifan Wu (2011) Partitioning real-time applications over multicore reservations. IEEE Trans Ind Inform 7(2):302–315
Kim I, Kim T (2015) Guaranteeing isochronous control of networked control systems using phase offset adjustment. Sensors 15:13945–13965
Canedo A, Ludwig H, Faruque MAA (2014) High communication throughput and low scan cycle time with multi-/many-core programmable logic controllers. IEEE Embed Syst Lett 6(2):21–23
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported in part by the MSIP (Ministry of Science, ICT and Future Planning), Korea, under the C-ITRC (Convergence Information Technology Research Center) support program (IITP-2015-H8601-15-1001) supervised by the IITP (Institute for Information and communications Technology Promotion), in part by the National Research Foundation of Korea(NRF) grant funded by the Korea government (No. 2012015266), and in part by ICT R & D program of MSIP/IITP [14-824-09-008, the research and development of the self-adaptive software framework for various IoT devices].
Rights and permissions
About this article
Cite this article
Kang, H., Kim, D., Kang, J. et al. Real-time motion control on Android platform. J Supercomput 72, 196–213 (2016). https://doi.org/10.1007/s11227-015-1542-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-015-1542-5