Autonomous mobile robots cpe 470 670
Download
1 / 33

Autonomous Mobile Robots CPE 470 - PowerPoint PPT Presentation


  • 140 Views
  • Updated On :

Autonomous Mobile Robots CPE 470/670. 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

Related searches for Autonomous Mobile Robots CPE 470

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 'Autonomous Mobile Robots CPE 470' - pennie


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
Autonomous mobile robots cpe 470 670 l.jpg

Autonomous Mobile RobotsCPE 470/670

Lecture 10

Instructor: Monica Nicolescu


Review l.jpg
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

CPE 470/670 - Lecture 10


What is a behavior l.jpg
What Is a Behavior?

  • Behavior-achieving modules

    Rules of implementation

  • Behaviors achieve or maintain particular goals (homing, wall-following)

  • Behaviors are time-extended processes

  • Behaviors take inputs from sensors and from other behaviors and send outputs to actuators and other behaviors

  • Behaviors are more complex than actions (stop, turn-right vs. follow-target, hide-from-light, find-mate etc.)

CPE 470/670 - Lecture 10


Principles of bbc design l.jpg
Principles of BBC Design

  • Behaviors are executed in parallel, concurrently

    • Ability to react in real-time

  • Networks of behaviors can store state (history), construct world models/representation and look into the future

    • Use representations to generate efficient behavior

  • Behaviors operate on compatible time-scales

    • Ability to use a uniform structure and representation throughout the system

CPE 470/670 - Lecture 10


An example task mapping l.jpg
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

CPE 470/670 - Lecture 10


Map representation l.jpg
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)

CPE 470/670 - Lecture 10


Toto s controller l.jpg
Toto’s Controller

CPE 470/670 - Lecture 10


Landmark detection l.jpg
Landmark Detection

  • Keep track of what was sensed and how it was moving

    • meandering  cluttered area

    • constant compass direction, go straight  left, right walls

    • moving straight, both walls  corridor

CPE 470/670 - Lecture 10


Building a map l.jpg
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

CPE 470/670 - Lecture 10


Toto s mapping behaviors l.jpg

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

CPE 470/670 - Lecture 10


Localization l.jpg
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

CPE 470/670 - Lecture 10


Getting around l.jpg
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

CPE 470/670 - Lecture 10


Path following l.jpg
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

CPE 470/670 - Lecture 10


Toto video l.jpg
Toto - Video

CPE 470/670 - Lecture 10


Expression of behaviors l.jpg
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

CPE 470/670 - Lecture 10


Stimulus response diagrams l.jpg
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

CPE 470/670 - Lecture 10


Finite state acceptor diagrams l.jpg

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

CPE 470/670 - Lecture 10


Formal methods l.jpg
Formal Methods

  • Have very useful properties for the programmer

    • Can be used to verify designer intentions

    • Provide a framework for formal analysis of the program, adequacy and completeness

    • Facilitate the automatic generation of control systems

    • Provide a common language for expressing robot behaviors

    • Provide support for high-level programming language design

CPE 470/670 - Lecture 10


Situated automata l.jpg
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

CPE 470/670 - Lecture 10


Situated automata20 l.jpg
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)

)

)

)

)

CPE 470/670 - Lecture 10


Discrete behavioral encoding l.jpg
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)

    (defbehavior name & inputs outputs declarations processes)

CPE 470/670 - Lecture 10


Continuous behavioral encoding l.jpg
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

CPE 470/670 - Lecture 10


Potential fields l.jpg
Potential Fields

Ballistic goal

attraction field

Superposition of

two fields

CPE 470/670 - Lecture 10


Potential fields24 l.jpg
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!

CPE 470/670 - Lecture 10


Motor schemas l.jpg
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

CPE 470/670 - Lecture 10


Visually guided behaviors l.jpg
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

CPE 470/670 - Lecture 10


Motor schemas27 l.jpg
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

CPE 470/670 - Lecture 10


Examples of schemas l.jpg
Examples of Schemas

  • Obstacle avoid and stay on corridor schemas

CPE 470/670 - Lecture 10


Schema representation l.jpg
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:

CPE 470/670 - Lecture 10


The role of gains in schemas l.jpg
The Role of Gains in Schemas

  • Low gain

  • High gain

CPE 470/670 - Lecture 10


Foraging example l.jpg
Foraging Example

CPE 470/670 - Lecture 10


Schema based robots l.jpg
Schema-Based Robots

  • At Georgia Tech (Ron Arkin)

  • Exploration

  • Hall following

  • Wall following

  • Impatient waiting

  • Navigation

  • Docking

  • Escape

  • Forage

CPE 470/670 - Lecture 10


Readings l.jpg
Readings

  • M. Matarić: Chapters 16

CPE 470/670 - Lecture 10


ad