AI planning approaches to robotics Jeremy Wyatt School of Computer Science University of Birmingham
Early models of intelligence Perceive-think-act model of intelligence (Kenneth Craik, 1943) This model was very influential in early AI PerceiveThinkAct
Perceive Think Act for robotics By the 1960’s we had –Simple vision systems –Simple theorem provers (using resolution) –Simple path planning methods Idea: put them all together in a robot SHAKEY Project
Shakey the robot 1970-Shakey the robot reasons about its blocks Built at Stanford Research Institute, Shakey was remote controlled by a large computer. It hosted a clever reasoning program fed very selective spatial data, derived from weak edge-based processing of camera and laser range measurements. On a very good day it could formulate and execute, over a period of hours, plans involving moving from place to place and pushing blocks to achieve a goal. –From Hans Moravec
Shakey outline Planex Strips ILAs LLAs Hardware World Model central representation logic based error recovery at several levels communication through model
Shakey: key ingredients Geometric planning within ILAs to avoid obstacles, eg. goto(d4) ILAs did simple error recovery (reactive controllers) e.g. push(box1, ( )) Major error recovery done by updating the world model e.g. if the robot is uncertain about its position it takes a camera fix and updates the world model. World model based on First Order Predicate Logic (FOPL)
Shakey: key ingredients World model used logical representations type(r1,room) in(shakey,r1) in(o1,r2) type(d1 door) type(o1 object) type(f3 face) type(shakey) at(o ) joinsfaces(d2 f3 f4) joinsrooms(d2 r3 r2) … shakey r3 f4 f3 d2 d1 f2 f1 r1 r2 o1
Shakey: key ingredients Planner used specialised representations to be faster, e.g. actions represented using STRIPS operators block_door(D,Y) preconditions:in(shakey,X) & in(Y,X) & clear(D) & door(D) & object(Y) delete list:clear(D) add list:blocked(D,Y)
Planning Shakey used a form of planning called goal regression Idea: find an action that directly achieves your goal, and then actions to achieve the first action’s preconditions, etc… e.g. Blocked(d1,X) block_door(D,Y) preconditions:in(shakey,X) & in(Y,X) & clear(D) & door(D) & object(Y) delete list:clear(D) add list:blocked(D,Y) shakey r3 f4 f3 d2 d1 f2 f1 r1 r2 o1
Planning Shakey could learn to chunk useful sequences of actions into single large actions called macrops But STRIPS was slow and weak Sussman anomaly
After Shakey Shakey looked promising But it worked in a very restricted environment Could it be extended to natural worlds? Stanford Cart, 1970s
After Shakey After twenty years the approach still didn’t extend –Visual modelling too hard and slow –Non-linear planning intractable (NP-complete) –Feedback through world model cumbersome People began to wonder if the ideas were right
Reading Russell and Norvig, Chapter 11 (Planning) Shakey the Robot, Technical report (in school library)