Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/IROS51168.2021.9636617guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article

JCopter: Reliable UAV Software Through Managed Languages

Published: 27 September 2021 Publication History

Abstract

UAVs are deployed in various applications including disaster search-and-rescue, precision agriculture, law enforcement and first response. As UAV software systems grow more complex, the drawbacks of developing them in low-level languages become more pronounced. For example, the lack of memory safety in C implies poor isolation between the UAV autopilot and other concurrent tasks. As a result, the most crucial aspect of UAV reliability-timely control of the flight-could be adversely impacted by other tasks such as perception or planning. We introduce JCopter, an autopilot framework for UAVs developed in a managed language, i.e., a high-level language with built-in safe memory and timing management. Through detailed simulation as well as flight testing, we demonstrate how JCopter retains the timeliness of C-based autopilots while also providing the reliability of managed languages.

References

[1]
E. Petritoli, F. Leccese, and L. Ciani, “Reliability and maintenance analysis of unmanned aerial vehicles,” Sensors, vol. 18, no. 9, p. 3171, 2018.
[2]
M. Osborne, J. Lantair, Z. Shafiq, X. Zhao, V. Robu, D. Flynn, and J. Perry, “Uas operators safety and reliability survey: Emerging technologies towards the certification of autonomous uas,” in 2019 4th International Conference on System Reliability and Safety (ICSRS). IEEE, 2019, pp. 203–212.
[3]
G. Steinbauer, “A survey about faults of robots used in robocup,” in Robot Soccer World Cup. Springer, 2012, pp. 344–355.
[4]
T. Sotiropoulos, H. Waeselynck, J. Guiochet, and F. Ingrand, “Can robot navigation bugs be found in simulation? an exploratory study,” in 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS). IEEE, 2017, pp. 150–159.
[5]
Garcia, Joshua and Feng, Yang and Shen, Junjie and Almanee, Sumaya and Xia, Yuan and Chen, and Qi Alfred, “A comprehensive study of autonomous vehicle bugs,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, 2020, pp. 385–396.
[6]
J. Gosling and G. Bollella, The Real-Time Specification for Java. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 2000.
[7]
JSR 302, “Safety Critical Java Technology,” 2007.
[8]
H. Park, A. Malik, M. Nadeem, and Z. Salcic, “The cardiac pacemaker: Systemj versus safety critical java,” in Proceedings of the 12th International Workshop on Java Technologies for Real-Time and Embedded Systems, ser. JTRES ’14. New York, NY, USA: Association for Computing Machinery, 2014, p. 37–46. [Online]. Available: https://doi.org/10.1145/2661020.2661030
[9]
A. Cavalcanti, A. Wellings, J. Woodcock, K. Wei, and F. Zeyda, “Safety-critical java in circus,” in Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems, ser. JTRES ’11. New York, NY, USA: Association for Computing Machinery, 2011, p. 20–29. [Online]. Available: https://doi.org/10.1145/2043910.2043915
[10]
A. Wellings, M. Luckcuck, and A. Cavalcanti, “Safety-critical java level 2: Motivations, example applications and issues,” in Proceedings of the 11th International Workshop on Java Technologies for Real-Time and Embedded Systems, ser. JTRES ’13. New York, NY, USA: Association for Computing Machinery, 2013, p. 48–57. [Online]. Available: https://doi.org/10.1145/2512989.2512991
[11]
F. Pizlo, L. Ziarek, E. Blanton, P. Maj, and J. Vitek, “High-level programming of embedded hard real-time devices,” in Proceedings of the 5th European Conference on Computer Systems, ser. EuroSys ’10. New York, NY, USA: Association for Computing Machinery, 2010, p. 69–82. [Online]. Available: https://doi.org/10.1145/1755913.1755922
[12]
L. Ziarek and E. Blanton, “The fiji multivm architecture,” in Proceedings of the 13th International Workshop on Java Technologies for Real-Time and Embedded Systems, ser. JTRES ’15. New York, NY, USA: Association for Computing Machinery, 2015. [Online]. Available: https://doi.org/10.1145/2822304.2822312
[13]
F. Pizlo, L. Ziarek, P. Maj, A. L. Hosking, E. Blanton, and J. Vitek, “Schism: Fragmentation-tolerant real-time garbage collection,” in Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, ser. PLDI ’10. New York, NY, USA: Association for Computing Machinery, 2010, p. 146–159. [Online]. Available: https://doi.org/10.1145/1806596.1806615
[14]
F. Siebert, “Hard real-time garbage-collection in the jamaica virtual machine,” in Proceedings of the Sixth International Conference on Real-Time Computing Systems and Applications, ser. RTCSA ’99. USA: IEEE Computer Society, 1999, p. 96.
[15]
S. E. Korsholm, H. SÞndergaard, and A. P. Ravn, “A real-time java tool chain for resource constrained platforms,” Concurrency and Computation: Practice and Experience, vol. 26, no. 14, pp. 2407–2431, 2014. [Online]. Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/cpe.3164
[16]
K. S. Luckow, B. Thomsen, and S. E. Korsholm, “Hvmtp: A time predictable and portable java virtual machine for hard real-time embedded systems,” Concurrency and Computation: Practice and Experience, vol. 29, no. 22, p. e3828, 2017, e3828 cpe.3828. [Online]. Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/cpe.3828
[17]
M. Schoeberl, “Jop: A java optimized processor,” in On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops, R. Meersman and Z. Tari, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2003, pp. 346–359.
[22]
M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, and A. Y. Ng, “Ros: an open-source robot operating system,” in ICRA workshop on open source software, vol. 3, no. 3.2. Kobe, Japan, 2009, p. 5.
[23]
A. Armbruster, J. Baker, A. Cunei, C. Flack, D. Holmes, F. Pizlo, E. Pla, M. Prochazka, and J. Vitek, “A real-time java virtual machine with applications in avionics,” ACM Transactions on Embedded Computing Systems (TECS), vol. 7, no. 1, p. 5, 2007.
[24]
S. Craciunas, C. Kirsch, H. Röck, and R. Trummer, “The javiator: A high-payload quadrotor uav with high-level programming capabilities,” Proc. GNC, 2008.
[25]
A. Czerniejewski, S. Cosgrove, Y. Yan, K. Dantu, S. Y. Ko, and L. Ziarek, “juav: A java based system for unmanned aerial vehicles,” in Proceedings of the 14th International Workshop on Java Technologies for Real-Time and Embedded Systems, 2016, pp. 1–10.
[26]
A. Czerniejewski, K. Dantu, and L. Ziarek, “juav: A real-time java uav autopilot,” in 2018 Second IEEE International Conference on Robotic Computing (IRC). IEEE, 2018, pp. 258–261.
[27]
S. G. Robertz, R. Henriksson, K. Nilsson, A. Blomdell, and I. Tarasov, “Using real-time java for industrial robot control,” in Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems, 2007, pp. 104–110.
[28]
M. Johnson, B. Shrewsbury, S. Bertrand, T. Wu, D. Duran, M. Floyd, P. Abeles, D. Stephen, N. Mertins, A. Lesman, et al., “Team ihmc’s lessons learned from the darpa robotics challenge trials,” Journal of Field Robotics, vol. 32, no. 2, pp. 192–208, 2015.
[29]
D. Dvorak, “Nasa study on flight software complexity,” in AIAA Infotech@ Aerospace Conference and AIAA Unmanned... Unlimited Conference, 2009, p. 1882.
[30]
J. Gosling, B. Joy, G. Steele, and G. Bracha, The Java language specification. Addison-Wesley Professional, 2000.
[31]
M. L. Scott, Programming language pragmatics. Morgan Kaufmann, 2000.
[36]
“Jcopter-iros-2021-video,” https://vimeo.com/580019688.
[38]
P. E. Hart, N. J. Nilsson, and B. Raphael, “A formal basis for the heuristic determination of minimum cost paths,” IEEE Transactions on Systems Science and Cybernetics, vol. 4, no. 2, pp. 100–107, 1968.

Index Terms

  1. JCopter: Reliable UAV Software Through Managed Languages
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Information & Contributors

          Information

          Published In

          cover image Guide Proceedings
          2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)
          Sep 2021
          7915 pages

          Publisher

          IEEE Press

          Publication History

          Published: 27 September 2021

          Qualifiers

          • Research-article

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • 0
            Total Citations
          • 0
            Total Downloads
          • Downloads (Last 12 months)0
          • Downloads (Last 6 weeks)0
          Reflects downloads up to 16 Oct 2024

          Other Metrics

          Citations

          View Options

          View options

          Get Access

          Login options

          Media

          Figures

          Other

          Tables

          Share

          Share

          Share this Publication link

          Share on social media