220 likes | 439 Views
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.
E N D
Introduction to AI RoboticsChapter 2. The Hierarchical Paradigm2012.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.
SENSE PLAN ACT The Hierarchical Paradigm S,P,A organization of Hierarchical Paradigm 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 “Go to Stanford AI Lab” For example using an arbitrary frame of reference that put Tampa at the center of the world with made-up distances to Stanford: INITIAL STATE: Tampa, Florida (0,0) GOAL STATE: Stanford, California (1000,2828) Difference: 3000 miles
Distance (difference) mode of transportation (OPERATOR) d<1 WALK 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. d>=200 miles FLY 100<d<200 RIDE_TRAIN d<=100 DRIVE
difference OPERATOR PRECONDITIONS at airport d<1 WALK at home Preconditions The preconditions are a column in the difference table, where a single operator can have multiple preconditions. d>=200 miles FLY 100<d<200 TRAIN d<=100 DRIVE (rental) DRIVE (personal car)
distance OPERATOR PRE-CONDITIONS ADD-LIST DELETE-LIST at city Y at airport at city X at city Y at train station at city X 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. d>=200 miles FLY 100<d<200 TRAIN DRIVE (rental) d<=100 at airport DRIVE (personal) at home
Strips Summary • Designer must set up a : • World model representation. • Difference table with operators, preconditions, add & delete lists. • Difference evaluator. • Strips assumes closed world : • 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. • Strips suffers from frame problem : • 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 : • receives a mission from a human or generates a mission for itself. • responsible for translating the mission into terms that other functions can understand. • Navigator: • 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. • Pilot: • takes the first straight line or path segment and determines what actionsthe 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’svehicles) built before 1985 typically used hierarchical style. • Primary advantage : • provides an ordering of the relationship between sensing, planning, and acting. • Primary disadvantage : • 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 application-dependent. • uncertaintynot well handled.