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

#include <minimum_time.h>

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

Public Types

using Ptr = std::shared_ptr< MinimumTime >
 
- 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 >
 

Public Member Functions

void computeNonIntegralDtTerm (int k, double dt, Eigen::Ref< Eigen::VectorXd > cost) const override
 
double getCustomWeight () const
 
StageCost::Ptr getInstance () const override
 Return a newly created shared instance of the implemented class. More...
 
int getNonIntegralDtTermDimension (int k) const override
 
bool hasIntegralTerms (int k) const override
 
bool hasNonIntegralTerms (int k) const override
 
bool isLsqFormNonIntegralDtTerm (int k) const override
 
 MinimumTime ()=default
 
 MinimumTime (bool lsq_form)
 
void setCustomWeight (double weight)
 
void setLsqForm (bool lsq_form)
 
bool update (int n, double, ReferenceTrajectoryInterface &, ReferenceTrajectoryInterface &, ReferenceTrajectoryInterface *, bool single_dt, const Eigen::VectorXd &x0, StagePreprocessor::Ptr stage_preprocessor, const std::vector< double > &dts, const DiscretizationGridInterface *) 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 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
 
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 computeNonIntegralControlTerm (int k, const Eigen::Ref< const Eigen::VectorXd > &u_k, 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 getIntegralStateControlTermDimension (int k) const
 
virtual int getNonIntegralControlDeviationTermDimension (int k) const
 
virtual int getNonIntegralControlTermDimension (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 isLsqFormNonIntegralControlTerm (int k) const
 
virtual bool isLsqFormNonIntegralStateTerm (int k) const
 
virtual ~StageFunction ()=default
 Default destructor. More...
 

Protected Attributes

bool _custom_weight = false
 
bool _lsq_form = false
 
bool _single_dt = false
 
double _weight = 1.0
 

Detailed Description

Definition at line 35 of file minimum_time.h.

Member Typedef Documentation

◆ Ptr

using corbo::MinimumTime::Ptr = std::shared_ptr<MinimumTime>

Definition at line 38 of file minimum_time.h.

Constructor & Destructor Documentation

◆ MinimumTime() [1/2]

corbo::MinimumTime::MinimumTime ( )
default

◆ MinimumTime() [2/2]

corbo::MinimumTime::MinimumTime ( bool  lsq_form)
inline

Definition at line 42 of file minimum_time.h.

Member Function Documentation

◆ computeNonIntegralDtTerm()

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

Reimplemented from corbo::StageFunction.

Definition at line 70 of file minimum_time.h.

◆ getCustomWeight()

double corbo::MinimumTime::getCustomWeight ( ) const
inline

Definition at line 85 of file minimum_time.h.

◆ getInstance()

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

Return a newly created shared instance of the implemented class.

Implements corbo::StageCost.

Definition at line 44 of file minimum_time.h.

◆ getNonIntegralDtTermDimension()

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

Reimplemented from corbo::StageFunction.

Definition at line 49 of file minimum_time.h.

◆ hasIntegralTerms()

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

Reimplemented from corbo::StageFunction.

Definition at line 47 of file minimum_time.h.

◆ hasNonIntegralTerms()

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

Reimplemented from corbo::StageFunction.

Definition at line 46 of file minimum_time.h.

◆ isLsqFormNonIntegralDtTerm()

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

Reimplemented from corbo::StageFunction.

Definition at line 50 of file minimum_time.h.

◆ setCustomWeight()

void corbo::MinimumTime::setCustomWeight ( double  weight)
inline

Definition at line 80 of file minimum_time.h.

◆ setLsqForm()

void corbo::MinimumTime::setLsqForm ( bool  lsq_form)
inline

Definition at line 87 of file minimum_time.h.

◆ update()

bool corbo::MinimumTime::update ( int  n,
double  ,
ReferenceTrajectoryInterface ,
ReferenceTrajectoryInterface ,
ReferenceTrajectoryInterface ,
bool  single_dt,
const Eigen::VectorXd &  x0,
StagePreprocessor::Ptr  stage_preprocessor,
const std::vector< double > &  dts,
const DiscretizationGridInterface  
)
inlineoverridevirtual

Reimplemented from corbo::StageFunction.

Definition at line 52 of file minimum_time.h.

Member Data Documentation

◆ _custom_weight

bool corbo::MinimumTime::_custom_weight = false
protected

Definition at line 105 of file minimum_time.h.

◆ _lsq_form

bool corbo::MinimumTime::_lsq_form = false
protected

Definition at line 102 of file minimum_time.h.

◆ _single_dt

bool corbo::MinimumTime::_single_dt = false
protected

Definition at line 104 of file minimum_time.h.

◆ _weight

double corbo::MinimumTime::_weight = 1.0
protected

Definition at line 103 of file minimum_time.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