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.
- 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 Scholar
- B.R. Automation. Integrated safety technology, 2016. http://www.br-automation.com/smc/ dedf69fe361668bf92558b8cbee04f7edb7dfa0b.pdf.Google Scholar
- R. Baheti and H. Gill. Cyber-physical systems. The impact of control technology, 12:161–166, 2011.Google Scholar
- 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 Scholar
Digital Library
- S. Cousins. Exponential growth of ROS. IEEE Rob. Aut., 18 (1):19–20, 2011. ISSN 1070-9932. doi: 10.1109/MRA.2010.Google Scholar
Cross Ref
- 940147.Google Scholar
- Duelco. Duelco safety controller: Installation and use, 2015. http://www.duelco.dk/pdf/Duelco-Safety_ Controller_manual.pdf.Google Scholar
- 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 Scholar
- FroboMind. Frobit robot. http://www.frobomind.org/ index.php/FroboMind_Robot:Frobit.Google Scholar
- IEC. Programmable controllers - part 3: Programming languages. IEC 61131-3, International Electrotechnical Commission, 2013.Google Scholar
- ISO. Robots and robotic devices–Safety requirements–Nonmedical personal care robot. ISO 13849, International Organization for Standardization, Geneva, Switzerland, 2014.Google Scholar
- ISO. Robots and robotic devices–Safety requirements–Nonmedical personal care robot. ISO 13482, International Organization for Standardization, Geneva, Switzerland, 2014.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- D. Pilaud. Efficient automatic code generation for embedded systems. Microprocessors and Microsystems, 20(8):501 – 504, 1997. ISSN 0141-9331.Google Scholar
Cross Ref
- doi: http://dx.doi.org/10.1016/S0141-9331(97)01116-2.Google Scholar
- 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 Scholar
- SICK. Flexi soft designer software: Operating instructions, 2013. https://www.mysick.com/saqqara/im0031659.Google Scholar
- pdf.Google Scholar
- 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 Scholar
- 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 Scholar
Cross Ref
Index Terms
Automatic code generation in practice: experiences with embedded robot controllers
Recommendations
Automatic code generation in practice: experiences with embedded robot controllers
GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesMobile 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 ...
A Development and Construction of Parallel Robot with Embedded System
RVSP '11: Proceedings of the 2011 First International Conference on Robot, Vision and Signal ProcessingThe parallel robots have attracted many researchers attention for its great potential in high speed pick-and-place operation. In this paper, a short description about the development and construction of parallel robot in Metal Industries Research and ...
Embedded Control System Design for Autonomous Navigation Mobile Robot
APCIP '09: Proceedings of the 2009 Asia-Pacific Conference on Information Processing - Volume 01This paper presents Embedded Based Control System Design for Autonomous Navigation Mobile Robot. A hierarchical control systems that based on multi-processor is given, including the main control system based on the S3C2440, subordinate control system ...







Comments