software engineering in robotics reference architectures

Post on 16-Feb-2016

49 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Software Engineering in Robotics Reference Architectures. Henrik I. Christensen – hic@cc.gatech.edu. Outline. Introduction Architectures? Review of prototypical architectures Some implementation considerations Summary. Introduction. Architecture is about providing structure - PowerPoint PPT Presentation

TRANSCRIPT

Software Engineering in RoboticsReference Architectures

Henrik I. Christensen – hic@cc.gatech.edu

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.

top related