- Suppose that a very fast path planning algorithm runs on board of a mobile robot (for example, it may find an answer in a few milliseconds, which is reasonable using trapezoidal decomposition in ). Explain how this method can be used to simulate having a feedback plan on the robot. Explain the issues and trade-offs between having a fast on-line algorithm that computes open-loop plans vs. a better off-line algorithm that computes a feedback plan.
- Use Dijkstra's algorithm to construct navigation functions on a 2D grid with obstacles. Experiment with adding a penalty to the cost functional for getting too close to obstacles.
- If there are alternative routes, the NF2 algorithm does not necessarily send the state along the route that has the largest maximum clearance. Fix the NF2 algorithm so that it addresses this problem.
- Tangent space problems:
- For the manifold of unit quaternions, find basis vectors for the tangent space in at any point.
- Find basis vectors for the tangent space in , assuming that matrices in are parameterized with quaternions, as shown in (4.20).

- Extend the algorithm described in Section 8.4.3 to make it work for polygons that have holes. See Example 8.16 for a similar problem.
- Give a complete algorithm that uses the vertical cell decomposition for a polygonal obstacle region in to construct a vector field that serves as a feedback plan. The vector field may be discontinuous.
- Figure 8.23 depicts a 2D example for which is an open annulus. Consider designing a vector field for which all integral curves flow into and the vector field is continuous outside of . Either give a vector field that achieves this or explain why it is not possible.
- Use the maximum-clearance roadmap idea from Section 6.2.3 to define a cell decomposition and feedback motion plan (vector field) that maximizes clearance. The vector field may be discontinuous.
- Develop an algorithm that computes an exact cover for a polygonal configuration space and ensures that if two neighborhoods intersect, then their intersection always contains an open set (i.e., the overlap region is two-dimensional). The neighborhoods in the cover should be polygonal.
- Using a distance measurement and Euler angles, determine the expression for a collision-free ball that can be inferred (make the ball as large as possible). This should generalize (8.54).
- Using a distance measurement and quaternions, determine the expression for a collision-free ball (once again, make it as large as possible).
- Generalize the multi-linear interpolation scheme in (8.59) from to dimensions.
- Explain the convergence problems for value iteration that can
result if is used to constraint the set of allowable
actions, instead of
.

**Implementations**

- Experiment with numerical methods for solving the function (8.49) in two dimensions under various boundary conditions. Report on the efficiency and accuracy of the methods. How well can they be applied in higher dimensions?
- Implement value iteration with interpolation (it is not necessary to use the method in Figure 8.20) for a polygonal robot that translates and rotates among polygonal obstacles in . Define the cost functional so that the distance traveled is obtained with respect to a weighted Euclidean metric (the weights that compare rotation to translation can be set arbitrarily).
- Evaluate the efficiency of the interpolation method shown in Figure 8.20 applied to multi-linear interpolation given by generalizing (8.59) as in Exercise 12. You do not need to implement the full value iteration approach (alternatively, this could be done, which provides a better comparison of the overall performance).
- Implement the method of Section 8.4.2 of computing vector fields on a triangulation. For given input polygons, have your program draw a needle diagram of the computed vector field. Determine how fast the vector field can be recomputed as the goal changes.
- Optimal navigation function problems:
- Implement the algorithm illustrated in Figure 8.13. Show the level sets of the optimal cost-to-go function.
- Extend the algorithm and implementation to the case in which there are polygonal holes in .

- Adapt value iteration with interpolation so that a point robot
moving in the plane can keep track of a predictable moving point
called a
*target*. The cost functional should cause a small penalty to be added if the target is not visible. Optimizing this should minimize the amount of time that the target is not visible. Assume that the initial configuration of the robot is given. Compute optimal feedback plans for the robot. - Try to experimentally construct navigation functions by adding potential functions that repel the state away from obstacles and attract the state toward . For simplicity, you may assume that and the obstacles are discs. Start with a single disc and then gradually construct more complicated obstacle regions. How difficult is it to ensure that the resulting potential function has no local minima outside of ?

Steven M LaValle 2020-08-14