Textbook Outline
Mataric - Robotics Primer
Chapter 11. Control Architectures
Control architecture provides guiding principles and constraints for organizing a robots control system
Computer architecture a set of principles for designing computers out of a collection of well-understood building blocks.
Location of control hardware good for fast specialized uses
software good for flexible more general programs
Best language there is no best robot programming language; in general all languages are Turing universal
Main control architectures
Deliberative control
Reactive control
Hybrid control
Behavior-based control
Robot, task & environment considerations
Sensor noise?
Actuator noise?
environment :: changing or static?
How quickly sense?
How quickly act?
Need remember past?
Need forecast future?
Need improve behavior?
Need learn?
Parameters along which architectures differ::
Time how fast things happen; components speed symmetry or not
Modularity what are components & how interact
Representation what know & retain
TIME: referred to as time-scale
how quickly robot must respond to environment vs. how quickly sense & act
Deliberative looks into future; works on long time-scale
Reactive responds to immediate, real time demands; works on short time-scale
Hybrid combines long of delib & short of reactive
Behavior-based works to bring scales together
MODULARITY: refers to how control system is divided into components (modules) and how modules interact
Deliberative multiple modules working in sequence; output of one is input of next
Reactive multiple modules active in parallel but can send messages to each other
Hybrid three main modules : delib, react, in-between; work in parallel & talk to each other
Behavior-based work in parallel & talk to each other
REPRESENTATION: hard to summarize; see next chapter
CHAPTER SUMMARY:
Control is hardware and/or software; the more complex, the more software
Control architectures provide guiding principles for designing programs & control alogorithms
No best programming language; special purpose languages facilitate particular architectures
Architectures differ with respect to time, modularity, representation
Main architectures : deliberative, reactive, hybrid, behavior-based