
RoboFrame - A Modular Software Framework for Lightweight Autonomous Robots Sebastian Petters, Dirk Thomas and Oskar von Stryk Abstract— The complexity of autonomous robot systems has robot types and control paradigms but also the support of increased dramatically in recent years. Besides an increased the architecture during the development process. Further on, variety of robots, sensors, actuators, onboard computers and also a possible, induced overhead and the flexibility of the intelligent algorithms, the architecture of the software has gained crucial relevance with respect to the efficiency for programming interface is relevant. adopting a robotic system to new hardware, new software Due to a lack of suitable software architectures for or new tasks. For evaluation of different robot architectures autonomous lightweight systems the platform independent and middleware not only a set of set of evaluation criterias framework RoboFrame [1] has been developed which is also is required. At least equally important for an evaluation is presented in this paper. It has been designed to meet the spe- to define a representative set of the boundary conditions, i.e., different types of robots, tasks and scenarios as well as robot cial needs of systems with challenging dynamical locomotion programmers. How the different criteria of an evaluation will like small size humanoid robots or unmanned aerial vehicles be weighted also depends on these boundary conditions. which impose strong restrictions on the available payload and To address the special needs of heterogeneous teams thus the available CPU power. Due to its modular design, of autonomous lightweight robots, the software framework the development of control software for different types of RoboFrame has been developed. Its main characteristics are platform independency, modularity and high efficiency. It is robots with a large variety of reactive and deliberative control also bundled with a library of common components for robot paradigms is simplified and can be accomplished in short control software, which provides much more support to the time. Debugging, monitoring and control of applications is robot programmer than a robot middleware system alone. supported by an extendable and also platform independent graphical user interface. I. INTRODUCTION The number and types of sensors, actuators and degrees II. SOFTWARE ARCHITECTURES FOR ROBOT SYSTEMS of freedom in todays robot systems is strongly increasing. The architecture of a software describes the components More complex scenarios, including autonomous operation in and their interaction within an application. It consists of a (partially) unknown environment or cooperation between design decisions which primarily cover aspects of non- multiple, heterogeneous robots require intelligent algorithms functional characteristics like extensibility, reliability and for sensor data processing, localization, motion control, and usability. The functional components are not part of the behavior control. As the link between the robot’s hardware architecture itself but are heavily affected by the architecture. (sensors, actuators and onboard computers) and the various Modern robot control software uses multiple functional high level software, the software architecture gains crucial components for, e.g., sensor data processing, behavior con- relevance. A ’good’ robot software architecture must offer trol and motion control, each of them may be very complex much more than a pure middleware, namely active support systems themselves. The main task of the architecture for for robot system development. This includes modularity as robot control software is to provide flexible and reliable well as portability and reusability but also support for the communication mechanisms for data exchange between the robot programmers through simplified interfaces, monitoring functional parts. This should be realized without restricting and debugging facilities and additional tools like real-time the functional components in any way. For todays robot simulation for software testing without robot hardware. applications, mostly middleware systems are used to accom- To decide which software architecture may be best suited plish this task. to meet specific requirements a set of evaluation criterias A software architecture for robot systems should not must be defined. However, there weighting depends on the only provide communication mechanisms like a middleware specific boundary conditions, i.e., the specific robot hard- does, but should additionally offer solutions for common ware, the application scenario and task to be solved, and the problems in this specific domain. Implementations of useful abilities and requirements of the specific robot programmers. components should be bundled in a library to speed up In this paper, we suggest a set of criterias which can be the development process by actively supporting the robot applied as needed to support the decision process to find a programmers. matching architecture. The set covers the desired platforms, III. EVALUATION OF SOFTWARE ARCHITECTURES S. Petters, D. Thomas and O. von Stryk are with the Simu- To evaluate different software architectures for robot sys- lation, Systems Optimization and Robotics Group, Technische Uni- versitat¨ Darmstadt, Darmstadt, Germany fpetters, dthomas, tems, a set of criterias is required which must be rated on the [email protected] background of specific boundary conditions. These boundary for the robot programmers also depend on the specific robots and tasks to be solved. 3) Scenarios and tasks: Very different requirements for robot software architecture and middleware may result from the many different robot application scenarios and tasks. A few examples are mentioned below. Industrial robots. Usually, industrial robots are stationary and may therefore be provided with arbitrary computational power and energy supplies. Because of this, efficiency con- siderations are less important. Also the robot hardware in use is very similar and thus does not require much flexibility Fig. 1. Boundary conditions for the evaluation of robot software architec- tures and middleware. from the architecture. Service robots. Service robots must be to perform house- hold or guidance tasks and to assist human beings in counditions described the specific robots and robot hardware, their daily life at home or at work. They mostly operate their specific application scenarios and tasks to be solves, as autonomously and receive orders in a high-level language. well as the skills and requirements of the robot programmers Very different actuators and sensors may be possible, thus (cf. Fig. 1). The weighting of each evaluation criteria depends requiring a high flexibility to prepare the robot for different on the specific boundary conditions. applications. Also due to a moderate or large payload on wheeled platforms, quite some amount of energy supplies A. Boundary conditions and computational power is available. 1) Robots: Some architectures are restricted to one type of Ambient intelligence. In this scenario the robots are part of robots, e.g., wheeled, legged or airborne, and their specific an environment (in human residences or offices) in which a characeristics, special types of actuators, sensors, onboard multitude of distributed and communicating, small intelligent computers and other hardware. For some kind of robots and devices is embedded, e.g., [3]. In cooperation with the am- applications an architecture may be suited very well but may bient intelligence, robots shall support people in their daily pose large difficulties for another kind. work or accomplish tasks autonomously or in cooperation The robot specific hardware also includes the onboard with other systems. For this purpose, highly context-aware, computing facilities and the supported operating systems. adaptive and personalized systems with seamless communi- Sometimes the choice of an operating system is limited, due cation interfaces are required. to the fact that some drivers for sensors or actuators are only Autonomous search and rescue missions. This scenario available for some, but not all operating systems. Also, the usually involves teams of heterogeneous robots with very operating system in use may have to be changed because different capabilities which cooperate with each other and of the requirement to use new robots or new robot compo- with human responce forces and mission managers. Possible nents. If the architecture encourages platform independent applications include autonomous wheel driven and airborne programming, an application may easily be ported to a new robots with only very limited payload. Efficiency, scalability operating system. and low communication overhead are of crucial relevance 2) Robot programmers: The robot programmers consid- here. Also an easy integration of different intelligent algo- ered here are in charge of developing the high level algo- rithms and the flexibility for different control paradigms is rithms and software needed to solve a specific task using important. specific robots. They are distinguished from the develop- Deep space exploration. To explore deep space or other ers of the robots basic hardware, software and software planets, reliability and increasing autonomy are relevant. architecture on the one hand and the (possibly untrained) Restricted power supplies requires efficient software and end-user doing some application programming intuitively algorithms. through interaction with the robots. The software
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-