140 likes | 273 Views
CS344 : Introduction to Artificial Intelligence. Pushpak Bhattacharyya CSE Dept., IIT Bombay Lecture 17- Robotic Planning mainly discussed the search issues. Example : Blocks World. STRIPS : A planning system – Has rules with precondition deletion list and addition list . Robot hand.
E N D
CS344 : Introduction to Artificial Intelligence Pushpak BhattacharyyaCSE Dept., IIT Bombay Lecture 17- Robotic Planning mainly discussed the search issues
Example : Blocks World • STRIPS : A planning system – Has rules with precondition deletion list and addition list Robot hand Robot hand A C B A B C START GOAL Sequence of actions : Grab C Pickup C Place on table C Grab B Pickup B 6. Stack B on C • Grab A • Pickup A • Stack A on B
Example : Blocks World • STRIPS : A planning system – Has rules with precondition deletion list and addition list Robot hand Robot hand A C B A B C START GOAL on(B, table) on(A, table) on(C, A) hand empty clear(C) clear(B) on(C, table) on(B, C) on(A, B) hand empty clear(A)
Rules • R1 : pickup(x) Precondition & Deletion List : handempty, on(x,table), clear(x) Add List : holding(x) • R2 : putdown(x) • Precondition & Deletion List : holding(x) • Add List : handempty, on(x,table), clear(x)
Rules • R3 : stack(x,y) Precondition & Deletion List :holding(x), clear(y) Add List : on(x,y), clear(x), handempty • R4 : unstack(x,y) • Precondition & Deletion List : on(x,y), clear(x),handempty • Add List : holding(x), clear(y)
Plan for the block world problem • For the given problem, Start Goal can be achieved by the following sequence : • Unstack(C,A) • Putdown(C) • Pickup(B) • Stack(B,C) • Pickup(A) • Stack(A,B) • Execution of a plan: achieved through a data structure called Triangular Table.
Triangular Table on(C,A) 1 clear(C) unstack(C,A) hand empty holding(C) putdown(C) 2 on(B,table) hand empty pickup(B) 3 clear(C) holding(B) stack(B,C) 4 on(A,table) clear(A) hand empty pickup(A) 5 6 clear(B) holding(A) stack(A,B) on(C,table) on(B,C) on(A,B) 7 clear(A) 0 3 6 1 2 4 5
Triangular Table • For n operations in the plan, there are : • (n+1) rows : 1 n+1 • (n+1) columns : 0 n • At the end of the ith row, place the ith component of the plan. • The row entries for the ith step contain the pre-conditions for the ith operation. • The column entries for the jth column contain the add list for the rule on the top. • The <i,j> th cell (where 1 ≤ i ≤ n+1 and 0≤ j ≤ n) contain the pre-conditions for the ith operation that are added by the jth operation. • The first column indicates the starting state and the last row indicates the goal state.
Kernel 0 = S0 (starting state) on(C,A) 1 clear(C) hand empty 2 on(B,table) 3 4 on(A,table) 5 6 7 0
Kernel 1= State S1 unstack(C,A) holding(C) 2 on(B,table) 3 4 on(A,table) clear(A) 5 6 7 0 1
Search in case of planning Start Pickup(B) Unstack(C,A) • Ex: Blocks world • Triangular table leads • to some amount of fault-tolerance in the robot S1 S2 NOT ALLOWED A C C C B A B A B START WRONG MOVE
Resilience in Planning • After a wrong operation, can the robot come back to the right path ? • i.e. after performing a wrong operation, if the system again goes towards the goal, then it has resilience w.r.t. that operation • Advanced planning strategies • Hierarchical planning • Probabilistic planning • Constraint satisfaction
Importane of Kernel • The kernel in the lr table controls the execution of the plan • At any step of the execution the current state as given by the sensors is matched with the largest kernel in the perceptual world of the robot, described by the lr table