Software Architectures Flashcards
AI researchers vs control engineers
- AI res: solve problems by increasing the autonomy (e.g. do the the right thing in an open world approach)
- Control eng: solve problems by extending the automation (e.g. modelling the world in order to create a closed world and guarantee “effect of actions”)
They are not necesseraly mutually exlusive.
The 3 types of software architectures
- Operational Architecture: description of what the systems does (high level)
- Systems Architecture: describes the major blocks (or subsystems) that make the systems works (mid level)
- Technical Architecture: describes the details of the implementation (low level)
Why the 3 architectures are useful for programming a robot?
Encoraunges the creation of designs that meet the four general principles of software engineering:
* abstraction: no details
* modularity: object-oriented programming
* possibility of substituting old modules
* generality/portability: allowing the code to be used for other applications
What are the 4 primitives used in robotics?
- SENSE: sensor data -> sensed information
- ACT: sensed information or directives -> actuators commands
- PLAN: informations -> directives
- LEARN: mechanism for maximizing changes of success (it trascend the other primitives)
Canonical AI robot operational architecture (layers and attributes)
AI robotics has converged on the hybrid deliberative/reactive operational architecture.
Organized in three layers (inspired by the biological intelligence):
- reactive
- deliberative
- interactive
Attributes of the layers:
- primitives: sense, plan, act, and learn
- perceptual ability: direct or recognition
- planning horizon: present or past - present or past - present - future
- time scale: fast response or slow (planning)
- use of models
Robot’s behavior and types
Refers to a specific task or action that a robot can perform in response to a specific set of input or conditions.
- reflexive behavior: hard-wired for fast response (kneed-jerk reaction)
- reactive behavior: learned and compiled down (playing piano)
- conscious behavior: require deliberative though (writing code)
Reactive layer of the canonical operational architecture
- SENSE + ACT
- Corresponds to the reactive loop in the central nervous system. This loop is associated with functionality that occurs in the spinal cord and “lower brain”, especially responses and skills based on motor memory.
- No awareness of the larger world.
Deliberative layer of the canonical operational architecture
PLAN (using a world model) -> SENSE-ACT
Corresponds to the cognitive loop associated with the cortex in the brain. The brain independently takes as inputs the same signals used by the “lower brain” and adds additional sensor processing to make conscious decisions.
Cognitive loops can modify reactive loops.
Speed and content are different: this can explain why the two loops are asynchronous (e.g. of the office worker that being the falling cup of coffee).
The 4 deliberative functions
- generating: planning, reasoning and problem solving in AI
- monitoring: anticipate potential failures
- selecting: resources allocation
- implementing: execution of the plan
Interactive layer of the canonical operational architecture
Need for intercation with other agents, either people, other robots, or software agents.
What are the 3 types of sensing routes
- Global sensing: many-to-one relationship because we have a function that merges the sensed data into a World Model
- Local sensing: one-to-one or one-to-many because we have the sensed data that goes into indipendent functions
- Hybrid sensing: combination between the two above ones
The 3 Systems Architecture paradigms
- Hierarchical
- Reactive
- Hybrid deliberative/reactive
They arrange the flow of data and control within the robot.
Each paradigm is uniquely described using two traits: the pattern of interaction between the 3 robot primitives and the route of sensing
What are the 5 subsystems in Systems Architectures?
- Planning: generating and monitoring overall mission objectives
- Navigation: generating and monitoring paths of movements and selecting the resources to accomplish the movements
- Carpographer: construction and maintenance of knowledge representations about the world (world model)
- Motor Schema: selecting the best motor routines and implementing actions
- Perceptual Schema: selecting the best sensors for the motos actions and implementing sensor processing algorithms
draw the schema 4.6
2 important aspects of the 5 subsystems
- they are not independent and do not represent a sequence of programming actions. The “main” program employs subsets of their functions and data structures to produce capabilities
- the list is not necessarily complete
Hierarchical systems architecture paradigm
- relies of global sensing routing
- used where the mission or application is well-understood
SENSE-PLAN-ACT (cycle)
- SENSE: Perception subsystem and Cartographer subsystem
- PLAN: Planner subsystem and Navigation subsystem
- ACT: Motor Schema subsystem
draw the schema 4.9