Drake

## Detailed Description

A structure to facilitate passing the myriad of optional arguments to the FiniteHorizonLinearQuadraticRegulator algorithms.

#include <drake/systems/controllers/finite_horizon_linear_quadratic_regulator.h>

## Public Attributes

std::optional< Eigen::MatrixXd > Qf
A num_states x num_states positive semi-definite matrix which specified the cost at the final time. More...

std::optional< Eigen::MatrixXd > N
A num_states x num_inputs matrix that describes the running cost 2(x-xd(t))'N(u-ud(t)). More...

const trajectories::Trajectory< double > * x0 {nullptr}
A nominal state trajectory. More...

const trajectories::Trajectory< double > * u0 {nullptr}
A nominal input trajectory. More...

const trajectories::Trajectory< double > * xd {nullptr}
A desired state trajectory. More...

const trajectories::Trajectory< double > * ud {nullptr}
A desired input trajectory. More...

std::variant< systems::InputPortSelection, InputPortIndexinput_port_index
For systems with multiple input ports, we must specify which input port is being used in the control design. More...

default

## ◆ input_port_index

 std::variant input_port_index
Initial value:

For systems with multiple input ports, we must specify which input port is being used in the control design.

systems::InputPortSelection.

## ◆ N

 std::optional N

A num_states x num_inputs matrix that describes the running cost 2(x-xd(t))'N(u-ud(t)).

If unset, then N will be set to the zero matrix.

## ◆ Qf

 std::optional Qf

A num_states x num_states positive semi-definite matrix which specified the cost at the final time.

If unset, then Qf will be set to the zero matrix.

## ◆ u0

 const trajectories::Trajectory* u0 {nullptr}

A nominal input trajectory.

The system is linearized about this trajectory. u0 must be defined over the entire interval, [t0, tf]. If null, then u0 is taken to be a constant trajectory (whose value is specified by the context passed into the LQR method).

## ◆ ud

 const trajectories::Trajectory* ud {nullptr}

A desired input trajectory.

The objective is to regulate to this trajectory – the input component of the quadratic running cost is (u-ud(t))'R(u-ud(t)). If null, then ud(t) = u0(t).

## ◆ x0

 const trajectories::Trajectory* x0 {nullptr}

A nominal state trajectory.

The system is linearized about this trajectory. x0 must be defined over the entire interval [t0, tf]. If null, then x0 is taken to be a constant trajectory (whose value is specified by the context passed into the LQR method).

## ◆ xd

 const trajectories::Trajectory* xd {nullptr}

A desired state trajectory.

The objective is to regulate to this trajectory – the state component of the quadratic running cost is (x-xd(t))'Q(x-xd(t)) and the final cost is (x-xd(t))'Qf(x-xd(t)). If null, then xd(t) = x0(t).

The documentation for this struct was generated from the following file: