derivatives for design and control with Jim and Simon
review: serial manipulator ๐ end effector position ๐ฆ โ โ 2 ๐ 3 ๐ 1 ๐ 2 โฎ motor angles ๐พ = ๐ 1 ๐ ๐ฟ
forward kinematics (FK) what is ๐ ๐พ ? i.e., given joint angles ๐พ , what is the corresponding tip position ๐ ? ๏ something like ๐ ๐พ = ๐ผ ๐ฟ ๐บ ๐ฟ โฏ ๐ผ 1 ๐บ 1 ๐ท // some big analytic // expression with a bunch // of sin(๐ ๐ ) โs and cos(๐ ๐ ) โs
inverse kinematics (IK) what is ๐พ โ เทฅ ๐ ? ๐ , what is an optimal choice of joint angles ๐พ โ ? i.e., given joint target tip position เทฅ
option 0: solve analytically
option 1: use optimization minimize a suitable objective
option 1a: derivative-free optimization requires no derivatives - when in doubt just use CMA-ES
option 1b: derivative-based optimization may require 1 derivative (gradient)โฆ gradient descent may require 2 derivatives (gradient and Hessian)โฆ Newtonโs method or be somewhere in the middleโฆ Gauss-Newton, L-BFGS
option 2: learn it ๐ build a large set of training data {(๐พ ๐ , ๐ ๐ )} ๐=1 using forward kinematics, then train a deep net using tensor flow, and evaluate the deep net at ๐พ
option 3: invert kinematics using the real world
option 1b: derivative-based optimization 1 ๐) ๐ (๐ ๐ โ เทฅ 2 (๐ ๐ โ เทฅ Say the objective is ๐ ๐(๐) = ๐) ๐๐ ๐๐ ๐๐ ๐๐ = gradient is // chain rule ๐๐ ๐๐ ๐๐ ๐๐ = (๐ ๐ โ เทฅ ๐) is trivial to compute ๐๐ and for a serial manipulator, ๐๐ can be computed analytically
But what if ๐ ๐ does not have an analytic expression? For example, static equilibrium of a finite element mesh: ๐ ๐ = ๐๐ ๐ min ๐น(๐, ๐) ๐ Still want to solve optimization problems of this form: min ๐ ๐ ๐ ๐
An example: topology optimization
Modeling continuous Relation between Parameters and State โข Observation : when we set parameters ๐ , we observe the state ๐ as the result of simulation. โข Although ๐ are problem variables, they are not real DOFs โ they are functions of the parameters, i.e., ๐ = ๐(๐) โข Map from parameters to state is ๐ = simulate(๐) โข For design, we need derivatives of ๐(๐) , ๐๐ ๐๐ d๐ ๐๐ = ๐๐ ๐๐ โข But how to compute these derivatives, ๐๐ ๐simulation ๐๐ = ? ๐๐ โข The derivative of an argmin ...? 14
Differentiating the Map โข Although we can evaluate the map ๐ โ ๐(๐) , this map is not available in closed-form (i.e., analytically ) โข ๐ โ ๐(๐) requires minimizing a function, i.e., solving a system of nonlinear equations. โข In general, it is impractical to compute derivatives of the minimization process. โข But even though ๐ โ ๐(๐) is not given explicitly , the gradient of the objective ๐๐น ๐ ๐, ๐ = ๐ ๐ฒ E = ๐๐ = ๐ provides this map implicitly . 15
Differentiating the Map โข Suppose that (๐ , ๐ ) is a feasible pair, i.e., ๐(๐, ๐) = ๐ . In other words, ๐ is an equilibrium configuration for ๐ . โข If we apply a parameter perturbation ฮ๐ , the system will undergo displacements ฮ๐ such that it is again in equilibrium, ๐(๐ + ฮ๐, ๐ + ฮ๐) = ๐ โข Since this has to hold for arbitrary parameter variations, we have ๐๐ ๐๐ ๐๐ ๐๐ ๐๐ = ๐๐ + ๐๐ = ๐ // total derivative ๐๐ โข If the Jacobian ๐ผ ๐ ๐ is non-singular, we have โ1 ๐๐ ๐๐ ๐๐ ๐๐ = โ ๐๐ ๐๐ 16
Sensitivity Analysis โข Used in many applications to quantify the sensitivity of a solution with respect to parameters ๐๐ ( ๐ป = ๐๐ is also called the sensitivity matrix) โข Widely for shape optimization, topology optimization, control, etc. 17
option 1b: derivative-based optimization 1 ๐) ๐ (๐ ๐ โ เทฅ 2 (๐ ๐ โ เทฅ Say the objective is ๐ ๐(๐) = ๐) ๐๐ ๐๐ ๐๐ ๐๐ = gradient is // chain rule ๐๐ ๐๐ ๐๐ ๐๐ = (๐ ๐ โ เทฅ ๐) is trivial to compute and for statically stable FEM (and for many, many other systems), ๐๐ ๐๐ can be computed using sensitivity analysis
application: soft IK say the control input ๐ are the contacted lengths of cables in a soft robot... ๐ , what is the optimal control ๐ โ ? given a target pose เทฅ ๐ ๐(๐) = 1 ๐) ๐ ๐น(๐ ๐ โ เทฅ 2 (๐ ๐ โ เทฅ ๐)
real-world robot ignals ๐ โ optim imal control sig user-specified target pose เทฅ ๐
Recommend
More recommend