tsid  1.8.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
tsid::solvers::SolverHQPBase Class Referenceabstract

Abstract interface for a Quadratic Program (HQP) solver. More...

#include <tsid/solvers/solver-HQP-base.hpp>

Inheritance diagram for tsid::solvers::SolverHQPBase:
Collaboration diagram for tsid::solvers::SolverHQPBase:

Public Types

typedef math::RefVector RefVector
 
typedef math::ConstRefVector ConstRefVector
 
typedef math::ConstRefMatrix ConstRefMatrix
 

Public Member Functions

 SolverHQPBase (const std::string &name)
 
virtual ~SolverHQPBase ()=default
 
virtual const std::string & name () const
 
virtual void resize (unsigned int n, unsigned int neq, unsigned int nin)=0
 
virtual const HQPOutputsolve (const HQPData &problemData)=0
 
virtual void retrieveQPData (const HQPData &problemData, const bool hessianRegularization)=0
 
virtual double getObjectiveValue ()=0
 
virtual bool getUseWarmStart ()
 
virtual void setUseWarmStart (bool useWarmStart)
 
virtual unsigned int getMaximumIterations ()
 
virtual bool setMaximumIterations (unsigned int maxIter)
 
virtual double getMaximumTime ()
 
virtual bool setMaximumTime (double seconds)
 

Static Public Attributes

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW std::string const HQP_status_string [5]
 

Protected Attributes

std::string m_name
 
bool m_useWarmStart
 
unsigned int m_maxIter
 
double m_maxTime
 
HQPOutput m_output
 

Detailed Description

Abstract interface for a Quadratic Program (HQP) solver.

Member Typedef Documentation

◆ ConstRefMatrix

◆ ConstRefVector

◆ RefVector

Constructor & Destructor Documentation

◆ SolverHQPBase()

tsid::solvers::SolverHQPBase::SolverHQPBase ( const std::string &  name)

◆ ~SolverHQPBase()

virtual tsid::solvers::SolverHQPBase::~SolverHQPBase ( )
virtualdefault

Member Function Documentation

◆ getMaximumIterations()

virtual unsigned int tsid::solvers::SolverHQPBase::getMaximumIterations ( )
inlinevirtual

Get the current maximum number of iterations performed by the solver.

◆ getMaximumTime()

virtual double tsid::solvers::SolverHQPBase::getMaximumTime ( )
inlinevirtual

Get the maximum time allowed to solve a problem.

◆ getObjectiveValue()

virtual double tsid::solvers::SolverHQPBase::getObjectiveValue ( )
pure virtual

◆ getUseWarmStart()

virtual bool tsid::solvers::SolverHQPBase::getUseWarmStart ( )
inlinevirtual

Return true if the solver is allowed to warm start, false otherwise.

◆ name()

virtual const std::string& tsid::solvers::SolverHQPBase::name ( ) const
inlinevirtual

◆ resize()

virtual void tsid::solvers::SolverHQPBase::resize ( unsigned int  n,
unsigned int  neq,
unsigned int  nin 
)
pure virtual

◆ retrieveQPData()

virtual void tsid::solvers::SolverHQPBase::retrieveQPData ( const HQPData problemData,
const bool  hessianRegularization 
)
pure virtual

◆ setMaximumIterations()

bool tsid::solvers::SolverHQPBase::setMaximumIterations ( unsigned int  maxIter)
virtual

Set the current maximum number of iterations performed by the solver.

Reimplemented in tsid::solvers::SolverProxQP, tsid::solvers::SolverOSQP, tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >, and tsid::solvers::SolverHQuadProgFast.

◆ setMaximumTime()

bool tsid::solvers::SolverHQPBase::setMaximumTime ( double  seconds)
virtual

Set the maximum time allowed to solve a problem.

◆ setUseWarmStart()

virtual void tsid::solvers::SolverHQPBase::setUseWarmStart ( bool  useWarmStart)
inlinevirtual

Specify whether the solver is allowed to use warm-start techniques.

◆ solve()

virtual const HQPOutput& tsid::solvers::SolverHQPBase::solve ( const HQPData problemData)
pure virtual

Member Data Documentation

◆ HQP_status_string

std::string const tsid::solvers::SolverHQPBase::HQP_status_string
static
Initial value:
= {
"HQP_STATUS_OPTIMAL", "HQP_STATUS_INFEASIBLE", "HQP_STATUS_UNBOUNDED",
"HQP_STATUS_MAX_ITER_REACHED", "HQP_STATUS_ERROR"}

◆ m_maxIter

unsigned int tsid::solvers::SolverHQPBase::m_maxIter
protected

◆ m_maxTime

double tsid::solvers::SolverHQPBase::m_maxTime
protected

◆ m_name

std::string tsid::solvers::SolverHQPBase::m_name
protected

◆ m_output

HQPOutput tsid::solvers::SolverHQPBase::m_output
protected

◆ m_useWarmStart

bool tsid::solvers::SolverHQPBase::m_useWarmStart
protected

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