tsid 1.9.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
Loading...
Searching...
No Matches
tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon > Class Template Reference

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

Inheritance diagram for tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >:
Collaboration diagram for tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >:

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

 SolverHQuadProgRT (const std::string &name)
void resize (unsigned int n, unsigned int neq, unsigned int nin) override
const HQPOutputsolve (const HQPData &problemData) override
void retrieveQPData (const HQPData &, const bool) override
double getObjectiveValue () override
bool setMaximumIterations (unsigned int maxIter) override
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

eiquadprog::solvers::RtEiquadprog< nVars, nEqCon, 2 *nIneqCon > m_solver
RtMatrixX< nVars, nVars >::d m_H
RtVectorX< nVars >::d m_g
RtMatrixX< nEqCon, nVars >::d m_CE
RtVectorX< nEqCon >::d m_ce0
RtMatrixX< 2 *nIneqCon, nVars >::d m_CI
RtVectorX< 2 *nIneqCon >::d m_ci0
 twice the rows because inequality constraints are bilateral
double m_objValue
double m_hessian_regularization
Eigen::VectorXi m_activeSet
int m_activeSetSize
 vector containing the indexes of the active inequalities
int m_neq
int m_nin
 number of equality constraints
int m_n
 number of inequality constraints
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

template<int nVars, int nEqCon, int nIneqCon>
typedef math::ConstRefMatrix tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::ConstRefMatrix

◆ ConstRefVector

template<int nVars, int nEqCon, int nIneqCon>
typedef math::ConstRefVector tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::ConstRefVector

◆ RefVector

template<int nVars, int nEqCon, int nIneqCon>
typedef math::RefVector tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::RefVector

◆ Vector

template<int nVars, int nEqCon, int nIneqCon>
typedef math::Vector tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::Vector

Constructor & Destructor Documentation

◆ SolverHQuadProgRT()

template<int nVars, int nEqCon, int nIneqCon>
tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::SolverHQuadProgRT(const std::string &name)

Member Function Documentation

◆ getObjectiveValue()

template<int nVars, int nEqCon, int nIneqCon>
double tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::getObjectiveValue()
overridevirtual

Return the QP data object. Get the objective value of the last solved problem.

Implements tsid::solvers::SolverHQPBase.

◆ resize()

template<int nVars, int nEqCon, int nIneqCon>
void tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::resize(unsigned intn,
unsigned intneq,
unsigned intnin )
overridevirtual

◆ retrieveQPData()

template<int nVars, int nEqCon, int nIneqCon>
void tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::retrieveQPData(const HQPData &,
const bool )
inlineoverridevirtual

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

Implements tsid::solvers::SolverHQPBase.

◆ sendMsg()

template<int nVars, int nEqCon, int nIneqCon>
void tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::sendMsg(const std::string &s)
protected

◆ setMaximumIterations()

template<int nVars, int nEqCon, int nIneqCon>
bool tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::setMaximumIterations(unsigned intmaxIter)
overridevirtual

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

Reimplemented from tsid::solvers::SolverHQPBase.

◆ solve()

template<int nVars, int nEqCon, int nIneqCon>
const HQPOutput & tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::solve(const HQPData &problemData)
overridevirtual

Solve the given Hierarchical Quadratic Program

Implements tsid::solvers::SolverHQPBase.

Member Data Documentation

◆ m_activeSet

template<int nVars, int nEqCon, int nIneqCon>
Eigen::VectorXi tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_activeSet
protected

◆ m_activeSetSize

template<int nVars, int nEqCon, int nIneqCon>
int tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_activeSetSize
protected

vector containing the indexes of the active inequalities

◆ m_CE

template<int nVars, int nEqCon, int nIneqCon>
RtMatrixX<nEqCon,nVars>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_CE
protected

◆ m_ce0

template<int nVars, int nEqCon, int nIneqCon>
RtVectorX<nEqCon>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_ce0
protected

◆ m_CI

template<int nVars, int nEqCon, int nIneqCon>
RtMatrixX<2*nIneqCon,nVars>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_CI
protected

◆ m_ci0

template<int nVars, int nEqCon, int nIneqCon>
RtVectorX<2*nIneqCon>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_ci0
protected

twice the rows because inequality constraints are bilateral

◆ m_g

template<int nVars, int nEqCon, int nIneqCon>
RtVectorX<nVars>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_g
protected

◆ m_H

template<int nVars, int nEqCon, int nIneqCon>
RtMatrixX<nVars,nVars>::d tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_H
protected

◆ m_hessian_regularization

template<int nVars, int nEqCon, int nIneqCon>
double tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_hessian_regularization
protected

◆ m_n

template<int nVars, int nEqCon, int nIneqCon>
int tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_n
protected

number of inequality constraints

◆ m_neq

template<int nVars, int nEqCon, int nIneqCon>
int tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_neq
protected

◆ m_nin

template<int nVars, int nEqCon, int nIneqCon>
int tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_nin
protected

number of equality constraints

◆ m_objValue

template<int nVars, int nEqCon, int nIneqCon>
double tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_objValue
protected

◆ m_solver

template<int nVars, int nEqCon, int nIneqCon>
eiquadprog::solvers::RtEiquadprog<nVars, nEqCon, 2 * nIneqCon> tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::m_solver
protected

◆ Matrix

template<int nVars, int nEqCon, int nIneqCon>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Matrix tsid::solvers::SolverHQuadProgRT< nVars, nEqCon, nIneqCon >::Matrix

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