Skip to main content
Log in

Real-time motion control on Android platform

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Bollela G, Brosgol B, Dibble P et al (2001) Real-time specification for Java. Addison-Wesley, Reading

  2. 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

  3. Rostedt S, Hart DV (2007) Internals of the RT patch. In: Proceedings of the Ottawa Linux symposium, Ottawa, Ontario, Canada, pp 161–172

  4. 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

  5. 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

  6. 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

  7. 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

  8. Cereia M, Bertolotti IC, Scanzio S (2011) Performance of a real-time EtherCAT master under Linux. IEEE Trans Ind Inform 7(4):679–687

    Article  Google Scholar 

  9. Jansen D, Büttner H (2004) Real-time Ethernet: the EtherCAT solution. IEEE J Comput Control Eng 15(1):16–21

    Article  Google Scholar 

  10. 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

  11. 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

  12. Eindhoven University of Technology (2014) Simple open EtherCAT Master. SOEM Web page. http://sourceforge.net/projects/soem.berlios. Accessed 25 March 2015

  13. Sha L, Rajkumar R, Lehoczky JP (1990) Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans Comput 39(9):1175–1185

    Article  MathSciNet  Google Scholar 

  14. 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

  15. 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

  16. Bernstein D (2008) Dalvik VM internals. Google I/O conference. https://sites.google.com/site/io/dalvik-vm-internals. Accessed 25 March 2015

  17. Oracle (2015) Java native interface specification. https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/jniTOC.html. Accessed 25 March 2015

  18. 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

  19. 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

  20. Yaghmour K (2001) The real-time application interface. In: Proceedings of the Ottawa Linux symposium

  21. 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

  22. 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

  23. Buttazzo G, Bini E, Yifan Wu (2011) Partitioning real-time applications over multicore reservations. IEEE Trans Ind Inform 7(2):302–315

    Article  Google Scholar 

  24. Kim I, Kim T (2015) Guaranteeing isochronous control of networked control systems using phase offset adjustment. Sensors 15:13945–13965

    Article  Google Scholar 

  25. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kanghee Kim.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-015-1542-5

Keywords

Navigation