Towards Interactive, Incremental Programming of ROS Nodes

Writing software for controlling robots is a complex task, usually demanding command of many programming languages and requiring significant experimentation. We believe that a bottom-up development process that complements traditional component- and MDSD-based approaches can facilitate experimentation. We propose the use of an internal DSL providing both a tool to interactively create ROS nodes and a behaviour-replacement mechanism to interactively reshape existing ROS nodes by wrapping the external interfaces (the publish/subscribe topics), dynamically controlled using the Python command line interface.

[1]  Davide Brugali,et al.  Modeling and reusing robotic software architectures: The HyperFlex toolchain , 2014, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[2]  Lodewijk Bergmans,et al.  Composing crosscutting concerns using composition filters , 2001, CACM.

[3]  Herman Bruyninckx,et al.  Open robot control software: the OROCOS project , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[4]  Kjeld Jensen,et al.  FroboMind, proposing a conceptual architecture for agricultural field robot navigation , 2011 .

[5]  Kasper Stoy,et al.  Robust and reversible execution of self-reconfiguration sequences , 2011, Robotica.

[6]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[7]  Kjeld Jensen,et al.  Towards Rule-Based Dynamic Safety Monitoring for Mobile Robots , 2014, SIMPAR.

[8]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[9]  Randall B. Smith,et al.  Self: The power of simplicity , 1987, OOPSLA 1987.

[10]  Christian Schlegel,et al.  Model-driven engineering and run-time model-usage in service robotics , 2011, GPCE '11.

[11]  Kjeld Jensen,et al.  Extracurricular Activities Targeted towards Increasing the Number of Engineers Working in the Field of Precision Agriculture , 2013 .

[12]  Ulrik Pagh Schultz,et al.  Towards automatic consistency checking of software components in field robotics , 2014 .

[13]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[14]  Jeanne Stynes,et al.  Implementation reuse and inheritance in distributed component systems , 1998, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).