Abstract
Configuration space (C-space) has played a central role in collision-free motion planning, particularly for robot manipulators. While it is possible to check for collisions at a point using standard algorithms, to date no practical method exists for computing collision-free C-space regions with rigorous certificates due to the complexities of mapping task-space obstacles through the kinematics. In this work, we present the first to our knowledge method for generating such regions and certificates through convex optimization. Our method, called C-Iris (C-space Iterative Regional Inflation by Semidefinite programming), generates large, convex polytopes in a rational parametrization of the configuration space which are guaranteed to be collision-free. Such regions have been shown to be useful for both optimization-based and randomized motion planning. Our regions are generated by alternating between two convex optimization problems: (1) a simultaneous search for a maximal-volume ellipse inscribed in a given polytope and a certificate that the polytope is collision-free and (2) a maximal expansion of the polytope away from the ellipse which does not violate the certificate. The volume of the ellipse and size of the polytope are allowed to grow over several iterations while being collision-free by construction. Our method works in arbitrary dimensions, only makes assumptions about the convexity of the obstacles in the task space, and scales to realistic problems in manipulation. We demonstrate our algorithm’s ability to fill a non-trivial amount of collision-free C-space in a 3-DOF example where the C-space can be visualized, as well as the scalability of our algorithm on a 7-DOF KUKA iiwa and a 12-DOF bimanual manipulator.
A. Amice and H. Dai—Contributed equally.
This work was supported by Office of Naval Research, Award No. N00014-18-1-2210, National Science Foundation, Award No. EFMA-1830901., and Air Force Research Lab Award No. FA8750-19-2-1000.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
A problem is said to be APX-hard if no polynomial time algorithm can achieve an approximation ratio of \(1+\delta \) for some \(\delta > 0\) unless \(P = NP\).
- 2.
Our approach can be extended to robots with algebraic joints, including revolute, prismatic, cylindrical, plane and spherical joints [35].
- 3.
#P-hard problems are at least as hard as NP-complete problems [39].
- 4.
- 5.
References
Lozano-Perez, T.: Spatial planning: a configuration space approach. IEEE Trans. Comput. 100(32), 108–120 (1983)
Kavraki, L..E.: Computation of configuration-space obstacles using the fast fourier transform. IEEE Trans. Robot. Autom. 11(3), 408–413 (1995)
Branicky, M., Newman, W.: Rapid computation of configuration space obstacles. In: Proceedings of IEEE International Conference on Robotics and Automation (1990)
Canny, J.: The Complexity of Robot Motion Planning. MIT Press (1988)
LaValle, S.M. et al.: Rapidly-exploring random trees: A new tool for path planning (1998)
Kavraki, L.E., Svestka, P., Latombe, J.-C., Overmars, M.H.: Probabilistic roadmaps for path planning in high-dimensional configuration spaces. IEEE Trans. Robot. Autom. 12(4), 566–580 (1996)
Verghese, M., Das, N., Zhi, Y., Yip, M.: Configuration space decomposition for scalable proxy collision checking in robot planning and control (2022). arXiv:2201.04314
Han, Y., Zhao, W., Pan, J., Ye, Z., Yi, R., Liu, Y.-J.: A configuration-space decomposition scheme for learning-based collision checking (2019). arXiv:1911.08581
Wong, T..H., Leach, G., Zambetta, F.: An adaptive octree grid for GPU-based collision detection of deformable objects. Vis. Comput. 30(6), 729–738 (2014)
Lingas, A.: The power of non-rectilinear holes. In: International Colloquium on Automata, Languages, and Programming
Eidenbenz, S..J., Widmayer, P.: An approximation algorithm for minimum convex cover with logarithmic performance guarantee. SIAM J. Comput. 32(3), 1 (2003)
Lien, J.-M., Amato, N.M.: Approximate convex decomposition of polyhedra. In: Proceedings of the 2007 ACM Symposium on Solid and Physical Modeling
Ghosh, M., Amato, M.N., Lu, Y., Lien, J..-M.: Fast approximate convex decomposition using relative concavity. Comput.-Aided Des. 45(2), 494–504 (2013)
Deits, R., Tedrake, R.: Computing large convex regions of obstacle-free space through semidefinite programming. In: Algorithmic Foundations of Robotics XI, pp. 109–124. Springer (2015)
Diankov, R.: Automated construction of robotic manipulation programs (2010)
Trutman, P., Mohab, S.E.D., Henrion, D., Pajdla, T.: Globally optimal solution to inverse kinematics of 7dof serial manipulator (2020). arXiv:2007.12550
Sommese, A.J., Wampler, C.W. et al.: The Numerical Solution of Systems of Polynomials Arising in Engineering and Science. World Scientific (2005)
Deits, R., Tedrake, R.: Efficient mixed-integer planning for UAVs in cluttered environments. In: 2015 IEEE International Conference on Robotics and Automation (ICRA)
Schouwenaars, T., De Moor, B., Feron, E., How, J.: Mixed integer programming for multi-vehicle path planning. In: 2001 European Control Conference (ECC)
Marcucci, T., Petersen, M., von Wrangel, D., Tedrake, R.: Motion planning around obstacles with convex optimization (2022). https://arxiv.org/abs/2205.04422
Tedrake, R.: Robotic Manipulation (2021). https://manipulation.mit.edu/pick.html#monogram
Boyd, S., Boyd, S.P., Vandenberghe, L.: Convex Optimization. Cambridge University Press (2004)
Bishop, C.M.: Pattern Recognition. Machine Learning, vol. 128, Issue 9 (2006)
Parrilo, P.A.: Structured Semidefinite Programs and Semialgebraic Geometry methods in Robustness and Optimization. California Institute of Technology (2000)
Blekherman, G., Parrilo, P.A., Thomas, R.R.: Semidefinite Optimization and Convex Algebraic Geometry. SIAM (2012)
Tedrake, R., Manchester, I.R., Tobenkin, M., Roberts, J.W.: Lqr-trees: feedback motion planning via sums-of-squares verification. Int. J. Robot. Res. 29(8), 1038–1052 (2010)
Majumdar, A., Tedrake, R.: Funnel libraries for real-time robust feedback motion planning. Int. J. Robot. Res. 36(8), 947–982 (2017)
Shen, S., Tedrake, R.: Sampling quotient-ring sum-of-squares programs for scalable verification of nonlinear systems. In: 2020 59th IEEE Conference on Decision and Control (CDC)
Jarvis-Wloszek, Z., Feeley, R., Tan, W., Sun, K., Packard, A.: Some controls applications of sum of squares programming. In: 42nd IEEE International Conference on Decision and Control (IEEE Cat. No. 03CH37475), vol. 5, pp. 4676–4681. IEEE (2003)
Yin, H., Arcak, M., Packard, A., Seiler, P.: Backward reachability for polynomial systems on a finite horizon. IEEE Trans. Autom. Control 66(12), 6025–6032 (2021)
Ahmadi, A.A., Hall, G., Makadia, A., Sindhwani, V.: Geometry of 3d environments and sum of squares polynomials (2016). arXiv:1611.07369
Stengle, G.: A nullstellensatz and a positivstellensatz in semialgebraic geometry. Mathematische Annalen 207(2), 87–97 (1974)
Putinar, M.: Positive polynomials on compact semi-algebraic sets. Ind. Univ. Math. J. 42(3), 969–984 (1993)
Wampler, C.W., Morgan, A., Sommese, A.: Numerical continuation methods for solving polynomial systems arising in kinematics (1990)
Wampler, C..W., Sommese, A..J.: Numerical algebraic geometry and algebraic kinematics. Acta Numer. 20, 469–567 (2011)
Craig, J.J.: Introduction to Robotics: Mechanics and Control. Pearson Education (2005)
Spivak, M.: Calculus Third Edition. Cambridge University Press (1994)
Prestel, A., Delzell, C.: Positive Polynomials: From Hilbert’s 17th Problem to Real Algebra. Springer Science & Business Media (2013)
Provan, J..S., Ball, M..O.: The complexity of counting cuts and of computing the probability that a graph is connected. SIAM J. Comput. 12(4), 777–788 (1983)
Dyer, M.E., Frieze, A.M.: On the complexity of computing the volume of a polyhedron. SIAM J. Comput. 17(5), 967–974 (1988)
ApS, M.: The MOSEK optimization toolbox for MATLAB manual. Version 9.0 (2019). https://docs.mosek.com/9.0/toolbox/index.html
Lorensen, W.E., Cline, H.E.: Marching cubes: a high resolution 3d surface construction algorithm. ACM Siggraph Comput. Graph. 21(4), 163–169 (1987)
Parrilo, P.A.: Sum of squares programs and polynomial inequalities. In: SIAG/OPT Views-and-News: A Forum for the SIAM Activity Group on Optimization, vol. 15, Issue 2 (2004)
Sturmfels, B.: On the newton polytope of the resultant. J. Algebraic Comb. 3(2), 207–236 (1994)
Ferrier, C.: Computation of the distance to semi-algebraic sets. ESAIM: Control, Optimisation and Calculus of Variations, vol. 5
Gill, P.E., Murray, W., Saunders, M.A.: Snopt: an SQP algorithm for large-scale constrained optimization. SIAM Rev. 47(1), 99–131 (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix
A Definition of Archimedean
In this section we formally define the Archimedean property that appears in Theorem 1.
Definition 1
A semialgebraic set \(\mathcal {S}_{g} = \{x \mid g_{i}(x) \ge 0, i \in [n]\}\) is Archimedean if there exists \(N \in \mathbb {N}\) and \(\lambda _{i}(x) \in \boldsymbol{\varSigma }\) such that:
B Practical Aspects
In this section we discuss important ways to scale Algorithm 1. In Sects. B.1 and B.2 we describe design choices which dramatically reduce the size of the SOS programs used in the alternations. Next, we discuss aspects of Algorithm 1 which can be parallelized, reducing solve time in the alternations. Finally, we describe an extension to the original Iris algorithm [14] which can be used to rapidly propose a very large region that is likely, but not certified, to be collision-free. Seeding Algorithm 1 with such a region can dramatically reduce the number of iterations required to obtain a satisfyingly large volume.
1.1 B.1 Choosing the Reference Frame
The polynomial implications upon which the programs (11) and (12) are based require choosing a coordinate frame between each collision pair \(\mathcal {A}\) and \(\mathcal {B}\). However, as the collision-free certificate between two different collision pairs can be computed independently of each other, we are free to choose a different coordinate frame to express the kinematics for each collision pair. This is important in light of (4) and (5) that indicate that the degree of the polynomials and are equal to two times the number of joints lying on the kinematic chain between frame F and the frame for \(\mathcal {A}\). For example, the tangent-configuration space polynomial in the variable s describing the position of the end-effector of a 7-DOF robot is of total degree 14 when written in the coordinate frame of the robot base. However, when written in the frame of the third link, the polynomial describing the position of the end effector is only of total degree \((7-3)\times 2=8\). This observation is also used in [16] to reduce the size of the optimization program.
The size of the semidefinite variables in (11) and (12) scale as the square of the degree of the polynomial used to express the forward kinematics. Supposing there are n links in the kinematics chain between \(\mathcal {A}\) and \(\mathcal {B}\), then choosing the jth link along the kinematics chain as the reference frame F leads to scaling of order \(j^{2} + (n-j)^{2}\). Choosing the reference frame in the middle of the chain minimizes this complexity to scaling of order \(\frac{n^2}{2}\) and we therefore adopt this convention in our experiments.
1.2 B.2 Basis Selection
The condition that a polynomial can be written as a sum of squares can be equivalently formulated as an equality constraint between the coefficients of the polynomial and an associated semidefinite variable known as the Gram matrix [43]. In general, a polynomial in k variables of total degree 2d has \({k+2d} \atopwithdelims (){2d}\) coefficients and requires a Gram matrix of size \({k +d} \atopwithdelims (){d}\) to represent which can quickly become prohibitively large. Fortunately, the polynomials in our programs contain substantially more structure which will allow us to drastically reduce the size of the Gram matrices.
We begin by noting from (6) that while both the numerator and denominator of the forward kinematics are of total degree 2n, with n the number of links of the kinematics chain between frame A and F, both polynomials are of coordinate degree of at most two (i.e. the highest degree of \(s_{i}\) in any term is \(s_{i}^2\)). We will refer to this basis as \(\mu (s)\) which is a vector containing terms of the form \(\prod _{i = 1}^{n} s_{i}^{d_{i}}\) with \(d_{i} \in \{0,1,2\}\) for all \(n^{3}\) possible permutations of the exponents \(d_{i}\).
Next, we recall the form of \(\alpha ^{F, \mathcal {A}_{j}}(a_{\mathcal {A}, \mathcal {B}}, b_{\mathcal {A}, \mathcal {B}}, s)\) from (8b) and (8c). If \(a_{\mathcal {A}, \mathcal {B}}(s)= a^T_{\mathcal {A}, \mathcal {B}}\eta (s)\) and \(b_{\mathcal {A}, \mathcal {B}}(s) = b^T_{\mathcal {A}, \mathcal {B}}\eta (s)\) for some basis \(\eta \) in the variable s, then \(\alpha ^{F, \mathcal {A}_{j}}\) and \(\beta ^{F, \mathcal {A}_{j}}\) can be expressed as linear functions of the basis \(\gamma (s) = {\textbf {vect}}(\eta (s) \mu (s)^{T})\) where we use \({\textbf {vect}}\) to indicate the flattening of the matrix outer product. Concretely, if we choose to make \(a_{\mathcal {A}, \mathcal {B}}(s)\) and \(b_{\mathcal {A}, \mathcal {B}}(s)\) linear functions of the indeterminates s, then \(\eta (s) = l(s) = \begin{bmatrix} 1&s_{1}&\dots&s_{n}\end{bmatrix}\). Therefore \(\alpha ^{F, \mathcal {A}_{j}}\) and \(\beta ^{F, \mathcal {A}_{j}}\) can be expressed as linear functions of the basis
After choosing the basis \(\eta (s)\), which determines the basis \(\gamma (s)\), the equality constraints (9a) and (9b) constrain the necessary basis needed to express the multiplier polynomials \(\lambda (s)\) and \(\nu (s)\). The minimal such basis is related to an object known in computational algebra as the Newton polytope of a polynomial \({\textbf {New}}(f)\) [44]. The exact condition is that the \({\textbf {New}}(\eta (s)) + {\textbf {New}}(\mu (s)) \subseteq {\textbf {New}}(\rho (s)) + {\textbf {New}}(l(s))\) where the sum in this case is the Minkowski sum.
If we choose \(\eta (s)\) as the linear basis l(s), then we obtain the condition that \({\textbf {New}}(\rho (s)) = {\textbf {New}}(\mu (s))\) and since \(\mu (s)\) is a dense, even degree basis then we must take \(\rho (s) = \mu (s)\). Choosing \(\eta (s)\) as the constant basis would in fact result in the same condition, and therefore searching for separating planes which are linear functions of the tangent-configuration space does not increase the size of the semidefinite variables. As the complexity of (11) and (12) is dominated by the size of these semidefinite variables, separating planes which are linear functions changes does not substantially affect the solve time but can dramatically increase the size of the regions which we can certify.
Remark 3
In the case of certifying that the end-effector of a 7-DOF robot will not collide with the base using linearly parametrized hyperplanes, choosing to express conditions (9a) and (9b) in the world frame with naïvely chosen bases would result in semidefinite variables of size \({7+7 \atopwithdelims ()7} = 3432\). Choosing to express the conditions according to the discussion in Sect. B.1 and choosing the basis \(\gamma (s)\) from (13) results in semidefinite matrices of rows at most \(2^4 = 16\).
1.3 B.3 Parallelization
While it is attractive from a theoretical standpoint to write (11) as a single, large program it is worth noting that it can in fact be viewed as \(K + 1\) individual SOS and SDP programs, where K is the number of collision pairs in the environment. Indeed, certifying whether pairs \((\mathcal {A}_{1}, \mathcal {A}_{2})\) are collision-free for all s in the polytope \(\mathcal {P}\) can be done completely independently of the certification of another pair \((\mathcal {A}_{1}, \mathcal {A}_{3})\) as neither the constraints nor the cost couple the conditions of imposed on any pairs. Similarly, the search for the largest inscribed ellipsoid can be done independently of the search for the separating hyperplanes.
Solving the certification problem embedded in (11) as K individual SOS programs has several advantages. First, as written (11) has \(2(m+1)K\sum _{i} {\left| \mathcal {A}_{i} \right| }\) semidefinite variables of various sizes. In the example from Sect. 5.1 this corresponds to 35,072 semidefinite variables. This can be prohibitively large to store in memory as a single program. Additionally, solving the problems independently enables us to determine which collision bodies cannot be certified as collision-free and allows us to terminate our search as soon as a single pair cannot be certified. Finally, decomposing the problems into subproblems enables us to increase computation speed by leveraging parallel processing.
We note that (12) cannot be similarly decomposed as on this step the variables \(c_{i}^T\) and d affect all of the constraints. However, this program is substantially smaller as we have fixed \(2mK\sum _{i} {\left| \mathcal {A}_{i} \right| }\) semidefinite variables as constants and replaced them with 2m linear variables representing the polytope. This program is much more amenable to being solved as a single program.
1.4 B.4 Seeding the Algorithm
It is worth noting that the alternations in Algorithm 1 must be initialized with a polytope \(\mathcal {P}_{0}\) for which (11) is feasible. In principle, the alternation proposed in Sect. 4.3 can be seeded with an arbitrarily small polytope around a collision-free seed point. This seed polytope is then allowed to grow using Algorithm 1. However, this may require running several dozens of iterations of Algorithm 1 for each seed point which can become prohibitive as the size of the problem grows. It is therefore advantageous to seed with as large a region as can be initially certified.
Here we discuss an extension of the Iris algorithm in [14] which uses nonlinear optimization to rapidly generate large regions in C-space. These regions are not guaranteed to be collision-free and therefore they must still be passed to Algorithm 1 to be certified, but do provide good initial guesses. In this section, we will assume that the reader is familiar with Iris and will only discuss the modification required to use it to grow C-space regions. Detailed pseudocode is available in Appendix C
Iris grows regions in a given space by alternating between two subproblems: SeparatingHyperplanes and InscribedEllipsoid. The InscribedEllipsoid is exactly the program described in [22, Section 8.4.2] and we do not need to modify it. The subproblem SeparatingHyperplanes finds a set of hyperplanes which separate the ellipse generated by InscribedEllipsoid from all of the obstacles. This subproblem is solved by calling two subroutines ClosestPointOnObstacle and TangentPlane. The former finds the closest point on a given obstacle to the ellipse, while the latter places a plane at the point found in ClosestPointOnObstacle that is tangent to the ellipsoid.
The original work in [14] assumes convex obstacles which enables ClosestPointOnObstacle to be solved as a convex program and for the output of TangentPlane to be globally separating plane between the obstacle and the ellipsoid of the previous step. Due to the non-convexity of the C-space obstacles in our problem formulation, finding the closest point on an obstacle exactly becomes a computationally difficult problem to solve exactly [45]. Additionally, placing a tangent plane at the nearest point will be only a locally separating plane, not a globally separating one.
To address the former difficulty, we formulate ClosestPointOnObstacle as a nonlinear program. Let the current ellipse be given as \(\mathcal {E}= \{Qu + s_{0}\mid \left\| u \right\| _2 \le 1 \}\) and suppose we have the constraint that \(s \in \mathcal {P}= \{s \mid Cs \le d\}\). Let \(\mathcal {A}\) and \(\mathcal {B}\) be two collision pairs and \({}^{\mathcal {A}}p_{\mathcal {A}}, {}^{\mathcal {B}}p_{\mathcal {B}}\) be some point in bodies \(\mathcal {A}\) and \(\mathcal {B}\) expressed in some frame attached to \(\mathcal {A}\) and \(\mathcal {B}\). Also, let \({}^{W}X^{\mathcal {A}}(s)\) and \({}^{W}X^{\mathcal {B}}(s)\) denote the rigid transforms from the reference frames \(\mathcal {A}\) and \(\mathcal {B}\) to the world frame respectively. We remind the reader that this notation is drawn from [21]. The closest point on the obstacle subject to being contained in \(\mathcal {P}\) can be found by solving the program
This program searches for the nearest configuration in the metric of the ellipse such that two points in the collision pair come into contact. We find a locally optimal solution \((s^{\star }, {}^{\mathcal {A}}p_{\mathcal {A}}^{\star }, {}^{\mathcal {B}}p_{\mathcal {B}}^{\star })\) to the program using a fast, general-purpose nonlinear solver such as SNOPT [46]. The tangent plane to the ellipse \(\mathcal {E}\) at the point \(s^{\star }\) is computed by calling TangentPlane then appended to the inequalities of \(\mathcal {P}\) to form \(\mathcal {P}'\). This routine is looped until () is infeasible at which point InscribedEllipse is called again.
Once a region \(\mathcal {P}=\{s \mid Cs \le d\}\) is found by Algorithm 2, it will typically contain some minor violations of the non-collision constraint. To find an initial, feasible polytope \(\mathcal {P}_{0}\) to use in Algorithm 1, we search for a minimal uniform contraction \(\delta \) of \(\mathcal {P}\) such that \(\mathcal {P}_{\delta } = \{s \mid Cs \le d - \delta *1\}\) is collision-free. This can be found by bisecting over the variable \(\delta \in [0, \delta _{\max }]\) and solving repeated instances of (11).
Seeding Algorithm 1 with a \(\mathcal {P}_{0}\) as above can dramatically reduce the number of alternations required to obtain a fairly large region and is frequently faster than seeding Algorithm 1 with an arbitrarily small polytope.
C Supplementary Algorithms
We present a pseudocode for the algorithm presented in Appendix B.4. A mature implementation of this algorithm can be found in DrakeFootnote 5.
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Amice, A., Dai, H., Werner, P., Zhang, A., Tedrake, R. (2023). Finding and Optimizing Certified, Collision-Free Regions in Configuration Space for Robot Manipulators. In: LaValle, S.M., O’Kane, J.M., Otte, M., Sadigh, D., Tokekar, P. (eds) Algorithmic Foundations of Robotics XV. WAFR 2022. Springer Proceedings in Advanced Robotics, vol 25. Springer, Cham. https://doi.org/10.1007/978-3-031-21090-7_20
Download citation
DOI: https://doi.org/10.1007/978-3-031-21090-7_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21089-1
Online ISBN: 978-3-031-21090-7
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)