Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2006, International Journal of Advanced Robotic Systems
…
6 pages
1 file
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.
Applied Sciences, 2022
Unlike conventional software, robotic software suffers from a lack of methods and processes that could systematize and facilitate development. Thus, the application of software engineering techniques is at the heart of current issues in robotics. The work presented in this paper aims to facilitate the development of robotic software and to facilitate communication between experts in the field through the use of software engineering techniques and methods. It proposes RsaML (Robotic Software Architecture Modeling Language), a Domain Specific Modeling Language (DSML) dedicated to robotics, which takes into account the different categories of robotic software architectures and makes it possible to describe the latter independently from the implementation platform. The conceptual model defining the terminology and the hierarchy of concepts used for the description and representation of robotic software architectures in RsaML are presented in this article. RsaML is defined through a meta...
Proceedings of the 10th Performance Metrics for Intelligent Systems Workshop on - PerMIS '10, 2010
In recent years increased research activity in robotics has led to advancements in both hardware and software technologies. More complex hardware required increasingly sophisticated software infrastructures to operate it, and led to the development of several different robotics software frameworks. The driving forces behind the development of such frameworks is to cope with the heterogeneous and distributed nature of robotics software applications and to exploit more advanced software technologies in the robotics domain. So far, though, there has been not much effort to foster cooperation among these frameworks, neither on conceptual nor on implementation levels. Our research aims to analyse existing robotics software frameworks in order to identify possible levels of interoperability among them. The problem is tackled by determining a set of software concepts, in our case centering around component-based software development, which are used to determine a set of common architectural elements in an analysis of existing robotics software frameworks. The result is that these common elements can be used as interoperability points among software frameworks. Exploiting such interoperability gives developers new architectural design choices and fosters reuse of functionality already developed, albeit in another framework. It is also highly relevant for the development of new robotics software frameworks, as it opens smoother migration paths for developers to switch from one framework to another.
Computer, 2000
Published by the IEEE Computer Society 0018-9162/11/$26.00 © 2011 IEEE the rest of the system and reuse it. They are thus forced to develop a new system from scratch. The use of common robotics software libraries, such as Player and CLARAty, only partially alleviates this problem. Although these libraries consist of robotics-specific middleware that provides a low-level robot framework and helps with specific advanced features such as distributed communication and code mobility, the existing solutions provide no guidance or support for faithfully preserving the design-time structure of robotics systems.
IEEE Robotics & Automation Magazine, 2009
This article is the first of a two-part series intended as an introduction to Component-based Software Engineering (CBSE) in Robotics.
The paper presents a methodology for the development of robot software controllers, based on actual software component approaches and robot control architectures. This methodology defines a process that guides developers from the analysis of a robot controller to its execution. A proposed generic software controller architecture, useful for analysis and integration, and a dedicated component-based language, focusing on modularity, reusability, scalability and upgradeability of controller architectures parts during design and implementation steps, are briefly presented.
Lecture Notes in Computer Science, 2010
The idea of component-based software engineering was proposed more that 40 years ago, yet only few robotics software frameworks follow these ideas. The main problem with robotics software usually is that it runs on a particular platform and transferring source code to another platform is crucial. In this paper, we present our software framework Fawkes which follows the component-based software design paradigm by featuring a clear component concept with well-defined communication interfaces. We deployed Fawkes on several different robot platforms ranging from service robots to biped soccer robots. Following the component concept with clearly defined communication interfaces shows great benefit when porting robot software from one robot to the other. Fawkes comes with a number of useful plugins for tasks like timing, logging, data visualization, software configuration, and even high-level decision making. These make it particularly easy to create and to debug productive code, shortening the typical development cycle for robot software.
2009
Supporting application development, test and deployment in the context of modular robot systems is a complex and multifaceted task, as it entails a range of issues from coping with tight hardware constraints to enabling distributed control paradigms. It is nevertheless increasingly important, since it would enable to better experimentally complement theoretical research and to foster wider adoption of modular robots by demonstrating their practical effectiveness. In this paper we report on our experience while trying to streamline this process and on two lessons we learned from it.
Ingenieria e Investigación
Los robots se han convertido en colaboradores habituales de nuestra vida diaria. Los sistemas robóticos son cada vez más complejos y, como consecuencia, crece la necesidad de aplicar nuevas técnicas ingenieriles a su proceso de desarrollo. Los enfoques tradicionales que se utilizan en el proceso de desarrollo de estos sistemas de software están alcanzando sus límites; las metodologías utilizadas actualmente y las herramientas de soporte no alcanzan para atender las necesidades de estos procesos complejos. Para fomentar la reutilización y el mantenimiento de código es esencial separar el conocimiento estable del dominio de robótica en las tecnologías de implementación, que varían rápidamente. Este artículo presenta una revisión sistemática de la utilización actual de técnicas modernas de ingeniería de software en el desarrollo de sistemas robóticos y su nivel de automatización. El objetivo del estudio es el de resumir la evidencia existente respecto a la aplicación de dichas tecnologías en el campo de los sistemas robóticos para identificar carencias en la investigación actual con el fin de sugerir áreas en futuras propuestas y proporcionar las bases para posicionar adecuadamente nuevas actividades de investigación.
2001
We will present an overview of the CLARAty architecture which aims at developing reusable software components for robotic systems. These components are to support autonomy software which plans and schedules robot activities. The CLARAty architecture modifies the conventional threelevel robotic architecture into a new two-layered design: the Functional Layer and the Decision Layer. The Functional Layer provides a representation of the system components and an implementation of their basic functionalities. The Decision Layer is the decision making engine that drives the Functional Layer. It globally reasons about the intended goals, system resources, and state of the system and its environment. The Functional Layer is composed of a set of interrelated object-oriented hierarchies consisting of active and passive objects that represent the different levels of system abstractions. In this paper, we present an overview of the design of the Functional Layer. The Functional Layer is decomposed into a set of reusable core components and a set of extended components that adapt the reusable set to different hardware implementations. The reusable components: (a) provide interface definitions and implementations of basic functionality, (b) provide local executive capabilities, (c) manage local resources, and (d) support state and resource queries by the Decision Layer.
2012
Developing reliable robotics applications is a difficult and resource-consuming task. The scientific community is undertaking several initiatives to devise standard design techniques, and the deployment of reusable and interoperable components. At this point in time, a variety of approaches for robotic software development have been proposed, due to the wide range of domains where robots are used, the many forms and functions that a robot can have, and the diversity of people involved in robotics. Specifically, we focus on modularity and rapid development of distributed robotic systems. First, we survey the main issues in developing software frameworks for robotics, and we briefly discuss existent approaches, highlighting their goals, advantages and weaknesses. Then, we address the most significant design choices that arise in the implementation of robotic software and motivate the specific approach taken in OpenRDK, a software framework developed in our laboratory. Finally, we describe h...
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
2004 2nd International IEEE Conference on 'Intelligent Systems'. Proceedings (IEEE Cat. No.04EX791), 2004
Jurnal Teknologi, 1994
Lecture Notes in Computer Science, 2016
2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013