You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<trclass="memdesc:ga58307d2135757a498c434e96d7b99853"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for the finite-horizon linear quadratic regulator: <ahref="group__control.html#ga58307d2135757a498c434e96d7b99853">More...</a><br/></td></tr>
204
+
<trclass="memdesc:ga58307d2135757a498c434e96d7b99853"><tdclass="mdescLeft"> </td><tdclass="mdescRight">If <code>system</code> is a continuous-time system, then solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for the continuous-time finite-horizon linear quadratic regulator: <ahref="group__control.html#ga58307d2135757a498c434e96d7b99853">More...</a><br/></td></tr>
<trclass="memdesc:ga2ebe52e849a0597ad54f37ab6e35df8a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Variant of FiniteHorizonLinearQuadraticRegulator that returns a <aclass="el" href="classdrake_1_1systems_1_1_system.html" title="Base class for all System functionality that is dependent on the templatized scalar type T for input,...">System</a> implementing the regulator (controller) as a <aclass="el" href="classdrake_1_1systems_1_1_system.html" title="Base class for all System functionality that is dependent on the templatized scalar type T for input,...">System</a>, with a single "plant_state" input for the estimated plant state, and a single "control" output for the regulator control output. <ahref="group__control__systems.html#ga2ebe52e849a0597ad54f37ab6e35df8a">More...</a><br/></td></tr>
Copy file name to clipboardExpand all lines: doxygen_cxx/group__control.html
+11-6Lines changed: 11 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -174,7 +174,7 @@
174
174
<trclass="memdesc:ga32d5768cb664f6d07fc58b4af536c45a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Implements Fitted <aclass="el" href="classdrake_1_1_value.html" title="A container class for an arbitrary type T (with some restrictions).">Value</a> Iteration on a (triangulated) Barycentric Mesh, which designs a state-feedback policy to minimize the infinite-horizon cost ∑ γⁿ g(x[n],u[n]), where γ is the discount factor in <code>options</code>. <ahref="group__control.html#ga32d5768cb664f6d07fc58b4af536c45a">More...</a><br/></td></tr>
<trclass="memdesc:ga58307d2135757a498c434e96d7b99853"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for the finite-horizon linear quadratic regulator: <ahref="group__control.html#ga58307d2135757a498c434e96d7b99853">More...</a><br/></td></tr>
177
+
<trclass="memdesc:ga58307d2135757a498c434e96d7b99853"><tdclass="mdescLeft"> </td><tdclass="mdescRight">If <code>system</code> is a continuous-time system, then solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for the continuous-time finite-horizon linear quadratic regulator: <ahref="group__control.html#ga58307d2135757a498c434e96d7b99853">More...</a><br/></td></tr>
<trclass="memdesc:ga6506532189adf1c7a42662b597135f70"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Computes the optimal feedback controller, u=-Kx, and the optimal cost-to-go J = x'Sx for the problem: <ahref="group__control.html#ga6506532189adf1c7a42662b597135f70">More...</a><br/></td></tr>
<p>Solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for the finite-horizon linear quadratic regulator: </p>
307
+
<p>If <code>system</code> is a continuous-time system, then solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for the continuous-time finite-horizon linear quadratic regulator: </p>
<p>where A(t), B(t), and c(t) are taken from the gradients of the continuous-time dynamics ẋ = f(t,x,u), as A(t) = dfdx(t, x0(t), u0(t)), B(t) = dfdu(t, x0(t), u0(t)), and c(t) = f(t, x0(t), u0(t)) - ẋ0(t). x0(t) and u0(t) can be specified in <code>options</code>, otherwise are taken to be constant trajectories with values given by <code>context</code>.</p>
311
+
<p>where \( A(t) \), \( B(t) \), and \( c(t) \) are taken from the gradients of the continuous-time dynamics \( \dot{x} = f(t,x,u) \), where \( A(t) = \frac{\partial f}{\partial x}(t, x_0(t), u_0(t)) \), \( B(t) = \frac{\partial f}{\partial u}(t, x_0(t), u_0(t)) \), and \( c(t) = f(t, x_0(t), u_0(t)) - \dot{x}_0(t) \). \( x_0(t) \) and \( u_0(t) \) can be specified in <code>options</code>, otherwise are taken to be constant trajectories with values given by <code>context</code>.</p>
312
+
<p>If <code>system</code> is a discrete-time system, then solves the Riccati difference equation to compute the optimal controller and optimal cost-to-go for the doscrete-time finite-horizon linear quadratic regulator:</p>
<p>where \( A[n] \), \( B[n] \), and \( c[n] \) are taken from the gradients of the discrete-time dynamics \( x[n+1] = f_d(n,x[n],u[n]) \), where \( A[n] =\frac{\partial f_d}{\partial x}(x_0[n], u_0[n]), B[n] = \frac{\partial f_d}{\partial u}(n,x_0[n], u_0[n]) \), and \( c[n] = f_d(n,x_0[n],u_0[n]) - x_0[n+1] \). \( x_0[n] \) and \( u_0[n] \) can be specified in <code>options</code>, otherwise are taken to be constant trajectories with values given by <code>context</code>.</p>
312
317
<dlclass="params"><dt>Parameters</dt><dd>
313
318
<tableclass="params">
314
319
<tr><tdclass="paramname">system</td><td>a <aclass="el" href="classdrake_1_1systems_1_1_system.html">System<double></a> representing the plant. </td></tr>
<dlclass="section pre"><dt>Precondition</dt><dd><code>system</code> must be a <aclass="el" href="classdrake_1_1systems_1_1_system.html">System<double></a> with (only) n continuous state variables and m inputs. It must be convertible to <aclass="el" href="classdrake_1_1systems_1_1_system.html">System<AutoDiffXd></a>.</dd></dl>
325
-
<dlclass="section note"><dt>Note</dt><dd>Support for difference-equation systems (</dd></dl>
326
-
<dlclass="section see"><dt>See also</dt><dd><aclass="el" href="classdrake_1_1systems_1_1_system.html#aeb5016cfee3ccd384e0a0ba62b4da5bc" title="Returns true iff the state dynamics of this system are governed exclusively by a difference equation ...">System<T>::IsDifferenceEquationSystem()</a>) by solving the differential Riccati equation and richer specification of the objective are anticipated (they are listed in the code as TODOs). </dd></dl>
329
+
<dlclass="section return"><dt>Returns</dt><dd><aclass="el" href="structdrake_1_1systems_1_1controllers_1_1_finite_horizon_linear_quadratic_regulator_result.html"title="A structure that contains the basic FiniteHorizonLinearQuadraticRegulator results.">FiniteHorizonLinearQuadraticRegulatorResult</a> representing a continuous-time or a discrete-time finite-horizon LQR.</dd></dl>
330
+
<dlclass="section pre"><dt>Precondition</dt><dd><code>system</code> must be a <aclass="el" href="classdrake_1_1systems_1_1_system.html">System<double></a> with n continuous state variables and m inputs, or a <aclass="el" href="classdrake_1_1systems_1_1_system.html">System<double></a> with n discrete state variables and m inputs. It must be convertible to <aclass="el" href="classdrake_1_1systems_1_1_system.html">System<AutoDiffXd></a>.</dd></dl>
331
+
<dlclass="section note"><dt>Note</dt><dd>Richer specification of the objective is anticipated (they are listed in the code as TODOs). </dd></dl>
<p>Variant of FiniteHorizonLinearQuadraticRegulator that returns a <aclass="el" href="classdrake_1_1systems_1_1_system.html" title="Base class for all System functionality that is dependent on the templatized scalar type T for input,...">System</a> implementing the regulator (controller) as a <aclass="el" href="classdrake_1_1systems_1_1_system.html" title="Base class for all System functionality that is dependent on the templatized scalar type T for input,...">System</a>, with a single "plant_state" input for the estimated plant state, and a single "control" output for the regulator control output. </p>
586
-
<dlclass="section see"><dt>See also</dt><dd><aclass="el" href="group__control.html#ga58307d2135757a498c434e96d7b99853" title="Solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for...">FiniteHorizonLinearQuadraticRegulator</a> for details on the arguments. </dd></dl>
586
+
<dlclass="section see"><dt>See also</dt><dd><aclass="el" href="group__control.html#ga58307d2135757a498c434e96d7b99853" title="If system is a continuous-time system, then solves the differential Riccati equation to compute the o...">FiniteHorizonLinearQuadraticRegulator</a> for details on the arguments.</dd></dl>
587
+
<dlclass="section note"><dt>Note</dt><dd>To control a continuous-time plant using a discrete-time finite-horizon LQR controller, first convert the plant using DiscreteTimeApproximation and pass it to the function. After obtaining the discrete-time controller, be sure to connect a <aclass="el" href="classdrake_1_1systems_1_1_zero_order_hold.html" title="A zero order hold block with input u, which may be vector-valued (discrete or continuous) or abstract...">ZeroOrderHold</a> system to its output. For more details, refer to the DiscreteTimeTrajectory documentation. </dd></dl>
Copy file name to clipboardExpand all lines: doxygen_cxx/namespacedrake_1_1systems_1_1controllers.html
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -210,7 +210,7 @@
210
210
<trclass="memdesc:ga27f5edfa9bfb2544718b08584a514905"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Implements the Linear Programming approach to approximate dynamic programming. <ahref="group__control__systems.html#ga27f5edfa9bfb2544718b08584a514905">More...</a><br/></td></tr>
<trclass="memdesc:ga58307d2135757a498c434e96d7b99853"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for the finite-horizon linear quadratic regulator: <ahref="group__control.html#ga58307d2135757a498c434e96d7b99853">More...</a><br/></td></tr>
213
+
<trclass="memdesc:ga58307d2135757a498c434e96d7b99853"><tdclass="mdescLeft"> </td><tdclass="mdescRight">If <code>system</code> is a continuous-time system, then solves the differential Riccati equation to compute the optimal controller and optimal cost-to-go for the continuous-time finite-horizon linear quadratic regulator: <ahref="group__control.html#ga58307d2135757a498c434e96d7b99853">More...</a><br/></td></tr>
<trclass="memdesc:ga2ebe52e849a0597ad54f37ab6e35df8a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Variant of FiniteHorizonLinearQuadraticRegulator that returns a <aclass="el" href="classdrake_1_1systems_1_1_system.html" title="Base class for all System functionality that is dependent on the templatized scalar type T for input,...">System</a> implementing the regulator (controller) as a <aclass="el" href="classdrake_1_1systems_1_1_system.html" title="Base class for all System functionality that is dependent on the templatized scalar type T for input,...">System</a>, with a single "plant_state" input for the estimated plant state, and a single "control" output for the regulator control output. <ahref="group__control__systems.html#ga2ebe52e849a0597ad54f37ab6e35df8a">More...</a><br/></td></tr>
0 commit comments