Shape servoing ยท interactive tutorial All demos ?

Reference

Glossary

Short definitions of the main mathematical and robotics terms of the tutorial, in its notation. Each entry links to the demos where the term is used. Standard background concepts, such as range, null space, and the pseudoinverse, are defined in more detail on the useful definitions page.

Problem and shape features

Robot coordinates \vq
The m coordinates commanded to the robots (actuation DoFs). In the running example, the in-plane position and wrist angle of each gripper, \vq=[x_L,y_L,\theta_L,x_R,y_R,\theta_R]^{\top}, so m=6. See Demo 01
Object configuration \vx
The full configuration of the deformable object, for example all node positions of the simulated rod. The controller does not use it directly: it sees the object only through the features. See Demo 01, Demo 10
Feature map and shape features \vs=f(\vy)
The map from the measurement \vy (here, a camera image) to the feature vector \vs\in\R^n that represents the shape, for example the image coordinates of P tracked points, with n=2P. See Demo 01, Demo 09
Target shape \vs^{*} and shape error \ve
The desired feature vector and the error \ve=\vs^{*}-\vs that the loop drives toward zero. See Demo 01, Demo 05
Quasistatic equilibrium
The assumption that the object deforms slowly and only in response to robot motion: after each small motion, it settles into a nearby equilibrium before the next command, so inertial effects are neglected. See Demo 01
Extrinsic and intrinsic features
Extrinsic features, such as point coordinates, depend on both the shape and the pose of the object. Intrinsic features, such as turning angles, are invariant to rigid motions and describe the shape only. See Demo 09
Edge vectors and turning angles
Edge vectors \vd_i=\vp_{i+1}-\vp_i join consecutive tracked points and are invariant to translation. Turning angles \kappa_i, the signed angles between consecutive edges, describe local bending and are invariant to translation and rotation. See Demo 09
Invariance
A feature map is invariant to a motion of the object if that motion leaves \vs unchanged. The motion then produces no error, so the loop neither registers nor corrects it. See Demo 09

Deformation Jacobian and its estimation

Deformation Jacobian \vJ
The n\times m matrix that relates robot motion to feature change, \dot{\vs}=\vJ\vu, or \ds\approx\vJ\dq for a small step; also called the interaction Jacobian. It depends on the object, the grasp, and the current configuration, so it is a local model. See Demo 02
Jacobian estimate \vJh
The approximation of \vJ used by the controller, obtained from observed actionโ€“response pairs instead of a mechanical model. See Demo 03, Demo 04
Offline estimation
Before control, the robot executes C\geq m small exploratory motions \dQ, records the feature changes \dS, and fits \vJh_0=\dS\dQ^{+} by least squares. The motions must span all actuation directions; the residual \norm{\dS-\vJh_0\dQ}_F shows how well a single linear map explains the responses. See Demo 03
Broyden update
The online correction of the estimate from the latest actionโ€“response pair, \vJh_k=\vJh_{k-1}+\vr_k\dq_{k-1}^{\top}/(\dq_{k-1}^{\top}\dq_{k-1}), with the prediction error \vr_k=\ds_k-\vJh_{k-1}\dq_{k-1}. The new estimate reproduces the latest observed response exactly. See Demo 04

The closed loop

Control law and gain \alpha
\vu_k=\alpha\,\vJh_k^{+}\ve_k: the robot command that, according to the estimate, reduces the shape error. The gain \alpha>0 scales the step. See Demo 04
Pseudoinverse \vJh^{+}
The Mooreโ€“Penrose pseudoinverse. \vJh^{+}\ve is the minimum-norm robot motion whose predicted feature change best matches \ve in the least-squares sense. See Demo 04, Demo 08
Range and null spaces
\Range(\vJ) contains the feature changes that robot motion can produce locally. \Null(\vJ^{\top}), its orthogonal complement, contains the error directions that robot motion cannot reduce locally. \Null(\vJ) contains the robot motions that leave the features unchanged. See Demo 06
Feasible and reachable targets
A target is feasible if some admissible configuration realizes it, and reachable from the current configuration if an admissible manipulation path leads to such a configuration. Both are global properties, which the local Jacobian cannot establish by itself. See Demo 05
Local stability condition
Sufficient conditions for the error to decrease locally with an estimated Jacobian: \Sym(\vJ\vJh^{+})\succ0 when n\leq m and \vJ has full row rank, and \Sym(\vJh^{+}\vJ)\succ0 along the available actuation directions when n>m. The motions predicted by \vJh must stay sufficiently aligned with the true ones. See Demo 07

Singular value analysis

Singular value decomposition
\vJh=\sum_l\sigma_l\vphi_l\vpsi_l^{\top}. According to the estimate, a unit robot motion along the robot direction \vpsi_l produces the feature velocity \sigma_l\vphi_l. See Demo 08
Weak direction
A singular direction with a small \sigma_l: the corresponding shape change requires large robot motions, and the pseudoinverse amplifies errors along \vphi_l by 1/\sigma_l. See Demo 08, Demo 10
Manipulability and condition number
w=\prod_l\sigma_l measures the overall magnitude of the feature response to robot motion, and \cond=\sigma_{\max}/\sigma_{\min} its directional anisotropy. Both depend on the units of the coordinates. See Demo 08, Demo 10
Damped least-squares inverse
Replaces \vJh^{+} by \vJh^{\top}(\vJh\vJh^{\top}+\mu^2\mathbf{I}_n)^{-1} with a damping factor \mu>0. Each gain 1/\sigma_l becomes \sigma_l/(\sigma_l^2+\mu^2)\leq 1/(2\mu), which bounds the commands along weak directions. See Demo 10

Failure modes

Loss of controllability
Also called loss of control authority: \partial\vx/\partial\vq loses rank, so some robot motions no longer generate independent deformations of the object, for example when a rod is pulled taut. See Demo 10
Loss of observability
Also called loss of shape sensitivity: an object motion lies in \Null(\partial\vs/\partial\vx) and produces no change in the selected features, for example because of an invariance of the feature map or an occlusion. See Demo 09, Demo 10
Mechanical instability
As the smallest eigenvalue of the potential-energy Hessian approaches zero, small gripper motions can produce increasingly large deformations, and the equilibrium mapping loses local regularity: snap-through may change the configuration discontinuously, and buckling leads to a new equilibrium branch. The local relation \dot{\vs}=\vJ\vu does not hold through the transition. See Demo 10

Extensions

Feedforward term
The term \vJh_k^{+}\dot{\vs}^{*}_k added to the control law for a time-varying target. If \dot{\vs}^{*}\in\Range(\vJ) and the estimate is accurate, it reproduces the target motion and removes the tracking lag. See Demo 11
Secondary task and null-space projection
A second command \vu_2 projected by \mathbf{I}_m-\vJh^{+}\vJh onto \Null(\vJh), so that, according to the estimate, it leaves the shape features unchanged; m-\operatorname{rank}(\vJh) DoFs are available for it. See Demo 11
As-rigid-as-possible (ARAP) model
A deformation model for meshes in which each local neighborhood deforms as close to a rigid motion as possible. The demo uses it for the 3-D sheet and solid. See Demo 12