Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

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

You might also like