Institute for Software Technology
Advanced Robotics
Architectures
Gerald Steinbauer
Institute for Software Technology
Gerald Steinbauer Advanced Robotics - Architectures
1
Institute for Software Technology
Agenda
• Motivation
• Function vs. Operation
• Requirements to Architectures
• Classical Architectures
• Sample Architectures and Frameworks
• Robot Operating System (ROS)
Gerald Steinbauer Advanced Robotics - Architectures
2
Institute for Software Technology
Basics
We talking about Software !
Gerald Steinbauer Advanced Robotics - Architectures
3
Institute for Software Technology
Motivation
Gerald Steinbauer Advanced Robotics - Architectures
4
Institute for Software Technology
Motivation continued …
• robots perform complex task in challenging
environments interacting with other agents and
people
• but therefore robot software systems are complex
• proper architectures help to manage this complexity
• proper concepts, defined guidelines and support tools
ease development
• there is no “one size fits all” architecture
Gerald Steinbauer Advanced Robotics - Architectures
5
Institute for Software Technology
Function versus Operation
Function Operation
Artificial Intelligence View Software Engineering View
How to organize: How to organize:
• Knowledge Representation • Data Transport
• Decision Making • Interfaces and Objects
• Problem Abstraction • Program Execution
• Behavior Execution • Configuration
• Control • Programming
• Temporal Issues • Development
Two sides of the same Medal
Gerald Steinbauer Advanced Robotics - Architectures
6
Institute for Software Technology
Function Requirements for Architectures
• make the robot smart
• equip the robot with the needed decision, action and
perception capabilities
• structure the decision-execution process
• enable reusable decision processes for various
domains
• allow for problem abstraction in the decision-
execution cycle
• provide scalability
• foster an understanding of the robots activities
Gerald Steinbauer Advanced Robotics - Architectures
7
Institute for Software Technology
Operation Requirements for Architectures
• object-oriented design
• open architecture approach
• hardware and operating system abstraction
• multi-platform support and interoperability
• communication support and interoperability
• client/server system design
• software design patterns
• easy reusable basic components
• support for developers
[Utz et al. TRO 2002]
Gerald Steinbauer Advanced Robotics - Architectures
8
Institute for Software Technology
Function – Basic Concepts
Reactive Deliberative
Hybrid
SENSE PLAN ACT
Basic Building Blocks
Gerald Steinbauer Advanced Robotics - Architectures
9
Institute for Software Technology
Reactive
SENSE ACT
• direct coupling of sensors and actuators MIT Genghis
• use no or very limited memory
• compare to a reflex in nature
• no explicit model of the world
• fast execution cycles
• e.g., subsumption architecture [Brooks 88]
Gerald Steinbauer Advanced Robotics - Architectures
10
Institute for Software Technology
Deliberative
SENSE PLAN ACT
• uses a planning and reasoning component
• owns memory and an internal model of the world
• uses an abstract description of goals, tasks and
capabilities
• able to maintain long-term and high-level goals
• e.g., STRIPS and Shakey [Fikes and Nilsson 71]
Gerald Steinbauer Advanced Robotics - Architectures
11
Institute for Software Technology
Hybrid
PLAN
SENSE ACT
• synthesis of reactive and deliberative concept
• able to maintains different abstraction levels
• able to maintains different temporal granularities
• favored concept today
Gerald Steinbauer Advanced Robotics - Architectures
12
Institute for Software Technology
Three Tier Architecture
Planning Persistent
State
Task 1
Subtask 1 Immediate
Executive Memory Interpretation Subtask 2
Task 2
Task 3
Actions
Behavioral Limited
Control State
Gerald Steinbauer Advanced Robotics - Architectures
13
Institute for Software Technology
Behavioral Control
• represents the lowest level of control
• organized like subsumption architecture (emerging
behaviors)
• small set of behaviors (skills)
• connects sensors and actors directly
• behaviors are situated (kind of scope)
• behaviors may run concurrently
• should represent low complexity but some
robustness
• no search or iteration – known computing deadlines
• e.g., go reactively through a door
Gerald Steinbauer Advanced Robotics - Architectures
14
Institute for Software Technology
Executive
• bridges numerical behavioral control and symbolic
planning
• translating high-level plans into low-level behaviors
• use procedural knowledge, e.g. task trees
• responsible for execution monitoring and recovery
• may incorporate resource checking
• temporal constraints may lead to serial and
concurrent execution of skills
• reports exceptions and return values upwards
• has to have proper and needed perception
• e.g.: geometric path planner and navigation
Gerald Steinbauer Advanced Robotics - Architectures
15
Institute for Software Technology
Planning
• responsible for long-term and high-level goals
• two basic concepts
• procedural approach (hierarchical task nets)
• abstract approach (classical planning or scheduling)
• sometimes a top-level mission planner – selection of
high-level goals
• sometimes coordination of several robots is
necessary
• two concepts of control flow
• executive invokes planning if necessary
• planning sends high-level tasks to the executive
• e.g.: plan scientific day mission on mars
Gerald Steinbauer Advanced Robotics - Architectures
16
Institute for Software Technology
Beer Me in 3T
Gerald Steinbauer Advanced Robotics - Architectures
17
Institute for Software Technology
LAAS Architecture
[Ingrand et. al JFR 07]
Gerald Steinbauer Advanced Robotics - Architectures
18
Institute for Software Technology
Remote Agent Architecture
NASA Deep Space One
[Muscettola et. al AIJ 1998]
Gerald Steinbauer Advanced Robotics - Architectures
19
Institute for Software Technology
Operation Architectures
Structure and Support
Support Development
of Software Operation and
Data/Command Exchange
Support Operation and
Support for Functional Experiments
Architectures
Gerald Steinbauer Advanced Robotics - Architectures
20
Institute for Software Technology
Transport Mechanisms
• all architectures comprise different modules
• they need to exchange commands and data
• Client-Server
• components directly talk to each other
• components are aware of each other
• remote method invocation (RPC, CORBA, ROS services)
+ explicit return value
• Publisher-Subscriber
• messages are broadcasted – multiple recipients
• components are usually not aware of each other
• central message routing (IPC, ROS topics)
single point of failure
Gerald Steinbauer Advanced Robotics - Architectures
21
Institute for Software Technology
Robotic Software Frameworks
• represent the operation architecture
• some also implement some parts of the function
architecture
• hot topic since decades
• the holy grail not yet found
• examples
• Player
• ORCA
• Miro
• Fawkes
• IDEA
• ROS
Gerald Steinbauer Advanced Robotics - Architectures
22
Institute for Software Technology
Middleware for Robots (Miro)
• open-source robotics framework
• initiated by University of Ulm
• strong focus on software development issues
• use ACE and TAO (Corba) mechanisms
• provides
• a lot of basis functionality for operation
• hardware abstraction
• some tool support for developers
• supports behavior and executive level
• language and OS independence
• too complicated and small community
• still used by NASA Ames for rover prototypes
Gerald Steinbauer Advanced Robotics - Architectures
23
Institute for Software Technology
Player
• popular open-source robotics middleware
• provides mainly simple interfaces to actors and
sensors
• allows for hardware abstraction
• client/server architecture
• communication over sockets
• OS and language independent
• good simulation tools: stage (2d) and gazebo (3d)
Gerald Steinbauer Advanced Robotics - Architectures
24
Institute for Software Technology
Fawkes
• open-source robotic framework
• driven by RWTH Aachen
• strong focus on software development
• component-based software (plug-ins)
• blackboard architecture
• looks for
• simplicity and integration
• low overhead
• scalability
• clear concepts and styles
• somehow integration of function components
Gerald Steinbauer Advanced Robotics - Architectures
25
Institute for Software Technology
Structuring the Main Control Loop
• monolith control loop
• hooks are executed in
an known given order
• within hooks concurrent
threads
• strict timing (i.e. 20-
40Hz)
• less flexible
• but allows some soft
guarantees
[Niemüller et. al SIMPAR 10]
Gerald Steinbauer Advanced Robotics - Architectures
26
Institute for Software Technology
OROCOS
• stands for Open Robot Control Software
• driven by University of Leuven
• component-based design and model-driven
development
• strong focus on real-time and automation (robot
arms)
• fast components for arm control (kinematics,
dynamics)
• C++ and CORBA based
[H. Bruyninckx ICRA 2001]
Gerald Steinbauer Advanced Robotics - Architectures
27
Institute for Software Technology
Literature
• R. Siegwart and I. Nourbakhsh. Introduction to
Autonomous Mobile Robots. MIT Press. 2004.
• R. Murphy. Introduction to AI Robotics. MIT Press.
2000.
• S. Thrun, W. Burgard and D. Fox. Probabilistic
Robotics. MIT Press. 2005.
• B. Siciliano and O. Khatib. Handbook of Robotics.
Springer. 2008.
Gerald Steinbauer Advanced Robotics - Architectures
28
Institute for Software Technology
Thank you!
Gerald Steinbauer Advanced Robotics - Architectures
29