Automatic differentiation of rigid body dynamics for optimal control and estimation

被引:33
作者
Giftthaler, Markus [1 ]
Neunert, Michael [1 ]
Stauble, Markus [1 ]
Frigerio, Marco [2 ]
Semini, Claudio [2 ]
Buchli, Jonas [1 ]
机构
[1] Swiss Fed Inst Technol, Inst Robot & Intelligent Syst, Agile & Dexterous Robot Lab, Zurich, Switzerland
[2] Ist Italiano Tecnol, Dept Adv Robot, Genoa, Italy
关键词
Automatic differentiation; rigid body dynamics; trajectory optimization; numerical optimal control; NONLINEAR OPTIMIZATION; SIMULATION; ALGORITHM; TRAJECTORIES;
D O I
10.1080/01691864.2017.1395361
中图分类号
TP24 [机器人技术];
学科分类号
080202 ; 1405 ;
摘要
Many algorithms for control, optimization and estimation in robotics depend on derivatives of the underlying system dynamics, e.g. to compute linearizations, sensitivities or gradient directions. However, we show that when dealing with rigid body dynamics, these derivatives are difficult to derive analytically and to implement efficiently. To overcome this issue, we extend the modelling tool 'RobCoGen' to be compatible with Automatic Differentiation. Additionally, we propose how to automatically obtain the derivatives and generate highly efficient source code. We highlight the flexibility and performance of the approach in two application examples. First, we show a trajectory optimization example for the quadrupedal robot HyQ, which employs auto-differentiation on the dynamics including a contact model. Second, we present a hardware experiment in which a six-DoF robotic arm avoids a randomly moving obstacle in a go-to task by fast, dynamic replanning.
引用
收藏
页码:1225 / 1237
页数:13
相关论文
共 39 条
  • [1] Andersson J., 2013, A General-Purpose Software Framework for Dynamic Optimization
  • [2] [Anonymous], IFAC P
  • [3] [Anonymous], MATH SOFTW
  • [4] [Anonymous], CORR
  • [5] [Anonymous], 2008, RIGID BODY DYNAMICS
  • [6] [Anonymous], 2014, Drake: A planning, control, and analysis toolbox for nonlinear dynamical systems
  • [7] [Anonymous], 2008, EVALUATING DERIVATIV
  • [8] Bell B. M, 2012, COMPUT INFRASTRUCT O
  • [9] Bendtsen C., 1996, FADBAD, a Flexible C++ Package for Automatic Differentiation
  • [10] Bischof CH, 1995, IUTAM S OPT MECH SYS, P41