Configuration Spaces for Translating Robots Minkowsi Sum/Difference David Johnson C-Obstacles • Convert – robot and obstacles – point and configuration space obstacles Workspace robot and obstacle C-space robot and obstacle Translating Robots • Most C-obstacles have mysterious form • Special case for translating robots • Look at the 1D case -7 -6 -5 -4 -3 -2 -1 0 1 obstacle 2 3 4 robot 5 6 7 Translating Robots • What translations of the robot result in a collision? -7 -6 -5 -4 -3 -2 -1 0 1 obstacle 2 3 4 robot 5 6 7 Minkowski Difference • The red C-obs is the Minkowski difference of the robot and the obstacle -7 -6 -5 -4 -3 -2 -1 0 1 obstacle 2 3 4 robot 5 6 7 Minkowski Sum • First, let us define the Minkowski Sum Minkowski Sum A B {a b | a A, b B} A B Minkowski Sum A B {a b | a A, b B} A B {a B | a A} Minkowski Sum Minkowski Sum A B {a b | a A, b B} Minkowski Sum Example • Applet • The Minkowski sum is like a convolution • A related operation produces the C-obs – Minkowski difference A B {a b | a A, b B} Back to the 1D Example • What translations of the robot result in a collision? O R {a b | a O, b R} -7 -6 -5 -4 -3 -2 -1 0 1 obstacle 2 3 4 robot 5 6 7 Tracing Out Collision Possibilities Minkowski Difference -B From sets to polygons • Set definitions are not very practical/implementable • For polygons, only need to consider vertices – Computationally tractable Properties of Minkowski Difference • For obstacle O and robot R – if O - R contains the origin Opt Rpt 0,0 Ox Rx 0 Oy Ry 0 Ox Rx Oy Ry Opt Rpt Collision! Another property • The closest point on the Minkowski difference to the origin is the distance between polygons • Distance between polygons d ( A, B) min a b , a A, b B d ( A, B) min z , z A B Example • Applet Discussion • Given a polygonal, translating robot • Polygonal obstacles • Compute exact configuration space obstacle • Next class – how will we use this to make paths?