skip to main content
article

Automatic code generation in practice: experiences with embedded robot controllers

Published:20 October 2016Publication History
Skip Abstract Section

Abstract

Mobile robots often use a distributed architecture in which software components are deployed to heterogeneous hardware modules. Ensuring the consistency with the designed architecture is a complex task, notably if functional safety requirements have to be fulfilled. We propose to use a domain-specific language to specify those requirements and to allow for generating a safety-enforcing layer of code, which is deployed to the robot. The paper at hand reports experiences in practically applying code generation to mobile robots. For two cases, we discuss how we addressed challenges, e.g., regarding weaving code generation into proprietary development environments and testing of manually written code. We find that a DSL based on the same conceptual model can be used across different kinds of hardware modules, but a significant adaptation effort is required in practical scenarios involving different kinds of hardware.

References

  1. S. Adam, M. Larsen, K. Jensen, and U. P. Schultz. Rulebased dynamic safety monitoring for mobile robots. Journal of Software Engineering for Robotics, To appear, 2016.Google ScholarGoogle Scholar
  2. B.R. Automation. Integrated safety technology, 2016. http://www.br-automation.com/smc/ dedf69fe361668bf92558b8cbee04f7edb7dfa0b.pdf.Google ScholarGoogle Scholar
  3. R. Baheti and H. Gill. Cyber-physical systems. The impact of control technology, 12:161–166, 2011.Google ScholarGoogle Scholar
  4. A. Bihlmaier and H. Wörn. Robot unit testing. In International Conference on Simulation, Modeling, and Programming for Autonomous Robots, pages 255–266. Springer, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Cousins. Exponential growth of ROS. IEEE Rob. Aut., 18 (1):19–20, 2011. ISSN 1070-9932. doi: 10.1109/MRA.2010.Google ScholarGoogle ScholarCross RefCross Ref
  6. 940147.Google ScholarGoogle Scholar
  7. Duelco. Duelco safety controller: Installation and use, 2015. http://www.duelco.dk/pdf/Duelco-Safety_ Controller_manual.pdf.Google ScholarGoogle Scholar
  8. G. Frey and L. Litz. Formal methods in PLC programming. In Systems, Man, and Cybernetics, 2000 IEEE International Conference on, volume 4, pages 2431–2436. IEEE, 2000.Google ScholarGoogle Scholar
  9. FroboMind. Frobit robot. http://www.frobomind.org/ index.php/FroboMind_Robot:Frobit.Google ScholarGoogle Scholar
  10. IEC. Programmable controllers - part 3: Programming languages. IEC 61131-3, International Electrotechnical Commission, 2013.Google ScholarGoogle Scholar
  11. ISO. Robots and robotic devices–Safety requirements–Nonmedical personal care robot. ISO 13849, International Organization for Standardization, Geneva, Switzerland, 2014.Google ScholarGoogle Scholar
  12. ISO. Robots and robotic devices–Safety requirements–Nonmedical personal care robot. ISO 13482, International Organization for Standardization, Geneva, Switzerland, 2014.Google ScholarGoogle Scholar
  13. K. Jensen, A. Bøgild, S. Nielsen, M. Christiansen, and R. Jørgensen. FroboMind, proposing a conceptual architecture for agricultural field robot navigation, 2012. Paper presented at CIGR 2012.Google ScholarGoogle Scholar
  14. A. B. Lange, U. P. Schultz, and A. S. Soerensen. Unitylink: A software-gateware interface for rapid prototyping of experimental robot controllers on fpgas. In 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 3899–3906. IEEE, 2013.Google ScholarGoogle Scholar
  15. L. B. Larsen, K. S. Olsen, L. Ahrenkiel, and K. Jensen. Extracurricular activities targeted towards increasing the number of engineers working in the field of precision agriculture. XXXV CIOSTA & CIGR V Conference, Billund, Denmark, July 2013.Google ScholarGoogle Scholar
  16. D. Minkpapir. Fix-robo — automatic feeding machine for mink, 2014. http://www.minkpapir.com/Latest_news/ Latest_news/Show.aspx?Action=1&NewsId=247&PID= 1965.Google ScholarGoogle Scholar
  17. M. M. Patil, S. Subbaraman, and S. Joshi. Exploring integrated circuit verification methodology for verification and validation of PLC systems. In Electronic System Design (ISED), 2011 International Symposium on, pages 88–93. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Pilaud. Efficient automatic code generation for embedded systems. Microprocessors and Microsystems, 20(8):501 – 504, 1997. ISSN 0141-9331.Google ScholarGoogle ScholarCross RefCross Ref
  19. doi: http://dx.doi.org/10.1016/S0141-9331(97)01116-2.Google ScholarGoogle Scholar
  20. 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, volume 3, page 5, 2009.Google ScholarGoogle Scholar
  21. SICK. Flexi soft designer software: Operating instructions, 2013. https://www.mysick.com/saqqara/im0031659.Google ScholarGoogle Scholar
  22. pdf.Google ScholarGoogle Scholar
  23. J. Westwood et al. Control system architecture for a minimally invasive surgical robot. Medicine Meets Virtual Reality 14: Accelerating Change in Healthcare: Next Medical Toolkit, 119:156, 2006.Google ScholarGoogle Scholar
  24. I. Zubrycki and G. Granosik. Introducing modern robotics with ros and arduino, including case studies. Journal of Automation Mobile Robotics and Intelligent Systems, 8(1):69– 75, 2014.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Automatic code generation in practice: experiences with embedded robot controllers

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 52, Issue 3
      GPCE '16
      March 2017
      212 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/3093335
      Issue’s Table of Contents
      • cover image ACM Conferences
        GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences
        October 2016
        212 pages
        ISBN:9781450344463
        DOI:10.1145/2993236

      Copyright © 2016 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 20 October 2016

      Check for updates

      Qualifiers

      • article
    • Article Metrics

      • Downloads (Last 12 months)12
      • Downloads (Last 6 weeks)6

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!