Technical Report Number
Computer Systems Organization, Computing Methodologies, Mathematics of Computing
In robotics it is well known that antipodal grasps can be achieved on curved objects in the presence of friction. This paper presents an efficient algorithm that computes, up to numerical resolution, all pairs of antipodal points on a simple, closed, and twice continuously differentiable plane curve. Dissecting the curve into segments everywhere convex or everywhere concave, the algorithm performs simultaneous marching on a pair of such segments with provable convergence and interleaves marching with numerical bisection. It makes use of new insights into the differential geometry at two antipodal points. We have avoided resorting to traditional nonlinear programming which would not be quite as efficient or guarantee to find all antipodal points. A byproduct of our result is a procedure that constructs all common tangent lines of two curves with locally quadratic convergence rate. Dissection and the coupling of marching with bisection introduced in this paper are potentially applicable to many optimization problems involving plane curves and curved shapes.