A software engineering approach for the development of heterogeneous robotic applications

One of the most evident characteristics of robotic applications is heterogeneity: large robotic projects involve many different researchers with very different programming needs and areas of research, using a variety of hardware and software that must be integrated efficiently (i.e.: with a low development cost) to construct applications that satisfy not only classic robotic requirements (fault-tolerance, real-time specifications, intensive access to hardware, etc.) but also software engineering aspects (reusability, maintainability, etc.). Most existing solutions to this problem either do not deal with such heterogeneity or do not cover specific robotic needs. In this paper we propose a framework for the integration of heterogeneous robotic software through a software engineering approach: the BABEL development system, which is aimed to cover the main phases of the application lifecycle (design, implementation, testing, and maintainance) when unavoidable heterogeneity conditions are present. The capabilities of our system are shown by its support for designing and implementing diverse real robotic applications that use several programming languages (C, C++, JAVA), execution platforms (RT-operating systems, MS-Windows, no operating system at all), communication middleware (CORBA, TCP/IP, USB), and also a variety of hardware components (Personal Computers, microcontrollers, and a wide diversity of sensor and actuator devices in mobile robots and manipulator arms).

[1]  Sanjoy Paul,et al.  Multicasting on the Internet and its Applications , 1998, Springer US.

[2]  Ève Coste-Manière,et al.  The MAESTRO language and its environment: specification, validation and control of robotic missions , 1997, Proceedings of the 1997 IEEE/RSJ International Conference on Intelligent Robot and Systems. Innovative Robotics for Real-World Applications. IROS '97.

[3]  Mohamed Fayad,et al.  Distributed computing in robotics and automation , 2002, IEEE Trans. Robotics Autom..

[4]  Cipriano Galindo,et al.  Assistive navigation of a robotic wheelchair using a multihierarchical model of the environment , 2004, Integr. Comput. Aided Eng..

[5]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[6]  Don Mitchell Wilkes,et al.  A software architecture for integrated service robot development , 1997, 1997 IEEE International Conference on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation.

[7]  Mayuram S. Krishnan,et al.  Measurement Programs in Software Development: Determinants of Success , 2002, IEEE Trans. Software Eng..

[8]  Aníbal Ollero,et al.  Map building for a mobile robot equipped with a 2D laser rangefinder , 1994, Proceedings of the 1994 IEEE International Conference on Robotics and Automation.

[9]  Kazuo Yamazaki,et al.  Open Controller Architecture – Past, Present and Future , 2001 .

[10]  Pradeep K. Khosla,et al.  The Chimera Methodology: Designing Dynamically Reconfigurable and Reusable Real-Time Software Using Port-Based Objects , 1996, Int. J. Softw. Eng. Knowl. Eng..

[11]  Cipriano Galindo,et al.  Improving efficiency in mobile robot task planning through world abstraction , 2004, IEEE Transactions on Robotics.

[12]  C. Galindo,et al.  Control Architecture for Human–Robot Integration: Application to a Robotic Wheelchair , 2006, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[13]  Javier Gonzalez,et al.  The NEXUS open system for integrating robotic software , 1999 .

[14]  Ed Taylor TCP/IP complete , 1998 .

[15]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .

[16]  Javier González,et al.  NEXUS: a flexible, efficient and robust framework for integrating software components of a robotic system , 1998, Proceedings. 1998 IEEE International Conference on Robotics and Automation (Cat. No.98CH36146).

[17]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[18]  Rachid Guerraoui,et al.  Software-Based Replication for Fault Tolerance , 1997, Computer.

[19]  B. O. Gallmeister,et al.  POSIX.4 - programming for the real world , 1995 .

[20]  Javier González,et al.  A two-stage mobile robot localization method by overlapping segment-based maps , 2000, Robotics Auton. Syst..

[21]  Juan-Antonio Fernández-Madrigal,et al.  The Trajectory Parameter Space (TP-Space): A New Space Representation for Non-Holonomic Mobile Robot Reactive Navigation , 2006, 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[22]  Matthieu Herrb,et al.  G/sup en/oM: a tool for the specification and the implementation of operating modules in a distributed robot architecture , 1997, Proceedings of the 1997 IEEE/RSJ International Conference on Intelligent Robot and Systems. Innovative Robotics for Real-World Applications. IROS '97.

[23]  Bruce A. MacDonald,et al.  Player 2.0: Toward a Practical Robot Programming Framework , 2008 .

[24]  James S. Albus,et al.  Towards a Reference Model Architecture for Real-Time Intelligent Control Systems (ARTICS) , 1990 .

[25]  Paul Chisholm,et al.  Derivation of a Parsing Algorithm in Martin-Löf's Theory of Types , 1987, Sci. Comput. Program..