tsid  1.8.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
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 More...
 
double m_objValue
 
double m_hessian_regularization
 
Eigen::VectorXi m_activeSet
 
int m_activeSetSize
 vector containing the indexes of the active inequalities More...
 
int m_neq
 
int m_nin
 number of equality constraints More...
 
int m_n
 number of inequality constraints More...
 
- 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

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 int  n,
unsigned int  neq,
unsigned int  nin 
)
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 int  maxIter)
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: