Outline Introduction Architectures? Review of prototypical architectures Some implementation considerations Summary
Introduction Architecture is about providing structure
Design principles for methods, classes, services, systems
Common design principles Structure – organization & control Behavior – control implementation Conventions – names, … Documentation
Organization to optimize use Cost Re-use Flexibility Foot-print [Wikipedia]
Architecture Typically we consider three different camps
Sense-Plan-Act Behavior based Hybrid Deliberative Architectures
Each approach has it range of pros and cons. Typically we need to consider
Support for parallelism Hardware targetability Support for modular design Robustness Run-time flexibility Performance effectiveness Documentation
Design Dimensions Temporal decomposition
Parallelism
Control decomposition
Temporal decomposition Division according to
temporal requirements
Provides a coarse division of control
Layering can be loosely synchronous
Some layers may be missing
Off-line planning
Strategic planning
Tactical planning
Quasi Real-Time
Hard Real-Time
Example for mobile platform
Division to ensure safety
Consideration for environmental dynamics
Hardware support influences design
Path Planning
Range based Obstacle Avoidance
Emergency stop
PID Speed Control
0.1Hz
1 Hz
10Hz
kHz
Control Decomposition Sense Plan Act –
well known, widely used
Parallel decomposition has some advantages for targeted designs
Behavior based designs may be suited for situated control with clear context
World
Sense Plan Act
World
Arbitration Act
Go To Goal
Arbitration
Arbitration
Hybrid Deliberative Architecture Architecture to
interleave deliberation and reactive control
Provides high degree of flexibility
Widely used in mobile robotics
Example of foraging - FSA
Start Wander
Acquire
Retrieve Halt
Begin Detect
GrabRelease
Done
Foraging in TeamBots Example
Subsumption architecture
Name Subsumption architectureBackground Reactive architecturePrecursors [Braitenburg, 1983][Walters, 1953]Design Method ExperimentalDeveloper Rodney Brooks (MIT)Response Coding Discrete / Rules BasedCoordination CompetitiveProgramming FSA & B-LanguageRobots fielded Allen, Genghis, Squirt Toto, Polly, Seymour,
… References [Brooks 1996] [Horswill 1993]
Augmented Finite State Model
Behavior ModuleInput Output
Suppressor
Inhibitor
Reset
Example of a three layer robot
Wander
Run AwayForward
Go
ReverseCollide
Lost
DriveBrakes
Coordination in subsumption Inhibition prevents signals transmitted from
reaching actuators
Suppression replaces a signal transmitted by the suppressing signal
The end result is a priority based arbitration method
Design of subsumption systems Qualitative specify the behavior need for the
task(s)
Compose and specify the independent behaviors as a set of disjoint actions
Determine behavior granularity
Ground low level behavior onto sensors and actuators
Subsumption foraging robot - Nerd
Homing
Pickup
Avoiding
Wandering
S
S
S [Mataric, USC & MIT]
Evaluation - Subsumption
Advantages Weaknesses Compiles to HW
Support for parallelism
Well adopted to niches
Poor run-time flexibility
Hardwired control
Behavior re-use is hard
Motor Schema Based on motor schema theory [Arbib, 1981]
Large grain modularity
Distributed concurrent agents
Assemblage composition
Strong coupling to neuro- / cognitive modeling.
Design Strategy Response represented as uniform vectors
Cooperative coordination through superposition
Predefined hierarchy – arbitration / orchestration
Arbitration is implicit through gains
Motor Schemas
Name Motor SchemaBackground Reactive part of AuRAPrecursors [Arkin, 1981] [Khatib, 1985]Design Strategy EthologicalDeveloper Arkin (GT)Response Coding Potential FieldsCoordination Cooperative superpositionProgramming Parameterized behavior libraries Fielded Systems Harv, George, Ren, Stimpy, Buzz, BlizzardReferences [Arkin, 1987; 1989; 1992]
Example Schema Based System
ES1
ES2
ES3
PS1
PS2
PS3
PS4
Motor
Robot
ES: Environment SensorPS: Perceptual SchemaMS: Motor Schema
MS1
MS2
Representative schemas
Example composition
Animal parallel
Design with Motors Schemas Characterize motor behaviors needed Compose the primitive control – use biological
inspiration where appropriate (ex grasping, …) Develop model to generate response
mappings Perform simulations to model interactions Determine perceptual needs for motor
schemas Design perceptual schemas to provide data Integrate / Test / Evaluate / Iterate
Foraging ExampleNoise
Avoid ObstacleAvoid Obstacle
NoiseAvoid ObstacleAvoid ObstacleMove to goal
NoiseAvoid ObstacleAvoid ObstacleMove to goal
Generate DirectionDetect ObstaclesDetect Robots
Generate DirectionDetect Obstacles
Detect RobotsDetect Attractor
Generate DirectionDetect Obstacles
Detect RobotsDetect Home Base
Sequencer
Wander
Acquire
Deliver
Evaluation – Motor Schema
Advantages Weaknesses Support for
parallelism
Run-time flexibility
Timeline for development
Support for modularity
Niche targetability
Hardware retargetability
DAMN Architecture
Name DAMNBackground Fine grained subsumptionPrecursors [Brooks, 1986] [Zadeh,1973]Design Method ExperimentalDeveloper Julio Rosenblatt (CMU)Response coding Discrete Vote Sets (Fuzzy)Coordination Winner take all arbitrationProgramming C++ / LispRobots fielded DARPA ALV, NAVLABReferences [Rosenblatt & Payton 1989][Rosenblatt 95]
DAMN Architecture
Avoid Obstacle
Follow Road
Seek Goal
Maintain Heading
Avoid Tip-Over
DAMN arbiter
ModeManager
Vehicle Controller
DAMN - NAVLAB
[frc.ri.cmu.edu, 1992]
DAMN Evaluation
Advantages Weaknesses Easy design of
behaviors
Easily extendable
Loose synchronization
Difficult to analyze stability
Could exhibit chatter
Difficult to integrate
Hybrid Deliberative Architecture (AuRA)
Name AuRABackground Interleaved controlPrecursor [Brooks, 1986] [ Arkin 1986]Design Method ExperimentalDeveloper Ron Arkin (GT)Response Coding Arbitration/CompetitiveCoordination Context arbiterProgramming C/C++/C#/JavaRobots Fielded BERRA, … References [Arkin 1988]
AuRA Architecture
Example of Hybrid Deliberative Arch BERRA a system for tour guiding / office
delivery Designed in by CAS @ KTH Experiments in robot design
BERRA
NAME BERRABackground Schema modelsPrecursors [Arkin 1988] [Arkin 1986]Design Situated activityDeveloper Jensfelt, Oreback (KTH)Response coding Potential fieldsCoordination Arbitration / SuperpositionProgramming Behavior librariesRobots fielded Asterix, Obelix, Minnie, Huey, Dewey,
Louie
BERRA Architecture
CoSy Architecture Schema Toolkit (CAST)
NAME CAST (CoSy Architecture SchemaToolkit)
Background Schema / Hybrid Deliberative Precursors [Arkin 1988] [Arkin 1986] [Sloman …]Design Situated activityDeveloper Hawes, Kruijff, Sloman, Wyatt [2006]Response codingCoordination Arbitration Programming C++ / Java / Robots fielded PlayMate, Explorer, …
CAST Example Schema
CAST Architecture Example
Relation to RDS The integration of systems can in almost all
cases be mapped directly to RDS CCR allow handling of all the communication
issues DSS can map directly to the CAST model of
system design For arbitration mechanisms there is a need to
consider a class for “voting” arbitration. The time dimension can be directly mapped to
data handlers (Dispatcher / TaskQueues)
Summary There are a number of reference architectures
available in literature. Reactive architecture (Subsumption, …) Deliberative architectures (NASREM, RCS) Hybrid Deliberative
Consider adoption path What are reference models for services? What is the appropriate
arbitration/coordination framework? Potential field, Voting based, Fuzzy, …
Frameworks scales better
Acknowledgement This series of lectures has been developed
with generous support from the Microsoft Corporation as part of the project “Software Engineering in Robotics” Contract # 113873. The support is gratefully acknowledged.