sot-torque-control  1.6.4
Collection of dynamic-graph entities aimed at implementing torque control on different robots.
InverseDynamicsBalanceController Class Reference

#include <sot/torque_control/inverse-dynamics-balance-controller.hh>

Inheritance diagram for InverseDynamicsBalanceController:
Collaboration diagram for InverseDynamicsBalanceController:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW InverseDynamicsBalanceController (const std::string &name)
 
void addLeftFootContact (const double &transitionTime)
 
void addRightFootContact (const double &transitionTime)
 
void addTaskLeftHand ()
 
void addTaskRightHand ()
 
 DECLARE_SIGNAL_IN (com_ref_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (com_ref_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (com_ref_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (rf_ref_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (rf_ref_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (rf_ref_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (lf_ref_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (lf_ref_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (lf_ref_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (rh_ref_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (rh_ref_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (rh_ref_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (lh_ref_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (lh_ref_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (lh_ref_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (posture_ref_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (posture_ref_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (posture_ref_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (base_orientation_ref_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (base_orientation_ref_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (base_orientation_ref_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (f_ref_right_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (f_ref_left_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kp_base_orientation, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kd_base_orientation, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kp_constraints, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kd_constraints, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kp_com, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kd_com, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kp_feet, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kd_feet, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kp_hands, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kd_hands, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kp_posture, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kd_posture, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kp_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (kd_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (w_com, double)
 
 DECLARE_SIGNAL_IN (w_feet, double)
 
 DECLARE_SIGNAL_IN (w_hands, double)
 
 DECLARE_SIGNAL_IN (w_posture, double)
 
 DECLARE_SIGNAL_IN (w_base_orientation, double)
 
 DECLARE_SIGNAL_IN (w_torques, double)
 
 DECLARE_SIGNAL_IN (w_forces, double)
 
 DECLARE_SIGNAL_IN (weight_contact_forces, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (mu, double)
 
 DECLARE_SIGNAL_IN (contact_points, dynamicgraph::Matrix)
 
 DECLARE_SIGNAL_IN (contact_normal, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (f_min, double)
 
 DECLARE_SIGNAL_IN (f_max_right_foot, double)
 
 DECLARE_SIGNAL_IN (f_max_left_foot, double)
 
 DECLARE_SIGNAL_IN (rotor_inertias, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (gear_ratios, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (tau_max, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (q_min, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (q_max, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (dq_max, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (ddq_max, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (dt_joint_pos_limits, double)
 
 DECLARE_SIGNAL_IN (tau_estimated, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (q, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (v, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (wrench_base, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (wrench_left_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (wrench_right_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_IN (active_joints, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_INNER (active_joints_checked, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (tau_des, dynamicgraph::Vector)
 mask with 1 for controlled joints, 0 otherwise More...
 
 DECLARE_SIGNAL_OUT (M, dynamicgraph::Matrix)
 
 DECLARE_SIGNAL_OUT (dv_des, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (f_des_right_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (f_des_left_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp_des_right_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp_des_left_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp_des_right_foot_local, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp_des_left_foot_local, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp_des, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp_ref, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp_right_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp_left_foot, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (zmp, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (com, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (com_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (com_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (com_acc_des, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (base_orientation, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (right_foot_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (left_foot_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (right_hand_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (left_hand_pos, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (right_foot_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (left_foot_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (right_hand_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (left_hand_vel, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (right_foot_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (left_foot_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (right_hand_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (left_hand_acc, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (right_foot_acc_des, dynamicgraph::Vector)
 
 DECLARE_SIGNAL_OUT (left_foot_acc_des, dynamicgraph::Vector)
 
virtual void display (std::ostream &os) const
 
void init (const double &dt, const std::string &robotRef)
 
void removeLeftFootContact (const double &transitionTime)
 
void removeRightFootContact (const double &transitionTime)
 
void removeTaskLeftHand (const double &transitionTime)
 
void removeTaskRightHand (const double &transitionTime)
 
void sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const char *="", int=0)
 
void updateComOffset ()
 

Protected Types

enum  ContactState {
  DOUBLE_SUPPORT = 0, LEFT_SUPPORT = 1, LEFT_SUPPORT_TRANSITION = 2, RIGHT_SUPPORT = 3,
  RIGHT_SUPPORT_TRANSITION = 4
}
 True at the first iteration of the controller. More...
 
enum  LeftHandState { TASK_LEFT_HAND_ON = 0, TASK_LEFT_HAND_OFF = 1 }
 
typedef pinocchio::Data::Matrix6x Matrix6x
 
enum  RightHandState { TASK_RIGHT_HAND_ON = 0, TASK_RIGHT_HAND_OFF = 1 }
 

Protected Attributes

tsid::math::Vector3 m_com_offset
 desired 6d wrench left foot More...
 
tsid::contacts::Contact6d * m_contactLF
 
tsid::contacts::Contact6d * m_contactLH
 
tsid::contacts::Contact6d * m_contactRF
 
tsid::contacts::Contact6d * m_contactRH
 
ContactState m_contactState
 
double m_contactTransitionTime
 
double m_dt
 
tsid::math::Vector m_dv_sot
 
tsid::math::Vector m_dv_urdf
 desired accelerations (sot order) More...
 
bool m_enabled
 true if the entity has been successfully initialized More...
 
tsid::math::Vector m_f
 desired accelerations (urdf order) More...
 
tsid::math::Vector6 m_f_LF
 desired 6d wrench right foot More...
 
tsid::math::Vector6 m_f_RF
 desired force coefficients (24d) More...
 
bool m_firstTime
 True if controler is enabled. More...
 
int m_frame_id_lf
 frame id of right foot More...
 
int m_frame_id_lh
 frame id of right hand More...
 
int m_frame_id_rf
 
int m_frame_id_rh
 frame id of left foot More...
 
tsid::solvers::SolverHQPBase * m_hqpSolver
 
tsid::solvers::SolverHQPBase * m_hqpSolver_48_30_17
 
tsid::solvers::SolverHQPBase * m_hqpSolver_60_36_34
 
bool m_initSucceeded
 
tsid::InverseDynamicsFormulationAccForce * m_invDyn
 
Matrix6x m_J_LF
 
Eigen::ColPivHouseholderQR< Matrix6xm_J_LF_QR
 
Matrix6x m_J_RF
 
Eigen::ColPivHouseholderQR< Matrix6xm_J_RF_QR
 
LeftHandState m_leftHandState
 
tsid::math::Vector m_q_urdf
 
RightHandState m_rightHandState
 
tsid::robots::RobotWrapper * m_robot
 frame id of left hand More...
 
RobotUtilShrPtr m_robot_util
 
tsid::trajectories::TrajectorySample m_sampleCom
 
tsid::trajectories::TrajectorySample m_sampleLF
 
tsid::trajectories::TrajectorySample m_sampleLH
 
tsid::trajectories::TrajectorySample m_samplePosture
 
tsid::trajectories::TrajectorySample m_sampleRF
 
tsid::trajectories::TrajectorySample m_sampleRH
 
double m_t
 control loop time period More...
 
tsid::tasks::TaskJointPosture * m_taskBlockedJoints
 
tsid::tasks::TaskComEquality * m_taskCom
 
tsid::tasks::TaskSE3Equality * m_taskLF
 
tsid::tasks::TaskSE3Equality * m_taskLH
 
tsid::tasks::TaskJointPosture * m_taskPosture
 
tsid::tasks::TaskSE3Equality * m_taskRF
 
tsid::tasks::TaskSE3Equality * m_taskRH
 
tsid::math::Vector m_tau_sot
 3d global zmp More...
 
unsigned int m_timeLast
 
tsid::math::Vector6 m_v_LF_int
 
tsid::math::Vector6 m_v_RF_int
 
tsid::math::Vector m_v_urdf
 
double m_w_com
 
double m_w_hands
 
double m_w_posture
 
tsid::math::Vector3 m_zmp
 3d zmp left foot More...
 
tsid::math::Vector3 m_zmp_des
 3d desired zmp left foot expressed in local frame More...
 
tsid::math::Vector3 m_zmp_des_LF
 3d CoM offset More...
 
tsid::math::Vector3 m_zmp_des_LF_local
 3d desired zmp left foot More...
 
tsid::math::Vector3 m_zmp_des_RF
 3d desired zmp left foot More...
 
tsid::math::Vector3 m_zmp_des_RF_local
 3d desired zmp left foot expressed in local frame More...
 
tsid::math::Vector3 m_zmp_LF
 3d desired global zmp More...
 
tsid::math::Vector3 m_zmp_RF
 3d zmp left foot More...
 

Detailed Description

Definition at line 57 of file inverse-dynamics-balance-controller.hh.

Member Typedef Documentation

◆ Matrix6x

typedef pinocchio::Data::Matrix6x Matrix6x
protected

Definition at line 292 of file inverse-dynamics-balance-controller.hh.

Member Enumeration Documentation

◆ ContactState

enum ContactState
protected

True at the first iteration of the controller.

Enumerator
DOUBLE_SUPPORT 
LEFT_SUPPORT 
LEFT_SUPPORT_TRANSITION 
RIGHT_SUPPORT 
RIGHT_SUPPORT_TRANSITION 

Definition at line 210 of file inverse-dynamics-balance-controller.hh.

◆ LeftHandState

enum LeftHandState
protected
Enumerator
TASK_LEFT_HAND_ON 
TASK_LEFT_HAND_OFF 

Definition at line 228 of file inverse-dynamics-balance-controller.hh.

◆ RightHandState

enum RightHandState
protected

end time of the current contact transition (if any)

Enumerator
TASK_RIGHT_HAND_ON 
TASK_RIGHT_HAND_OFF 

Definition at line 221 of file inverse-dynamics-balance-controller.hh.

Constructor & Destructor Documentation

◆ InverseDynamicsBalanceController()

InverseDynamicsBalanceController ( const std::string &  name)

Definition at line 143 of file inverse-dynamics-balance-controller.cpp.

Member Function Documentation

◆ addLeftFootContact()

void addLeftFootContact ( const double &  transitionTime)

Definition at line 432 of file inverse-dynamics-balance-controller.cpp.

◆ addRightFootContact()

void addRightFootContact ( const double &  transitionTime)

Definition at line 420 of file inverse-dynamics-balance-controller.cpp.

◆ addTaskLeftHand()

void addTaskLeftHand ( )

Definition at line 402 of file inverse-dynamics-balance-controller.cpp.

◆ addTaskRightHand()

void addTaskRightHand ( )

Definition at line 384 of file inverse-dynamics-balance-controller.cpp.

◆ DECLARE_SIGNAL_IN() [1/66]

DECLARE_SIGNAL_IN ( com_ref_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [2/66]

DECLARE_SIGNAL_IN ( com_ref_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [3/66]

DECLARE_SIGNAL_IN ( com_ref_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [4/66]

DECLARE_SIGNAL_IN ( rf_ref_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [5/66]

DECLARE_SIGNAL_IN ( rf_ref_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [6/66]

DECLARE_SIGNAL_IN ( rf_ref_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [7/66]

DECLARE_SIGNAL_IN ( lf_ref_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [8/66]

DECLARE_SIGNAL_IN ( lf_ref_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [9/66]

DECLARE_SIGNAL_IN ( lf_ref_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [10/66]

DECLARE_SIGNAL_IN ( rh_ref_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [11/66]

DECLARE_SIGNAL_IN ( rh_ref_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [12/66]

DECLARE_SIGNAL_IN ( rh_ref_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [13/66]

DECLARE_SIGNAL_IN ( lh_ref_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [14/66]

DECLARE_SIGNAL_IN ( lh_ref_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [15/66]

DECLARE_SIGNAL_IN ( lh_ref_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [16/66]

DECLARE_SIGNAL_IN ( posture_ref_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [17/66]

DECLARE_SIGNAL_IN ( posture_ref_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [18/66]

DECLARE_SIGNAL_IN ( posture_ref_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [19/66]

DECLARE_SIGNAL_IN ( base_orientation_ref_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [20/66]

DECLARE_SIGNAL_IN ( base_orientation_ref_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [21/66]

DECLARE_SIGNAL_IN ( base_orientation_ref_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [22/66]

DECLARE_SIGNAL_IN ( f_ref_right_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [23/66]

DECLARE_SIGNAL_IN ( f_ref_left_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [24/66]

DECLARE_SIGNAL_IN ( kp_base_orientation  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [25/66]

DECLARE_SIGNAL_IN ( kd_base_orientation  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [26/66]

DECLARE_SIGNAL_IN ( kp_constraints  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [27/66]

DECLARE_SIGNAL_IN ( kd_constraints  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [28/66]

DECLARE_SIGNAL_IN ( kp_com  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [29/66]

DECLARE_SIGNAL_IN ( kd_com  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [30/66]

DECLARE_SIGNAL_IN ( kp_feet  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [31/66]

DECLARE_SIGNAL_IN ( kd_feet  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [32/66]

DECLARE_SIGNAL_IN ( kp_hands  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [33/66]

DECLARE_SIGNAL_IN ( kd_hands  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [34/66]

DECLARE_SIGNAL_IN ( kp_posture  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [35/66]

DECLARE_SIGNAL_IN ( kd_posture  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [36/66]

DECLARE_SIGNAL_IN ( kp_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [37/66]

DECLARE_SIGNAL_IN ( kd_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [38/66]

DECLARE_SIGNAL_IN ( w_com  ,
double   
)

◆ DECLARE_SIGNAL_IN() [39/66]

DECLARE_SIGNAL_IN ( w_feet  ,
double   
)

◆ DECLARE_SIGNAL_IN() [40/66]

DECLARE_SIGNAL_IN ( w_hands  ,
double   
)

◆ DECLARE_SIGNAL_IN() [41/66]

DECLARE_SIGNAL_IN ( w_posture  ,
double   
)

◆ DECLARE_SIGNAL_IN() [42/66]

DECLARE_SIGNAL_IN ( w_base_orientation  ,
double   
)

◆ DECLARE_SIGNAL_IN() [43/66]

DECLARE_SIGNAL_IN ( w_torques  ,
double   
)

◆ DECLARE_SIGNAL_IN() [44/66]

DECLARE_SIGNAL_IN ( w_forces  ,
double   
)

◆ DECLARE_SIGNAL_IN() [45/66]

DECLARE_SIGNAL_IN ( weight_contact_forces  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [46/66]

DECLARE_SIGNAL_IN ( mu  ,
double   
)

◆ DECLARE_SIGNAL_IN() [47/66]

DECLARE_SIGNAL_IN ( contact_points  ,
dynamicgraph::Matrix   
)

◆ DECLARE_SIGNAL_IN() [48/66]

DECLARE_SIGNAL_IN ( contact_normal  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [49/66]

DECLARE_SIGNAL_IN ( f_min  ,
double   
)

◆ DECLARE_SIGNAL_IN() [50/66]

DECLARE_SIGNAL_IN ( f_max_right_foot  ,
double   
)

◆ DECLARE_SIGNAL_IN() [51/66]

DECLARE_SIGNAL_IN ( f_max_left_foot  ,
double   
)

◆ DECLARE_SIGNAL_IN() [52/66]

DECLARE_SIGNAL_IN ( rotor_inertias  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [53/66]

DECLARE_SIGNAL_IN ( gear_ratios  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [54/66]

DECLARE_SIGNAL_IN ( tau_max  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [55/66]

DECLARE_SIGNAL_IN ( q_min  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [56/66]

DECLARE_SIGNAL_IN ( q_max  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [57/66]

DECLARE_SIGNAL_IN ( dq_max  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [58/66]

DECLARE_SIGNAL_IN ( ddq_max  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [59/66]

DECLARE_SIGNAL_IN ( dt_joint_pos_limits  ,
double   
)

◆ DECLARE_SIGNAL_IN() [60/66]

DECLARE_SIGNAL_IN ( tau_estimated  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [61/66]

DECLARE_SIGNAL_IN ( ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [62/66]

DECLARE_SIGNAL_IN ( ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [63/66]

DECLARE_SIGNAL_IN ( wrench_base  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [64/66]

DECLARE_SIGNAL_IN ( wrench_left_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [65/66]

DECLARE_SIGNAL_IN ( wrench_right_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_IN() [66/66]

DECLARE_SIGNAL_IN ( active_joints  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_INNER()

DECLARE_SIGNAL_INNER ( active_joints_checked  ,
dynamicgraph::Vector   
)

This signal copies active_joints only if it changes from a all false or to an all false value

◆ DECLARE_SIGNAL_OUT() [1/33]

DECLARE_SIGNAL_OUT ( tau_des  ,
dynamicgraph::Vector   
)

mask with 1 for controlled joints, 0 otherwise

◆ DECLARE_SIGNAL_OUT() [2/33]

DECLARE_SIGNAL_OUT ( ,
dynamicgraph::Matrix   
)

◆ DECLARE_SIGNAL_OUT() [3/33]

DECLARE_SIGNAL_OUT ( dv_des  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [4/33]

DECLARE_SIGNAL_OUT ( f_des_right_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [5/33]

DECLARE_SIGNAL_OUT ( f_des_left_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [6/33]

DECLARE_SIGNAL_OUT ( zmp_des_right_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [7/33]

DECLARE_SIGNAL_OUT ( zmp_des_left_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [8/33]

DECLARE_SIGNAL_OUT ( zmp_des_right_foot_local  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [9/33]

DECLARE_SIGNAL_OUT ( zmp_des_left_foot_local  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [10/33]

DECLARE_SIGNAL_OUT ( zmp_des  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [11/33]

DECLARE_SIGNAL_OUT ( zmp_ref  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [12/33]

DECLARE_SIGNAL_OUT ( zmp_right_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [13/33]

DECLARE_SIGNAL_OUT ( zmp_left_foot  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [14/33]

DECLARE_SIGNAL_OUT ( zmp  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [15/33]

DECLARE_SIGNAL_OUT ( com  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [16/33]

DECLARE_SIGNAL_OUT ( com_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [17/33]

DECLARE_SIGNAL_OUT ( com_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [18/33]

DECLARE_SIGNAL_OUT ( com_acc_des  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [19/33]

DECLARE_SIGNAL_OUT ( base_orientation  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [20/33]

DECLARE_SIGNAL_OUT ( right_foot_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [21/33]

DECLARE_SIGNAL_OUT ( left_foot_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [22/33]

DECLARE_SIGNAL_OUT ( right_hand_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [23/33]

DECLARE_SIGNAL_OUT ( left_hand_pos  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [24/33]

DECLARE_SIGNAL_OUT ( right_foot_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [25/33]

DECLARE_SIGNAL_OUT ( left_foot_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [26/33]

DECLARE_SIGNAL_OUT ( right_hand_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [27/33]

DECLARE_SIGNAL_OUT ( left_hand_vel  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [28/33]

DECLARE_SIGNAL_OUT ( right_foot_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [29/33]

DECLARE_SIGNAL_OUT ( left_foot_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [30/33]

DECLARE_SIGNAL_OUT ( right_hand_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [31/33]

DECLARE_SIGNAL_OUT ( left_hand_acc  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [32/33]

DECLARE_SIGNAL_OUT ( right_foot_acc_des  ,
dynamicgraph::Vector   
)

◆ DECLARE_SIGNAL_OUT() [33/33]

DECLARE_SIGNAL_OUT ( left_foot_acc_des  ,
dynamicgraph::Vector   
)

◆ display()

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

Definition at line 1491 of file inverse-dynamics-balance-controller.cpp.

◆ init()

void init ( const double &  dt,
const std::string &  robotRef 
)

Definition at line 465 of file inverse-dynamics-balance-controller.cpp.

◆ removeLeftFootContact()

void removeLeftFootContact ( const double &  transitionTime)

Definition at line 360 of file inverse-dynamics-balance-controller.cpp.

◆ removeRightFootContact()

void removeRightFootContact ( const double &  transitionTime)

Definition at line 336 of file inverse-dynamics-balance-controller.cpp.

◆ removeTaskLeftHand()

void removeTaskLeftHand ( const double &  transitionTime)

Definition at line 455 of file inverse-dynamics-balance-controller.cpp.

◆ removeTaskRightHand()

void removeTaskRightHand ( const double &  transitionTime)

Definition at line 444 of file inverse-dynamics-balance-controller.cpp.

◆ sendMsg()

void sendMsg ( const std::string &  msg,
MsgType  t = MSG_TYPE_INFO,
const char *  = "",
int  = 0 
)
inline

Definition at line 197 of file inverse-dynamics-balance-controller.hh.

◆ updateComOffset()

void updateComOffset ( )

Definition at line 329 of file inverse-dynamics-balance-controller.cpp.

Member Data Documentation

◆ m_com_offset

tsid::math::Vector3 m_com_offset
protected

desired 6d wrench left foot

Definition at line 277 of file inverse-dynamics-balance-controller.hh.

◆ m_contactLF

tsid::contacts::Contact6d* m_contactLF
protected

Definition at line 250 of file inverse-dynamics-balance-controller.hh.

◆ m_contactLH

tsid::contacts::Contact6d* m_contactLH
protected

Definition at line 252 of file inverse-dynamics-balance-controller.hh.

◆ m_contactRF

tsid::contacts::Contact6d* m_contactRF
protected

Definition at line 249 of file inverse-dynamics-balance-controller.hh.

◆ m_contactRH

tsid::contacts::Contact6d* m_contactRH
protected

Definition at line 251 of file inverse-dynamics-balance-controller.hh.

◆ m_contactState

ContactState m_contactState
protected

Definition at line 217 of file inverse-dynamics-balance-controller.hh.

◆ m_contactTransitionTime

double m_contactTransitionTime
protected

Definition at line 218 of file inverse-dynamics-balance-controller.hh.

◆ m_dt

double m_dt
protected

Definition at line 203 of file inverse-dynamics-balance-controller.hh.

◆ m_dv_sot

tsid::math::Vector m_dv_sot
protected

Definition at line 272 of file inverse-dynamics-balance-controller.hh.

◆ m_dv_urdf

tsid::math::Vector m_dv_urdf
protected

desired accelerations (sot order)

Definition at line 273 of file inverse-dynamics-balance-controller.hh.

◆ m_enabled

bool m_enabled
protected

true if the entity has been successfully initialized

Definition at line 207 of file inverse-dynamics-balance-controller.hh.

◆ m_f

tsid::math::Vector m_f
protected

desired accelerations (urdf order)

Definition at line 274 of file inverse-dynamics-balance-controller.hh.

◆ m_f_LF

tsid::math::Vector6 m_f_LF
protected

desired 6d wrench right foot

Definition at line 276 of file inverse-dynamics-balance-controller.hh.

◆ m_f_RF

tsid::math::Vector6 m_f_RF
protected

desired force coefficients (24d)

Definition at line 275 of file inverse-dynamics-balance-controller.hh.

◆ m_firstTime

bool m_firstTime
protected

True if controler is enabled.

Definition at line 208 of file inverse-dynamics-balance-controller.hh.

◆ m_frame_id_lf

int m_frame_id_lf
protected

frame id of right foot

Definition at line 238 of file inverse-dynamics-balance-controller.hh.

◆ m_frame_id_lh

int m_frame_id_lh
protected

frame id of right hand

Definition at line 241 of file inverse-dynamics-balance-controller.hh.

◆ m_frame_id_rf

int m_frame_id_rf
protected

end time of the current transition (if any)

Definition at line 237 of file inverse-dynamics-balance-controller.hh.

◆ m_frame_id_rh

int m_frame_id_rh
protected

frame id of left foot

Definition at line 240 of file inverse-dynamics-balance-controller.hh.

◆ m_hqpSolver

tsid::solvers::SolverHQPBase* m_hqpSolver
protected

Definition at line 245 of file inverse-dynamics-balance-controller.hh.

◆ m_hqpSolver_48_30_17

tsid::solvers::SolverHQPBase* m_hqpSolver_48_30_17
protected

Definition at line 247 of file inverse-dynamics-balance-controller.hh.

◆ m_hqpSolver_60_36_34

tsid::solvers::SolverHQPBase* m_hqpSolver_60_36_34
protected

Definition at line 246 of file inverse-dynamics-balance-controller.hh.

◆ m_initSucceeded

bool m_initSucceeded
protected

Definition at line 206 of file inverse-dynamics-balance-controller.hh.

◆ m_invDyn

tsid::InverseDynamicsFormulationAccForce* m_invDyn
protected

Definition at line 248 of file inverse-dynamics-balance-controller.hh.

◆ m_J_LF

Matrix6x m_J_LF
protected

Definition at line 294 of file inverse-dynamics-balance-controller.hh.

◆ m_J_LF_QR

Eigen::ColPivHouseholderQR<Matrix6x> m_J_LF_QR
protected

Definition at line 296 of file inverse-dynamics-balance-controller.hh.

◆ m_J_RF

Matrix6x m_J_RF
protected

Definition at line 293 of file inverse-dynamics-balance-controller.hh.

◆ m_J_RF_QR

Eigen::ColPivHouseholderQR<Matrix6x> m_J_RF_QR
protected

Definition at line 295 of file inverse-dynamics-balance-controller.hh.

◆ m_leftHandState

LeftHandState m_leftHandState
protected

Definition at line 233 of file inverse-dynamics-balance-controller.hh.

◆ m_q_urdf

tsid::math::Vector m_q_urdf
protected

Definition at line 289 of file inverse-dynamics-balance-controller.hh.

◆ m_rightHandState

RightHandState m_rightHandState
protected

Definition at line 226 of file inverse-dynamics-balance-controller.hh.

◆ m_robot

tsid::robots::RobotWrapper* m_robot
protected

frame id of left hand

tsid

Definition at line 244 of file inverse-dynamics-balance-controller.hh.

◆ m_robot_util

RobotUtilShrPtr m_robot_util
protected

Definition at line 301 of file inverse-dynamics-balance-controller.hh.

◆ m_sampleCom

tsid::trajectories::TrajectorySample m_sampleCom
protected

Definition at line 261 of file inverse-dynamics-balance-controller.hh.

◆ m_sampleLF

tsid::trajectories::TrajectorySample m_sampleLF
protected

Definition at line 263 of file inverse-dynamics-balance-controller.hh.

◆ m_sampleLH

tsid::trajectories::TrajectorySample m_sampleLH
protected

Definition at line 265 of file inverse-dynamics-balance-controller.hh.

◆ m_samplePosture

tsid::trajectories::TrajectorySample m_samplePosture
protected

Definition at line 266 of file inverse-dynamics-balance-controller.hh.

◆ m_sampleRF

tsid::trajectories::TrajectorySample m_sampleRF
protected

Definition at line 262 of file inverse-dynamics-balance-controller.hh.

◆ m_sampleRH

tsid::trajectories::TrajectorySample m_sampleRH
protected

Definition at line 264 of file inverse-dynamics-balance-controller.hh.

◆ m_t

double m_t
protected

control loop time period

Definition at line 204 of file inverse-dynamics-balance-controller.hh.

◆ m_taskBlockedJoints

tsid::tasks::TaskJointPosture* m_taskBlockedJoints
protected

Definition at line 259 of file inverse-dynamics-balance-controller.hh.

◆ m_taskCom

tsid::tasks::TaskComEquality* m_taskCom
protected

Definition at line 253 of file inverse-dynamics-balance-controller.hh.

◆ m_taskLF

tsid::tasks::TaskSE3Equality* m_taskLF
protected

Definition at line 255 of file inverse-dynamics-balance-controller.hh.

◆ m_taskLH

tsid::tasks::TaskSE3Equality* m_taskLH
protected

Definition at line 257 of file inverse-dynamics-balance-controller.hh.

◆ m_taskPosture

tsid::tasks::TaskJointPosture* m_taskPosture
protected

Definition at line 258 of file inverse-dynamics-balance-controller.hh.

◆ m_taskRF

tsid::tasks::TaskSE3Equality* m_taskRF
protected

Definition at line 254 of file inverse-dynamics-balance-controller.hh.

◆ m_taskRH

tsid::tasks::TaskSE3Equality* m_taskRH
protected

Definition at line 256 of file inverse-dynamics-balance-controller.hh.

◆ m_tau_sot

tsid::math::Vector m_tau_sot
protected

3d global zmp

Definition at line 288 of file inverse-dynamics-balance-controller.hh.

◆ m_timeLast

unsigned int m_timeLast
protected

Definition at line 300 of file inverse-dynamics-balance-controller.hh.

◆ m_v_LF_int

tsid::math::Vector6 m_v_LF_int
protected

Definition at line 298 of file inverse-dynamics-balance-controller.hh.

◆ m_v_RF_int

tsid::math::Vector6 m_v_RF_int
protected

Definition at line 297 of file inverse-dynamics-balance-controller.hh.

◆ m_v_urdf

tsid::math::Vector m_v_urdf
protected

Definition at line 290 of file inverse-dynamics-balance-controller.hh.

◆ m_w_com

double m_w_com
protected

Definition at line 268 of file inverse-dynamics-balance-controller.hh.

◆ m_w_hands

double m_w_hands
protected

Definition at line 270 of file inverse-dynamics-balance-controller.hh.

◆ m_w_posture

double m_w_posture
protected

Definition at line 269 of file inverse-dynamics-balance-controller.hh.

◆ m_zmp

tsid::math::Vector3 m_zmp
protected

3d zmp left foot

Definition at line 287 of file inverse-dynamics-balance-controller.hh.

◆ m_zmp_des

tsid::math::Vector3 m_zmp_des
protected

3d desired zmp left foot expressed in local frame

Definition at line 284 of file inverse-dynamics-balance-controller.hh.

◆ m_zmp_des_LF

tsid::math::Vector3 m_zmp_des_LF
protected

3d CoM offset

Definition at line 278 of file inverse-dynamics-balance-controller.hh.

◆ m_zmp_des_LF_local

tsid::math::Vector3 m_zmp_des_LF_local
protected

3d desired zmp left foot

Definition at line 281 of file inverse-dynamics-balance-controller.hh.

◆ m_zmp_des_RF

tsid::math::Vector3 m_zmp_des_RF
protected

3d desired zmp left foot

Definition at line 279 of file inverse-dynamics-balance-controller.hh.

◆ m_zmp_des_RF_local

tsid::math::Vector3 m_zmp_des_RF_local
protected

3d desired zmp left foot expressed in local frame

Definition at line 283 of file inverse-dynamics-balance-controller.hh.

◆ m_zmp_LF

tsid::math::Vector3 m_zmp_LF
protected

3d desired global zmp

Definition at line 285 of file inverse-dynamics-balance-controller.hh.

◆ m_zmp_RF

tsid::math::Vector3 m_zmp_RF
protected

3d zmp left foot

Definition at line 286 of file inverse-dynamics-balance-controller.hh.


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