This article, Differential dynamic programming, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Inform author |
Comment: Please consider the following, to improve the Article:1) by providing one or more detailed examples of application of Differential Dynamic Programming, particularly with intent of making it clearly distinct from rather ambiguous catch-all of dynamic programming2) at least one visual depicting the methodology in an intuitive way, or an application of the methodology3) checking for DOI or URL for this reference: [1].FeralOink (talk) 10:25, 4 March 2012 (UTC)
Differential Dynamic Programming (DDP) is an Optimal Control algorithm of the trajectory optimization class. The algorithm was was introduced in 1966 by Mayne[2] and subsequently analysed in Jacobson and Mayne's eponymous book[3]. The algorithm uses locally-quadratic models of the dynamics and cost functions, and displays quadratic convergence. It is closely related to Pantoja's step-wise Newton's method[4][5].
Finite-Horizon Discrete-Time problems
The dynamics
1 |
describe the evolution of the state given the control from time to time . The total cost is the sum of running costs and final cost , incurred when starting from state and applying the control sequence until the horizon is reached:
where , and the for are given by Eq. 1. The solution of the optimal control problem is the minimizing control sequence Trajectory optimization means finding for a particular , rather than for all possible initial states.
Dynamic Programming
Let be the partial control sequence and define the cost-to-go as the partial sum of costs from to :
The optimal cost-to-go or Value Function at time is the cost-to-go given the minimizing control sequence:
Setting , the Dynamic Programming Principle reduces the minimization over an entire sequence of controls to a sequence of minimizations over a single control, proceeding backwards in time:
2 |
This is the Bellman Equation.
Differential Dynamic Programming
DDP proceeds by iteratively performing a backward pass on the nominal trajectory to generate a new control sequence, and then a forward-pass to compute and evaluate a new nominal trajectory. We begin with the backward pass. If
is the argument of the operator in Eq. 2, let be the variation of this quantity around the -th pair:
and expand to second order
3 |
The notation used here is a variant of the notation of Morimoto[6]. Dropping the index for readability, primes denoting the next time-step , the expansion coefficients are
The last terms in the last 3 equations denote contraction of a vector with a tensor. Minimizing the quadratic approximation with respect to we have
4 |
giving us an open-loop term and a feedback gain term . Plugging the result back into (3), we now have a quadratic model of the Value at time :
Recursively computing the local quadratic models of and the control modifications , from down to , constitutes the backward pass. As above, the Value is initialized with . Once the backward pass is completed, a forward pass computes a new trajectory:
The backward passes and forward passes are iterated until convergence.
Regularization and Line-Search
Differential Dynamic Programming is a second-order algorithm like Newton's Method. It therefore takes large steps toward the minimum and often requires regularization and/or line-search to achieve convergence [7] [8] .Regularization in the DDP context means ensuring that the matrix in Eq. 4 is positive definite. Line-search in DDP amounts to scaling the open-loop control modification by some .
References
- ^ Liao, L. Z. (1992). "Advantages of differential dynamic programming over Newton's method for discrete-time optimal control problems". Cornell University, Ithaca, NY.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Mayne, D. Q. (1966). "A second-order gradient method of optimizing non-linear discrete time systems". Int J Control. 3: 85–95. doi:10.1080/00207176608921369.
- ^ Mayne, David H. and Jacobson, David Q. (1970). Differential dynamic programming. New York: American Elsevier Pub. Co. ISBN 0444000704.
{{cite book}}
: CS1 maint: multiple names: authors list (link) - ^ de O. Pantoja, J. F. A. (1988). "Differential dynamic programming and Newton's method". International Journal of Control. 47 (5): 1539–1553. doi:10.1080/00207178808906114. ISSN 0020-7179.
- ^ Liao, L. Z. (1992). "Advantages of differential dynamic programming over Newton's method for discrete-time optimal control problems". Cornell University, Ithaca, NY.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Morimoto, J. (2003). "Minimax differential dynamic programming: Application to a biped walking robot". Intelligent Robots and Systems, 2003.(IROS 2003). Proceedings. 2003 IEEE/RSJ International Conference on. Vol. 2. pp. 1927–1932.
{{cite conference}}
: Unknown parameter|booktitle=
ignored (|book-title=
suggested) (help); Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^
Liao, L. Z (1991). "Convergence in unconstrained discrete-time differential dynamic programming". IEEE Transactions on Automatic Control. 36 (6): 692. doi:10.1109/9.86943.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - ^ Tassa, Y. (2011). Theory and implementation of bio-mimetic motor controllers (PDF) (Thesis). Hebrew University.