Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What...

32
1 Vlad Estivill-Castro (2016) Robots for People --- A project for intelligent integrated systems

Transcript of Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What...

Page 1: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

1

Vlad Estivill-Castro (2016)Robots for People

--- A project for intelligent integrated systems

Page 2: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

Behavior-Based Control

Building a map

© V. Estivill-Castro 2

Page 3: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Map representation

◗ Map precision vs. application ◗ Features precision vs. map precision ◗ Precision vs. computational complexity

◗ Continuous Representation◗ Decomposition (Discretisation)

© V. Estivill-Castro 3

Page 4: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Representation of the Environment ◗ Environment Representation

• Continuous Metric• x,y,q

• Discrete Metric• metric grid

• Discrete Topological • topological grid

© V. Estivill-Castro 4

Page 5: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Environment Modeling◗ Raw sensor data, e.g. laser range data, gray-scale images

• large volume of data, low distinctiveness on the level of individual values

• makes use of all acquired information

◗ Low level features, e.g. line other geometric features • medium volume of data, average distinctiveness • filters out the useful information, still ambiguities

◗ High level features, e.g. doors, a car, the Eiffel tower • low volume of data,

• high distinctiveness• filters out the useful information, few/no ambiguities, not enough

information

© V. Estivill-Castro 5

Page 6: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Map Representation◗ Architecture

map ◗ Representation

with set of finite or infinite lines

© V. Estivill-Castro 6

Page 7: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Map Representation◗ Exact cell decomposition - Polygons

© V. Estivill-Castro 7

Page 8: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Map Representation◗ Approximate cell decomposition

• Fixed cell decomposition• Narrow passages disappear

© V. Estivill-Castro 8

Page 9: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Map Representation◗ Adaptive cell decomposition

© V. Estivill-Castro 9

Page 10: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Map Representation: Occupancy grid ◗ Fixed cell decomposition: occupancy grid

example • In occupancy grids, each cell may have a counter where

0 indicates that the cell has not been hit by any ranging measurements and therefore it is likely free-space. As the number of ranging strikes increases, the cell value is incremented and, above a certain threshold, the cell is deemed to be an obstacle

◗ The values of the cells are discounted when a ranging strike travels through the cell. This allows us to represent “transient” (dynamic) obstacles

© V. Estivill-Castro 10

Page 11: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Topological Decomposition◗ With weights

© V. Estivill-Castro 11

4.4

5.4

4.3

5.3

Page 12: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS © V. Estivill-Castro 12

Transformation

1

6

1

3 3

32

1 1

4

1

7

3 1

4

3

3

3

3

2 2

23

1 1

1

11

14 41 1

9

1

4

1

3 3

32

1 1

4

1

7

3 1

4

3

3

3

3

2 2

23

1 1

1

11

1 41 1

9

3 1

2

destination start

Page 13: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

Summary of Map Representation◗ Metric maps

• Continuous• For example line based, point based, or plane based

• Discrete• Exact cell decomposition• Approximate cell decomposition

– Fixed cell decomposition (also occupancy grids) – Adaptive cell decomposition

◗ Topological◗ Hybrid (mixture of metric and topological)

© V. Estivill-Castro 13

Page 14: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS

State-of-the-Art: Current Challenges in Map Representation ◗ Real world is dynamic ◗ Perception is still a major challenge

• Error prone • Extraction of useful information difficult

◗ Traversal of open space◗ How to build up topology (boundaries of nodes) ◗ Sensor fusion◗ 2D...3D

© V. Estivill-Castro 14

Page 15: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

Behavior Based Control(based on M. Nicolescu)

BBC=Behavior Based Control

15

Page 16: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 16

Behavior-Based Control◗ Reactive systems

• too inflexible, use no representation, no adaptation or learning

◗ Deliberative systems• Too slow and cumbersome

◗ Hybrid systems• Complex interactions among the hybrid components

◗ Behavior-based control involves the use of “behaviors” as modules for control

Page 17: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 17

What Is a Behavior?◗ Behavior-achieving modulesRules 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.)

Page 18: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 18

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 us a uniform structure and representation throughout

the system

Page 19: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 19

Internal vs. Observable Behavior◗ Observable behaviors do not always have a

matching internal behavior• Why not?• Emergent behavior: interesting behavior can be produced

from the interaction of multiple internal behaviors

◗ Start by listing the desired observable behaviors ◗ Program those behaviors with internal behaviors◗ Behavior-based controllers are networks

of internal behaviors which interact in order to produce the desired, external, observable behavior

Page 20: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 20

An Example◗ A robot that water plants around a building when they get

dry◗ Behaviors: avoid-collision, find-plant, check-if-dry,

water, refill-reservoir, recharge-batteries◗ Complex behaviors may consist of internal behaviors

themselves• Find-plant: wander-around, detect-green,

approach-green, etc.◗ Multiple behaviors may share the same underlying

component behavior• Refill-reservoir may also use wander-around

Page 21: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 21

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 22: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 22

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 23: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 23

Toto’s Behaviors◗ Toto the robot

• Ring of 12 sonars, low-resolution compass◗ Lowest level: move around safely, without collisions◗ Next level: following boundaries, a behavior that keeps the

robot near walls and other objects◗ 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

Page 24: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 24

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

thenactive <- true

Page 25: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

IIIS 25

Building a Map◗ 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 26: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

IIIS 26

Localization◗ Whenever a landmark is

detected, its description (type and compass direction) 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 27: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

IIIS 27

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 28: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 28

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 29: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 29

Toto’s Controller

Page 30: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS 30

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 31: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

IIIS 31

Readings

◗ M. Matarić: Chapters 17, 18

Page 32: Vlad Estivill-Castro (2016)vlad/teaching/robotics.d/LECTURES/Lecture09B.pdfThis image IIIS 17 What Is a Behavior? Behavior-achieving modules Rules of implementation Behaviors achieve

This image IIIS © V. Estivill-Castro 32