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

#include <hybrid_cost.h>

Inheritance diagram for corbo::MinTimeQuadraticGainScheduled:
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
 
void computeNonIntegralStateTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &x_k, 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
 
int getNonIntegralStateTermDimension (int k) const override
 
bool hasIntegralTerms (int k) const override
 
bool hasNonIntegralTerms (int k) const override
 
bool isLsqFormNonIntegralControlTerm (int k) const override
 
bool isLsqFormNonIntegralStateTerm (int k) const override
 
 MinTimeQuadraticGainScheduled ()=default
 
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 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 bool isLinearNonIntegralControlTerm (int k) const
 
virtual bool isLinearNonIntegralDtTerm (int k) const
 
virtual bool isLinearNonIntegralStateTerm (int k) const
 
virtual bool isLsqFormNonIntegralDtTerm (int k) const
 
virtual ~StageFunction ()=default
 Default destructor. More...
 

Protected Attributes

double _gain_quadratic = 0
 
double _gain_to = 1
 
double _gamma = 0.1
 
MinimumTime _min_time
 
QuadraticFormCost _quad_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 39 of file hybrid_cost.h.

Constructor & Destructor Documentation

◆ MinTimeQuadraticGainScheduled()

corbo::MinTimeQuadraticGainScheduled::MinTimeQuadraticGainScheduled ( )
default

Member Function Documentation

◆ computeIntegralStateControlTerm()

void corbo::MinTimeQuadraticGainScheduled::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 146 of file hybrid_cost.h.

◆ computeNonIntegralControlTerm()

void corbo::MinTimeQuadraticGainScheduled::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 141 of file hybrid_cost.h.

◆ computeNonIntegralDtTerm()

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

Reimplemented from corbo::StageFunction.

Definition at line 131 of file hybrid_cost.h.

◆ computeNonIntegralStateTerm()

void corbo::MinTimeQuadraticGainScheduled::computeNonIntegralStateTerm ( int  k,
const Eigen::Ref< const Eigen::VectorXd > &  x_k,
Eigen::Ref< Eigen::VectorXd >  cost 
) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 136 of file hybrid_cost.h.

◆ getInstance()

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

Return a newly created shared instance of the implemented class.

Implements corbo::StageCost.

Definition at line 44 of file hybrid_cost.h.

◆ getIntegralStateControlTermDimension()

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

Reimplemented from corbo::StageFunction.

Definition at line 58 of file hybrid_cost.h.

◆ getNonIntegralControlTermDimension()

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

Reimplemented from corbo::StageFunction.

Definition at line 54 of file hybrid_cost.h.

◆ getNonIntegralDtTermDimension()

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

Reimplemented from corbo::StageFunction.

Definition at line 52 of file hybrid_cost.h.

◆ getNonIntegralStateTermDimension()

int corbo::MinTimeQuadraticGainScheduled::getNonIntegralStateTermDimension ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 53 of file hybrid_cost.h.

◆ hasIntegralTerms()

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

Reimplemented from corbo::StageFunction.

Definition at line 50 of file hybrid_cost.h.

◆ hasNonIntegralTerms()

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

Reimplemented from corbo::StageFunction.

Definition at line 46 of file hybrid_cost.h.

◆ isLsqFormNonIntegralControlTerm()

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

Reimplemented from corbo::StageFunction.

Definition at line 64 of file hybrid_cost.h.

◆ isLsqFormNonIntegralStateTerm()

bool corbo::MinTimeQuadraticGainScheduled::isLsqFormNonIntegralStateTerm ( int  k) const
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 63 of file hybrid_cost.h.

◆ update()

bool corbo::MinTimeQuadraticGainScheduled::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 66 of file hybrid_cost.h.

Member Data Documentation

◆ _gain_quadratic

double corbo::MinTimeQuadraticGainScheduled::_gain_quadratic = 0
protected

Definition at line 185 of file hybrid_cost.h.

◆ _gain_to

double corbo::MinTimeQuadraticGainScheduled::_gain_to = 1
protected

Definition at line 184 of file hybrid_cost.h.

◆ _gamma

double corbo::MinTimeQuadraticGainScheduled::_gamma = 0.1
protected

Definition at line 182 of file hybrid_cost.h.

◆ _min_time

MinimumTime corbo::MinTimeQuadraticGainScheduled::_min_time
protected

Definition at line 179 of file hybrid_cost.h.

◆ _quad_cost

QuadraticFormCost corbo::MinTimeQuadraticGainScheduled::_quad_cost
protected

Definition at line 180 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