Minkowski Sum

            We can imagine the boundary of P (the polygonal obstacle) and R (the polygonal robot) to be a set of points in the plane. The points can be viewed as vectors in the coordinate system. In the diagram below, r is the reference point of robot R. p is the vector of point y on obstacle P. q is the vector for the point diagonal to r.  If we slide the robot R along the boundary of P, at the left bottom corner, R touches P at y. r’ is on the boundary of the forbidden area, and is the point we want to compute by Minkowski sum.

            By vector arithmetic, we know that the vector for point r’, w, can be computed by

p = w + q
w = pq

which is exactly the Minkowski sum formula for “growing” the obstacle to include all points which are forbidden to the reference point, r, of polygonal robot. That is, to compute the grown obstacle, we compute all the points on the boundary of the grown obstacle. To obtain one point, we first identify the point y at which the robot touches the obstacle. We then substract from the vector p of point y, the vector q, which is the vector from the reference point r of the robot to point on the robot touching y. This gives us w, as shown above. w represents the point r’ which is what we want. Note that r is chosen to be (0,0) for simplicity. We can obtain all points on the boundary of grown obstacle by repeating this computation.

            Once we have grown all the obstacles, we only need to deal with point robots in our motion planning problem.
 

previous next