Sunteți pe pagina 1din 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

S-ar putea să vă placă și