Lecture 4 - Planning Intro Flashcards
What are the three assumptions made for graph planning?
The state is known
The map is known
Map is mostly static
Give two potential queries for graph planning:
Can you reach B from A?
What’s the shortest path from node A to B that does not hit obstacles?`
What’s the difference between Dynamic Programming map algorithm and Dijkstra’s?
Dynamic programming calculates Cost-to-go to destination, whereas D’s algorithm calculates cost-to-come
Describe Dijsktra’s algorithm in steps
Start with D(vsrc) = 0
Set all surrounding nodes to D(v) = inf
Add all nodes nodes to priority queue Q with cost-to-come as priority
While Q is not empty:
* Extract node v with minimum c-t-c from Q
* if found goal, done
* remove v from queue
The cost-to-come of v is final at this point, need to check if we can reduce the c-t-c of its neighbors
For U in neighborhood of V:
* if d(u,v) + D(v) < D(u) then update priority
What’s the main problem with Dijkstra’s algorithm?
Many nodes are explored unnecessarily because the algorithm prioritizes fast paths over slow paths that go towards goal
How does A* improve Dijkstra’s algorithm?
By using a heuristic (cost-to-go, eg total distance to goal)
What are two properties needed for A* heuristics
They need to be admissible (understimate cost-to-go from v to dest) and monotonic (satisfy the triangle inequality)
What’s the idea behind Configuration spaces?
To dilate obstacles to take into account the dimensions of the robot, which allows us to plan the robot as a point, instead of taking account the ways the body can collide to the obstacles during planning.
Note: This idea is typically not used for robots with high-dimensional states.
Name one algorith that can be used to dilate obstacles:
Minkowski Sum
Explain what Subsumption Architecture is.
An architecture where planning is not necessary and only a hierarchy of reactive behaviors/controllers is used.
Explain what Deliberative Architechture is.
An architecture where you sense, build models and plans, then move. There’s no loop to update the map in case shit changes.
Why is the Sense-Plan-Act model better than Subsumption or Deliberative architechture?
Because you need to plan and construct careful algorithms for effectiveness, but also be willing to re-plan at any point using sensor data, in case the map or state changes.
What is a plan (formally)?
- A sequence of states.
- A feasible plan is one where all states from start to end, and the transitions in between, are feasible.
- Takes into account kinematics and maps
What are the inputs and outputs of a planning algorithm?
Input: a start, a goal, kinematic constraints and a
map
Output: a path/plan, or“impossible”
What are 4 planner properties?
- Correct: if every plan they’re output is feasible
- Complete: if they find a plan whenever one exists
- Terminating: if they execute in a finite time (guaranteed)
- Complexity: is measured by the worst-case memory and run-time in the map/robot dimensions, path length, etc.