sot-torque-control  1.6.5
Collection of dynamic-graph entities aimed at implementing torque control on different robots.
inverse-dynamics-balance-controller.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2017, Andrea Del Prete, LAAS-CNRS
3  *
4  */
5 
6 #ifndef __sot_torque_control_inverse_dynamics_balance_controller_H__
7 #define __sot_torque_control_inverse_dynamics_balance_controller_H__
8 
9 /* --------------------------------------------------------------------- */
10 /* --- API ------------------------------------------------------------- */
11 /* --------------------------------------------------------------------- */
12 
13 #if defined(WIN32)
14 #if defined(inverse_dynamics_balance_controller_EXPORTS)
15 #define SOTINVERSEDYNAMICSBALANCECONTROLLER_EXPORT __declspec(dllexport)
16 #else
17 #define SOTINVERSEDYNAMICSBALANCECONTROLLER_EXPORT __declspec(dllimport)
18 #endif
19 #else
20 #define SOTINVERSEDYNAMICSBALANCECONTROLLER_EXPORT
21 #endif
22 
23 /* --------------------------------------------------------------------- */
24 /* --- INCLUDE --------------------------------------------------------- */
25 /* --------------------------------------------------------------------- */
26 
27 #include <map>
28 
29 #include "boost/assign.hpp"
30 
31 /* Pinocchio */
32 #include <pinocchio/multibody/model.hpp>
33 #include <pinocchio/parsers/urdf.hpp>
34 #include <tsid/contacts/contact-6d.hpp>
35 #include <tsid/formulations/inverse-dynamics-formulation-acc-force.hpp>
36 #include <tsid/robots/robot-wrapper.hpp>
37 #include <tsid/solvers/solver-HQP-base.hpp>
38 #include <tsid/tasks/task-com-equality.hpp>
39 #include <tsid/tasks/task-joint-posture.hpp>
40 #include <tsid/trajectories/trajectory-euclidian.hpp>
41 
42 /* HELPER */
43 #include <dynamic-graph/signal-helper.h>
44 
45 #include <sot/core/matrix-geometry.hh>
46 #include <sot/core/robot-utils.hh>
48 
49 namespace dynamicgraph {
50 namespace sot {
51 namespace torque_control {
52 
53 /* --------------------------------------------------------------------- */
54 /* --- CLASS ----------------------------------------------------------- */
55 /* --------------------------------------------------------------------- */
56 
58  InverseDynamicsBalanceController : public ::dynamicgraph::Entity {
60  DYNAMIC_GRAPH_ENTITY_DECL();
61 
62  public:
63  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
64 
65  /* --- CONSTRUCTOR ---- */
66  InverseDynamicsBalanceController(const std::string& name);
67 
68  void init(const double& dt, const std::string& robotRef);
69  void updateComOffset();
70  void removeRightFootContact(const double& transitionTime);
71  void removeLeftFootContact(const double& transitionTime);
72  void addRightFootContact(const double& transitionTime);
73  void addLeftFootContact(const double& transitionTime);
74  void addTaskRightHand(/*const double& transitionTime*/);
75  void removeTaskRightHand(const double& transitionTime);
76  void addTaskLeftHand(/*const double& transitionTime*/);
77  void removeTaskLeftHand(const double& transitionTime);
78 
79  /* --- SIGNALS --- */
80  DECLARE_SIGNAL_IN(com_ref_pos, dynamicgraph::Vector);
81  DECLARE_SIGNAL_IN(com_ref_vel, dynamicgraph::Vector);
82  DECLARE_SIGNAL_IN(com_ref_acc, dynamicgraph::Vector);
83  DECLARE_SIGNAL_IN(rf_ref_pos, dynamicgraph::Vector);
84  DECLARE_SIGNAL_IN(rf_ref_vel, dynamicgraph::Vector);
85  DECLARE_SIGNAL_IN(rf_ref_acc, dynamicgraph::Vector);
86  DECLARE_SIGNAL_IN(lf_ref_pos, dynamicgraph::Vector);
87  DECLARE_SIGNAL_IN(lf_ref_vel, dynamicgraph::Vector);
88  DECLARE_SIGNAL_IN(lf_ref_acc, dynamicgraph::Vector);
89  DECLARE_SIGNAL_IN(rh_ref_pos, dynamicgraph::Vector);
90  DECLARE_SIGNAL_IN(rh_ref_vel, dynamicgraph::Vector);
91  DECLARE_SIGNAL_IN(rh_ref_acc, dynamicgraph::Vector);
92  DECLARE_SIGNAL_IN(lh_ref_pos, dynamicgraph::Vector);
93  DECLARE_SIGNAL_IN(lh_ref_vel, dynamicgraph::Vector);
94  DECLARE_SIGNAL_IN(lh_ref_acc, dynamicgraph::Vector);
95  DECLARE_SIGNAL_IN(posture_ref_pos, dynamicgraph::Vector);
96  DECLARE_SIGNAL_IN(posture_ref_vel, dynamicgraph::Vector);
97  DECLARE_SIGNAL_IN(posture_ref_acc, dynamicgraph::Vector);
98  DECLARE_SIGNAL_IN(base_orientation_ref_pos, dynamicgraph::Vector);
99  DECLARE_SIGNAL_IN(base_orientation_ref_vel, dynamicgraph::Vector);
100  DECLARE_SIGNAL_IN(base_orientation_ref_acc, dynamicgraph::Vector);
101  DECLARE_SIGNAL_IN(f_ref_right_foot, dynamicgraph::Vector);
102  DECLARE_SIGNAL_IN(f_ref_left_foot, dynamicgraph::Vector);
103 
104  DECLARE_SIGNAL_IN(kp_base_orientation, dynamicgraph::Vector);
105  DECLARE_SIGNAL_IN(kd_base_orientation, dynamicgraph::Vector);
106  DECLARE_SIGNAL_IN(kp_constraints, dynamicgraph::Vector);
107  DECLARE_SIGNAL_IN(kd_constraints, dynamicgraph::Vector);
108  DECLARE_SIGNAL_IN(kp_com, dynamicgraph::Vector);
109  DECLARE_SIGNAL_IN(kd_com, dynamicgraph::Vector);
110  DECLARE_SIGNAL_IN(kp_feet, dynamicgraph::Vector);
111  DECLARE_SIGNAL_IN(kd_feet, dynamicgraph::Vector);
112  DECLARE_SIGNAL_IN(kp_hands, dynamicgraph::Vector);
113  DECLARE_SIGNAL_IN(kd_hands, dynamicgraph::Vector);
114  DECLARE_SIGNAL_IN(kp_posture, dynamicgraph::Vector);
115  DECLARE_SIGNAL_IN(kd_posture, dynamicgraph::Vector);
116  DECLARE_SIGNAL_IN(kp_pos, dynamicgraph::Vector);
117  DECLARE_SIGNAL_IN(kd_pos, dynamicgraph::Vector);
118 
119  DECLARE_SIGNAL_IN(w_com, double);
120  DECLARE_SIGNAL_IN(w_feet, double);
121  DECLARE_SIGNAL_IN(w_hands, double);
122  DECLARE_SIGNAL_IN(w_posture, double);
123  DECLARE_SIGNAL_IN(w_base_orientation, double);
124  DECLARE_SIGNAL_IN(w_torques, double);
125  DECLARE_SIGNAL_IN(w_forces, double);
126  DECLARE_SIGNAL_IN(weight_contact_forces, dynamicgraph::Vector);
127 
128  DECLARE_SIGNAL_IN(mu, double);
129  DECLARE_SIGNAL_IN(contact_points, dynamicgraph::Matrix);
130  DECLARE_SIGNAL_IN(contact_normal, dynamicgraph::Vector);
131  DECLARE_SIGNAL_IN(f_min, double);
132  DECLARE_SIGNAL_IN(f_max_right_foot, double);
133  DECLARE_SIGNAL_IN(f_max_left_foot, double);
134 
135  DECLARE_SIGNAL_IN(rotor_inertias, dynamicgraph::Vector);
136  DECLARE_SIGNAL_IN(gear_ratios, dynamicgraph::Vector);
137  DECLARE_SIGNAL_IN(tau_max, dynamicgraph::Vector);
138  DECLARE_SIGNAL_IN(q_min, dynamicgraph::Vector);
139  DECLARE_SIGNAL_IN(q_max, dynamicgraph::Vector);
140  DECLARE_SIGNAL_IN(dq_max, dynamicgraph::Vector);
141  DECLARE_SIGNAL_IN(ddq_max, dynamicgraph::Vector);
142  DECLARE_SIGNAL_IN(dt_joint_pos_limits, double);
143 
144  DECLARE_SIGNAL_IN(tau_estimated, dynamicgraph::Vector);
145  DECLARE_SIGNAL_IN(q, dynamicgraph::Vector);
146  DECLARE_SIGNAL_IN(v, dynamicgraph::Vector);
147  DECLARE_SIGNAL_IN(wrench_base, dynamicgraph::Vector);
148  DECLARE_SIGNAL_IN(wrench_left_foot, dynamicgraph::Vector);
149  DECLARE_SIGNAL_IN(wrench_right_foot, dynamicgraph::Vector);
150 
151  DECLARE_SIGNAL_IN(
152  active_joints,
153  dynamicgraph::Vector);
154 
155  DECLARE_SIGNAL_OUT(tau_des, dynamicgraph::Vector);
156  DECLARE_SIGNAL_OUT(M, dynamicgraph::Matrix);
157  DECLARE_SIGNAL_OUT(dv_des, dynamicgraph::Vector);
158  DECLARE_SIGNAL_OUT(f_des_right_foot, dynamicgraph::Vector);
159  DECLARE_SIGNAL_OUT(f_des_left_foot, dynamicgraph::Vector);
160  DECLARE_SIGNAL_OUT(zmp_des_right_foot, dynamicgraph::Vector);
161  DECLARE_SIGNAL_OUT(zmp_des_left_foot, dynamicgraph::Vector);
162  DECLARE_SIGNAL_OUT(zmp_des_right_foot_local, dynamicgraph::Vector);
163  DECLARE_SIGNAL_OUT(zmp_des_left_foot_local, dynamicgraph::Vector);
164  DECLARE_SIGNAL_OUT(zmp_des, dynamicgraph::Vector);
165  DECLARE_SIGNAL_OUT(zmp_ref, dynamicgraph::Vector);
166  DECLARE_SIGNAL_OUT(zmp_right_foot, dynamicgraph::Vector);
167  DECLARE_SIGNAL_OUT(zmp_left_foot, dynamicgraph::Vector);
168  DECLARE_SIGNAL_OUT(zmp, dynamicgraph::Vector);
169  DECLARE_SIGNAL_OUT(com, dynamicgraph::Vector);
170  DECLARE_SIGNAL_OUT(com_vel, dynamicgraph::Vector);
171  DECLARE_SIGNAL_OUT(com_acc, dynamicgraph::Vector);
172  DECLARE_SIGNAL_OUT(com_acc_des, dynamicgraph::Vector);
173  DECLARE_SIGNAL_OUT(base_orientation, dynamicgraph::Vector);
174  DECLARE_SIGNAL_OUT(right_foot_pos, dynamicgraph::Vector);
175  DECLARE_SIGNAL_OUT(left_foot_pos, dynamicgraph::Vector);
176  DECLARE_SIGNAL_OUT(right_hand_pos, dynamicgraph::Vector);
177  DECLARE_SIGNAL_OUT(left_hand_pos, dynamicgraph::Vector);
178  DECLARE_SIGNAL_OUT(right_foot_vel, dynamicgraph::Vector);
179  DECLARE_SIGNAL_OUT(left_foot_vel, dynamicgraph::Vector);
180  DECLARE_SIGNAL_OUT(right_hand_vel, dynamicgraph::Vector);
181  DECLARE_SIGNAL_OUT(left_hand_vel, dynamicgraph::Vector);
182  DECLARE_SIGNAL_OUT(right_foot_acc, dynamicgraph::Vector);
183  DECLARE_SIGNAL_OUT(left_foot_acc, dynamicgraph::Vector);
184  DECLARE_SIGNAL_OUT(right_hand_acc, dynamicgraph::Vector);
185  DECLARE_SIGNAL_OUT(left_hand_acc, dynamicgraph::Vector);
186  DECLARE_SIGNAL_OUT(right_foot_acc_des, dynamicgraph::Vector);
187  DECLARE_SIGNAL_OUT(left_foot_acc_des, dynamicgraph::Vector);
188 
191  DECLARE_SIGNAL_INNER(active_joints_checked, dynamicgraph::Vector);
192 
193  /* --- COMMANDS --- */
194  /* --- ENTITY INHERITANCE --- */
195  virtual void display(std::ostream& os) const;
196 
197  void sendMsg(const std::string& msg, MsgType t = MSG_TYPE_INFO,
198  const char* = "", int = 0) {
199  logger_.stream(t) << ("[" + name + "] " + msg) << '\n';
200  }
201 
202  protected:
203  double m_dt;
204  double m_t;
205  bool
207  bool m_enabled;
208  bool m_firstTime;
209 
211  DOUBLE_SUPPORT = 0,
212  LEFT_SUPPORT = 1,
213  LEFT_SUPPORT_TRANSITION = 2, // transition towards left support
214  RIGHT_SUPPORT = 3,
215  RIGHT_SUPPORT_TRANSITION = 4
216  };
219 
222  TASK_RIGHT_HAND_ON = 0,
223  /*TASK_RIGHT_HAND_TRANSITION = 1,*/
224  TASK_RIGHT_HAND_OFF = 1
225  };
227 
229  TASK_LEFT_HAND_ON = 0,
230  /*TASK_LEFT_HAND_TRANSITION = 1,*/
231  TASK_LEFT_HAND_OFF = 1
232  };
234  /*double m_handsTransitionTime;*/
235 
239 
242 
244  tsid::robots::RobotWrapper* m_robot;
245  tsid::solvers::SolverHQPBase* m_hqpSolver;
246  tsid::solvers::SolverHQPBase* m_hqpSolver_60_36_34;
247  tsid::solvers::SolverHQPBase* m_hqpSolver_48_30_17;
248  tsid::InverseDynamicsFormulationAccForce* m_invDyn;
249  tsid::contacts::Contact6d* m_contactRF;
250  tsid::contacts::Contact6d* m_contactLF;
251  tsid::contacts::Contact6d* m_contactRH;
252  tsid::contacts::Contact6d* m_contactLH;
253  tsid::tasks::TaskComEquality* m_taskCom;
254  tsid::tasks::TaskSE3Equality* m_taskRF;
255  tsid::tasks::TaskSE3Equality* m_taskLF;
256  tsid::tasks::TaskSE3Equality* m_taskRH;
257  tsid::tasks::TaskSE3Equality* m_taskLH;
258  tsid::tasks::TaskJointPosture* m_taskPosture;
259  tsid::tasks::TaskJointPosture* m_taskBlockedJoints;
260 
261  tsid::trajectories::TrajectorySample m_sampleCom;
262  tsid::trajectories::TrajectorySample m_sampleRF;
263  tsid::trajectories::TrajectorySample m_sampleLF;
264  tsid::trajectories::TrajectorySample m_sampleRH;
265  tsid::trajectories::TrajectorySample m_sampleLH;
266  tsid::trajectories::TrajectorySample m_samplePosture;
267 
268  double m_w_com;
269  double m_w_posture;
270  double m_w_hands;
271 
272  tsid::math::Vector m_dv_sot;
273  tsid::math::Vector m_dv_urdf;
274  tsid::math::Vector m_f;
288  tsid::math::Vector m_tau_sot;
289  tsid::math::Vector m_q_urdf;
290  tsid::math::Vector m_v_urdf;
291 
292  typedef pinocchio::Data::Matrix6x Matrix6x;
295  Eigen::ColPivHouseholderQR<Matrix6x> m_J_RF_QR;
296  Eigen::ColPivHouseholderQR<Matrix6x> m_J_LF_QR;
299 
300  unsigned int m_timeLast;
301  RobotUtilShrPtr m_robot_util;
302 
303 }; // class InverseDynamicsBalanceController
304 } // namespace torque_control
305 } // namespace sot
306 } // namespace dynamicgraph
307 
308 #endif // #ifndef __sot_torque_control_inverse_dynamics_balance_controller_H__
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_f_LF
tsid::math::Vector6 m_f_LF
desired 6d wrench right foot
Definition: inverse-dynamics-balance-controller.hh:276
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_v_RF_int
tsid::math::Vector6 m_v_RF_int
Definition: inverse-dynamics-balance-controller.hh:297
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_sampleLH
tsid::trajectories::TrajectorySample m_sampleLH
Definition: inverse-dynamics-balance-controller.hh:265
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_sampleRH
tsid::trajectories::TrajectorySample m_sampleRH
Definition: inverse-dynamics-balance-controller.hh:264
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_initSucceeded
bool m_initSucceeded
Definition: inverse-dynamics-balance-controller.hh:206
dynamicgraph::sot::torque_control::Vector3
Eigen::Matrix< double, 3, 1 > Vector3
Definition: admittance-controller.cpp:53
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_taskLF
tsid::tasks::TaskSE3Equality * m_taskLF
Definition: inverse-dynamics-balance-controller.hh:255
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_invDyn
tsid::InverseDynamicsFormulationAccForce * m_invDyn
Definition: inverse-dynamics-balance-controller.hh:248
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_zmp_LF
tsid::math::Vector3 m_zmp_LF
3d desired global zmp
Definition: inverse-dynamics-balance-controller.hh:285
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_contactTransitionTime
double m_contactTransitionTime
Definition: inverse-dynamics-balance-controller.hh:218
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_taskPosture
tsid::tasks::TaskJointPosture * m_taskPosture
Definition: inverse-dynamics-balance-controller.hh:258
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_contactRF
tsid::contacts::Contact6d * m_contactRF
Definition: inverse-dynamics-balance-controller.hh:249
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_J_LF
Matrix6x m_J_LF
Definition: inverse-dynamics-balance-controller.hh:294
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_samplePosture
tsid::trajectories::TrajectorySample m_samplePosture
Definition: inverse-dynamics-balance-controller.hh:266
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_zmp_RF
tsid::math::Vector3 m_zmp_RF
3d zmp left foot
Definition: inverse-dynamics-balance-controller.hh:286
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_J_LF_QR
Eigen::ColPivHouseholderQR< Matrix6x > m_J_LF_QR
Definition: inverse-dynamics-balance-controller.hh:296
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_zmp
tsid::math::Vector3 m_zmp
3d zmp left foot
Definition: inverse-dynamics-balance-controller.hh:287
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_rightHandState
RightHandState m_rightHandState
Definition: inverse-dynamics-balance-controller.hh:226
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::LeftHandState
LeftHandState
Definition: inverse-dynamics-balance-controller.hh:228
dynamicgraph
to read text file
Definition: treeview.dox:22
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_contactLH
tsid::contacts::Contact6d * m_contactLH
Definition: inverse-dynamics-balance-controller.hh:252
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_taskCom
tsid::tasks::TaskComEquality * m_taskCom
Definition: inverse-dynamics-balance-controller.hh:253
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_dt
double m_dt
Definition: inverse-dynamics-balance-controller.hh:203
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_leftHandState
LeftHandState m_leftHandState
Definition: inverse-dynamics-balance-controller.hh:233
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_timeLast
unsigned int m_timeLast
Definition: inverse-dynamics-balance-controller.hh:300
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_hqpSolver_60_36_34
tsid::solvers::SolverHQPBase * m_hqpSolver_60_36_34
Definition: inverse-dynamics-balance-controller.hh:246
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_zmp_des_RF
tsid::math::Vector3 m_zmp_des_RF
3d desired zmp left foot
Definition: inverse-dynamics-balance-controller.hh:279
SOTINVERSEDYNAMICSBALANCECONTROLLER_EXPORT
#define SOTINVERSEDYNAMICSBALANCECONTROLLER_EXPORT
Definition: inverse-dynamics-balance-controller.hh:20
vector-conversions.hh
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_robot_util
RobotUtilShrPtr m_robot_util
Definition: inverse-dynamics-balance-controller.hh:301
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_w_posture
double m_w_posture
Definition: inverse-dynamics-balance-controller.hh:269
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_sampleCom
tsid::trajectories::TrajectorySample m_sampleCom
Definition: inverse-dynamics-balance-controller.hh:261
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_hqpSolver_48_30_17
tsid::solvers::SolverHQPBase * m_hqpSolver_48_30_17
Definition: inverse-dynamics-balance-controller.hh:247
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_hqpSolver
tsid::solvers::SolverHQPBase * m_hqpSolver
Definition: inverse-dynamics-balance-controller.hh:245
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_taskBlockedJoints
tsid::tasks::TaskJointPosture * m_taskBlockedJoints
Definition: inverse-dynamics-balance-controller.hh:259
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_enabled
bool m_enabled
true if the entity has been successfully initialized
Definition: inverse-dynamics-balance-controller.hh:207
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_taskLH
tsid::tasks::TaskSE3Equality * m_taskLH
Definition: inverse-dynamics-balance-controller.hh:257
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_zmp_des_LF_local
tsid::math::Vector3 m_zmp_des_LF_local
3d desired zmp left foot
Definition: inverse-dynamics-balance-controller.hh:281
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_frame_id_lh
int m_frame_id_lh
frame id of right hand
Definition: inverse-dynamics-balance-controller.hh:241
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_q_urdf
tsid::math::Vector m_q_urdf
Definition: inverse-dynamics-balance-controller.hh:289
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_zmp_des_RF_local
tsid::math::Vector3 m_zmp_des_RF_local
3d desired zmp left foot expressed in local frame
Definition: inverse-dynamics-balance-controller.hh:283
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_taskRH
tsid::tasks::TaskSE3Equality * m_taskRH
Definition: inverse-dynamics-balance-controller.hh:256
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::sendMsg
void sendMsg(const std::string &msg, MsgType t=MSG_TYPE_INFO, const char *="", int=0)
Definition: inverse-dynamics-balance-controller.hh:197
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_v_urdf
tsid::math::Vector m_v_urdf
Definition: inverse-dynamics-balance-controller.hh:290
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::RightHandState
RightHandState
Definition: inverse-dynamics-balance-controller.hh:221
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_firstTime
bool m_firstTime
True if controler is enabled.
Definition: inverse-dynamics-balance-controller.hh:208
torque_control
Definition: __init__.py:1
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_w_hands
double m_w_hands
Definition: inverse-dynamics-balance-controller.hh:270
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController
Definition: inverse-dynamics-balance-controller.hh:57
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_frame_id_lf
int m_frame_id_lf
frame id of right foot
Definition: inverse-dynamics-balance-controller.hh:238
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_contactLF
tsid::contacts::Contact6d * m_contactLF
Definition: inverse-dynamics-balance-controller.hh:250
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_zmp_des
tsid::math::Vector3 m_zmp_des
3d desired zmp left foot expressed in local frame
Definition: inverse-dynamics-balance-controller.hh:284
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_f
tsid::math::Vector m_f
desired accelerations (urdf order)
Definition: inverse-dynamics-balance-controller.hh:274
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_robot
tsid::robots::RobotWrapper * m_robot
frame id of left hand
Definition: inverse-dynamics-balance-controller.hh:244
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::Matrix6x
pinocchio::Data::Matrix6x Matrix6x
Definition: inverse-dynamics-balance-controller.hh:292
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_contactState
ContactState m_contactState
Definition: inverse-dynamics-balance-controller.hh:217
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_frame_id_rh
int m_frame_id_rh
frame id of left foot
Definition: inverse-dynamics-balance-controller.hh:240
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_f_RF
tsid::math::Vector6 m_f_RF
desired force coefficients (24d)
Definition: inverse-dynamics-balance-controller.hh:275
dynamicgraph::sot::torque_control::Vector6
Eigen::Matrix< double, 6, 1 > Vector6
Definition: admittance-controller.cpp:54
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_contactRH
tsid::contacts::Contact6d * m_contactRH
Definition: inverse-dynamics-balance-controller.hh:251
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_sampleLF
tsid::trajectories::TrajectorySample m_sampleLF
Definition: inverse-dynamics-balance-controller.hh:263
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_taskRF
tsid::tasks::TaskSE3Equality * m_taskRF
Definition: inverse-dynamics-balance-controller.hh:254
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_sampleRF
tsid::trajectories::TrajectorySample m_sampleRF
Definition: inverse-dynamics-balance-controller.hh:262
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_J_RF_QR
Eigen::ColPivHouseholderQR< Matrix6x > m_J_RF_QR
Definition: inverse-dynamics-balance-controller.hh:295
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_dv_sot
tsid::math::Vector m_dv_sot
Definition: inverse-dynamics-balance-controller.hh:272
dynamicgraph::sot::torque_control::EntityClassName
AdmittanceController EntityClassName
Definition: admittance-controller.cpp:51
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_frame_id_rf
int m_frame_id_rf
Definition: inverse-dynamics-balance-controller.hh:237
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_zmp_des_LF
tsid::math::Vector3 m_zmp_des_LF
3d CoM offset
Definition: inverse-dynamics-balance-controller.hh:278
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_t
double m_t
control loop time period
Definition: inverse-dynamics-balance-controller.hh:204
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_tau_sot
tsid::math::Vector m_tau_sot
3d global zmp
Definition: inverse-dynamics-balance-controller.hh:288
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_v_LF_int
tsid::math::Vector6 m_v_LF_int
Definition: inverse-dynamics-balance-controller.hh:298
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::ContactState
ContactState
True at the first iteration of the controller.
Definition: inverse-dynamics-balance-controller.hh:210
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_dv_urdf
tsid::math::Vector m_dv_urdf
desired accelerations (sot order)
Definition: inverse-dynamics-balance-controller.hh:273
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_com_offset
tsid::math::Vector3 m_com_offset
desired 6d wrench left foot
Definition: inverse-dynamics-balance-controller.hh:277
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_J_RF
Matrix6x m_J_RF
Definition: inverse-dynamics-balance-controller.hh:293
dynamicgraph::sot::torque_control::InverseDynamicsBalanceController::m_w_com
double m_w_com
Definition: inverse-dynamics-balance-controller.hh:268