150 likes | 264 Views
Unified optimal search. Search building example. Search Building 1.Choose ANW.location = window1, window2// 2 windows broken out on different floors 2. Fly to laboratoryA //gather vision data advance film, snapshot, camera = on 3. Lower chem bots//
E N D
Unified optimal search Search building example
Search Building 1.Choose ANW.location = window1, window2// 2 windows broken out on different floors 2. Fly to laboratoryA //gather vision data advance film, snapshot, camera = on 3. Lower chem bots// 4.Choose café or daycare //want to show backtrack to diff paths through diff plan 5. If not daycare then daycare// 5. Fly to labA 6. Transmit msg to chem-bots 7.Chembots ask if ANW1 = labA, then both go to rendzvous //focus on ANW1’s portion of the plan, fragment of rmpl code
(root USARteam ) ;; root object of RMPL program (defdomain building_rooms (daycare cafeteria laboratory window1 window2 office)) (defclass helicopter () (public state building_rooms location) ) (defclass smallbot () (public state building_rooms loc) ) ;;Main Program (defclass USARteam () (public state helicopter ANW1) (public state smallbot chembots);; (Search_Building() (sequence (choose ((ANW1.location = window1)[]) ((ANW1.location = window2)[]) ) ( parallel ((ANW1.location = laboratory)[]) ((ANW1.Take_Pictures(100))[] ) ) ((ANW1.Lower_Chembots(50))[]) (choose ((ANW1.location = daycare)[]) ((ANW1.location = cafeteria)[]) ((ANW1.location = office)[]) ) ;;(if-thennext(NOT(ANW1.location = daycare)) ;; (( ANW1.location = daycare )[]) ;;) );;end sequence );;end Search_Building );;end USARteam
Search_Building() [ ] S G (ANW1.TakePictures())[ ] 35 J K (ANW1= window1) [ ] 40 B D (ANW1 = cafeteria)[ ] R H A F 70 L M 70 C E I Q (ANW1 = window2)[ ] 50 N P (ANW1 = daycare)[ ]
A* on RRTPN • A TPN with costs • Use algm from other slides • when 1st loc node is reached then it is initialized with the SLD, on the arc before the • then loc is expanded for a specific number of iterations, the
Search_Building() [ ] 5 S G (ANW1.TakePictures())[ ] 5 35 J K (ANW1= window1) [ ] 5 5 5 B D 5 5 (ANW1 = cafeteria)[ ] R 5 H A F 5 L M 5 5 5 5 5 C E I Q 5 5 (ANW1 = window2)[ ] N P S (ANW1 = daycare)[ ] 3 steps, 100 iters per step init:SLD/epsilon G S A 1.Search Tree is initialized with S, and initial position (state) of ANW1(proapagated fwd) 2. S refers to the start of parallel activities so each of its successor is added together, S is completed and Closed 3. G is expanded, completed and Closed 4. A is expanded and creates two paths (CA) (BA), since both C and B begin a location constraint then they are initialized with a SLD cost estimate. 5. B grows an RRT for one step, then metric, m = dist of closest node/#iters is computed
Search_Building() [ ] S G (ANW1.TakePictures())[ ] show minimal partial expansion 35 J K (ANW1= window1) [ ] 40 B D show expansion with wall, #iters increases (ANW1 = cafeteria)[ ] R H A F 50 L M 70 C E I Q (ANW1 = window2)[ ] 70 N P (ANW1 = daycare)[ ] G 2.9 ?40 S B b1 A G ?40 S B b1 b2 A 4. A is expanded and creates two paths (CA) (BA), since both C and B begin a location constraint then they are initialized with a SLD?? cost estimate. 5. B grows an RRT (from current state) for one step, then metric, m = (#iters)/dist(n) is computed #iters = 100, dist = 35==> m= 100/35 = 2.9 (can scale it) B adds a step arc and node that represent the current RRT state, b1 6.B is expanded one step, #iters = 200, m = 200/20 = 10 7. C is expanded one step (really bad and finish off with B)
Search_Building() [ ] S G (ANW1.TakePictures())[ ] show minimal partial expansion 35 J K (ANW1= window1) [ ] 40 B D show expansion with wall, #iters increases (ANW1 = cafeteria)[ ] R H A F 50 L M 70 C E I Q (ANW1 = window2)[ ] 70 N P (ANW1 = daycare)[ ] G 2.9 ?40 S B b1 A G 2.9 4 S B b1 b2 A G 2.9 ?40 S B b1 b2 A 6.B is expanded one step, #iters = 200, m = 200/20 = 10 7. C is expanded one step (really bad and finish off with B)
Results ANW1 A C B Path-Planning State Space
ok now • just grow ‘em • just say there is a number of optimazations that can be done to improve, take into account the #of iters • step • step cost • max steps • can be optmized by preferring to step one path over another
(ANW1.location = windowI) 10 Step Arc 1 Step Node 1 ANW1.start Path-Planning Space ANW1.goal
S B S A C G A AND-node D D B C Search tree after expanding node A
AND-node Search_Building() [ ] 5 S G (ANW1.TakePictures())[ ] 5 35 J K (ANW1= windowI) [ ] 5 5 5 B D 5 5 (ANW1 = cafeteria)[ ] R 5 H A F 5 L M 5 AND-node 5 5 5 5 C E I Q 5 5 (ANW1 = windowII)[ ] N P
5 S G 5 B D 5 b2 b1 start A goal 5 C c1 goal start
5 S G 5 B D 5 goal start J K A 5 (ANW1 = cafeteria)[ ] 5 H F 5 L M 5 5 5 C I 5 5 c1 N P goal start