Hermite-Simpson rule (approximates function as quadratic polynomial between two points) More...
#include <quadrature.h>
Public Member Functions | |
bool | computeIntermediateControls (const Eigen::Ref< const Eigen::VectorXd > &u1, const Eigen::Ref< const Eigen::VectorXd > &u2, std::vector< Eigen::VectorXd * > &intermediate_u) override |
DynamicsEvalInterface::Ptr | getInstance () const override |
Return a newly created shared instance of the implemented class. More... | |
int | getNumIntermediateControls () const override |
int | getNumIntermediatePoints () const override |
int | getNumIntermediateStates () const override |
bool | interpolate (const Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &u1, const Eigen::Ref< const Eigen::VectorXd > &x2, const Eigen::Ref< const Eigen::VectorXd > &u2, double dt, const SystemDynamicsInterface &system, const Range &range, std::vector< Eigen::VectorXd > &states, std::vector< Eigen::VectorXd > &controls) override |
bool | interpolate (const std::vector< const Eigen::VectorXd * > &x, const std::vector< const Eigen::VectorXd * > &u, double dt, const SystemDynamicsInterface &system, const Range &range, std::vector< Eigen::VectorXd > &states, std::vector< Eigen::VectorXd > &controls) override |
bool | interpolate (const std::vector< const Eigen::VectorXd * > &x1_points, const std::vector< const Eigen::VectorXd * > &u1_points, const Eigen::VectorXd &u2, const Eigen::VectorXd &x2, double t1, double dt, double dt_interp, const SystemDynamicsInterface &system, bool skip_u2_x2, TimeSeries &ts_x, TimeSeries &ts_u) override |
bool | isIntermediateControlSubjectToOptim () const override |
bool | isSupportingCompressedStatesMode () const override |
void | quadrature (const Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &u1, const Eigen::Ref< const Eigen::VectorXd > &x2, const Eigen::Ref< const Eigen::VectorXd > &u2, double dt, const BinaryFunction &fun, Eigen::Ref< Eigen::VectorXd > integral_value) override |
void | quadrature (const Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &u1, const Eigen::Ref< const Eigen::VectorXd > &x2, const Eigen::Ref< const Eigen::VectorXd > &u2, double dt, const BinaryFunction &fun, Eigen::Ref< Eigen::VectorXd > integral_value, std::vector< Eigen::VectorXd * > &intermediate_x, std::vector< Eigen::VectorXd * > &intermediate_u) override |
void | quadrature (const Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &u1, const Eigen::Ref< const Eigen::VectorXd > &x2, const Eigen::Ref< const Eigen::VectorXd > &u2, double dt, const std::vector< Eigen::VectorXd * > &intermediate_x, const std::vector< Eigen::VectorXd * > &intermediate_u, const BinaryFunction &fun, Eigen::Ref< Eigen::VectorXd > integral_value) override |
void | quadrature (const Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &x2, double dt, const std::vector< Eigen::VectorXd * > &intermediate_x, const UnaryFunction &fun, Eigen::Ref< Eigen::VectorXd > integral_value) override |
void | quadrature (const Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &x2, double dt, const UnaryFunction &fun, Eigen::Ref< Eigen::VectorXd > integral_value) override |
void | quadrature (const Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &x2, double dt, const UnaryFunction &fun, Eigen::Ref< Eigen::VectorXd > integral_value, std::vector< Eigen::VectorXd * > &intermediate_x) override |
void | quadrature (const StateVector &x1, const InputVector &u1, const StateVector &x2, const InputVector &u2, double dt, const SystemDynamicsInterface &system, const std::vector< Eigen::VectorXd * > &intermediate_u, Eigen::Ref< Eigen::VectorXd > integral_value, std::vector< Eigen::VectorXd * > &intermediate_x) override |
void | quadrature (const StateVector &x1, const InputVector &u1, const StateVector &x2, const InputVector &u2, double dt, const SystemDynamicsInterface &system, const std::vector< Eigen::VectorXd * > &intermediate_x, const std::vector< Eigen::VectorXd * > &intermediate_u, Eigen::Ref< Eigen::VectorXd > integral_value, Eigen::Ref< Eigen::VectorXd > interm_x_error) override |
void | quadrature (const StateVector &x1, const InputVector &u1, const StateVector &x2, const InputVector &u2, double dt, const SystemDynamicsInterface &system, Eigen::Ref< Eigen::VectorXd > integral_value) override |
void | quadrature (const StateVector &x1, const InputVector &u1, const StateVector &x2, const InputVector &u2, double dt, const SystemDynamicsInterface &system, Eigen::Ref< Eigen::VectorXd > integral_value, std::vector< Eigen::VectorXd * > &intermediate_x, std::vector< Eigen::VectorXd * > &intermediate_u) override |
void | quadrature (const StateVector &x1, const InputVector &u1, const StateVector &x2, double dt, const SystemDynamicsInterface &system, Eigen::Ref< Eigen::VectorXd > integral_value) override |
void | quadrature (const StateVector &x1, const InputVector &u1, const StateVector &x2, double dt, const SystemDynamicsInterface &system, Eigen::Ref< Eigen::VectorXd > integral_value, std::vector< Eigen::VectorXd * > &intermediate_x) override |
void | quadrature (const std::vector< const Eigen::VectorXd * > &x1_points, const std::vector< const Eigen::VectorXd * > &u1_points, const Eigen::VectorXd &u2, const Eigen::VectorXd &x2, double dt, const BinaryFunction &fun, Eigen::Ref< Eigen::VectorXd > integral_value) override |
void | quadrature (const std::vector< const Eigen::VectorXd * > &x1_points, const std::vector< const Eigen::VectorXd * > &u1_points, const Eigen::VectorXd &u2, const Eigen::VectorXd &x2, double dt, const SystemDynamicsInterface &system, Eigen::Ref< Eigen::VectorXd > integral_value) override |
Allocate memory for a given state dimension. More... | |
![]() | |
void | computeEqualityConstraint (const Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &x2, double dt, const UnaryFunction &fun, Eigen::Ref< Eigen::VectorXd > error) |
void | computeEqualityConstraint (const StateVector &x1, const InputVector &u1, const StateVector &x2, const InputVector &u2, double dt, const SystemDynamicsInterface &system, Eigen::Ref< Eigen::VectorXd > error) |
void | computeEqualityConstraint (const StateVector &x1, const InputVector &u1, const StateVector &x2, double dt, const SystemDynamicsInterface &system, Eigen::Ref< Eigen::VectorXd > error) override |
Compute differentiation error (system dynamics) More... | |
virtual | ~QuadratureCollocationInterface () |
Virtual destructor. More... | |
![]() | |
virtual | ~CollocationInterface () |
Virtual destructor. More... | |
![]() | |
virtual | ~DynamicsEvalInterface () |
Virtual destructor. More... | |
Additional Inherited Members | |
![]() | |
using | BinaryFunction = const std::function< void(const Eigen::VectorXd &, const Eigen::VectorXd &, Eigen::Ref< Eigen::VectorXd >)> |
using | Ptr = std::shared_ptr< QuadratureCollocationInterface > |
using | UnaryFunction = const std::function< void(const Eigen::VectorXd &, Eigen::Ref< Eigen::VectorXd >)> |
using | UPtr = std::unique_ptr< QuadratureCollocationInterface > |
![]() | |
using | InputVector = Eigen::VectorXd |
using | Ptr = std::shared_ptr< CollocationInterface > |
using | StateVector = Eigen::VectorXd |
using | UPtr = std::unique_ptr< CollocationInterface > |
![]() | |
using | InputVector = Eigen::VectorXd |
using | Ptr = std::shared_ptr< DynamicsEvalInterface > |
using | StateVector = Eigen::VectorXd |
using | UPtr = std::unique_ptr< DynamicsEvalInterface > |
![]() | |
static Factory< DynamicsEvalInterface > & | getFactory () |
Get access to the accociated factory. More... | |
Hermite-Simpson rule (approximates function as quadratic polynomial between two points)
.
Hermite-Simpson collocation approximates the system dynamics and control trajectory by quadratic polynomials between two consecutive points. Hence, the resulting state trajectory is composed of cubic hermite splines. Refer to
Definition at line 1109 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1498 of file quadrature.h.
|
inlineoverridevirtual |
Return a newly created shared instance of the implemented class.
Implements corbo::QuadratureCollocationInterface.
Definition at line 1113 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1120 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1118 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1121 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1423 of file quadrature.h.
|
inlineoverridevirtual |
Reimplemented from corbo::DynamicsEvalInterface.
Definition at line 1431 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1162 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1117 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1116 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1380 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1413 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1390 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1339 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1320 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1359 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1288 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1263 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1255 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1310 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1214 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1233 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1143 of file quadrature.h.
|
inlineoverridevirtual |
Allocate memory for a given state dimension.
[in] | state_dim | Expected dimension of the state vector |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1124 of file quadrature.h.