View
222
Download
1
Tags:
Embed Size (px)
Citation preview
Topics: Introduction to Robotics
CS 491/691(X)
Lecture 10
Instructor: Monica Nicolescu
CS 491/691(X) - Lecture 10 2
Review
• The Subsumption Architecture
– Herbert, Genghis, The Nerd Herd, Tom and Jerry
– Advantages and dissadvantages
• Behavior-based control
– Definitions
– Principles of behavior-based control
– Toto: a behavior-based mapping robot
CS 491/691(X) - Lecture 10 3
An Example Task: Mapping
• Design a robot that is capable of:
– Moving around safely
– Make a map of the environment
– Use the map to find the shortest paths to particular places
• Navigation & mapping are the most common mobile
robot tasks
CS 491/691(X) - Lecture 10 4
Map Representation
• The map is distributed over different behaviors
• We connect parts of the map that are adjacent in the
environment by connecting the behaviors that
represent them
• The network of behaviors represents a network of
locations in the environment
• Topological map: Toto (Matarić ’90)
CS 491/691(X) - Lecture 10 6
Toto’s Controller
CS 491/691(X) - Lecture 10 7
Building a Map
• Each landmark was stored in a behavior
• Whenever a new landmark was discovered a new behavior was added
• Adjacent landmarks are connected by communication wires
• This resulted in a topological representation of the environment, i.e., a topological world model
CS 491/691(X) - Lecture 10 8
Toto’s Mapping Behaviors
• Each landmark was stored
in a behavior
• Each such landmark
behavior stored
(remembered) some
information
– landmark type (wall,
corridor, irregular)
– compass heading
– approximate length/size
– some odometry
my-behavior-type: corridor
my-compass-direction: NV
my-approximate-location: x,y
my-approximate-length: length
whenever received (input)
if input(behavior-type)= my-
behavior-type
and input (compass-direction)
= my-compass-direction
then
active <- true
CS 491/691(X) - Lecture 10 9
Localization
• Whenever a landmark is detected,
its description (type, compass
direction, etc.) is sent to all
behaviors in parallel the one
that matches becomes active
• When nothing in the map matches
a new place/landmark was
discovered and added to the map
• If an existing behavior was
activated, it inhibited any other
active behaviors
CS 491/691(X) - Lecture 10 10
Getting Around
• Toto can use the map to navigate
• The behavior that corresponds to
the goal sends messages (spreads activation) to all of its neighbors
• The neighbors send messages to
their neighbors in turn
• So on, until the messages reach
the currently active behavior
• This forms path(s) from the
current state to the goal
CS 491/691(X) - Lecture 10 11
Path Following
• Toto did not keep a sequence of behaviors
• Instead, messages were passed continuously
– Useful in changing environments
• How does Toto decide where to go if multiple
choices are available?
– Rely on the landmark size: behaviors add up their own
length as messages are passed from one behavior to
another give path length
– Choose the shortest path
• Thus, one behavior at a time, it reached the goal
CS 491/691(X) - Lecture 10 12
Toto - Video
CS 491/691(X) - Lecture 10 13
Expression of Behaviors
• Example:
– Going from a classroom to another
• What does it involve?
– Getting to the destination from the current location
– Not bumping into obstacles along the way
– Making your way around students on corridors
– Deferring to elders
– Coping with change in the environment
CS 491/691(X) - Lecture 10 14
Stimulus-Response Diagrams
• Behaviors are represented as a general response to
a particular stimulus
move-to-class
avoid-object
dodge-student
stay-right
defer-to-elder
COORDINATOR
class location
detected object
detected student
detected path
detected elder
Actions
CS 491/691(X) - Lecture 10 15
Finite State Acceptor Diagrams
• Useful for describing
aggregations and sequences
of behaviors
• Finite state acceptor:– Q: set of allowable behavioral
states
: transition function from
(input, current state) new
state
– q0: initial state
– F: set of accepting (final) states
Start Journey Lost
At-class
move error
reached-class
other not-at-class all
all
CS 491/691(X) - Lecture 10 16
Formal Methods
• Have very useful properties for the programmer
– Can be used to verify designer intentions
– Facilitate the automatic generation of control systems
– Provide a common language for expressing robot
behaviors
– Provide a framework for formal analysis of the program,
adequacy and completeness
– Provide support for high-level programming language
design
CS 491/691(X) - Lecture 10 17
Situated Automata
• Kaelbling & Rosenschein (’91)
• Controllers are designed as logic circuits
• Capable of reasoning
• REX: Lisp-based language– First language to encode a reactive systems with
synchronous digital circuitry
• Gapps: goals are specified more directly– Achievement, maintenance, execution
– Logical boolean operators are used to create higher-level
goals generate circuits
CS 491/691(X) - Lecture 10 18
Situated Automata
(defgoalr (ach in-classroom)
(if (not start-up)
(maint (and (maint move-to-classroom) (maint avoid-objects)
(maint dodge-students)
(maint stay-to-right-on-path)
(maint defer-to-elders)
)
)
)
)
CS 491/691(X) - Lecture 10 19
Discrete Behavioral Encoding
• The behavior consists of a set finite set of
(situation, response) pairs
• Rule-based systems
IF antecedent THEN consequent
• Condition-action production rules (Nilsson ’94)
– Produce durative actions: “move at 5m/s” vs. “move 5 m”
• The Subsumption Architecture
(whenever condition & consequent)
CS 491/691(X) - Lecture 10 20
Continuous Behavioral Encoding
• Continuous response provides a robot an infinite
space of potential reactions to the world
• A mathematical function transforms the sensory
input into a behavioral reaction
• Potential fields
– Law of universal gravitation: potential force drops off with
the square of the distance between objects
– Goals are attractors and obstacles are repulsors
– Separate fields are used for each object
– Fields are combined (superposition) unique global field
CS 491/691(X) - Lecture 10 21
Potential Fields
2distance
1Force Ballistic goal
attraction fieldSuperposition of two fields
CS 491/691(X) - Lecture 10 22
Potential Fields
• Advantages
– Provide an infinite set of possibilities of reaction
– Highly parallelizable
• Disadvantages
– Local minima, cyclic-oscillatory behavior
– Apparently, large amount of time required to compute the
entire field: reaction is computed only at the robot’s position!
CS 491/691(X) - Lecture 10 23
Motor Schemas
• Motor schemas are a type of behavior encoding
– Based on neuroscience and cognitive science
• They are based on schema theory (Arbib)
– Explains motor behavior in terms of the concurrent control
of many different activities
– Schemas store how to react and the way the reaction can
be realized: basic units of activity
– Schema theory provides a formal language for connecting
action and perception
– Activation levels are associated with schemas, and
determine their applicability for acting
CS 491/691(X) - Lecture 10 24
Visually Guided Behaviors
• Michael Arbib & colleagues constructed computer models of
visually guided behaviors in frogs and toads
• Toads & frogs respond visually to
– Small moving objects feeding behavior
– Large moving objects fleeing behavior
• Behaviors implemented as a vector field (schemas)
– Attractive force (vector) along the direction of the fly
• What happens when presented with two files simultaneously?
– The frog sums up the two vectors and snaps between the two
files, missing both of them
CS 491/691(X) - Lecture 10 25
Motor Schemas
• Provide large grain modularity
• Schemas act concurrently, in a cooperative but
competing manner
• Schemas are primitives from which more complex
behaviors (assemblages can be constructed)
• Represented as vector fields
CS 491/691(X) - Lecture 10 26
Examples of Schemas
• Obstacle avoid and stay on corridor schemas
Rd
SdRRS
dSSd
Vmagnitude
0
2/2/
2/
WdGW
dWdP
Vmagnitude
CS 491/691(X) - Lecture 10 27
Schema Representation
• Responses represented in uniform vector format
• Combination through cooperative coordination via
vector summation
• No predefined schema hierarchy
• Arbitration is not used
– each behavior has its contribution to the robot’s overall
response
– gain values control behavioral strengths
• Here is how:
CS 491/691(X) - Lecture 10 28
The Role of Gains in Schemas
• Low gain • High gain
CS 491/691(X) - Lecture 10 29
Designing with Schemas
• Characterize motor behaviors needed
• Decompose to most primitive level, use biological
guidelines where appropriate
• Develop formulas to express reaction
• Conduct simple simulations
• Determine perceptual needs to satisfy motor
schema inputs
• Design specific perceptual algorithms
• Integrate/test/evaluate/iterate
CS 491/691(X) - Lecture 10 30
Foraging Example
CS 491/691(X) - Lecture 10 31
Strengths and Weaknesses
• Strengths:
– support for parallelism
– run-time flexibility
– timeliness for development
– support for modularity
• Weaknesses:
– hardware retargetability
– combination pitfalls (local minima, oscillations)
CS 491/691(X) - Lecture 10 32
Schema-Based Robots
• At Georgia Tech (Ron Arkin)• Exploration
• Hall following
• Wall following
• Impatient waiting
• Navigation
• Docking
• Escape
• Forage
CS 491/691(X) - Lecture 10 33
The DAMN Architecture
• Distributed Architecture for Mobile Navigation
(Rosenblatt 1995)
• Multi-valued behaviors (at all levels) propose
multiple action preferences
• Each behavior votes for or against sets of actions
• Arbiter selects max weighted vote sum
• Practically demonstrated on real-world long-distance
navigation
• Disadvantage: highly heuristic
CS 491/691(X) - Lecture 10 34
Behavior Coordination
• Behavior-based systems require consistent
coordination between the component behaviors for
conflict resolution
• Coordination of behaviors can be:
– Competitive: one behavior’s output is selected from
multiple candidates
– Cooperative: blend the output of multiple behaviors
– Combination of the above two
CS 491/691(X) - Lecture 10 35
Competitive Coordination
• Arbitration: winner-take-all strategy only one response chosen
• Behavioral prioritization
– Subsumption Architecture
• Action selection/activation spreading (Pattie Maes)
– Behaviors actively compete with each other
– Each behavior has an activation level driven by the robot’s
goals and sensory information
• Voting strategies (DAMN)
– Behaviors cast votes on potential responses
CS 491/691(X) - Lecture 10 36
Cooperative Coordination
• Fusion: concurrently use the output of multiple behaviors
• Major difficulty in finding a uniform command
representation amenable to fusion
• Fuzzy methods
• Formal methods
– Potential fields
– Motor schemas
– Dynamical systems
CS 491/691(X) - Lecture 10 37
Emergent Behavior
• The resulting robot behavior may sometimes be
surprising or unexpected emergent behavior
• Emergence arises from
– A robot’s interaction with the environment
– The interaction of behaviors
CS 491/691(X) - Lecture 10 38
Wall Following
• A simple wall following controller:
– If too close on the left, turn right
– If too close on the right, turn left
– Otherwise, keep straight
• If the robot is placed close to a wall it will follow
• Is this emergent?
– The robot has no explicit representations of walls
– The controller does not specify anything explicit about
following
CS 491/691(X) - Lecture 10 39
Emergence
• A “holistic” property, where the behavior of the robot
is greater than the sum of its parts
• A property of a collection of interacting components
• Often occurs in reactive and behavior-based
systems (BBS)
• Typically exploited in reactive and BBS design
CS 491/691(X) - Lecture 10 40
Flocking
• How would you design a flocking behavior for a
group of robots?
• Each robot can be programmed with the same
behaviors:
– Don’t get too close to other robots
– Don’t get too far from other robots
– Keep moving if you can
• When run in parallel these rules will result in the
group of robots flocking
CS 491/691(X) - Lecture 10 41
Readings
• M. Matarić: Chapters 17, 18