Invited Paper:
Open Modular Robot Control Architecture for Assembly Using the Task Frame Formalism, Page 001-010
Jochen Maaß; Nnamdi Kohn & Jürgen Hesselbach
Abstract: The task frame formalism allows the programmer to overcome the drawbacks of the traditional robot oriented assembly programming, moving the programmer’s focus on the robot task. Additionally skill primitives contribute to a more natural programming paradigm. In this paper a robot control architecture is presented that implements both of these concepts providing a framework to easily implement new control features. Focus is put on a novel modular trajectory generator and the applied three-layered scheduling design. This architecture is based on the communication middleware MIRPA-X and has been experimentally validated on the HEXA parallel manipulator. The future use of distributed computing and runtime scheduling optimization are discussed.
Keywords: Skill Primitives, Robot Assembly, Communication Middleware, Parallel Robot Control
Software Systems for Robotics: An Applied Research Perspective, Page 011-016
Greg Broten; Simon Monckton; Jared Giesbrecht & Jack Collier
Abstract: Over the past 20 years, Defence Research and Development Canada has developed numerous teleoperated unmanned ground vehicles (UGV), many founded on the ANCÆUS command and control system. This paper relates how long experience with tele-operated UGVs influenced DRDC's shift in focus from tele-operated to autonomous unmanned vehicles (UV), the forces that guided DRDC's development approach and DRDC's experience adapting a specific tool set, MIRO, to a UGV implementation.
Keywords: software complexity, middleware, components, frameworks, architectures
Stable Aspects in Robot Software Development, Page 017-022
Davide Brugali & Paolo Salvaneschi
Abstract: The paper investigates the concept of software “stability” applied to robot systems. We define “stable” a family of systems modelled, designed and implemented so that specific applications of the family may be developed re-using, adapting and specializing knowledge, architecture and existing components. During the last few years, many ideas and technologies of software engineering (e.g. modularity, OO development and design patterns) were introduced in the development of robotic systems to improve the “stability” property. All these ideas and technologies are important. Nevertheless, they model robotic systems along a unique direction: the functional decomposition of parts. Unfortunately, there are concerns of robotic systems that relate to the systems as a whole hence crosscutting their modular structure. The Aspect Oriented Software Development is a recently emerged approach for modelling, designing and encapsulating the above-mentioned crosscutting concerns (aspects). We contend that stability must be based on a careful domain analysis and on a multidimensional modelling of different and recurring aspects of robot systems.
Keywords: robot software development, software stability, aspect oriented development
CLARAty: Challenges and Steps Toward Reusable Robotic Software, Page 023-030
Issa A.D. Nesnas; Reid Simmons; Daniel Gaines; Clayton Kunz; Antonio Diaz-Calderon; Tara Estlin; Richard Madison; John Guineau; Michael McHenry; I-Hsiang Shu & David Apfelbaum
Abstract: We present in detail some of the challenges in developing reusable robotic software. We base that on our experience in developing the CLARAty robotics software, which is a generic object-oriented framework used for the integration of new algorithms in the areas of motion control, vision, manipulation, locomotion, navigation, localization, planning and execution. CLARAty was adapted to a number of heterogeneous robots with different mechanisms and hardware control architectures. In this paper, we also describe how we addressed some of these challenges in the development of the CLARAty software.
Keywords: reusable robotic software, robotic framework, interoperable robotic software, robotic architecture, object-oriented robotics
Design Minimalism in Robotics Programming, Page 031-036
Anthony Cowley; Luiz Chaimowicz & Camillo J. Taylor
Abstract: With the increasing use of general robotic platforms in different application scenarios, modularity and reusability have become key issues in effective robotics programming. In this paper, we present a minimalist approach for designing robot software, in which very simple modules, with well designed interfaces and very little redundancy can be connected through a strongly typed framework to specify and execute different robotics tasks.
Keywords: robotics programming, modularity, reusability
Design and implementation of modular software for programming mobile robots, Page 037-042
Alessandro Farinelli; Giorgio Grisetti & Luca Iocchi
Abstract: This article describes a software development toolkit for programming mobile robots, that has been used on different platforms and for different robotic applications. We address design choices, implementation issues and results in the realization of our robot programming environment, that has been devised and built from many people since 1998. We believe that the proposed framework is extremely useful not only for experienced robotic software developers, but also for students approaching robotic research projects.
Keywords: robotic application development
YARP: Yet Another Robot Platform, Page 043-048
Giorgio Metta; Paul Fitzpatrick & Lorenzo Natale
Abstract: We describe YARP, Yet Another Robot Platform, an open-source project that encapsulates lessons from our experience in building humanoid robots. The goal of YARP is to minimize the effort devoted to infrastructure-level software development by facilitating code reuse, modularity and so maximize research-level development and collaboration. Humanoid robotics is a “bleeding edge” field of research, with constant flux in sensors, actuators, and processors. Code reuse and maintenance is therefore a significant challenge. We describe the main problems we faced and the solutions we adopted. In short, the main features of YARP include support for inter-process communication, image processing as well as a class hierarchy to ease code reuse across different hardware platforms. YARP is currently used and tested on Windows, Linux and QNX6 which are common operating systems used in robotics.
Keywords: software platform, interprocess communication, humanoid robotics
Communication Patterns as Key Towards Component-Based Robotics Task, Page 049-054
Christian Schlegel
Abstract: Vital functions of mobile robots are provided by software and software dominance is still growing. Mastering the software complexity is not only a demanding but also indispensable task towards an operational robot. Nevertheless, well-known and even always needed algorithms are often implemented from scratch over and over again instead of being reused as off-the-shelf components. A major reason is the lack of a framework that allows to compose robotics software out of standardized components without already prescribing a robotics architecture. Whereas Component Based Software Engineering (CBSE) is an approach to make a shift from implementation to composition, the general CBSE approach does not give any hints on how to ensure that independently provided components finally fit together as reusable components. This paper introduces a small set of communication patterns as basis for all intercomponent interactions. Since all externally visible interfaces of components are composed out of the same set of communication patterns, these are the key towards a stringent interface semantics. Generic communication patterns enforce decoupling of components and ensure composability by restricting the diversity of interfaces. The SmartSoft framework as one implementation of this approach already roved its adequacy in many projects.
Keywords: software engineering, component approach, software reuse, communication pattern, robotics
Robotic Software Integration Using MARIE, Page 055-060
Carle Côté; Yannick Brosseau; Dominic Létourneau; Clément Raïevsky & François Michaud
Abstract: This paper presents MARIE, a middleware framework oriented towards developing and integrating new and existing software for robotic systems. By using a generic communication framework, MARIE aims to create a flexible distributed component system that allows robotics developers to share software programs and algorithms, and design prototypes rapidly based on their own integration needs. The use of MARIE is illustrate with the design of a socially interactive autonomous mobile robot platform capable of map building, localization, navigation, tasks scheduling, sound source localization, tracking and separation, speech recognition and generation, visual tracking, message reading and graphical interaction using a touch screen interface.
Keywords: software integration environment, autonomous robotics system, middleware, rapid prototyping.
Towards a Unified Representation of Mechanisms for Robotic Control Software, Page 061-066
Antonio Diaz-Calderon; Issa A. D. Nesnas; Hari Das Nayar & Won S. Kim
Abstract: This article gives an overview of the Mechanism Model paradigm. The mechanism model paradigm provides a framework to modeling mechanisms for robotic control. The emphasis is on the unification of mathematical models of kinematics/dynamics, geometric information and control system parameters for a variety of robotic systems (including serial manipulators, wheeled and legged locomotors), with algorithms that are needed for typical robot control applications.
Keywords: unified mechanism model, real-time control, serial manipulator, wheeled mechanisms, kinematics, dynamics
VIP - A Framework-Based Approach to Robot Vision, Page 067-072
Hans Utz; Ulrich Kaufmann; Gerd Mayer & Gerhard K. Kraetzschmar
Abstract: For robot perception, video cameras are very valuable sensors, but the computer vision methods applied to extract information from camera images are usually computationally expensive. Integrating computer vision methods into a robot control architecture requires to balance exploitation of camera images with the need to preserve reactivity and robustness. We claim that better software support is needed in order to facilitate and simplify the application of computer vision and image processing methods on autonomous mobile robots. In particular, such support must address a simplified specification of image processing architectures, control and synchronization issues of image processing steps, and the integration of the image processing machinery into the overall robot control architecture. This paper introduces the video image processing (VIP) framework, a software framework for multithreaded control flow modeling in robot vision.
Keywords: robot vision, robot middleware, real-time support for computer vision, resource adaptivity
CoRoBa, a multi mobile robot control and simulation framework, Page 073-078
Eric Colon; Hichem Sahli & Yvan Baudoin
Abstract: This paper describes on-going development of a multi robot control framework named CoRoBa. CoRoBa is theoretically founded by reifying Real Time Design Patterns. It uses CORBA as its communication Middleware and consequently benefits from the interoperability of this standard. A multi-robot 3D simulator written in Java3D integrates seamlessly with this framework. Several demonstration applications have been developed to validate the design and implementation options.
Keywords: Distributed control, Middleware, CORBA, Design Patterns, 3D simulation
Localisation and World Modelling: an Architectural Perspective, Page 079-084
Daniela Micucci; Domenico G. Sorrenti; Francesco Tisato & Fabio M. Marchese
Abstract: Autonomous robot world modelling is a “chicken-and-egg” problem: position estimation needs a model of the world, whereas world modelling needs the robot position. Most of the works dealing with this issue propose holistic solutions under an algorithmic perspective by neglecting software architecture issues. This results in huge and monolithic pieces of software where implementation details reify strategic decisions. An architectural approach founded on separation of concerns may help to break the loop. Localisation and modelling, acting on different time scales, are mostly independent of each other. Sometimes synchronisation is required. Whenever needed, an external strategy tunes the relative rates of the two activities. The paper introduces rationale, design, and implementation of such a system which relies on Real-Time Performers, a software architecture providing suitable architectural abstractions to observe and control the system’s temporal behaviour.
Keywords: mobile robotics, world modelling, modularisation, software architecture, timing
Lessons Learned in Integration for Sensor-Based Robot Navigation Systems, Page 085-091
Luis Montesano; Javier Minguez & Luis Montano
Abstract: This paper presents our work of integration during the last years within the context of sensor-based robot navigation systems. In our motion system, as in many others, there are functionalities involved such as modeling, planning or motion control, which have to be integrated within an architecture. This paper addresses this problematic. Furthermore, we also discuss the lessons learned while: (i) designing, testing and validating techniques that implement the functionalities of the navigation system, (ii) building the architecture of integration, and (iii) using the system on several robots equipped with different sensors in different laboratories.
Keywords: Mobile robots, Sensor-Based Robot Navigation, Robot Architectures and Integration.
Special Issue on Software Development and Integration in Robotics
Guest Editorial
Davide Brugali and Issa A. D. Nesnas
For further informations in German please click here!