derivatives for design and control
play

derivatives for design and control with Jim and Simon review: - PowerPoint PPT Presentation

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


  1. derivatives for design and control with Jim and Simon

  2. review: serial manipulator ๐’š end effector position ๐‘ฆ โˆˆ โ„ 2 ๐œ„ 3 ๐œ„ 1 ๐œ„ 2 โ‹ฎ motor angles ๐œพ = ๐œ„ 1 ๐œ„ ๐ฟ

  3. 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

  4. inverse kinematics (IK) what is ๐œพ โˆ— เทฅ ๐’š ? ๐’š , what is an optimal choice of joint angles ๐œพ โˆ— ? i.e., given joint target tip position เทฅ

  5. option 0: solve analytically

  6. option 1: use optimization minimize a suitable objective

  7. option 1a: derivative-free optimization requires no derivatives - when in doubt just use CMA-ES

  8. 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

  9. 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 ๐œพ

  10. option 3: invert kinematics using the real world

  11. 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

  12. 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 ๐’’ ๐‘” ๐’š ๐’’

  13. An example: topology optimization

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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 (๐’š ๐’’ โˆ’ เทฅ ๐’š)

  20. real-world robot ignals ๐’’ โˆ— optim imal control sig user-specified target pose เทฅ ๐’š

Recommend


More recommend