task and mo on planning
play

Task and Mo*on Planning Dylan Hadfield-Menell UC Berkeley - PowerPoint PPT Presentation

Task and Mo*on Planning Dylan Hadfield-Menell UC Berkeley CS 287 Guest Lecture Planning for Complex Tasks Outline n Task Planning n Formula*on n


  1. Task ¡and ¡Mo*on ¡Planning ¡ Dylan ¡Hadfield-­‑Menell ¡ UC ¡Berkeley ¡CS ¡287 ¡Guest ¡Lecture ¡

  2. Planning ¡for ¡Complex ¡Tasks ¡

  3. Outline ¡ n Task ¡Planning ¡ n Formula*on ¡ n Fast-­‑Forward ¡ n Task ¡and ¡Mo*on ¡Planning ¡ n Forward ¡Search ¡ n Plan ¡Skeletons ¡ n Extension: ¡Par*al ¡observability ¡

  4. Example ¡Domain ¡ B A C Room 1 Room 3 Room 2 Room 0

  5. Mo*on ¡Planning ¡ B Room 2 n Ini*al ¡State: ¡ A C Room 3 Room 1 Room 0 B Room 2 n Goal ¡State: ¡ ¡ A C n Target ¡robot ¡pose ¡ Room 1 Room 3 Room 0

  6. Mo*on ¡Planning++ ¡ B Room2 n Ini*al ¡State: ¡ A C Room3 Room1 Room0 B Room2 n Goal ¡State: ¡ ¡ A C n Set ¡of ¡Robot ¡Configura*ons ¡ Room1 Room3 n In(Robot, ¡Room2) ¡ n In(Robot, ¡Room3)? ¡ Room0

  7. Task ¡and ¡Mo*on ¡Planning ¡ B Room 2 n Ini*al ¡State: ¡ A C Room 3 Room 1 Room 0 Room 2 n Goal ¡State: ¡ ¡ A B n In(A, ¡Room3) ¡^ ¡In(B, ¡Room2) ¡ Room 1 Room 3 Room 0

  8. Early ¡Robo*cs: ¡Shakey ¡the ¡Robot ¡

  9. Task ¡Planning: ¡State ¡Representa*on ¡ n Represent ¡state ¡of ¡the ¡world ¡as ¡list ¡of ¡true ¡proper*es ¡ In(Robot, R0) In(A, R1) B In(C, R2) A In(B, R0) C Holding(Robot, None) Blocks(B, R0, R3) . . .

  10. Task ¡Planning: ¡Ac*on ¡Representa*on ¡ n An ¡operator ¡is ¡a ¡defined ¡by ¡3 ¡ aXributes ¡ Move(R0, R1) n Name ¡ Preconditions In(robot, R0) n Iden*fier ¡for ¡ac*on ¡ Connected(R0, R1) n Precondi*ons ¡ ~Blocks(A, R0, R1) ~Blocks(B, R0, R1) n List ¡of ¡fluents ¡that ¡must ¡be ¡true ¡ ~Blocks(C, R0, R1) in ¡order ¡to ¡take ¡ac*on ¡ n Effects ¡ Effects In(robot, R1) n Add ¡list: ¡fluents ¡that ¡become ¡ ~In(robot, R0) true ¡a\er ¡the ¡ac*on ¡ n Delete ¡list: ¡fluents ¡that ¡become ¡ false ¡a\er ¡the ¡ac*on ¡

  11. Task ¡Planning: ¡More ¡Ac*ons ¡ MoveHolding(A, R0, R1) Preconditions Pick(A, R0) In(robot, R0) Clear(B, R0, R1) Holding(A) Preconditions Connected(R0, R1) Preconditions Holding(None) ~Blocks(A, R0, R1) Blocks(B, R0, R1) In(A, R0) ~Blocks(B, R0, R1) In(robot, R0) In(robot, R0) ~Blocks(C, R0, R1) Holding(None) Effects Effects Effects ~Holding(None) In(robot, R1) ~Blocks(B, R0, R1) Holding(A) ~In(robot, R0) In(A, R1) ~In(A, R0)

  12. Planning ¡Domain ¡Descrip*on ¡Language ¡ n Standardized ¡format ¡to ¡represent ¡planning ¡problems ¡ n Used ¡for ¡Interna*onal ¡Planning ¡Compe**ons ¡ n Lots ¡of ¡published ¡code ¡that ¡can ¡read ¡this ¡representa*on ¡ n Domain ¡file ¡defines ¡ n Fluents, ¡object ¡types, ¡operator ¡schemas ¡ n Problem ¡file ¡defines ¡ n Objects, ¡Ini*al ¡state, ¡Goal ¡condi*on ¡

  13. Example ¡PDDL ¡Domain ¡ (define (domain gripper-strips) (:predicates (room ?r) (ball ?b) (gripper ?g) (at-robby ?r) (at ?b ?r) (free ?g) (carry ?o ?g)) (:action move :parameters (?from ?to) :precondition (and (room ?from) (room ?to) (at-robby ?from)) :effect (and (at-robby ?to) (not (at-robby ?from)))) Example from Manuela Veloso

  14. Example ¡PDDL ¡Domain ¡(cont’d) ¡ (:action drop (:action pick :parameters (?obj ?room ?gripper) :parameters (?obj ?room ?gripper) :precondition (and (ball ?obj) :precondition (and (ball ?obj) (room ?room) (room ?room) (gripper ?gripper) (gripper ?gripper) (carry ?obj ?gripper) (at ?obj ?room) (at-robby ?room)) (at-robby ?room) :effect (and (at ?obj ?room) (free ?gripper)) (free ?gripper) :effect (and (carry ?obj ?gripper) (not (carry ?obj ?gripper))))) (not (at ?obj ?room)) (not (free ?gripper)))) Example from Manuela Veloso

  15. Example ¡PDDL ¡Problem ¡ (define (problem strips-gripper2) (:domain gripper-strips) (:objects rooma roomb ball1 ball2 left right) Solution: (:init (room rooma) (room roomb) pick(ball1 rooma left) (ball ball1) (ball ball2) move(rooma roomb) (gripper left) (gripper right) drop(ball1 roomb left) (at-robby rooma) (free left) (free right) (at ball1 rooma) (at ball2 rooma)) (:goal (at ball1 roomb))) Example from Manuela Veloso

  16. Algorithms ¡for ¡Task ¡Planning ¡ Lots of intermediate approaches 2014: IPC-8 { 50+ submissions 1995: GraphPlan 1972: STRIPS 2001: Fast Forward 1959: GPS 1998: First IPC { 2006: Fast Downward { Early Methods Domain Independent Heuristics Not to scale

  17. Planning ¡Graph ¡[Blum ¡& ¡Furst ¡‘95] ¡ n Preprocessing ¡Step ¡before ¡planning ¡ ¡ n Can ¡reveal ¡natural ¡structure ¡in ¡problem ¡ n Compute ¡over-­‑approxima*on ¡of ¡reachable ¡set ¡of ¡literals ¡

  18. Planning ¡Graph ¡[Blum ¡& ¡Furst ¡‘95] ¡ L 0 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ß ¡all ¡facts ¡true ¡in ¡ini*al ¡state ¡ ¡ t ← 0 goal / ∈ L t While ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ß ¡facts ¡from ¡ ¡ L t L t − 1 pre ( a ) ∈ L t − 1 ¡ ¡ ¡For ¡each ¡ac*on ¡with ¡ L t = L t ∪ eff ( a ) ¡ t ← t + 1 ¡ ¡ ¡ ¡ Theorem: is a superset of reachable set of fluents for plans of length t L t ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

  19. Fast-­‑Forward ¡[Hoffmann ¡2001] ¡ n Early ¡use ¡of ¡plan ¡graphs ¡analyzed ¡the ¡plan ¡graph ¡to ¡extract ¡a ¡ sequence ¡of ¡ac*ons ¡ n Fast-­‑Forward: ¡use ¡the ¡length ¡of ¡the ¡planning ¡graph ¡as ¡a ¡ heuris*c ¡inside ¡of ¡a ¡forward ¡search ¡ n Actually ¡use ¡relaxed ¡planning ¡graph, ¡which ¡ignores ¡delete ¡effects ¡ n Some ¡modifica*ons ¡to ¡handle ¡very ¡slow ¡heuris*c ¡computa*on ¡

  20. Fast-­‑Forward ¡[Hoffmann ¡2001] ¡ Q ← PriorityQueue () Q.push ( init, 0) While goal not found s ← Q.pop () pg ← RelaxPlanGraph ( s, goal ) for c in s.children Q.push ( c, len ( pg ))

  21. Fast-­‑Forward ¡Details ¡ n Enforced ¡hill ¡climbing ¡ n Greedy ¡search ¡+ ¡breadth-­‑first ¡search ¡to ¡account ¡for ¡plateaus ¡ n Push ¡children ¡with ¡heuris*c ¡evaluated ¡on ¡parent ¡ n 1 ¡heuris*c ¡evalua*on/expansion ¡ n Alterna*ve ¡is ¡1 ¡heuris*c ¡evalua*on/child ¡ n Helpful ¡ac*ons ¡ n When ¡planning ¡graph ¡terminates, ¡we ¡can ¡extract ¡a ¡plan ¡with ¡ simultaneous ¡ac*ons ¡ n Search ¡those ¡ac*ons ¡first ¡

  22. Task ¡Planning ¡Summary ¡ n Binary ¡State ¡Representa*on ¡ n Proper*es ¡of ¡the ¡world ¡that ¡change ¡over ¡*me ¡ n Ac*ons ¡defined ¡by ¡precondi*ons ¡and ¡effects ¡ n State-­‑of-­‑the-­‑art ¡relies ¡on ¡heuris*c ¡forward ¡search ¡with ¡domain ¡ independent ¡heuris*cs ¡

  23. Task ¡Planning ¡for ¡Robots ¡(the ¡hope) ¡ Binary Planning In(Robot, R0) In(A, R1) Representation In(C, R2) In(B, R0) Task Holding(Robot, None) Planning Blocks(B, R0, R3) B A Motion C Planning Execution Continuous Full Representation

  24. Task ¡Planning ¡for ¡Robots ¡(the ¡reality) ¡ Binary Planning In(Robot, R0) In(A, R1) Representation In(C, R2) In(B, R0) Task Holding(Robot, None) Planning Blocks(B, R0, R3) B A No Plan Motion Found! C Planning Execution Continuous Full Representation

  25. Execu*ng ¡a ¡Task ¡Plan ¡ n Each ¡high ¡level ¡ac*on ¡encodes ¡a ¡mo*on ¡planning ¡problem ¡ n Ex. ¡Move(R0, ¡R1) ¡ B A n Ini*al ¡State: ¡Current ¡robot ¡pose ¡ C n Goal ¡State: ¡anything ¡in ¡R1 ¡ n Mo*on ¡plan ¡each ¡step ¡in ¡sequence ¡ n Issue: ¡dependency ¡between ¡intermediate ¡steps ¡of ¡plan ¡

  26. Dependency ¡for ¡intermediate ¡states ¡ Move(R0, R1) Move(R1, R2) R0 R2 R1 Solution: Try several intermediate poses for each action What if the task plan itself is wrong?

  27. A ¡Con*nuous ¡Representa*on ¡ n Goal: ¡Holding(robot, ¡A) ¡ n High-­‑Level ¡Ac*ons ¡ A B n Grasp(robot, ¡r_pose, ¡obj, ¡o_pose, ¡ grasp) ¡ n Move(robot, ¡pose1, ¡pose2) ¡ n Place(robot, ¡r_pose, ¡obj, ¡grasp, ¡ obj_pose) ¡ n Grasps, ¡poses, ¡and ¡loca*ons ¡are ¡ all ¡con*nuous ¡

  28. A ¡Con*nuous ¡Operator ¡ Continuous parameters A Grasp(robot, r_pose, obj, o_pose, grasp) B Preconditions: GraspPose(r_pose, o_pose, grasp) At(robot, r_pose) At(obj, o_pose) Holding(robot, None) Effects: ~At(obj, o_pose) Holding(robot, obj) ~Holding(robot, None) ∀ p1, p2 ~Obstructs(obj, p1, p2)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend