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 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 | 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 | isIntermediateControlSubjectToOptim () const override |
bool | isSupportingCompressedStatesMode () const 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 | 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 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 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, 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, 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, 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 > &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 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, std::vector< Eigen::VectorXd *> &intermediate_x) 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 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 > &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 | 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... | |
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 Eigen::Ref< const Eigen::VectorXd > &x1, const Eigen::Ref< const Eigen::VectorXd > &x2, double dt, const UnaryFunction &fun, Eigen::Ref< Eigen::VectorXd > error) |
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 1087 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1476 of file quadrature.h.
|
inlineoverridevirtual |
Return a newly created shared instance of the implemented class.
Implements corbo::QuadratureCollocationInterface.
Definition at line 1091 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1098 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1096 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1099 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1140 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1401 of file quadrature.h.
|
inlineoverridevirtual |
Reimplemented from corbo::DynamicsEvalInterface.
Definition at line 1409 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1095 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1094 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 1102 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1121 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1192 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1211 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1233 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1241 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1266 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1288 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1298 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1317 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1337 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1358 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1368 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1391 of file quadrature.h.