vlad estivill-castro (2016)vlad/teaching/robotics.d/lectures/lecture09b.pdfthis image iiis 17 what...
TRANSCRIPT
1
Vlad Estivill-Castro (2016)Robots for People
--- A project for intelligent integrated systems
Behavior-Based Control
Building a map
© V. Estivill-Castro 2
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
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
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
This image IIIS
Map Representation◗ Architecture
map ◗ Representation
with set of finite or infinite lines
© V. Estivill-Castro 6
This image IIIS
Map Representation◗ Exact cell decomposition - Polygons
© V. Estivill-Castro 7
This image IIIS
Map Representation◗ Approximate cell decomposition
• Fixed cell decomposition• Narrow passages disappear
© V. Estivill-Castro 8
This image IIIS
Map Representation◗ Adaptive cell decomposition
© V. Estivill-Castro 9
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
This image IIIS
Topological Decomposition◗ With weights
© V. Estivill-Castro 11
4.4
5.4
4.3
5.3
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
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
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
Behavior Based Control(based on M. Nicolescu)
BBC=Behavior Based Control
15
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
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.)
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
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
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
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
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)
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
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
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
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
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
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
This image IIIS 29
Toto’s Controller
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
IIIS 31
Readings
◗ M. Matarić: Chapters 17, 18
This image IIIS © V. Estivill-Castro 32