MINKOWSKI SUMS FOR EXPANDING P (obstacle).

Please enable Java for an interactive construction (with Cinderella). Consider the robot in the figure. Is is clear that it can reach "target" using its shortest path, or any path?

Having determined the shortest path, can the robot use it (ie "fit")?

Prior to computing the shortest path, we need to EXPAND the obstacles. For this we use Minkowski sums. Once the sums have "expanded" the obstacles, then we compute the shortest path using the vertex set of the "new" obstacles.

BACKGROUND:

• Let R be a square and choose its reference point r to be its lower left hand corner.
• Consider a polygon P. As R moves around ∂P, r traces out the boundary of P+, an expanded obstacle that defines the region of the plane where r cannot penetrate.

Please enable Java for an interactive construction (with Cinderella). Clearly, the vertex r (black vertex) traces a boundary around P. We will call this boudary P+. Note that the width of the boundary is different on different edges of P. This is due to R not being able to rotate. It simply translates.

This part now becomes part of the forbidden space except it is forbidden only to r, not R. Note that if r penetrates this new boundary, R penetrates the obstacle.

We use Minkowski sums to compute this boundary.

Minkowski sums are defined as follows:

• Let A and B be two sets of points in the plane. Then the points can be viewed as vectors in a coordinate system.
• The Minkowski sum is defined as A B = {x + y|x A, B}
• For our purposes, the sum will be P+ = P -R. We use -R (the reflected version of R about the origin of R which is r) since sometimes, when r traces the boundary around P, we get that P+ = P.

Please enable Java for an interactive construction (with Cinderella). Here we see Minkowski sums in computing P+.

In conclusion:

• The union of all P+ creates a forbidden space for r reference point of R.
• Once this union is determined, a visibility graph of the new set S* can be used to determine a path for the point r, which in turn determines a path for R in S.

Algorithms and definitions located in J.O'Rourke, Computational Geometry in C