Public Member Functions | Protected Attributes | List of all members
corbo::MinTimeQuadraticControls Class Reference

#include <hybrid_cost.h>

Inheritance diagram for corbo::MinTimeQuadraticControls:
Inheritance graph
[legend]

Public Member Functions

void computeIntegralStateControlTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, const Eigen::Ref< const Eigen::VectorXd > &u_k, Eigen::Ref< Eigen::VectorXd > cost) const override
 
void computeNonIntegralControlTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &u_k, Eigen::Ref< Eigen::VectorXd > cost) const override
 
void computeNonIntegralDtTerm (int k, double dt, Eigen::Ref< Eigen::VectorXd > cost) const override
 
StageCost::Ptr getInstance () const override
 Return a newly created shared instance of the implemented class. More...
 
int getIntegralStateControlTermDimension (int k) const override
 
int getNonIntegralControlTermDimension (int k) const override
 
int getNonIntegralDtTermDimension (int k) const override
 
bool hasIntegralTerms (int k) const override
 
bool hasNonIntegralTerms (int k) const override
 
bool isLsqFormNonIntegralControlTerm (int k) const override
 
bool isLsqFormNonIntegralDtTerm (int k) const override
 
 MinTimeQuadraticControls ()=default
 
 MinTimeQuadraticControls (const Eigen::Ref< const Eigen::MatrixXd > &R, bool integral_form, bool lsq_form=false)
 
bool update (int n, double t, ReferenceTrajectoryInterface &xref, ReferenceTrajectoryInterface &uref, ReferenceTrajectoryInterface *sref, bool single_dt, const Eigen::VectorXd &x0, StagePreprocessor::Ptr stage_preprocessor, const std::vector< double > &dts, const DiscretizationGridInterface *grid) override
 
- Public Member Functions inherited from corbo::StageFunction
virtual bool checkParameters (int state_dim, int control_dim, std::stringstream *issues) const
 
virtual void computeConcatenatedNonIntegralStateControlTerms (int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, const Eigen::Ref< const Eigen::VectorXd > &u_k, double dt_k, Eigen::Ref< Eigen::VectorXd > cost, bool lsq_mode=false) const
 
virtual void computeConcatenatedNonIntegralStateTerms (int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, const Eigen::Ref< const Eigen::VectorXd > &u_k, double dt_k, Eigen::Ref< Eigen::VectorXd > cost, bool lsq_mode=false) const
 
virtual void computeNonIntegralControlDeviationTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &u_k, const Eigen::Ref< const Eigen::VectorXd > &u_prev, double dt_prev, Eigen::Ref< Eigen::VectorXd > cost) const
 
virtual void computeNonIntegralStateControlDtTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, const Eigen::Ref< const Eigen::VectorXd > &u_k, double dt_k, Eigen::Ref< Eigen::VectorXd > cost) const
 
virtual void computeNonIntegralStateControlTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, const Eigen::Ref< const Eigen::VectorXd > &u_k, Eigen::Ref< Eigen::VectorXd > cost) const
 
virtual void computeNonIntegralStateDtTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, double dt_k, Eigen::Ref< Eigen::VectorXd > cost) const
 computeNonIntegralStateDtTerm: warning: currently only supported for full discretization More...
 
virtual void computeNonIntegralStateTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, Eigen::Ref< Eigen::VectorXd > cost) const
 
virtual int getConcatenatedNonIntegralStateControlTermDimension (int k, bool lsq_mode=false) const
 
virtual int getConcatenatedNonIntegralStateTermDimension (int k, bool lsq_mode=false) const
 
virtual int getNonIntegralControlDeviationTermDimension (int k) const
 
virtual int getNonIntegralStateControlDtTermDimension (int k) const
 
virtual int getNonIntegralStateControlTermDimension (int k) const
 
virtual int getNonIntegralStateDtTermDimension (int k) const
 
virtual int getNonIntegralStateTermDimension (int k) const
 
virtual bool isLinearNonIntegralControlTerm (int k) const
 
virtual bool isLinearNonIntegralDtTerm (int k) const
 
virtual bool isLinearNonIntegralStateTerm (int k) const
 
virtual bool isLsqFormNonIntegralStateTerm (int k) const
 
virtual ~StageFunction ()=default
 Default destructor. More...
 

Protected Attributes

MinimumTime _min_time
 
QuadraticControlCost _quad_control_cost
 

Additional Inherited Members

- Public Types inherited from corbo::StageCost
using ConstPtr = std::shared_ptr< const StageCost >
 
using Ptr = std::shared_ptr< StageCost >
 
- Public Types inherited from corbo::StageFunction
using ConstPtr = std::shared_ptr< const StageFunction >
 
using Ptr = std::shared_ptr< StageFunction >
 

Detailed Description

Definition at line 306 of file hybrid_cost.h.

Constructor & Destructor Documentation

◆ MinTimeQuadraticControls() [1/2]

corbo::MinTimeQuadraticControls::MinTimeQuadraticControls ( )
default

◆ MinTimeQuadraticControls() [2/2]

corbo::MinTimeQuadraticControls::MinTimeQuadraticControls ( const Eigen::Ref< const Eigen::MatrixXd > &  R,
bool  integral_form,
bool  lsq_form = false 
)
inline

Definition at line 311 of file hybrid_cost.h.

Member Function Documentation

◆ computeIntegralStateControlTerm()

void corbo::MinTimeQuadraticControls::computeIntegralStateControlTerm ( int  k,
const Eigen::Ref< const Eigen::VectorXd > &  x_k,
const Eigen::Ref< const Eigen::VectorXd > &  u_k,
Eigen::Ref< Eigen::VectorXd >  cost 
) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 358 of file hybrid_cost.h.

◆ computeNonIntegralControlTerm()

void corbo::MinTimeQuadraticControls::computeNonIntegralControlTerm ( int  k,
const Eigen::Ref< const Eigen::VectorXd > &  u_k,
Eigen::Ref< Eigen::VectorXd >  cost 
) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 353 of file hybrid_cost.h.

◆ computeNonIntegralDtTerm()

void corbo::MinTimeQuadraticControls::computeNonIntegralDtTerm ( int  k,
double  dt,
Eigen::Ref< Eigen::VectorXd >  cost 
) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 348 of file hybrid_cost.h.

◆ getInstance()

StageCost::Ptr corbo::MinTimeQuadraticControls::getInstance ( ) const
inlineoverridevirtual

Return a newly created shared instance of the implemented class.

Implements corbo::StageCost.

Definition at line 319 of file hybrid_cost.h.

◆ getIntegralStateControlTermDimension()

int corbo::MinTimeQuadraticControls::getIntegralStateControlTermDimension ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 329 of file hybrid_cost.h.

◆ getNonIntegralControlTermDimension()

int corbo::MinTimeQuadraticControls::getNonIntegralControlTermDimension ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 328 of file hybrid_cost.h.

◆ getNonIntegralDtTermDimension()

int corbo::MinTimeQuadraticControls::getNonIntegralDtTermDimension ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 327 of file hybrid_cost.h.

◆ hasIntegralTerms()

bool corbo::MinTimeQuadraticControls::hasIntegralTerms ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 325 of file hybrid_cost.h.

◆ hasNonIntegralTerms()

bool corbo::MinTimeQuadraticControls::hasNonIntegralTerms ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 321 of file hybrid_cost.h.

◆ isLsqFormNonIntegralControlTerm()

bool corbo::MinTimeQuadraticControls::isLsqFormNonIntegralControlTerm ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 335 of file hybrid_cost.h.

◆ isLsqFormNonIntegralDtTerm()

bool corbo::MinTimeQuadraticControls::isLsqFormNonIntegralDtTerm ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 334 of file hybrid_cost.h.

◆ update()

bool corbo::MinTimeQuadraticControls::update ( int  n,
double  t,
ReferenceTrajectoryInterface xref,
ReferenceTrajectoryInterface uref,
ReferenceTrajectoryInterface sref,
bool  single_dt,
const Eigen::VectorXd &  x0,
StagePreprocessor::Ptr  stage_preprocessor,
const std::vector< double > &  dts,
const DiscretizationGridInterface grid 
)
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 337 of file hybrid_cost.h.

Member Data Documentation

◆ _min_time

MinimumTime corbo::MinTimeQuadraticControls::_min_time
protected

Definition at line 387 of file hybrid_cost.h.

◆ _quad_control_cost

QuadraticControlCost corbo::MinTimeQuadraticControls::_quad_control_cost
protected

Definition at line 388 of file hybrid_cost.h.


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


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Mon Feb 28 2022 22:08:03