Reference
Some useful definitions
Standard concepts that the two parts of the tutorial use without defining them in full, in alphabetical order. The notation follows the tutorial: \vs\in\R^{n} are the shape features, \vq\in\R^{m} the robot coordinates, \vu the robot velocity command, \ve=\vs^{*}-\vs the shape error, and \vJ\in\R^{n\times m} the deformation Jacobian, with estimate \vJh. For the terms specific to the tutorial, see the glossary.
Index
| Term | Part I | Part II | Demos |
|---|---|---|---|
| Bifurcation | I-C, II-B | IV-C, Fig. 5 | 10 |
| Condition number | III-A | II-B, IV-A | 08, 10 |
| Controllability and observability | โ | IV, Table III | 10 |
| Degrees of freedom | II-B, Fig. 1 | I-A | 01 |
| Jacobian matrix | II-B, II-D | I-A, II | 02 |
| Least squares | II-C, III-A, IV-C | โ | 03, 06 |
| Lyapunov function | IV-C | โ | 07 |
| Null space | II-C, IV-C, Table II | II-A, III, V-B | 06, 09, 11 |
| Positive-definite matrix | IV-C, Table II | IV-C | 07 |
| Pseudoinverse | II-C, III-A | II-A, IV-A | 04, 08 |
| Quasistatic manipulation | I-C, II-B, II-D | I-A, VI | 01 |
| Range | II-C, IV-B, IV-C | II-A, V-A | 05, 06 |
| Rank | II-C, III-A, IV-B, IV-C | II-A, V-B | 06, 08 |
| Singular value decomposition | III-A | II-A, II-B | 08 |
Part I and Part II columns give the sections (and figures or tables) of the two articles that use each term.
Definitions
- Bifurcation
- A point along a family of equilibria at which the number or the stability of the equilibria changes. For an elastic object, it occurs when the smallest eigenvalue of the Hessian of the potential energy, \lambda_{\min}(\bm{\Pi}_{\vx\vx}), reaches zero, that is, when the object loses its stiffness along one deformation mode. Buckling, in which a compressed rod leaves its straight shape and bows sideways, and snap-through, in which the object jumps to a distant equilibrium, are examples. Near such points, small robot motions can produce large shape changes, and the local model \dot{\vs}=\vJ\vu does not hold through the transition. See also quasistatic manipulation.
- Condition number
- For a matrix of full rank, \cond(A)=\sigma_{\max}/\sigma_{\min}\geq1, the ratio of its largest to its smallest singular value (SVD; Fig. 2). A large condition number means that the matrix amplifies some directions much more than others; its inverse then amplifies errors and noise along the weak directions by up to 1/\sigma_{\min}. It depends on the units of the coordinates. For the deformation Jacobian, a large condition number means that some shape changes require much larger robot motions than others.
- Controllability and observability
- In state-space control, a system is controllable if some input can steer it from any state to any other, and observable if its state can be reconstructed from its inputs and outputs. Part II uses the two terms in a local sense, through the factorization \vJ=(\partial\vs/\partial\vx)(\partial\vx/\partial\vq), where \vx is the configuration of the object: controllability is lost when \partial\vx/\partial\vq loses rank, so that robot motions no longer deform the object independently, and observability is lost when an object motion lies in the null space of \partial\vs/\partial\vx, so that the features do not register it.
- Degrees of freedom (DoFs)
- The minimum number of independent coordinates that specify the configuration of a mechanical system: three for a rigid body moving in a plane (two translations and one rotation) and six in space. The actuation DoFs are those that the robot commands directly. In the running example, they are the planar poses of the two grippers, \vq=[x_L,y_L,\theta_L,x_R,y_R,\theta_R]^{\top}, so m=6; the rod itself has many more DoFs, none of them actuated directly.
- Jacobian matrix
- For a smooth function \vs(\vq) from \R^{m} to \R^{n}, the n\times m matrix of partial derivatives, J_{ij}=\partial s_i/\partial q_j. Column j is the output velocity produced by a unit velocity of input j, so \dot{\vs}=\vJ\dot{\vq}, and for a small step \vs(\vq+\dq)\approx\vs(\vq)+\vJ\dq (first-order Taylor approximation). The approximation is local: its error grows with the step, and \vJ changes with \vq. The deformation Jacobian is the Jacobian of the shape features with respect to the robot coordinates.
- Least squares
- Solving A\vv\approx\mathbf{b} by minimizing \norm{A\vv-\mathbf{b}}^{2}, as required when no exact solution exists (typically when n>m). At a minimizer \vv^{\star}, A\vv^{\star} is the orthogonal projection of \mathbf{b} onto \Range(A), and the residual \mathbf{b}-A\vv^{\star} is orthogonal to \Range(A), that is, it lies in \Null(A^{\top}) (Fig. 1, left). If A has full column rank, the minimizer is unique, \vv^{\star}=(A^{\top}A)^{-1}A^{\top}\mathbf{b}. The offline Jacobian estimate \vJh_0=\dS\dQ^{+} is a least-squares fit.
- Lyapunov function
- A scalar function of the state that is zero at an equilibrium, positive elsewhere, and strictly decreasing along every trajectory away from the equilibrium. Its existence proves that the equilibrium is asymptotically stable without solving the equations of motion. The guarantee is local if it holds only near the equilibrium. Part I uses \mathcal{L}(\ve)=\tfrac{1}{2}\norm{\ve}^{2}, whose time derivative -\alpha\,\ve^{\top}\vJ\vJh^{+}\ve is negative whenever \ve^{\top}\vJ\vJh^{+}\ve>0 (see positive-definite matrix).
- Null space
- \Null(A)=\{\vv\in\R^{m}:A\vv=\mathbf{0}\}, the inputs that A maps to zero. Its dimension is m-\operatorname{rank}(A), so it is trivial, \{\mathbf{0}\}, exactly when A has full column rank. Adding a null-space vector to an input leaves the output unchanged, and \mathbf{I}_m-A^{+}A projects any vector onto \Null(A). Thus \Null(\vJ) contains the robot velocities that leave the features unchanged to first order; with three curvature-based features and six robot DoFs, it has dimension at least three (Part II). \Null(\vJ^{\top}), the orthogonal complement of \Range(\vJ) in feature space, contains the error components that no small robot motion can reduce (Fig. 1).
- Positive-definite matrix
- A square matrix M with \vv^{\top}M\vv>0 for every \vv\neq\mathbf{0}, written M\succ0. A symmetric matrix is positive definite exactly when all its eigenvalues are positive. For any square A, \vv^{\top}A\vv=\vv^{\top}\Sym(A)\,\vv with \Sym(A)=(A+A^{\top})/2, so only the symmetric part matters. Hence the condition \ve^{\top}\vJ\vJh^{+}\ve>0 of Part I holds for every nonzero \ve exactly when \Sym(\vJ\vJh^{+})\succ0. At a stable equilibrium of an elastic object, the Hessian of the potential energy is positive definite.
- Pseudoinverse
- The MooreโPenrose pseudoinverse A^{+}\in\R^{m\times n} of A\in\R^{n\times m} gives, as \vv=A^{+}\mathbf{b}, the minimum-norm least-squares solution of A\vv\approx\mathbf{b}: among all minimizers of \norm{A\vv-\mathbf{b}}, the one of smallest norm (Fig. 1, right). It equals A^{-1} if A is invertible, (A^{\top}A)^{-1}A^{\top} if A has full column rank, and A^{\top}(AA^{\top})^{-1} if A has full row rank; in general, A^{+}=\sum_{\sigma_l>0}\sigma_l^{-1}\vpsi_l\vphi_l^{\top} (SVD). AA^{+} projects onto \Range(A). Near rank loss, A^{+} becomes very large; the damped inverse of Part II bounds it.
- Quasistatic manipulation
- Manipulation slow enough that inertial and damping forces are negligible compared with elastic and gravitational forces, so that after each small robot motion the object settles into a stable equilibrium, a local minimum of its potential energy. Its shape is then a function of the robot configuration, \vs=\vs(\vq), along the branch of equilibria that it follows, which makes the deformation Jacobian well defined. Fast, dynamic manipulation, such as whipping a cable or flinging a cloth, is excluded.
- Range
- \Range(A)=\{A\vv:\vv\in\R^{m}\}\subseteq\R^{n}, the set of all outputs of A, spanned by its columns; also called the column space. Its dimension is \operatorname{rank}(A). \Range(\vJ) contains the feature velocities that robot motion can produce locally. With n=10 features and m=6 robot DoFs, it has dimension at most six, so an error component outside it, in \Null(\vJ^{\top}), cannot be reduced locally and may remain as a residual (Fig. 1, left).
- Rank
- The number of linearly independent columns of a matrix, which equals the number of independent rows and the number of nonzero singular values; \operatorname{rank}(A)\leq\min(n,m). A has full column rank if \operatorname{rank}(A)=m, full row rank if \operatorname{rank}(A)=n, and is rank deficient otherwise. \operatorname{rank}(\vJ) is the number of independent feature directions that small robot motions can change.
- Singular value decomposition (SVD)
- Every A\in\R^{n\times m} factors as A=\bm{\Phi}\bm{\Sigma}\bm{\Psi}^{\top}=\sum_l\sigma_l\vphi_l\vpsi_l^{\top}, with orthogonal matrices \bm{\Phi} and \bm{\Psi} and singular values \sigma_1\geq\sigma_2\geq\dots\geq0. Each input direction \vpsi_l is mapped to the output direction \vphi_l, scaled by \sigma_l: A\vpsi_l=\sigma_l\vphi_l. The unit sphere of inputs therefore becomes an ellipsoid with semi-axes \sigma_l\vphi_l (Fig. 2). The \vphi_l with \sigma_l>0 span \Range(A), and the \vpsi_l not paired with a positive singular value span \Null(A). For the Jacobian estimate, \vpsi_l is a coordinated robot motion, \vphi_l the shape change that it produces, and \sigma_l the gain between them.