tsid 1.9.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
Loading...
Searching...
No Matches
tsid::solvers::SolverOSQP Class Reference

#include <tsid/solvers/solver-osqp.hpp>

Inheritance diagram for tsid::solvers::SolverOSQP:
Collaboration diagram for tsid::solvers::SolverOSQP:

Public Types

typedef math::Vector Vector
typedef math::RefVector RefVector
typedef math::ConstRefVector ConstRefVector
typedef math::ConstRefMatrix ConstRefMatrix
Public Types inherited from tsid::solvers::SolverHQPBase
typedef math::RefVector RefVector
typedef math::ConstRefVector ConstRefVector
typedef math::ConstRefMatrix ConstRefMatrix

Public Member Functions

 SolverOSQP (const std::string &name)
 SolverOSQP (const SolverOSQP &other)
void resize (unsigned int n, unsigned int neq, unsigned int nin) override
void retrieveQPData (const HQPData &problemData, const bool hessianRegularization=false) override
const QPData getQPData () const
const HQPOutputsolve (const HQPData &problemData) override
double getObjectiveValue () override
bool setMaximumIterations (unsigned int maxIter) override
void setSigma (double sigma)
void setAlpha (double alpha)
void setRho (double rho)
void setEpsilonAbsolute (double epsAbs)
void setEpsilonRelative (double epsRel)
void setVerbose (bool isVerbose=false)
Public Member Functions inherited from tsid::solvers::SolverHQPBase
 SolverHQPBase (const std::string &name)
virtual ~SolverHQPBase ()=default
virtual const std::string & name () const
virtual bool getUseWarmStart ()
virtual void setUseWarmStart (bool useWarmStart)
virtual unsigned int getMaximumIterations ()
virtual double getMaximumTime ()
virtual bool setMaximumTime (double seconds)

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Matrix Matrix

Protected Member Functions

void sendMsg (const std::string &s)

Protected Attributes

double m_objValue
double m_hessian_regularization
OsqpEigen::Solver m_solver
unsigned int m_neq
unsigned int m_nin
 number of equality constraints
unsigned int m_n
 number of inequality constraints
QPDataTpl< double > m_qpData
 number of variables
double m_rho
double m_sigma
double m_alpha
double m_epsAbs
double m_epsRel
bool m_isVerbose
bool m_isDataInitialized
Protected Attributes inherited from tsid::solvers::SolverHQPBase
std::string m_name
bool m_useWarmStart
unsigned int m_maxIter
double m_maxTime
HQPOutput m_output

Additional Inherited Members

Static Public Attributes inherited from tsid::solvers::SolverHQPBase
static EIGEN_MAKE_ALIGNED_OPERATOR_NEW std::string const HQP_status_string [5]

Member Typedef Documentation

◆ ConstRefMatrix

◆ ConstRefVector

◆ RefVector

◆ Vector

Constructor & Destructor Documentation

◆ SolverOSQP() [1/2]

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

◆ SolverOSQP() [2/2]

tsid::solvers::SolverOSQP::SolverOSQP(const SolverOSQP &other)

Member Function Documentation

◆ getObjectiveValue()

double tsid::solvers::SolverOSQP::getObjectiveValue()
overridevirtual

Get the objective value of the last solved problem.

Implements tsid::solvers::SolverHQPBase.

◆ getQPData()

const QPData tsid::solvers::SolverOSQP::getQPData()const
inline

Return the QP data object.

◆ resize()

void tsid::solvers::SolverOSQP::resize(unsigned intn,
unsigned intneq,
unsigned intnin )
overridevirtual

◆ retrieveQPData()

void tsid::solvers::SolverOSQP::retrieveQPData(const HQPData &problemData,
const boolhessianRegularization = false )
overridevirtual

Retrieve the matrices describing a QP problem from the problem data.

Implements tsid::solvers::SolverHQPBase.

◆ sendMsg()

void tsid::solvers::SolverOSQP::sendMsg(const std::string &s)
protected

◆ setAlpha()

void tsid::solvers::SolverOSQP::setAlpha(doublealpha)

◆ setEpsilonAbsolute()

void tsid::solvers::SolverOSQP::setEpsilonAbsolute(doubleepsAbs)

◆ setEpsilonRelative()

void tsid::solvers::SolverOSQP::setEpsilonRelative(doubleepsRel)

◆ setMaximumIterations()

bool tsid::solvers::SolverOSQP::setMaximumIterations(unsigned intmaxIter)
overridevirtual

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

Reimplemented from tsid::solvers::SolverHQPBase.

◆ setRho()

void tsid::solvers::SolverOSQP::setRho(doublerho)

◆ setSigma()

void tsid::solvers::SolverOSQP::setSigma(doublesigma)

◆ setVerbose()

void tsid::solvers::SolverOSQP::setVerbose(boolisVerbose = false)

◆ solve()

const HQPOutput & tsid::solvers::SolverOSQP::solve(const HQPData &problemData)
overridevirtual

Solve the given Hierarchical Quadratic Program.

Implements tsid::solvers::SolverHQPBase.

Member Data Documentation

◆ m_alpha

double tsid::solvers::SolverOSQP::m_alpha
protected

◆ m_epsAbs

double tsid::solvers::SolverOSQP::m_epsAbs
protected

◆ m_epsRel

double tsid::solvers::SolverOSQP::m_epsRel
protected

◆ m_hessian_regularization

double tsid::solvers::SolverOSQP::m_hessian_regularization
protected

◆ m_isDataInitialized

bool tsid::solvers::SolverOSQP::m_isDataInitialized
protected

◆ m_isVerbose

bool tsid::solvers::SolverOSQP::m_isVerbose
protected

◆ m_n

unsigned int tsid::solvers::SolverOSQP::m_n
protected

number of inequality constraints

◆ m_neq

unsigned int tsid::solvers::SolverOSQP::m_neq
protected

◆ m_nin

unsigned int tsid::solvers::SolverOSQP::m_nin
protected

number of equality constraints

◆ m_objValue

double tsid::solvers::SolverOSQP::m_objValue
protected

◆ m_qpData

QPDataTpl<double> tsid::solvers::SolverOSQP::m_qpData
protected

number of variables

◆ m_rho

double tsid::solvers::SolverOSQP::m_rho
protected

◆ m_sigma

double tsid::solvers::SolverOSQP::m_sigma
protected

◆ m_solver

OsqpEigen::Solver tsid::solvers::SolverOSQP::m_solver
protected

◆ Matrix

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Matrix tsid::solvers::SolverOSQP::Matrix

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