Stabilizer.h
Go to the documentation of this file.
1 // -*- C++ -*-
10 #ifndef STABILIZER_COMPONENT_H
11 #define STABILIZER_COMPONENT_H
12 
13 #include <rtm/idl/BasicDataType.hh>
14 #include <rtm/idl/ExtendedDataTypes.hh>
15 #include <rtm/Manager.h>
16 #include <rtm/DataFlowComponentBase.h>
17 #include <rtm/CorbaPort.h>
18 #include <rtm/DataInPort.h>
19 #include <rtm/DataOutPort.h>
20 #include <rtm/idl/BasicDataTypeSkel.h>
21 #include <rtm/idl/ExtendedDataTypesSkel.h>
22 #include <hrpModel/Body.h>
23 
24 // Service implementation headers
25 // <rtc-template block="service_impl_h">
26 #include "StabilizerService_impl.h"
27 #include "TwoDofController.h"
28 #include "ZMPDistributor.h"
29 #include "../ImpedanceController/JointPathEx.h"
30 #include "../ImpedanceController/RatsMatrix.h"
31 #include "../TorqueFilter/IIRFilter.h"
32 
33 // </rtc-template>
34 
35 // Service Consumer stub headers
36 // <rtc-template block="consumer_stub_h">
37 
38 // </rtc-template>
39 
46 {
47  public:
56  virtual ~Stabilizer();
57 
58  // The initialize action (on CREATED->ALIVE transition)
59  // formaer rtc_init_entry()
60  virtual RTC::ReturnCode_t onInitialize();
61 
62  // The finalize action (on ALIVE->END transition)
63  // formaer rtc_exiting_entry()
64  virtual RTC::ReturnCode_t onFinalize();
65 
66  // The startup action when ExecutionContext startup
67  // former rtc_starting_entry()
68  // virtual RTC::ReturnCode_t onStartup(RTC::UniqueId ec_id);
69 
70  // The shutdown action when ExecutionContext stop
71  // former rtc_stopping_entry()
72  // virtual RTC::ReturnCode_t onShutdown(RTC::UniqueId ec_id);
73 
74  // The activated action (Active state entry action)
75  // former rtc_active_entry()
76  virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id);
77 
78  // The deactivated action (Active state exit action)
79  // former rtc_active_exit()
80  virtual RTC::ReturnCode_t onDeactivated(RTC::UniqueId ec_id);
81 
82  // The execution action that is invoked periodically
83  // former rtc_active_do()
84  virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id);
85 
86  // The aborting action when main logic error occurred.
87  // former rtc_aborting_entry()
88  // virtual RTC::ReturnCode_t onAborting(RTC::UniqueId ec_id);
89 
90  // The error action in ERROR state
91  // former rtc_error_do()
92  // virtual RTC::ReturnCode_t onError(RTC::UniqueId ec_id);
93 
94  // The reset action that is invoked resetting
95  // This is same but different the former rtc_init_entry()
96  // virtual RTC::ReturnCode_t onReset(RTC::UniqueId ec_id);
97 
98  // The state update action that is invoked after onExecute() action
99  // no corresponding operation exists in OpenRTm-aist-0.2.0
100  // virtual RTC::ReturnCode_t onStateUpdate(RTC::UniqueId ec_id);
101 
102  // The action that is invoked when execution context's rate is changed
103  // no corresponding operation exists in OpenRTm-aist-0.2.0
104  // virtual RTC::ReturnCode_t onRateChanged(RTC::UniqueId ec_id);
105 
106  void startStabilizer(void);
107  void stopStabilizer(void);
108  void getCurrentParameters ();
109  void getActualParameters ();
110  void getTargetParameters ();
111  void calcFootOriginCoords (hrp::Vector3& foot_origin_pos, hrp::Matrix33& foot_origin_rot);
112  void sync_2_st ();
113  void sync_2_idle();
114  bool calcZMP(hrp::Vector3& ret_zmp, const double zmp_z);
116  void calcRUNST();
119  void calcTPCC();
121  void calcSwingEEModification ();
122  void limbStretchAvoidanceControl (const std::vector<hrp::Vector3>& ee_p, const std::vector<hrp::Matrix33>& ee_R);
123  void getParameter(OpenHRP::StabilizerService::stParam& i_stp);
124  void setParameter(const OpenHRP::StabilizerService::stParam& i_stp);
125  void setBoolSequenceParam (std::vector<bool>& st_bool_values, const OpenHRP::StabilizerService::BoolSequence& output_bool_values, const std::string& prop_name);
126  void setBoolSequenceParamWithCheckContact (std::vector<bool>& st_bool_values, const OpenHRP::StabilizerService::BoolSequence& output_bool_values, const std::string& prop_name);
127  std::string getStabilizerAlgorithmString (OpenHRP::StabilizerService::STAlgorithm _st_algorithm);
128  void waitSTTransition();
129  // funcitons for calc final torque output
130  void calcContactMatrix (hrp::dmatrix& tm, const std::vector<hrp::Vector3>& contact_p);
131  void calcTorque ();
132  void fixLegToCoords (const std::string& leg, const rats::coordinates& coords);
134  double calcDampingControl (const double tau_d, const double tau, const double prev_d,
135  const double DD, const double TT);
136  hrp::Vector3 calcDampingControl (const hrp::Vector3& prev_d, const hrp::Vector3& TT);
137  double calcDampingControl (const double prev_d, const double TT);
138  hrp::Vector3 calcDampingControl (const hrp::Vector3& tau_d, const hrp::Vector3& tau, const hrp::Vector3& prev_d,
139  const hrp::Vector3& DD, const hrp::Vector3& TT);
140  double vlimit(double value, double llimit_value, double ulimit_value);
141  hrp::Vector3 vlimit(const hrp::Vector3& value, double llimit_value, double ulimit_value);
142  hrp::Vector3 vlimit(const hrp::Vector3& value, const hrp::Vector3& limit_value);
143  hrp::Vector3 vlimit(const hrp::Vector3& value, const hrp::Vector3& llimit_value, const hrp::Vector3& ulimit_value);
144 
145  inline bool isContact (const size_t idx) // 0 = right, 1 = left
146  {
147  return (prev_act_force_z[idx] > 25.0);
148  };
150  {
151  return (transition_time / dt);
152  };
154 
155  protected:
156  // Configuration variable declaration
157  // <rtc-template block="config_declare">
158 
159  // </rtc-template>
160  RTC::TimedDoubleSeq m_qCurrent;
161  RTC::TimedDoubleSeq m_qRef;
162  RTC::TimedDoubleSeq m_tau;
163  RTC::TimedOrientation3D m_rpy;
164  RTC::TimedPoint3D m_zmpRef;
165  RTC::TimedPoint3D m_zmp;
166  RTC::TimedPoint3D m_refCP;
167  RTC::TimedPoint3D m_actCP;
168  RTC::TimedPoint3D m_diffCP;
169  RTC::TimedPoint3D m_diffFootOriginExtMoment;
170  RTC::TimedPoint3D m_basePos;
171  RTC::TimedOrientation3D m_baseRpy;
172  RTC::TimedBooleanSeq m_contactStates;
173  RTC::TimedDoubleSeq m_toeheelRatio;
174  RTC::TimedDoubleSeq m_controlSwingSupportTime;
175  std::vector<RTC::TimedPoint3D> m_limbCOPOffset;
176  RTC::TimedBooleanSeq m_actContactStates;
177  RTC::TimedDoubleSeq m_COPInfo;
178  RTC::TimedLong m_emergencySignal;
179  RTC::TimedDoubleSeq m_qRefSeq;
180  RTC::TimedBoolean m_walkingStates;
181  RTC::TimedPoint3D m_sbpCogOffset;
182  // for debug ouput
185  RTC::TimedOrientation3D m_actBaseRpy;
186  RTC::TimedPoint3D m_currentBasePos;
187  RTC::TimedOrientation3D m_currentBaseRpy;
188  RTC::TimedDoubleSeq m_allRefWrench;
189  RTC::TimedDoubleSeq m_allEEComp;
190  RTC::TimedDoubleSeq m_debugData;
191 
192  // DataInPort declaration
193  // <rtc-template block="inport_declare">
203  std::vector<RTC::InPort<RTC::TimedPoint3D> *> m_limbCOPOffsetIn;
207 
208  std::vector<RTC::TimedDoubleSeq> m_wrenches;
209  std::vector<RTC::InPort<RTC::TimedDoubleSeq> *> m_wrenchesIn;
210  std::vector<RTC::TimedDoubleSeq> m_ref_wrenches;
211  std::vector<RTC::InPort<RTC::TimedDoubleSeq> *> m_ref_wrenchesIn;
212 
213  // </rtc-template>
214 
215  // DataOutPort declaration
216  // <rtc-template block="outport_declare">
227  // for debug output
236 
237  // </rtc-template>
238 
239  // CORBA Port declaration
240  // <rtc-template block="corbaport_declare">
241 
242  // </rtc-template>
243 
244  // Service declaration
245  // <rtc-template block="service_declare">
247 
248  // </rtc-template>
249 
250  // Consumer declaration
251  // <rtc-template block="consumer_declare">
253 
254  // </rtc-template>
255 
256  private:
257  // Stabilizer Parameters
258  struct STIKParam {
259  std::string target_name; // Name of end link
260  std::string ee_name; // Name of ee (e.g., rleg, lleg, ...)
261  std::string sensor_name; // Name of force sensor in the limb
262  std::string parent_name; // Name of parent ling in the limb
263  hrp::Vector3 localp; // Position of ee in end link frame (^{l}p_e = R_l^T (p_e - p_l))
264  hrp::Vector3 localCOPPos; // Position offset of reference COP in end link frame (^{l}p_{cop} = R_l^T (p_{cop} - p_l) - ^{l}p_e)
265  hrp::Matrix33 localR; // Rotation of ee in end link frame (^{l}R_e = R_l^T R_e)
266  // For eefm
273  // For swing ee modification
277  // IK parameter
280  };
282  // members
283  std::map<std::string, hrp::VirtualForceSensorParam> m_vfs;
284  std::vector<hrp::JointPathExPtr> jpe_v;
287  unsigned int m_debugLevel;
289  std::vector<STIKParam> stikp;
290  std::map<std::string, size_t> contact_states_index_map;
292  std::vector<double> toeheel_ratio;
293  double dt;
296  std::vector<int> m_will_fall_counter;
303  std::vector <hrp::Matrix33> target_ee_R, rel_ee_rot, act_ee_R;
304  std::vector<std::string> rel_ee_name;
309  std::vector<double> prev_act_force_z;
312  OpenHRP::StabilizerService::STAlgorithm st_algorithm;
314  std::vector<std::vector<Eigen::Vector2d> > support_polygon_vetices, margined_support_polygon_vetices;
315  // TPCC
316  double k_tpcc_p[2], k_tpcc_x[2], d_rpy[2], k_brot_p[2], k_brot_tc[2];
317  // RUN ST
320  double m_torque_k[2], m_torque_d[2]; // 3D-LIP parameters (0: x, 1: y)
322  double k_run_b[2], d_run_b[2];
323  double rdx, rdy, rx, ry;
324  // EEFM ST
331  // Total foot moment around the foot origin coords (relative to foot origin coords)
335  std::vector<double> cp_check_margin, tilt_margin;
336  OpenHRP::StabilizerService::EmergencyCheckMode emergency_check_mode;
337 };
338 
339 
340 extern "C"
341 {
343 };
344 
345 #endif // STABILIZER_COMPONENT_H
hrp::BodyPtr m_robot
Definition: Stabilizer.h:285
RTC::TimedPoint3D m_originActCog
Definition: Stabilizer.h:184
virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id)
Definition: Stabilizer.cpp:528
hrp::Vector3 ref_zmp
Definition: Stabilizer.h:306
double k_brot_tc[2]
Definition: Stabilizer.h:316
RTC::TimedPoint3D m_originRefZmp
Definition: Stabilizer.h:183
ec_id
hrp::Vector3 eefm_swing_rot_time_const
Definition: Stabilizer.h:268
hrp::Vector3 eefm_pos_damping_gain
Definition: Stabilizer.h:268
void getCurrentParameters()
Definition: Stabilizer.cpp:759
RTC::OutPort< RTC::TimedPoint3D > m_originActZmpOut
Definition: Stabilizer.h:229
TwoDofController m_f_z
Definition: Stabilizer.h:318
hrp::Vector3 rel_act_zmp
Definition: Stabilizer.h:307
RTC::OutPort< RTC::TimedPoint3D > m_actCPOut
Definition: Stabilizer.h:221
std::string getStabilizerAlgorithmString(OpenHRP::StabilizerService::STAlgorithm _st_algorithm)
RTC::TimedDoubleSeq m_tau
Definition: Stabilizer.h:162
hrp::Vector3 act_cog
Definition: Stabilizer.h:307
RTC::TimedPoint3D m_originNewZmp
Definition: Stabilizer.h:183
hrp::Vector3 ref_cogvel
Definition: Stabilizer.h:306
RTC::InPort< RTC::TimedDoubleSeq > m_controlSwingSupportTimeIn
Definition: Stabilizer.h:202
std::vector< hrp::Vector3 > rel_ee_pos
Definition: Stabilizer.h:302
void calcSwingSupportLimbGain()
double eefm_body_attitude_control_gain[2]
Definition: Stabilizer.h:325
std::string sensor_name
Definition: Stabilizer.h:261
hrp::Vector3 d_foot_rpy
Definition: Stabilizer.h:267
std::vector< RTC::InPort< RTC::TimedPoint3D > * > m_limbCOPOffsetIn
Definition: Stabilizer.h:203
Eigen::MatrixXd dmatrix
RTC::OutPort< RTC::TimedDoubleSeq > m_allRefWrenchOut
Definition: Stabilizer.h:233
hrp::Vector3 eefm_rot_time_const
Definition: Stabilizer.h:268
std::string ee_name
Definition: Stabilizer.h:260
double eefm_gravitational_acceleration
Definition: Stabilizer.h:326
hrp::Matrix33 prev_act_foot_origin_rot
Definition: Stabilizer.h:301
OpenHRP::StabilizerService::STAlgorithm st_algorithm
Definition: Stabilizer.h:312
hrp::Vector3 ref_moment
Definition: Stabilizer.h:270
double pangy_ref
Definition: Stabilizer.h:321
hrp::Vector3 localp
Definition: Stabilizer.h:263
RTC::TimedDoubleSeq m_qRefSeq
Definition: Stabilizer.h:179
double eefm_k1[2]
Definition: Stabilizer.h:325
unsigned int m_debugLevel
Definition: Stabilizer.h:287
hrp::Matrix33 ref_foot_origin_rot
Definition: Stabilizer.h:301
double eefm_body_attitude_control_time_const[2]
Definition: Stabilizer.h:325
RTC::OutPort< RTC::TimedOrientation3D > m_currentBaseRpyOut
Definition: Stabilizer.h:232
std::vector< std::vector< Eigen::Vector2d > > support_polygon_vetices
Definition: Stabilizer.h:314
RTC::OutPort< RTC::TimedLong > m_emergencySignalOut
Definition: Stabilizer.h:226
std::vector< std::vector< Eigen::Vector2d > > margined_support_polygon_vetices
Definition: Stabilizer.h:314
void calcTorque()
StabilizerService_impl m_service0
Definition: Stabilizer.h:252
int is_air_counter
Definition: Stabilizer.h:297
RTC::OutPort< RTC::TimedDoubleSeq > m_allEECompOut
Definition: Stabilizer.h:234
hrp::Vector3 eefm_swing_pos_spring_gain
Definition: Stabilizer.h:268
RTC::TimedPoint3D m_originActZmp
Definition: Stabilizer.h:184
RTC::TimedOrientation3D m_currentBaseRpy
Definition: Stabilizer.h:187
RTC::OutPort< RTC::TimedPoint3D > m_refCPOut
Definition: Stabilizer.h:220
double total_mass
Definition: Stabilizer.h:334
double limb_stretch_avoidance_vlimit[2]
Definition: Stabilizer.h:310
RTC::InPort< RTC::TimedDoubleSeq > m_qRefIn
Definition: Stabilizer.h:195
RTC::InPort< RTC::TimedPoint3D > m_sbpCogOffsetIn
Definition: Stabilizer.h:206
double eefm_k3[2]
Definition: Stabilizer.h:325
double pangx_ref
Definition: Stabilizer.h:321
std::vector< RTC::TimedDoubleSeq > m_ref_wrenches
Definition: Stabilizer.h:210
RTC::CorbaPort m_StabilizerServicePort
Definition: Stabilizer.h:246
virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id)
Definition: Stabilizer.cpp:548
png_voidp int value
std::vector< RTC::InPort< RTC::TimedDoubleSeq > * > m_wrenchesIn
Definition: Stabilizer.h:209
RTC::ReturnCode_t ret(RTC::Local::ReturnCode_t r)
std::vector< hrp::Vector3 > act_ee_p
Definition: Stabilizer.h:302
hrp::Vector3 eefm_swing_rot_damping_gain
Definition: Stabilizer.h:333
hrp::Vector3 prev_d_rpy_swing
Definition: Stabilizer.h:275
double root_rot_compensation_limit[2]
Definition: Stabilizer.h:310
std::vector< double > eefm_swing_damping_force_thre
Definition: Stabilizer.h:327
hrp::Vector3 d_rpy_swing
Definition: Stabilizer.h:275
void calcDiffFootOriginExtMoment()
double ry
Definition: Stabilizer.h:323
std::vector< bool > is_ik_enable
Definition: Stabilizer.h:291
std::vector< RTC::TimedPoint3D > m_limbCOPOffset
Definition: Stabilizer.h:175
ZMP distribution.
std::vector< hrp::Vector3 > target_ee_p
Definition: Stabilizer.h:302
manager
std::vector< std::string > rel_ee_name
Definition: Stabilizer.h:304
bool eefm_use_force_difference_control
Definition: Stabilizer.h:298
virtual RTC::ReturnCode_t onDeactivated(RTC::UniqueId ec_id)
Definition: Stabilizer.cpp:534
bool is_legged_robot
Definition: Stabilizer.h:298
hrp::Vector3 rel_ref_cp
Definition: Stabilizer.h:306
Stabilizer(RTC::Manager *manager)
Constructor.
Definition: Stabilizer.cpp:61
TwoDofController m_tau_x[2]
Definition: Stabilizer.h:318
RTC::OutPort< RTC::TimedBooleanSeq > m_actContactStatesOut
Definition: Stabilizer.h:224
hrp::Vector3 eefm_swing_pos_damping_gain
Definition: Stabilizer.h:333
bool is_seq_interpolating
Definition: Stabilizer.h:298
double m_torque_d[2]
Definition: Stabilizer.h:320
std::vector< STIKParam > stikp
Definition: Stabilizer.h:289
Eigen::VectorXd dvector
std::vector< hrp::Vector3 > act_force
Definition: Stabilizer.h:302
double transition_time
Definition: Stabilizer.h:334
RTC::InPort< RTC::TimedPoint3D > m_zmpRefIn
Definition: Stabilizer.h:197
std::vector< bool > act_contact_states
Definition: Stabilizer.h:291
void calcContactMatrix(hrp::dmatrix &tm, const std::vector< hrp::Vector3 > &contact_p)
void calcEEForceMomentControl()
std::vector< double > eefm_swing_damping_moment_thre
Definition: Stabilizer.h:327
hrp::Vector3 new_refzmp
Definition: Stabilizer.h:328
hrp::Vector3 act_zmp
Definition: Stabilizer.h:307
std::vector< RTC::TimedDoubleSeq > m_wrenches
Definition: Stabilizer.h:208
RTC::TimedPoint3D m_sbpCogOffset
Definition: Stabilizer.h:181
hrp::Vector3 act_total_foot_origin_moment
Definition: Stabilizer.h:332
hrp::Vector3 act_cogvel
Definition: Stabilizer.h:307
double eefm_zmp_delay_time_const[2]
Definition: Stabilizer.h:325
std::vector< hrp::Matrix33 > rel_ee_rot
Definition: Stabilizer.h:303
hrp::Vector3 target_ee_diff_p
Definition: Stabilizer.h:275
hrp::Vector3 diff_cp
Definition: Stabilizer.h:307
std::vector< RTC::InPort< RTC::TimedDoubleSeq > * > m_ref_wrenchesIn
Definition: Stabilizer.h:211
bool eefm_use_swing_damping
Definition: Stabilizer.h:298
std::vector< bool > is_zmp_calc_enable
Definition: Stabilizer.h:291
std::vector< bool > is_feedback_control_enable
Definition: Stabilizer.h:291
RTC::TimedDoubleSeq m_controlSwingSupportTime
Definition: Stabilizer.h:174
RTC::TimedDoubleSeq m_debugData
Definition: Stabilizer.h:190
void StabilizerInit(RTC::Manager *manager)
RTC::TimedPoint3D m_refCP
Definition: Stabilizer.h:166
std::vector< int > m_will_fall_counter
Definition: Stabilizer.h:296
double eefm_pos_time_const_swing
Definition: Stabilizer.h:326
Eigen::Vector3d Vector3
RTC::InPort< RTC::TimedDoubleSeq > m_qCurrentIn
Definition: Stabilizer.h:194
RTC::TimedDoubleSeq m_allEEComp
Definition: Stabilizer.h:189
RTC::OutPort< RTC::TimedDoubleSeq > m_debugDataOut
Definition: Stabilizer.h:235
hrp::dvector qrefv
Definition: Stabilizer.h:288
void getTargetParameters()
hrp::Matrix33 target_ee_diff_r
Definition: Stabilizer.h:276
double pangy
Definition: Stabilizer.h:321
bool isContact(const size_t idx)
Definition: Stabilizer.h:145
Eigen::Matrix3d Matrix33
RTC::OutPort< RTC::TimedPoint3D > m_originActCogOut
Definition: Stabilizer.h:229
double k_tpcc_p[2]
Definition: Stabilizer.h:316
hrp::Vector3 rel_cog
Definition: Stabilizer.h:328
coil::Mutex m_mutex
Definition: Stabilizer.h:286
void getActualParameters()
Definition: Stabilizer.cpp:799
double m_torque_k[2]
Definition: Stabilizer.h:320
OpenHRP::StabilizerService::EmergencyCheckMode emergency_check_mode
Definition: Stabilizer.h:336
hrp::Matrix33 current_root_R
Definition: Stabilizer.h:301
double k_brot_p[2]
Definition: Stabilizer.h:316
RTC::TimedPoint3D m_originRefCog
Definition: Stabilizer.h:183
hrp::dvector transition_joint_q
Definition: Stabilizer.h:288
std::string target_name
Definition: Stabilizer.h:259
hrp::Vector3 ref_total_force
Definition: Stabilizer.h:330
RTC::TimedPoint3D m_zmpRef
Definition: Stabilizer.h:164
void fixLegToCoords(const std::string &leg, const rats::coordinates &coords)
ExecutionContextHandle_t UniqueId
void moveBasePosRotForBodyRPYControl()
std::string parent_name
Definition: Stabilizer.h:262
Feedback and Feedforward Controller.
void startStabilizer(void)
void getParameter(OpenHRP::StabilizerService::stParam &i_stp)
bool use_zmp_truncation
Definition: Stabilizer.h:298
double d_run_b[2]
Definition: Stabilizer.h:322
std::vector< bool > ref_contact_states
Definition: Stabilizer.h:291
void calcStateForEmergencySignal()
virtual ~Stabilizer()
Destructor.
Definition: Stabilizer.cpp:111
RTC::OutPort< RTC::TimedDoubleSeq > m_qRefOut
Definition: Stabilizer.h:217
int calcMaxTransitionCount()
Definition: Stabilizer.h:149
RTC::OutPort< RTC::TimedDoubleSeq > m_COPInfoOut
Definition: Stabilizer.h:225
void setBoolSequenceParam(std::vector< bool > &st_bool_values, const OpenHRP::StabilizerService::BoolSequence &output_bool_values, const std::string &prop_name)
hrp::Vector3 pos_ctrl
Definition: Stabilizer.h:329
RTC::TimedPoint3D m_basePos
Definition: Stabilizer.h:170
std::vector< double > cp_check_margin
Definition: Stabilizer.h:335
hrp::Vector3 prev_act_cog
Definition: Stabilizer.h:307
std::vector< double > tilt_margin
Definition: Stabilizer.h:335
bool is_emergency
Definition: Stabilizer.h:298
hrp::Vector3 d_foot_pos
Definition: Stabilizer.h:267
double eefm_pos_margin_time
Definition: Stabilizer.h:326
void calcFootOriginCoords(hrp::Vector3 &foot_origin_pos, hrp::Matrix33 &foot_origin_rot)
Definition: Stabilizer.cpp:768
RTC::OutPort< RTC::TimedPoint3D > m_originNewZmpOut
Definition: Stabilizer.h:228
RTC::OutPort< RTC::TimedPoint3D > m_diffFootOriginExtMomentOut
Definition: Stabilizer.h:223
boost::shared_ptr< FirstOrderLowPassFilter< hrp::Vector3 > > target_ee_diff_p_filter
Definition: Stabilizer.h:274
hrp::Vector3 ref_total_moment
Definition: Stabilizer.h:330
bool is_walking
Definition: Stabilizer.h:299
hrp::Vector3 eefm_rot_damping_gain
Definition: Stabilizer.h:268
int detection_count_to_air
Definition: Stabilizer.h:297
RTC::OutPort< RTC::TimedPoint3D > m_originRefCogOut
Definition: Stabilizer.h:228
hrp::Vector3 d_pos_swing
Definition: Stabilizer.h:275
int transition_count
Definition: Stabilizer.h:294
bool initial_cp_too_large_error
Definition: Stabilizer.h:298
boost::shared_ptr< FirstOrderLowPassFilter< hrp::Vector3 > > target_ee_diff_r_filter
Definition: Stabilizer.h:274
RTC::InPort< RTC::TimedPoint3D > m_basePosIn
Definition: Stabilizer.h:198
double k_tpcc_x[2]
Definition: Stabilizer.h:316
enum Stabilizer::cmode control_mode
hrp::Vector3 eefm_swing_rot_spring_gain
Definition: Stabilizer.h:268
RTC::TimedBooleanSeq m_contactStates
Definition: Stabilizer.h:172
hrp::Vector3 cp_offset
Definition: Stabilizer.h:307
std::vector< double > toeheel_ratio
Definition: Stabilizer.h:292
std::map< std::string, size_t > contact_states_index_map
Definition: Stabilizer.h:290
hrp::Vector3 prev_ref_cog
Definition: Stabilizer.h:306
hrp::Vector3 eefm_pos_time_const_support
Definition: Stabilizer.h:268
boost::shared_ptr< FirstOrderLowPassFilter< hrp::Vector3 > > act_cogvel_filter
Definition: Stabilizer.h:311
hrp::Matrix33 target_root_R
Definition: Stabilizer.h:301
hrp::Matrix33 localR
Definition: Stabilizer.h:265
RTC::TimedOrientation3D m_actBaseRpy
Definition: Stabilizer.h:185
rats::coordinates target_foot_midcoords
Definition: Stabilizer.h:305
hrp::Vector3 target_root_p
Definition: Stabilizer.h:300
hrp::Vector3 foot_origin_offset[2]
Definition: Stabilizer.h:308
std::vector< double > prev_act_force_z
Definition: Stabilizer.h:309
double eefm_pos_transition_time
Definition: Stabilizer.h:326
RTC::TimedOrientation3D m_baseRpy
Definition: Stabilizer.h:171
SimpleZMPDistributor * szd
Definition: Stabilizer.h:313
hrp::Vector3 current_base_pos
Definition: Stabilizer.h:307
void setParameter(const OpenHRP::StabilizerService::stParam &i_stp)
RTC::TimedDoubleSeq m_toeheelRatio
Definition: Stabilizer.h:173
std::vector< hrp::Vector3 > projected_normal
Definition: Stabilizer.h:302
RTC::InPort< RTC::TimedBoolean > m_walkingStatesIn
Definition: Stabilizer.h:205
RTC::OutPort< RTC::TimedPoint3D > m_currentBasePosOut
Definition: Stabilizer.h:231
double rdy
Definition: Stabilizer.h:323
hrp::Vector3 act_base_rpy
Definition: Stabilizer.h:307
double limb_stretch_avoidance_time_const
Definition: Stabilizer.h:310
double eefm_rot_compensation_limit
Definition: Stabilizer.h:269
hrp::Vector3 localCOPPos
Definition: Stabilizer.h:264
bool calcZMP(hrp::Vector3 &ret_zmp, const double zmp_z)
hrp::Vector3 act_cp
Definition: Stabilizer.h:307
std::vector< bool > prev_ref_contact_states
Definition: Stabilizer.h:291
virtual RTC::ReturnCode_t onFinalize()
Definition: Stabilizer.cpp:505
double vlimit(double value, double llimit_value, double ulimit_value)
sample RT component which has one data input port and one data output port
Definition: Stabilizer.h:44
double rx
Definition: Stabilizer.h:323
void setBoolSequenceParamWithCheckContact(std::vector< bool > &st_bool_values, const OpenHRP::StabilizerService::BoolSequence &output_bool_values, const std::string &prop_name)
void calcRUNST()
double eefm_k2[2]
Definition: Stabilizer.h:325
RTC::TimedPoint3D m_actCP
Definition: Stabilizer.h:167
hrp::Vector3 ref_cog
Definition: Stabilizer.h:306
double calcDampingControl(const double tau_d, const double tau, const double prev_d, const double DD, const double TT)
RTC::TimedPoint3D m_originActCogVel
Definition: Stabilizer.h:184
double pangx
Definition: Stabilizer.h:321
RTC::InPort< RTC::TimedOrientation3D > m_baseRpyIn
Definition: Stabilizer.h:199
virtual RTC::ReturnCode_t onInitialize()
Definition: Stabilizer.cpp:115
hrp::Matrix33 prev_ref_foot_origin_rot
Definition: Stabilizer.h:301
RTC::TimedDoubleSeq m_qRef
Definition: Stabilizer.h:161
hrp::Vector3 pdr
Definition: Stabilizer.h:319
RTC::InPort< RTC::TimedDoubleSeq > m_toeheelRatioIn
Definition: Stabilizer.h:201
RTC::TimedDoubleSeq m_allRefWrench
Definition: Stabilizer.h:188
RTC::TimedDoubleSeq m_qCurrent
Definition: Stabilizer.h:160
RTC::TimedOrientation3D m_rpy
Definition: Stabilizer.h:163
void calcSwingEEModification()
RTC::OutPort< RTC::TimedPoint3D > m_originRefZmpOut
Definition: Stabilizer.h:228
std::vector< hrp::Matrix33 > target_ee_R
Definition: Stabilizer.h:303
double transition_smooth_gain
Definition: Stabilizer.h:310
bool use_limb_stretch_avoidance
Definition: Stabilizer.h:298
void stopStabilizer(void)
hrp::Vector3 rel_act_cp
Definition: Stabilizer.h:307
hrp::Vector3 current_root_p
Definition: Stabilizer.h:300
RTC::TimedDoubleSeq m_COPInfo
Definition: Stabilizer.h:177
double d_pos_z_root
Definition: Stabilizer.h:310
RTC::TimedBooleanSeq m_actContactStates
Definition: Stabilizer.h:176
Eigen::Matrix< double, 6, 1 > dvector6
hrp::Vector3 diff_foot_origin_ext_moment
Definition: Stabilizer.h:328
hrp::Vector3 ref_cp
Definition: Stabilizer.h:306
void waitSTTransition()
double zmp_origin_off
Definition: Stabilizer.h:310
std::vector< hrp::JointPathExPtr > jpe_v
Definition: Stabilizer.h:284
RTC::InPort< RTC::TimedBooleanSeq > m_contactStatesIn
Definition: Stabilizer.h:200
hrp::Vector3 prev_ref_zmp
Definition: Stabilizer.h:306
hrp::Vector3 ref_total_foot_origin_moment
Definition: Stabilizer.h:332
RTC::InPort< RTC::TimedOrientation3D > m_rpyIn
Definition: Stabilizer.h:196
RTC::TimedPoint3D m_diffFootOriginExtMoment
Definition: Stabilizer.h:169
double dt
Definition: Stabilizer.h:293
hrp::Vector3 ref_force
Definition: Stabilizer.h:270
hrp::dvector6 eefm_ee_forcemoment_distribution_weight
Definition: Stabilizer.h:271
RTC::OutPort< RTC::TimedPoint3D > m_zmpOut
Definition: Stabilizer.h:219
void getFootmidCoords(rats::coordinates &ret)
bool on_ground
Definition: Stabilizer.h:298
void calcTPCC()
hrp::Vector3 ref_zmp_aux
Definition: Stabilizer.h:328
hrp::Vector3 eefm_swing_pos_time_const
Definition: Stabilizer.h:268
double contact_decision_threshold
Definition: Stabilizer.h:334
bool reset_emergency_flag
Definition: Stabilizer.h:298
RTC::TimedPoint3D m_zmp
Definition: Stabilizer.h:165
void limbStretchAvoidanceControl(const std::vector< hrp::Vector3 > &ee_p, const std::vector< hrp::Matrix33 > &ee_R)
double k_run_b[2]
Definition: Stabilizer.h:322
hrp::Vector3 eefm_ee_moment_limit
Definition: Stabilizer.h:268
RTC::OutPort< RTC::TimedOrientation3D > m_actBaseRpyOut
Definition: Stabilizer.h:230
double cop_check_margin
Definition: Stabilizer.h:334
double d_rpy[2]
Definition: Stabilizer.h:316
hrp::dvector qorg
Definition: Stabilizer.h:288
void sync_2_st()
RTC::TimedLong m_emergencySignal
Definition: Stabilizer.h:178
hrp::Vector3 sbp_cog_offset
Definition: Stabilizer.h:307
TwoDofController m_tau_y[2]
Definition: Stabilizer.h:318
double rdx
Definition: Stabilizer.h:323
RTC::OutPort< RTC::TimedDoubleSeq > m_tauOut
Definition: Stabilizer.h:218
RTC::TimedPoint3D m_originRefCogVel
Definition: Stabilizer.h:183
hrp::Vector3 ee_d_foot_pos
Definition: Stabilizer.h:267
RTC::OutPort< RTC::TimedPoint3D > m_originActCogVelOut
Definition: Stabilizer.h:229
hrp::Matrix33 target_foot_origin_rot
Definition: Stabilizer.h:301
RTC::InPort< RTC::TimedDoubleSeq > m_qRefSeqIn
Definition: Stabilizer.h:204
RTC::OutPort< RTC::TimedPoint3D > m_diffCPOut
Definition: Stabilizer.h:222
int m_is_falling_counter
Definition: Stabilizer.h:295
hrp::Vector3 ee_d_foot_rpy
Definition: Stabilizer.h:267
std::map< std::string, hrp::VirtualForceSensorParam > m_vfs
Definition: Stabilizer.h:283
hrp::Vector3 prev_d_pos_swing
Definition: Stabilizer.h:275
hrp::Vector3 current_base_rpy
Definition: Stabilizer.h:307
RTC::TimedBoolean m_walkingStates
Definition: Stabilizer.h:180
void sync_2_idle()
RTC::OutPort< RTC::TimedPoint3D > m_originRefCogVelOut
Definition: Stabilizer.h:228
RTC::TimedPoint3D m_diffCP
Definition: Stabilizer.h:168
double eefm_pos_compensation_limit
Definition: Stabilizer.h:269
RTC::TimedPoint3D m_currentBasePos
Definition: Stabilizer.h:186
std::vector< hrp::Matrix33 > act_ee_R
Definition: Stabilizer.h:303
bool is_estop_while_walking
Definition: Stabilizer.h:299


hrpsys
Author(s): AIST, Fumio Kanehiro
autogenerated on Thu May 6 2021 02:41:51