- 3.0.2 optimal control module.
ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR > Class Template Reference

A simple example with a 2d constraint. More...

#include <ConstraintComparison.h>

Inheritance diagram for ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >:
ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >

Public Types

typedef ct::core::tpl::TraitSelector< SCALAR >::Trait Trait
 
typedef ct::core::tpl::TraitSelector< ct::core::ADCGScalar >::Trait TraitCG
 
typedef ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALARBase
 
typedef core::StateVector< STATE_DIM, SCALARstate_vector_t
 
typedef core::ControlVector< CONTROL_DIM, SCALARcontrol_vector_t
 
typedef Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > VectorXs
 
typedef Eigen::Matrix< SCALAR, Eigen::Dynamic, Eigen::Dynamic > MatrixXs
 
- Public Types inherited from ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >
typedef core::StateVector< STATE_DIM, SCALARstate_vector_t
 
typedef core::ControlVector< CONTROL_DIM, SCALARcontrol_vector_t
 
typedef Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > VectorXs
 
typedef Eigen::Matrix< SCALAR, Eigen::Dynamic, Eigen::Dynamic > MatrixXs
 

Public Member Functions

 ConstraintTerm2D ()
 
virtual ~ConstraintTerm2D ()
 
ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR > * clone () const override
 Creates a new instance of the object with same properties than original. More...
 
virtual size_t getConstraintSize () const override
 The evaluate method used for jit compilation in constraint container ad. More...
 
virtual VectorXs evaluate (const state_vector_t &x, const control_vector_t &u, const SCALAR t) override
 The evaluation of the constraint violation. Note this method is SCALAR typed. More...
 
virtual Eigen::Matrix< ct::core::ADCGScalar, Eigen::Dynamic, 1 > evaluateCppadCg (const core::StateVector< STATE_DIM, ct::core::ADCGScalar > &x, const core::ControlVector< CONTROL_DIM, ct::core::ADCGScalar > &u, ct::core::ADCGScalar t) override
 
virtual MatrixXs jacobianState (const state_vector_t &x, const control_vector_t &u, const SCALAR t) override
 Returns the constraint jacobian wrt state. More...
 
virtual MatrixXs jacobianInput (const state_vector_t &x, const control_vector_t &u, const SCALAR t) override
 Returns the constraint jacobian wrt input. More...
 
- Public Member Functions inherited from ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >
 ConstraintBase (std::string name="Unnamed")
 Custom constructor. More...
 
 ConstraintBase (const ConstraintBase &arg)
 Copy constructor. More...
 
virtual ~ConstraintBase ()
 Destructor. More...
 
virtual VectorXs getLowerBound () const
 Returns the lower constraint bound. More...
 
virtual VectorXs getUpperBound () const
 Returns the upper constraint bound. More...
 
void getName (std::string &constraintName) const
 Returns the constraint name. More...
 
void setName (const std::string constraintName)
 Sets the constraint name. More...
 
virtual size_t getNumNonZerosJacobianState () const
 Returns the number of nonzeros in the jacobian wrt state. The default implementation assumes a dense matrix with only nonzero elements. More...
 
virtual size_t getNumNonZerosJacobianInput () const
 Returns the number of nonzeros in the jacobian wrt control input. The default implementation assumes a dense matrix with only nonzero elements. More...
 
virtual VectorXs jacobianStateSparse (const state_vector_t &x, const control_vector_t &u, const SCALAR t)
 Returns the constraint jacobian wrt state in sparse structure. The default implementation maps the JacobianState matrix to a vector. More...
 
virtual VectorXs jacobianInputSparse (const state_vector_t &x, const control_vector_t &u, const SCALAR t)
 Returns the constraint jacobian wrt control input in sparse structure. The default implementation maps the JacobianState matrix to a vector. More...
 
virtual void sparsityPatternState (Eigen::VectorXi &rows, Eigen::VectorXi &cols)
 Generates the sparsity pattern of the jacobian wrt state. The default implementation returns a vector of ones corresponding to the dense jacobianState. More...
 
virtual void sparsityPatternInput (Eigen::VectorXi &rows, Eigen::VectorXi &cols)
 Generates the sparsity pattern of the jacobian wrt control input. The default implementation returns a vector of ones corresponding to the dense jacobianInput. More...
 

Static Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW static const size_t term_dim = 2
 

Additional Inherited Members

- Public Attributes inherited from ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ct::core::tpl::TraitSelector< SCALAR >::Trait Trait
 
- Static Protected Member Functions inherited from ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >
static void genDiagonalIndices (const size_t num_elements, Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec)
 upper bound on the constraints More...
 
static void genSparseDiagonalIndices (const Eigen::VectorXi &diag_sparsity, Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec)
 Generates indices of a sparse diagonal square matrix. More...
 
static void genBlockIndices (const size_t num_rows, const size_t num_cols, Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec)
 Generates indices of a full matrix. More...
 
- Protected Attributes inherited from ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >
VectorXs lb_
 
VectorXs ub_
 lower bound on the constraints More...
 

Detailed Description

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
class ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >

A simple example with a 2d constraint.

Member Typedef Documentation

◆ Trait

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef ct::core::tpl::TraitSelector<SCALAR>::Trait ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::Trait

◆ TraitCG

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef ct::core::tpl::TraitSelector<ct::core::ADCGScalar>::Trait ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::TraitCG

◆ Base

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef ct::optcon::ConstraintBase<STATE_DIM, CONTROL_DIM, SCALAR> ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::Base

◆ state_vector_t

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef core::StateVector<STATE_DIM, SCALAR> ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::state_vector_t

◆ control_vector_t

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef core::ControlVector<CONTROL_DIM, SCALAR> ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::control_vector_t

◆ VectorXs

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef Eigen::Matrix<SCALAR, Eigen::Dynamic, 1> ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::VectorXs

◆ MatrixXs

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef Eigen::Matrix<SCALAR, Eigen::Dynamic, Eigen::Dynamic> ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::MatrixXs

Constructor & Destructor Documentation

◆ ConstraintTerm2D()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::ConstraintTerm2D ( )
inline

◆ ~ConstraintTerm2D()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
virtual ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::~ConstraintTerm2D ( )
inlinevirtual

Member Function Documentation

◆ clone()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
ConstraintTerm2D<STATE_DIM, CONTROL_DIM, SCALAR>* ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::clone ( ) const
inlineoverridevirtual

Creates a new instance of the object with same properties than original.

Returns
Copy of this object.

Implements ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >.

◆ getConstraintSize()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
virtual size_t ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::getConstraintSize ( ) const
inlineoverridevirtual

The evaluate method used for jit compilation in constraint container ad.

Parameters
[in]xThe state vector
[in]uThe control vector
[in]tThe time
Returns
The constraint violation Returns the number of constraints
The number of constraints

Implements ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >.

References ct::optcon::example::ConstraintTerm1D< STATE_DIM, CONTROL_DIM, SCALAR >::term_dim.

◆ evaluate()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
virtual VectorXs ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::evaluate ( const state_vector_t x,
const control_vector_t u,
const SCALAR  t 
)
inlineoverridevirtual

The evaluation of the constraint violation. Note this method is SCALAR typed.

Parameters
[in]xThe state vector
[in]uThe control vector
[in]tThe time
Returns
The constraint violation

Implements ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >.

References u, and x.

◆ evaluateCppadCg()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
virtual Eigen::Matrix<ct::core::ADCGScalar, Eigen::Dynamic, 1> ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::evaluateCppadCg ( const core::StateVector< STATE_DIM, ct::core::ADCGScalar > &  x,
const core::ControlVector< CONTROL_DIM, ct::core::ADCGScalar > &  u,
ct::core::ADCGScalar  t 
)
inlineoverridevirtual

References u, and x.

◆ jacobianState()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
virtual MatrixXs ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::jacobianState ( const state_vector_t x,
const control_vector_t u,
const SCALAR  t 
)
inlineoverridevirtual

Returns the constraint jacobian wrt state.

Returns
The constraint jacobian

Reimplemented from ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >.

References u, and x.

◆ jacobianInput()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
virtual MatrixXs ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::jacobianInput ( const state_vector_t x,
const control_vector_t u,
const SCALAR  t 
)
inlineoverridevirtual

Returns the constraint jacobian wrt input.

Returns
The constraint jacobian

Reimplemented from ct::optcon::ConstraintBase< STATE_DIM, CONTROL_DIM, SCALAR >.

References x.

Member Data Documentation

◆ term_dim

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW static const size_t ct::optcon::example::ConstraintTerm2D< STATE_DIM, CONTROL_DIM, SCALAR >::term_dim = 2
static

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