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 * > &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 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) |
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 by quadratic polynomials between two consecutive points. This version approximations the control trajectory by linear segments. Refer to the QuadratureHermiteSimpson for a quadratic control interpolation. Refer to
Definition at line 644 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1068 of file quadrature.h.
|
inlineoverridevirtual |
Return a newly created shared instance of the implemented class.
Implements corbo::QuadratureCollocationInterface.
Definition at line 648 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 655 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 653 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 656 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 1012 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 699 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 652 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 651 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 944 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 987 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 964 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 903 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 884 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 923 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 834 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 809 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 790 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 858 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 749 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 768 of file quadrature.h.
|
inlineoverridevirtual |
Implements corbo::QuadratureCollocationInterface.
Definition at line 679 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 659 of file quadrature.h.