Introduction to AI Robotics (2. The Hierarchical Paradigm)

Download Report

Transcript Introduction to AI Robotics (2. The Hierarchical Paradigm)

Introduction to AI Robotics
Chapter 2. The Hierarchical Paradigm
2012.09.26
Hyeokjae Kwon
Robotic Paradigms
• A paradigm is a philosophy or set of
assumptions and/or techniques which
characterize an approach to a class of
problems.
• Applying the right paradigm makes
problem solving easier.
The Hierarchical Paradigm
S,P,A organization of Hierarchical Paradigm
SENSE
PLAN
ACT
Alternative description of how the 3 primitives
interact in the Hierarchical Paradigm
Shakey
• First AI robot.
• Built by SRI
(Stanford Research
Institute) for DARPA
1967-70.
• Used STRIPS(STanford
Research Institute Problem
Solver) as main
Algorithm for
controlling what to do.
Video(Shakey)
• Shakey was one of the first autonomous
mobile robots, built at the AI Center
during 1966-1972. This film, SHAKEY:
Experimentation in Robot Learning and
Planning was produced by Peter Hart
and Nils Nilsson around 1969.
Video(Flakey)
• Flakey is SRI's autonomous mobile robot
that was featured on PBS with Alan Alda
in 1994 as part of the Scientific American
Frontiers series.
Video(SRI-UCAV)
• The UCAV project is concerned with
distributed continuous planning and
execution in autonomous vehicles. These
videos were produced in 2002.
How to Develop a Plan in STRIPS?
• Use “means-ends analysis”
- If robot is not at goal, then measure the distance (or difference)
between robot’s current state and its goal state.
- Find an action that the robot can take that will reduce this
distance, and select it if open conditions are satisfied.
- Make the first false precondition of this action the new “subgoal”,
remembering old goal by pushing on stack.
-Recursively reduce difference by repeating above.
- When all open conditions for an action are satisfied, add the
action to the plan stack and update world model.
Strips : Means-Ends Analysis
For example using an arbitrary frame of reference
that put Tampa at the center of the world with
made-up distances to Stanford:
“Go to Stanford AI Lab”
INITIAL STATE:
Tampa, Florida (0,0)
GOAL STATE:
Stanford, California (1000,2828)
Difference:
3000 miles
Difference Table
•
This could lead to a data structure called a difference table
of how to make decisions:
- Different modes of transportation are appropriate for different distances.
- A mode of transportation, fly, ride_train, drive, walk, in the table is really
a function in the robot’s program.
- A robot following this difference table would begin by flying as close as it
could to SAIL.
Distance
(difference)
d>=200 miles
mode of transportation
(OPERATOR)
FLY
100<d<200
RIDE_TRAIN
d<=100
DRIVE
d<1
WALK
Preconditions
The preconditions are a column in the difference table, where
a single operator can have multiple preconditions.
difference
OPERATOR
PRECONDITIONS
d>=200 miles
FLY
100<d<200
TRAIN
d<=100
DRIVE (rental)
at airport
DRIVE (personal car)
at home
d<1
WALK
Maintaining State of the World :
Add and Delete Lists
This two lists are stored in the difference table so that when the robot
picks an operator based on the difference and operator, it can easily
apply the appropriate modifications to the world.
distance
d>=200
miles
100<d<2
00
d<=100
d<1
OPERATOR
PRECONDITIONS
ADD-LIST
DELETELIST
FLY
at city Y
at airport
at city X
TRAIN
at city Y
at train
station
at city X
DRIVE
(rental)
at airport
DRIVE
(personal)
at home
WALK
Strips Summary
•
Designer must set up a :
•
Strips assumes closed world :
•
Strips suffers from frame problem :
– World model representation.
– Difference table with operators, preconditions, add &
delete lists.
– Difference evaluator.
– Closed world: world model contains everything needed
for robot (implication is that it doesn’t change).
– Open world: world is dynamic and world model may
not be complete.
– Frame problem: representation grows too large to
reasonably operate over.
Nested Hierarchical Controller
• The NHC (Nested Hierarchical Controller) architecture
has components that are easily identified as either
SENSE, PLAN, or ACT.
• Major contribution of
NHC: decomposition
of planning into
three subsystems.
Nested Hierarchical Controller
• Uses map to locate
the robot and goal.
• Generates path from
current position to
goal.
• Generates actions
robot must execute to
follow path segment.
Details of NHC
•
Mission planner :
•
Navigator :
•
Pilot :
– receives a mission from a human or generates a mission for
itself.
– responsible for translating the mission into terms that other
functions can understand.
– takes information from mission planner (e.g., current position,
goal position) and generates a path in the form of a set of
waypoints, or straight lines for the robot to follow.
– takes the first straight line or path segment and determines
what actions the robot has to do to follow the path segment
(e.g., speed, turning rate).
NIST RCS & NASREM
• NIST RCS (National Institute of Standards and Technology
Real-time Control System): developed to serve as standard
for manufactures’ development of more intelligent robots.
• Similar in design to NHC :
– Primary difference: sensory perception includes preprocessing.
Details of RCS
• Value judgment plans and the simulates
the plans to ensure they will work.
• The planner gives the plan to Behavior
Generation module, which converts the
plans into actions.
Multiple Layers of NIST RCS & NASREM
•
Each layer has :
–
–
–
–
Sensory processing
World modeling
Task decomposition
Value judgment
•
All layers joined by global memory through which
representational knowledge is shared.
•
Perception is not tied directly to action.
•
Perception is still integrated into a global world
model.
Evaluations of Hierarchical Architectures
•
Robots (other than the Walter’s tortoise and Braitenberg’s
vehicles) built before 1985 typically used hierarchical style.
•
Primary advantage :
•
Primary disadvantage :
– provides an ordering of the relationship between sensing,
planning, and acting.
– planning: every update cycle, robot had to update global
world model, then plan, which introduces a bottleneck.
– sensing and acting are disconnected.
– appropriate hierarchical decomposition is applicationdependent.
– uncertainty not well handled.
Thank you