sot-talos-balance  2.0.5
Collection of dynamic-graph entities aimed at implementing balance control on talos.
DistributeWrench Class Reference

#include <sot/talos_balance/distribute-wrench.hh>

Inheritance diagram for DistributeWrench:
Collaboration diagram for DistributeWrench:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW DistributeWrench (const std::string &name)
 
Eigen::Vector3d computeCoP (const dynamicgraph::Vector &wrench, const pinocchio::SE3 &pose) const
 
 DECLARE_SIGNAL_IN (frictionCoefficient, double)
 
 DECLARE_SIGNAL_IN (phase, int)
 
 DECLARE_SIGNAL_IN (q, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (rho, double)
 
 DECLARE_SIGNAL_IN (wAnkle, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (wNorm, double)
 
 DECLARE_SIGNAL_IN (wRatio, double)
 
 DECLARE_SIGNAL_IN (wrenchDes, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (wSum, double)
 
 DECLARE_SIGNAL_INNER (kinematics_computations, int)
 
 DECLARE_SIGNAL_INNER (qp_computations, int)
 
 DECLARE_SIGNAL_OUT (ankleWrenchLeft, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (ankleWrenchRight, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (copLeft, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (copRight, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (emergencyStop, bool)
 
 DECLARE_SIGNAL_OUT (surfaceWrenchLeft, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (surfaceWrenchRight, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (wrenchLeft, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (wrenchRef, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (wrenchRight, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmpRef, dynamicgraph::Vector)
 
virtual void display (std::ostream &os) const
 
void init (const std::string &robotName)
 
void set_left_foot_sizes (const dynamicgraph::Vector &s)
 
void set_right_foot_sizes (const dynamicgraph::Vector &s)
 

Public Attributes

double m_eps
 

Protected Member Functions

void computeWrenchFaceMatrix (const double mu)
 
void distributeWrench (const Eigen::VectorXd &wrenchDes, const double rho, const double mu)
 
void saturateWrench (const Eigen::VectorXd &wrenchDes, const int phase, const double mu)
 

Protected Attributes

Eigen::MatrixXd m_Aeq1
 
Eigen::MatrixXd m_Aeq2
 
Eigen::MatrixXd m_Aineq1
 
Eigen::MatrixXd m_Aineq2
 
pinocchio::SE3 m_ankle_M_sole
 
Eigen::VectorXd m_Beq1
 
Eigen::VectorXd m_Beq2
 
Eigen::VectorXd m_Bineq1
 
Eigen::VectorXd m_Bineq2
 
Eigen::VectorXd m_C1
 
Eigen::VectorXd m_C2
 
pinocchio::SE3 m_contactLeft
 
pinocchio::SE3 m_contactRight
 
pinocchio::Data m_data
 Pinocchio robot model. More...
 
bool m_emergency_stop_triggered
 
bool m_initSucceeded
 
pinocchio::FrameIndex m_left_foot_id
 ankle to sole transformation More...
 
Eigen::Vector4d m_left_foot_sizes
 
pinocchio::Model m_model
 true if the entity has been successfully initialized More...
 
Eigen::MatrixXd m_Q1
 
Eigen::MatrixXd m_Q2
 
eiquadprog::solvers::EiquadprogFast m_qp1
 
eiquadprog::solvers::EiquadprogFast m_qp2
 
Eigen::VectorXd m_result1
 
Eigen::VectorXd m_result2
 
pinocchio::FrameIndex m_right_foot_id
 
Eigen::Vector4d m_right_foot_sizes
 
RobotUtilShrPtr m_robot_util
 Pinocchio robot data. More...
 
Eigen::VectorXd m_wAnkle
 
double m_wNorm
 
double m_wRatio
 
Eigen::Matrix< double, 16, 6 > m_wrenchFaceMatrix
 
Eigen::Matrix< double, 6, 1 > m_wrenchLeft
 
Eigen::Matrix< double, 6, 1 > m_wrenchRight
 
double m_wSum
 

Detailed Description

Definition at line 58 of file distribute-wrench.hh.

Constructor & Destructor Documentation

◆ DistributeWrench()

DistributeWrench ( const std::string &  name)

Definition at line 68 of file distribute-wrench.cpp.

Member Function Documentation

◆ computeCoP()

Eigen::Vector3d computeCoP ( const dynamicgraph::Vector &  wrench,
const pinocchio::SE3 &  pose 
) const

Definition at line 241 of file distribute-wrench.cpp.

◆ computeWrenchFaceMatrix()

void computeWrenchFaceMatrix ( const double  mu)
protected

sizes of the left foot (pos x, neg x, pos y, neg y)

Definition at line 226 of file distribute-wrench.cpp.

◆ DECLARE_SIGNAL_IN() [1/9]

DECLARE_SIGNAL_IN ( frictionCoefficient  ,
double   
)

◆ DECLARE_SIGNAL_IN() [2/9]

DECLARE_SIGNAL_IN ( phase  ,
int   
)

◆ DECLARE_SIGNAL_IN() [3/9]

DECLARE_SIGNAL_IN ( ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [4/9]

DECLARE_SIGNAL_IN ( rho  ,
double   
)

◆ DECLARE_SIGNAL_IN() [5/9]

DECLARE_SIGNAL_IN ( wAnkle  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [6/9]

DECLARE_SIGNAL_IN ( wNorm  ,
double   
)

◆ DECLARE_SIGNAL_IN() [7/9]

DECLARE_SIGNAL_IN ( wRatio  ,
double   
)

◆ DECLARE_SIGNAL_IN() [8/9]

DECLARE_SIGNAL_IN ( wrenchDes  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [9/9]

DECLARE_SIGNAL_IN ( wSum  ,
double   
)

◆ DECLARE_SIGNAL_INNER() [1/2]

DECLARE_SIGNAL_INNER ( kinematics_computations  ,
int   
)

◆ DECLARE_SIGNAL_INNER() [2/2]

DECLARE_SIGNAL_INNER ( qp_computations  ,
int   
)

◆ DECLARE_SIGNAL_OUT() [1/11]

DECLARE_SIGNAL_OUT ( ankleWrenchLeft  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [2/11]

DECLARE_SIGNAL_OUT ( ankleWrenchRight  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [3/11]

DECLARE_SIGNAL_OUT ( copLeft  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [4/11]

DECLARE_SIGNAL_OUT ( copRight  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [5/11]

DECLARE_SIGNAL_OUT ( emergencyStop  ,
bool   
)

◆ DECLARE_SIGNAL_OUT() [6/11]

DECLARE_SIGNAL_OUT ( surfaceWrenchLeft  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [7/11]

DECLARE_SIGNAL_OUT ( surfaceWrenchRight  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [8/11]

DECLARE_SIGNAL_OUT ( wrenchLeft  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [9/11]

DECLARE_SIGNAL_OUT ( wrenchRef  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [10/11]

DECLARE_SIGNAL_OUT ( wrenchRight  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [11/11]

DECLARE_SIGNAL_OUT ( zmpRef  ,
dynamicgraph::Vector   
)

◆ display()

void display ( std::ostream &  os) const
virtual

Definition at line 684 of file distribute-wrench.cpp.

◆ distributeWrench()

void distributeWrench ( const Eigen::VectorXd &  wrenchDes,
const double  rho,
const double  mu 
)
protected

Definition at line 303 of file distribute-wrench.cpp.

◆ init()

void init ( const std::string &  robotName)

Definition at line 157 of file distribute-wrench.cpp.

◆ saturateWrench()

void saturateWrench ( const Eigen::VectorXd &  wrenchDes,
const int  phase,
const double  mu 
)
protected

Definition at line 387 of file distribute-wrench.cpp.

◆ set_left_foot_sizes()

void set_left_foot_sizes ( const dynamicgraph::Vector &  s)

Definition at line 217 of file distribute-wrench.cpp.

◆ set_right_foot_sizes()

void set_right_foot_sizes ( const dynamicgraph::Vector &  s)

Definition at line 209 of file distribute-wrench.cpp.

Member Data Documentation

◆ m_Aeq1

Eigen::MatrixXd m_Aeq1
protected

Definition at line 146 of file distribute-wrench.hh.

◆ m_Aeq2

Eigen::MatrixXd m_Aeq2
protected

Definition at line 158 of file distribute-wrench.hh.

◆ m_Aineq1

Eigen::MatrixXd m_Aineq1
protected

Definition at line 149 of file distribute-wrench.hh.

◆ m_Aineq2

Eigen::MatrixXd m_Aineq2
protected

Definition at line 161 of file distribute-wrench.hh.

◆ m_ankle_M_sole

pinocchio::SE3 m_ankle_M_sole
protected

Definition at line 120 of file distribute-wrench.hh.

◆ m_Beq1

Eigen::VectorXd m_Beq1
protected

Definition at line 147 of file distribute-wrench.hh.

◆ m_Beq2

Eigen::VectorXd m_Beq2
protected

Definition at line 159 of file distribute-wrench.hh.

◆ m_Bineq1

Eigen::VectorXd m_Bineq1
protected

Definition at line 150 of file distribute-wrench.hh.

◆ m_Bineq2

Eigen::VectorXd m_Bineq2
protected

Definition at line 162 of file distribute-wrench.hh.

◆ m_C1

Eigen::VectorXd m_C1
protected

Definition at line 144 of file distribute-wrench.hh.

◆ m_C2

Eigen::VectorXd m_C2
protected

Definition at line 156 of file distribute-wrench.hh.

◆ m_contactLeft

pinocchio::SE3 m_contactLeft
protected

Definition at line 125 of file distribute-wrench.hh.

◆ m_contactRight

pinocchio::SE3 m_contactRight
protected

Definition at line 126 of file distribute-wrench.hh.

◆ m_data

pinocchio::Data m_data
protected

Pinocchio robot model.

Definition at line 115 of file distribute-wrench.hh.

◆ m_emergency_stop_triggered

bool m_emergency_stop_triggered
protected

Definition at line 176 of file distribute-wrench.hh.

◆ m_eps

double m_eps

Definition at line 109 of file distribute-wrench.hh.

◆ m_initSucceeded

bool m_initSucceeded
protected

Definition at line 113 of file distribute-wrench.hh.

◆ m_left_foot_id

pinocchio::FrameIndex m_left_foot_id
protected

ankle to sole transformation

Definition at line 122 of file distribute-wrench.hh.

◆ m_left_foot_sizes

Eigen::Vector4d m_left_foot_sizes
protected

Definition at line 131 of file distribute-wrench.hh.

◆ m_model

pinocchio::Model m_model
protected

true if the entity has been successfully initialized

Definition at line 114 of file distribute-wrench.hh.

◆ m_Q1

Eigen::MatrixXd m_Q1
protected

Definition at line 143 of file distribute-wrench.hh.

◆ m_Q2

Eigen::MatrixXd m_Q2
protected

Definition at line 155 of file distribute-wrench.hh.

◆ m_qp1

eiquadprog::solvers::EiquadprogFast m_qp1
protected

Definition at line 139 of file distribute-wrench.hh.

◆ m_qp2

eiquadprog::solvers::EiquadprogFast m_qp2
protected

Definition at line 140 of file distribute-wrench.hh.

◆ m_result1

Eigen::VectorXd m_result1
protected

Definition at line 152 of file distribute-wrench.hh.

◆ m_result2

Eigen::VectorXd m_result2
protected

Definition at line 164 of file distribute-wrench.hh.

◆ m_right_foot_id

pinocchio::FrameIndex m_right_foot_id
protected

Definition at line 123 of file distribute-wrench.hh.

◆ m_right_foot_sizes

Eigen::Vector4d m_right_foot_sizes
protected

sizes of the left foot (pos x, neg x, pos y, neg y)

Definition at line 133 of file distribute-wrench.hh.

◆ m_robot_util

RobotUtilShrPtr m_robot_util
protected

Pinocchio robot data.

Definition at line 116 of file distribute-wrench.hh.

◆ m_wAnkle

Eigen::VectorXd m_wAnkle
protected

Definition at line 169 of file distribute-wrench.hh.

◆ m_wNorm

double m_wNorm
protected

Definition at line 167 of file distribute-wrench.hh.

◆ m_wRatio

double m_wRatio
protected

Definition at line 168 of file distribute-wrench.hh.

◆ m_wrenchFaceMatrix

Eigen::Matrix<double, 16, 6> m_wrenchFaceMatrix
protected

Definition at line 137 of file distribute-wrench.hh.

◆ m_wrenchLeft

Eigen::Matrix<double, 6, 1> m_wrenchLeft
protected

Definition at line 128 of file distribute-wrench.hh.

◆ m_wrenchRight

Eigen::Matrix<double, 6, 1> m_wrenchRight
protected

Definition at line 129 of file distribute-wrench.hh.

◆ m_wSum

double m_wSum
protected

Definition at line 166 of file distribute-wrench.hh.


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