40
Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

  • View
    222

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

Topics: Introduction to Robotics

CS 491/691(X)

Lecture 10

Instructor: Monica Nicolescu

Page 2: 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

Page 3: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 4: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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)

Page 5: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

CS 491/691(X) - Lecture 10 6

Toto’s Controller

Page 6: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 7: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 8: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 9: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 10: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 11: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

CS 491/691(X) - Lecture 10 12

Toto - Video

Page 12: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 13: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 14: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 15: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 16: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 17: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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)

)

)

)

)

Page 18: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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)

Page 19: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 20: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

CS 491/691(X) - Lecture 10 21

Potential Fields

2distance

1Force Ballistic goal

attraction fieldSuperposition of two fields

Page 21: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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!

Page 22: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 23: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 24: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 25: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 26: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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:

Page 27: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

CS 491/691(X) - Lecture 10 28

The Role of Gains in Schemas

• Low gain • High gain

Page 28: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 29: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

CS 491/691(X) - Lecture 10 30

Foraging Example

Page 30: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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)

Page 31: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 32: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 33: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 34: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 35: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 36: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 37: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 38: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 39: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

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

Page 40: Topics: Introduction to Robotics CS 491/691(X) Lecture 10 Instructor: Monica Nicolescu

CS 491/691(X) - Lecture 10 41

Readings

• M. Matarić: Chapters 17, 18