robotics 13
TRANSCRIPT
-
8/8/2019 Robotics 13
1/30
CS 491/691(X) - Lecture 8 1
EXPERT SYSTEMS AND SOLUTIONS
Email: [email protected]
Cell: 9952749533www.researchprojects.info
PAIYANOOR, OMR, CHENNAI
Call For Research Projects Final
year students of B.E in EEE, ECE, EI,
M.E (Power Systems), M.E (Applied
Electronics), M.E (Power Electronics)
Ph.D Electrical and Electronics.
Students can assemble their hardware in our
Research labs. Experts will be guiding theprojects.
-
8/8/2019 Robotics 13
2/30
Topics: Introduction toRobotics
CS 491/691(X)
Lecture 8
Instructor: Monica Nicolescu
-
8/8/2019 Robotics 13
3/30
CS 491/691(X) - Lecture 8 3
Review
Control Architectures
Languages for robot control
Computability
Organizing principles
Architecture selection criteria
Reactive control
-
8/8/2019 Robotics 13
4/30
CS 491/691(X) - Lecture 8 4
Reactive Control
Reactive control is based on tight (feedback) loops
connecting a robot's sensors with its effectors
Purely reactive systems do not use any internal
representations of the environment, and do notlook ahead
They work on a short time-scale and react to the current
sensory information
Reactive systems use minimal, if any, state
information
-
8/8/2019 Robotics 13
5/30
CS 491/691(X) - Lecture 8 5
Collections of Rules
Reactive systems consist ofcollections of reactiverules that map specific situations to specific actions
Analog to stimulus-response, reflexes
Bypassing the brain allows reflexes to be very fast
Rules are running concurrently and in parallel
Situations
Are extracted directly from sensory input
Actions
Are the responses of the system (behaviors)
-
8/8/2019 Robotics 13
6/30
CS 491/691(X) - Lecture 8 6
Mutually Exclusive Situations
If the set of situations is mutually exclusive:
only one situation can be met at a given time
only one action can be activated
Often is difficult to split up the situations this way
To have mutually exclusive situations the controller
must encode rules for all possible sensory
combinations, from all sensors This space grows exponentially with the number of
sensors
-
8/8/2019 Robotics 13
7/30
CS 491/691(X) - Lecture 8 7
Complete Control Space
The entire state space of the robot consists of allpossible combinations of the internal and external
states
A complete mapping from these states to actions is
needed such that the robot can respond to all
possibilities
This is would be a tedious job and would result in a
very large look-up table that takes a long time tosearch
Reactive systems use parallel concurrent reactive
rules parallel architecture, multi-tasking
-
8/8/2019 Robotics 13
8/30
CS 491/691(X) - Lecture 8 8
Incomplete Mappings
In general, complete mappings are not used in hand-
designed reactive systems
The most important situations trigger the
appropriate reactions Default responses are used to cover all other cases
E.g.: a reactive safe-navigation controller
If left whisker bent then turn right
If right whisker bent then turn left
Ifboth whiskers bent then back up and turn left
Otherwise, keep going
-
8/8/2019 Robotics 13
9/30
CS 491/691(X) - Lecture 8 9
Action Selection
If the rules are not triggered by unique mutually-exclusive conditions, more than one rule can be
triggered at the same time
Two or more different commands are sent to the
actuators
Deciding which action to take is called action selection
Arbitration: decide among multiple actions or
behaviors Fusion: combine multiple actions to produce a single
command
-
8/8/2019 Robotics 13
10/30
CS 491/691(X) - Lecture 8 10
Arbitration
There are many different types of arbitration
Arbitration can be done based on:
a fixed priority hierarchy
rules have pre-assigned priorities
a dynamic hierarchy
rules priorities change at run-time
learning rule priorities may be initialized and are learned at run-
time, once or continuously
-
8/8/2019 Robotics 13
11/30
CS 491/691(X) - Lecture 8 11
Multi-Tasking
Arbitration decides which one action to execute To respond to any rule that might become triggered
all rules have to be monitored in parallel, andconcurrently
Ifno obstacle in front move forward
Ifobstacle in front stop and turn away
Wait for 30 seconds, then turn in a random direction
Monitoring sensors in sequence may lead to missing
important events, or failing to react in real time
Reactive systems must support parallelism
The underlying programming language must have multi-
tasking abilities
-
8/8/2019 Robotics 13
12/30
CS 491/691(X) - Lecture 8 12
Designing Reactive Systems
How to can we put together multiple (large number)
of rules to produce effective, reliable and goal
directed behavior?
How do we organize a reactive controller in a
principled way?
The best known reactive architecture is the
Subsumption Architecture (Rod Brooks, MIT,
1985)
-
8/8/2019 Robotics 13
13/30
CS 491/691(X) - Lecture 8 13
Vertical v. Horizontal Systems
Traditional (SPA):
sense plan act
Subsumption:
-
8/8/2019 Robotics 13
14/30
CS 491/691(X) - Lecture 8 14
Biological Inspiration
The inspiration behind the Subsumption Architecture
is the evolutionary process:
New competencies are introduced based on existing ones
Complete creatures are not thrown out and new
ones created from scratch
Instead, solid, useful substrates are used to build up to
more complex capabilities
-
8/8/2019 Robotics 13
15/30
CS 491/691(X) - Lecture 8 15
The Subsumption Architecture
Principles of design
systems are built from
the bottom up
components are task-achieving
actions/behaviors (avoid-obstacles, find-doors, visit-rooms)
all rules can be executed in parallel, not in a sequence
components are organized in layers, from the bottom up
lowest layers handle most basic tasks
newly added components and layers exploit the existing
ones
-
8/8/2019 Robotics 13
16/30
CS 491/691(X) - Lecture 8 16
Subsumption System Design
What makes a Subsumption Layer, what should gowhere?
There is no strict recipe, but some solutions arebetter than others, and most are derived empirically
How exactly layers are split up depends on thespecifics of the robot, the environment, and the task
-
8/8/2019 Robotics 13
17/30
CS 491/691(X) - Lecture 8 17
Designing in Subsumption
Qualitatively specify the overall behavior neededfor the task
Decompose that into specific and independent
behaviors (layers) Determine behavior granularity
Ground low-level behaviors in the robots sensors
and effectors Incrementally build, test, and add
-
8/8/2019 Robotics 13
18/30
CS 491/691(X) - Lecture 8 18
Subsumption Layers
First, we design, implement and debuglayer 0
Next, we design layer 1
When layer 1 is designed, layer 0 is
taken into consideration and utilized, itsexistence is subsumed (thus the name of
the architecture)
As layer 1 is added, layer 0 continues to
function
Continue designing layers, until the
desired task is achieved
level 2
level 1
level 0
sensors actuators
-
8/8/2019 Robotics 13
19/30
CS 491/691(X) - Lecture 8 19
Suppression and Inhibition
Higher layers can disable the ones below
Avoid-obstacles can stop the robot from moving around
Layer 2 can either:
Inhibit the output of level 1 or Suppress the input of level 1
The process is continued all the way to the top level
AFSMinputs outputs
suppressor
inhibitor
I
s
level 2
level 1
level 0
sensors actuators
-
8/8/2019 Robotics 13
20/30
CS 491/691(X) - Lecture 8 20
Subsumption Language and AFSMs
The original Subsumption Architecture was
implemented using the Subsumption Language
It was based on finite state machines (FSMs)
augmented with a very small amount of state (AFSMs) AFSMs were implemented in Lisp
AFSMinputs outputs
suppressor
inhibitor
Is
-
8/8/2019 Robotics 13
21/30
CS 491/691(X) - Lecture 8 21
Subsumption Language and AFSMs
Each behavioris represented as an augmented finite statemachine (AFSMs)
Stimulus (input) or response
(output) can be inhibited or
suppressed by other active behaviors
An AFSM can be in one state at a time, can receive one or
more inputs, and send one or more outputs
AFSMs are connected communication wires, which pass
input and output messages between them; only the last
message is kept
AFSMs run asynchronously
AFSMinputs outputs
suppressor
inhibitor
I
s
collide
haltsonar
-
8/8/2019 Robotics 13
22/30
-
8/8/2019 Robotics 13
23/30
CS 491/691(X) - Lecture 8 23
Wandering in Subsumption
Brooks 87
-
8/8/2019 Robotics 13
24/30
CS 491/691(X) - Lecture 8 24
Layering in AFSMNetworks
Once a basic competence is achieved (e.g., moving aroundsafely), it can be labeled as layer 0
Layer 1 (e.g., one that looks for objects and collects them),
can then be added on top and communication is done through
wires
The use of layers is meant to modularize the reactive system,
so it is bad design to put a lot of behaviors within a single
layer
Also, it is bad design to put a large number of connections
between the layers, so that they are strongly coupled
-
8/8/2019 Robotics 13
25/30
CS 491/691(X) - Lecture 8 25
Module Independence
Strong coupling implies dependence between
modules, which violates the modularity of the
system
If modules are interdependent, they are not asrobust to failure
In Subsumption, if higher layers fail, the lower ones
remain unaffected
Thus Subsumption has one-way independence
between layers
Two-way independence is not practical, why?
-
8/8/2019 Robotics 13
26/30
-
8/8/2019 Robotics 13
27/30
CS 491/691(X) - Lecture 8 27
Using the World
How can you sequence activities in Subsumption?
Coupling between layers need not be through the
system itself (i.e., not through explicit
communication wires)
It could be through the world. How?
-
8/8/2019 Robotics 13
28/30
CS 491/691(X) - Lecture 8 28
Collecting Soda Cans
Herbert collected empty soda cansand took them home
Herberts capabilities
Move around without running intoobstacles
Detect soda cans using a camera and a
laser
An arm that could: extend, sense if thereis a can in the gripper, close the gripper,
tuck the arm in
-
8/8/2019 Robotics 13
29/30
CS 491/691(X) - Lecture 8 29
Herbert
Look for soda cans, when seeing one approach it
When close, extend the arm toward the soda can
If the gripper sensors detect something close the
gripper
If can is heavy, put it down, otherwise pick it up
If gripper was closed tuck the arm in and head home
The robot did not keep internal state about whatit had just done and what it should do next: it
just sensed!
-
8/8/2019 Robotics 13
30/30
CS 491/691(X) - Lecture 8 30
Readings
M. Matari: Chapter 14