GenQPUtils.h File Reference
#include <vector>
#include <Eigen/Core>
#include <Eigen/Sparse>
#include "Tasks/QPSolver.h"
Include dependency graph for GenQPUtils.h:

Go to the source code of this file.

Namespaces

 tasks
 
 tasks::qp
 

Functions

void tasks::qp::fillQC (const std::vector< Task * > &tasks, int nrVars, Eigen::MatrixXd &Q, Eigen::VectorXd &C)
 
void tasks::qp::reduceQC (const Eigen::MatrixXd &QFull, const Eigen::VectorXd &CFull, Eigen::MatrixXd &Q, Eigen::VectorXd &C, const Eigen::SparseMatrix< double > &M)
 
int tasks::qp::fillEq (const std::vector< Equality * > &eq, int nrVars, int nrALines, Eigen::MatrixXd &A, Eigen::VectorXd &AL, Eigen::VectorXd &AU)
 
int tasks::qp::fillInEq (const std::vector< Inequality * > &inEq, int nrVars, int nrALines, Eigen::MatrixXd &A, Eigen::VectorXd &AL, Eigen::VectorXd &AU)
 
int tasks::qp::fillGenInEq (const std::vector< GenInequality * > &genInEq, int nrVars, int nrALines, Eigen::MatrixXd &A, Eigen::VectorXd &AL, Eigen::VectorXd &AU)
 
int tasks::qp::fillEq (const std::vector< Equality * > &eq, int nrVars, int nrALines, Eigen::MatrixXd &A, Eigen::VectorXd &b)
 
int tasks::qp::fillInEq (const std::vector< Inequality * > &inEq, int nrVars, int nrALines, Eigen::MatrixXd &A, Eigen::VectorXd &b)
 
int tasks::qp::fillGenInEq (const std::vector< GenInequality * > &genInEq, int nrVars, int nrALines, Eigen::MatrixXd &A, Eigen::VectorXd &b)
 
void tasks::qp::fillBound (const std::vector< Bound * > &bounds, Eigen::VectorXd &XL, Eigen::VectorXd &XU)
 
void tasks::qp::reduceA (const Eigen::MatrixXd &AFull, Eigen::MatrixXd &A, const Eigen::SparseMatrix< double > &M)
 
void tasks::qp::reduceBound (const Eigen::VectorXd &XLFull, Eigen::VectorXd &XL, const Eigen::VectorXd &XUFull, Eigen::VectorXd &XU, const std::vector< int > &fullToReduced, const std::vector< int > &reducedToFull, const std::vector< std::tuple< int, int, double >> &dependencies)
 
void tasks::qp::expandResult (const Eigen::VectorXd &result, Eigen::VectorXd &resultFull, const Eigen::SparseMatrix< double > &multipliers)
 
template<typename T >
std::ostream & tasks::qp::printConstr (const Eigen::VectorXd &result, T *constr, int line, std::ostream &out)
 
template<>
std::ostream & tasks::qp::printConstr (const Eigen::VectorXd &result, Equality *constr, int line, std::ostream &out)
 
template<>
std::ostream & tasks::qp::printConstr (const Eigen::VectorXd &result, Inequality *constr, int line, std::ostream &out)
 
template<>
std::ostream & tasks::qp::printConstr (const Eigen::VectorXd &result, GenInequality *constr, int line, std::ostream &out)
 
template<typename T >
std::ostream & tasks::qp::constrErrorMsg (const std::vector< rbd::MultiBody > &mbs, const Eigen::VectorXd &result, int ALine, const std::vector< T * > &constr, int &start, int &end, std::ostream &out)