Iterative Linear Quadratic Regulator
迭代线性二次调节器iLQRAdvancedA trajectory-optimization algorithm that repeatedly linearizes a nonlinear system along its current trajectory and solves an LQR each round.
iLQR is a trajectory-optimization algorithm generally credited to Li and Todorov's 2004 paper. LQR only handles linear systems, but robot dynamics is nonlinear. iLQR's approach: start with an initial control sequence and simulate out a trajectory; at every point along it, linearize the dynamics and take a quadratic approximation of the cost, giving a time-varying LQR problem; run a Riccati recursion backward from the endpoint (a backward pass) to get a correction and a feedback gain at each step, then re-simulate a new trajectory forward from the start (a forward pass); repeat until convergence. It's a simplified version of differential dynamic programming (DDP, proposed by Mayne in 1966): DDP also uses the dynamics' second derivatives, which iLQR drops, and in practice the two converge at similar speed while iLQR is cheaper to compute. Besides a trajectory, the result comes with feedback gains along the way. Combined with MPC, it's re-solved from the current state every control cycle; the noise-aware extension is called iLQG.
ExampleDeepMind's open-source MuJoCo MPC (MJPC) has a built-in iLQG planner: every control cycle it re-optimizes a future window of control starting from the current state, used to control a simulated robot model in real time.
- Also called
- iLQR, Iterative LQR
- Related
- Linear Quadratic Regulator · Differential Dynamic Programming · Trajectory Optimization · Model Predictive Control · Nonlinear Model Predictive Control · MuJoCo MPC (MJPC)
- Sources
- Underactuated Robotics (Russ Tedrake), Ch. Trajectory Optimization: Iterative LQR and DDP
Differential dynamic programming - Wikipedia
MuJoCo MPC (MJPC) README