topics introduction to robotics cs 491 691 x l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Topics: Introduction to Robotics CS 491/691(X) PowerPoint Presentation
Download Presentation
Topics: Introduction to Robotics CS 491/691(X)

Loading in 2 Seconds...

play fullscreen
1 / 40

Topics: Introduction to Robotics CS 491/691(X) - PowerPoint PPT Presentation


  • 205 Views
  • Uploaded on

Topics: Introduction to Robotics CS 491/691(X). Lecture 10 Instructor: Monica Nicolescu. Review. The Subsumption Architecture Herbert, Genghis, The Nerd Herd, Tom and Jerry Advantages and dissadvantages Behavior-based control Definitions Principles of behavior-based control

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Topics: Introduction to Robotics CS 491/691(X)' - cael


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
topics introduction to robotics cs 491 691 x

Topics: Introduction to RoboticsCS 491/691(X)

Lecture 10

Instructor: Monica Nicolescu

review
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

an example task mapping
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

map representation
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

toto s controller
Toto’s Controller

CS 491/691(X) - Lecture 10

building a map
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

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

Toto’s Mapping Behaviors

CS 491/691(X) - Lecture 10

localization
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

getting around
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

path following
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

toto video
Toto - Video

CS 491/691(X) - Lecture 10

expression of behaviors
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

stimulus response diagrams
Stimulus-Response Diagrams
  • Behaviors are represented as a general response to a particular stimulus

C

O

O

R

D

I

N

A

T

O

R

move-to-class

class location

avoid-object

detected object

dodge-student

Actions

detected student

stay-right

detected path

defer-to-elder

detected elder

CS 491/691(X) - Lecture 10

finite state acceptor diagrams

other

not-at-class

all

Start

Journey

Lost

move

error

reached-class

At-class

all

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

CS 491/691(X) - Lecture 10

formal methods
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

situated automata
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

situated automata17
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

discrete behavioral encoding
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

continuous behavioral encoding
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

potential fields
Potential Fields

Ballistic goal

attraction field

Superposition of

two fields

CS 491/691(X) - Lecture 10

potential fields21
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

motor schemas
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

visually guided behaviors
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

motor schemas24
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

examples of schemas
Examples of Schemas
  • Obstacle avoid and stay on corridor schemas

CS 491/691(X) - Lecture 10

schema representation
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

the role of gains in schemas
The Role of Gains in Schemas
  • Low gain
  • High gain

CS 491/691(X) - Lecture 10

designing with schemas
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

foraging example
Foraging Example

CS 491/691(X) - Lecture 10

strengths and weaknesses
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

schema based robots
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

the damn architecture
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

behavior coordination
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

competitive coordination
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

cooperative coordination
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

emergent behavior
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

wall following
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

emergence
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

flocking
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

readings
Readings
  • M. Matarić: Chapters 17, 18

CS 491/691(X) - Lecture 10