00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __INTERFACES_HUMANOIDMOTIONINTERFACE_H_
00025 #define __INTERFACES_HUMANOIDMOTIONINTERFACE_H_
00026
00027 #include <interface/interface.h>
00028 #include <interface/message.h>
00029 #include <interface/field_iterator.h>
00030
00031 namespace fawkes {
00032
00033 class HumanoidMotionInterface : public Interface
00034 {
00035
00036 INTERFACE_MGMT_FRIENDS(HumanoidMotionInterface)
00037
00038 public:
00039
00040
00041
00042 typedef enum {
00043 LEG_LEFT ,
00044 LEG_RIGHT
00045 } LegEnum;
00046 const char * tostring_LegEnum(LegEnum value) const;
00047
00048
00049 typedef enum {
00050 STANDUP_DETECT ,
00051 STANDUP_BACK ,
00052 STANDUP_FRONT
00053 } StandupEnum;
00054 const char * tostring_StandupEnum(StandupEnum value) const;
00055
00056
00057 typedef enum {
00058 WALK ,
00059 KICK
00060 } StiffnessMotionPatternEnum;
00061 const char * tostring_StiffnessMotionPatternEnum(StiffnessMotionPatternEnum value) const;
00062
00063 private:
00064 #pragma pack(push,4)
00065
00066 typedef struct {
00067 int64_t timestamp_sec;
00068 int64_t timestamp_usec;
00069 bool walking;
00070 LegEnum supporting_leg;
00071 float max_step_length;
00072
00073
00074 float max_step_height;
00075
00076
00077 float max_step_side;
00078
00079
00080 float max_step_turn;
00081
00082
00083 float zmp_offset_forward;
00084
00085
00086 float zmp_offset_sideward;
00087
00088
00089 float l_hip_roll_compensation;
00090
00091
00092
00093 float r_hip_roll_compensation;
00094
00095
00096
00097 float hip_height;
00098
00099
00100
00101 float torso_sideward_orientation;
00102
00103
00104
00105 bool arms_enabled;
00106
00107
00108 float shoulder_pitch_median;
00109
00110
00111 float shoulder_pitch_amplitude;
00112
00113
00114 float elbow_roll_median;
00115
00116
00117 float elbow_roll_amplitude;
00118
00119
00120 uint32_t msgid;
00121
00122
00123
00124 } HumanoidMotionInterface_data_t;
00125 #pragma pack(pop)
00126
00127 HumanoidMotionInterface_data_t *data;
00128
00129 public:
00130
00131 class SetWalkParamsMessage : public Message
00132 {
00133 private:
00134 #pragma pack(push,4)
00135
00136 typedef struct {
00137 int64_t timestamp_sec;
00138 int64_t timestamp_usec;
00139 float max_step_length;
00140
00141
00142 float max_step_height;
00143
00144
00145 float max_step_side;
00146
00147
00148 float max_step_turn;
00149
00150
00151 float zmp_offset_forward;
00152
00153
00154 float zmp_offset_sideward;
00155
00156
00157 float l_hip_roll_compensation;
00158
00159
00160
00161 float r_hip_roll_compensation;
00162
00163
00164
00165 float hip_height;
00166
00167
00168
00169 float torso_sideward_orientation;
00170
00171
00172
00173 } SetWalkParamsMessage_data_t;
00174 #pragma pack(pop)
00175
00176 SetWalkParamsMessage_data_t *data;
00177
00178 public:
00179 SetWalkParamsMessage(const float ini_max_step_length, const float ini_max_step_height, const float ini_max_step_side, const float ini_max_step_turn, const float ini_zmp_offset_forward, const float ini_zmp_offset_sideward, const float ini_l_hip_roll_compensation, const float ini_r_hip_roll_compensation, const float ini_hip_height, const float ini_torso_sideward_orientation);
00180 SetWalkParamsMessage();
00181 ~SetWalkParamsMessage();
00182
00183 SetWalkParamsMessage(const SetWalkParamsMessage *m);
00184
00185 float max_step_length() const;
00186 void set_max_step_length(const float new_max_step_length);
00187 size_t maxlenof_max_step_length() const;
00188 float max_step_height() const;
00189 void set_max_step_height(const float new_max_step_height);
00190 size_t maxlenof_max_step_height() const;
00191 float max_step_side() const;
00192 void set_max_step_side(const float new_max_step_side);
00193 size_t maxlenof_max_step_side() const;
00194 float max_step_turn() const;
00195 void set_max_step_turn(const float new_max_step_turn);
00196 size_t maxlenof_max_step_turn() const;
00197 float zmp_offset_forward() const;
00198 void set_zmp_offset_forward(const float new_zmp_offset_forward);
00199 size_t maxlenof_zmp_offset_forward() const;
00200 float zmp_offset_sideward() const;
00201 void set_zmp_offset_sideward(const float new_zmp_offset_sideward);
00202 size_t maxlenof_zmp_offset_sideward() const;
00203 float l_hip_roll_compensation() const;
00204 void set_l_hip_roll_compensation(const float new_l_hip_roll_compensation);
00205 size_t maxlenof_l_hip_roll_compensation() const;
00206 float r_hip_roll_compensation() const;
00207 void set_r_hip_roll_compensation(const float new_r_hip_roll_compensation);
00208 size_t maxlenof_r_hip_roll_compensation() const;
00209 float hip_height() const;
00210 void set_hip_height(const float new_hip_height);
00211 size_t maxlenof_hip_height() const;
00212 float torso_sideward_orientation() const;
00213 void set_torso_sideward_orientation(const float new_torso_sideward_orientation);
00214 size_t maxlenof_torso_sideward_orientation() const;
00215 virtual Message * clone() const;
00216 };
00217
00218 class SetWalkArmsParamsMessage : public Message
00219 {
00220 private:
00221 #pragma pack(push,4)
00222
00223 typedef struct {
00224 int64_t timestamp_sec;
00225 int64_t timestamp_usec;
00226 bool arms_enabled;
00227
00228
00229 float shoulder_pitch_median;
00230
00231
00232 float shoulder_pitch_amplitude;
00233
00234
00235 float elbow_roll_median;
00236
00237
00238 float elbow_roll_amplitude;
00239
00240
00241 } SetWalkArmsParamsMessage_data_t;
00242 #pragma pack(pop)
00243
00244 SetWalkArmsParamsMessage_data_t *data;
00245
00246 public:
00247 SetWalkArmsParamsMessage(const bool ini_arms_enabled, const float ini_shoulder_pitch_median, const float ini_shoulder_pitch_amplitude, const float ini_elbow_roll_median, const float ini_elbow_roll_amplitude);
00248 SetWalkArmsParamsMessage();
00249 ~SetWalkArmsParamsMessage();
00250
00251 SetWalkArmsParamsMessage(const SetWalkArmsParamsMessage *m);
00252
00253 bool is_arms_enabled() const;
00254 void set_arms_enabled(const bool new_arms_enabled);
00255 size_t maxlenof_arms_enabled() const;
00256 float shoulder_pitch_median() const;
00257 void set_shoulder_pitch_median(const float new_shoulder_pitch_median);
00258 size_t maxlenof_shoulder_pitch_median() const;
00259 float shoulder_pitch_amplitude() const;
00260 void set_shoulder_pitch_amplitude(const float new_shoulder_pitch_amplitude);
00261 size_t maxlenof_shoulder_pitch_amplitude() const;
00262 float elbow_roll_median() const;
00263 void set_elbow_roll_median(const float new_elbow_roll_median);
00264 size_t maxlenof_elbow_roll_median() const;
00265 float elbow_roll_amplitude() const;
00266 void set_elbow_roll_amplitude(const float new_elbow_roll_amplitude);
00267 size_t maxlenof_elbow_roll_amplitude() const;
00268 virtual Message * clone() const;
00269 };
00270
00271 class StopMessage : public Message
00272 {
00273 private:
00274 #pragma pack(push,4)
00275
00276 typedef struct {
00277 int64_t timestamp_sec;
00278 int64_t timestamp_usec;
00279 } StopMessage_data_t;
00280 #pragma pack(pop)
00281
00282 StopMessage_data_t *data;
00283
00284 public:
00285 StopMessage();
00286 ~StopMessage();
00287
00288 StopMessage(const StopMessage *m);
00289
00290 virtual Message * clone() const;
00291 };
00292
00293 class WalkStraightMessage : public Message
00294 {
00295 private:
00296 #pragma pack(push,4)
00297
00298 typedef struct {
00299 int64_t timestamp_sec;
00300 int64_t timestamp_usec;
00301 float distance;
00302 uint32_t num_samples;
00303
00304
00305 } WalkStraightMessage_data_t;
00306 #pragma pack(pop)
00307
00308 WalkStraightMessage_data_t *data;
00309
00310 public:
00311 WalkStraightMessage(const float ini_distance, const uint32_t ini_num_samples);
00312 WalkStraightMessage();
00313 ~WalkStraightMessage();
00314
00315 WalkStraightMessage(const WalkStraightMessage *m);
00316
00317 float distance() const;
00318 void set_distance(const float new_distance);
00319 size_t maxlenof_distance() const;
00320 uint32_t num_samples() const;
00321 void set_num_samples(const uint32_t new_num_samples);
00322 size_t maxlenof_num_samples() const;
00323 virtual Message * clone() const;
00324 };
00325
00326 class WalkSidewaysMessage : public Message
00327 {
00328 private:
00329 #pragma pack(push,4)
00330
00331 typedef struct {
00332 int64_t timestamp_sec;
00333 int64_t timestamp_usec;
00334 float distance;
00335 uint32_t num_samples;
00336
00337
00338 } WalkSidewaysMessage_data_t;
00339 #pragma pack(pop)
00340
00341 WalkSidewaysMessage_data_t *data;
00342
00343 public:
00344 WalkSidewaysMessage(const float ini_distance, const uint32_t ini_num_samples);
00345 WalkSidewaysMessage();
00346 ~WalkSidewaysMessage();
00347
00348 WalkSidewaysMessage(const WalkSidewaysMessage *m);
00349
00350 float distance() const;
00351 void set_distance(const float new_distance);
00352 size_t maxlenof_distance() const;
00353 uint32_t num_samples() const;
00354 void set_num_samples(const uint32_t new_num_samples);
00355 size_t maxlenof_num_samples() const;
00356 virtual Message * clone() const;
00357 };
00358
00359 class WalkArcMessage : public Message
00360 {
00361 private:
00362 #pragma pack(push,4)
00363
00364 typedef struct {
00365 int64_t timestamp_sec;
00366 int64_t timestamp_usec;
00367 float angle;
00368 float radius;
00369 uint32_t num_samples;
00370
00371
00372 } WalkArcMessage_data_t;
00373 #pragma pack(pop)
00374
00375 WalkArcMessage_data_t *data;
00376
00377 public:
00378 WalkArcMessage(const float ini_angle, const float ini_radius, const uint32_t ini_num_samples);
00379 WalkArcMessage();
00380 ~WalkArcMessage();
00381
00382 WalkArcMessage(const WalkArcMessage *m);
00383
00384 float angle() const;
00385 void set_angle(const float new_angle);
00386 size_t maxlenof_angle() const;
00387 float radius() const;
00388 void set_radius(const float new_radius);
00389 size_t maxlenof_radius() const;
00390 uint32_t num_samples() const;
00391 void set_num_samples(const uint32_t new_num_samples);
00392 size_t maxlenof_num_samples() const;
00393 virtual Message * clone() const;
00394 };
00395
00396 class WalkMessage : public Message
00397 {
00398 private:
00399 #pragma pack(push,4)
00400
00401 typedef struct {
00402 int64_t timestamp_sec;
00403 int64_t timestamp_usec;
00404 float x;
00405 float y;
00406 float theta;
00407 float speed;
00408 } WalkMessage_data_t;
00409 #pragma pack(pop)
00410
00411 WalkMessage_data_t *data;
00412
00413 public:
00414 WalkMessage(const float ini_x, const float ini_y, const float ini_theta, const float ini_speed);
00415 WalkMessage();
00416 ~WalkMessage();
00417
00418 WalkMessage(const WalkMessage *m);
00419
00420 float x() const;
00421 void set_x(const float new_x);
00422 size_t maxlenof_x() const;
00423 float y() const;
00424 void set_y(const float new_y);
00425 size_t maxlenof_y() const;
00426 float theta() const;
00427 void set_theta(const float new_theta);
00428 size_t maxlenof_theta() const;
00429 float speed() const;
00430 void set_speed(const float new_speed);
00431 size_t maxlenof_speed() const;
00432 virtual Message * clone() const;
00433 };
00434
00435 class TurnMessage : public Message
00436 {
00437 private:
00438 #pragma pack(push,4)
00439
00440 typedef struct {
00441 int64_t timestamp_sec;
00442 int64_t timestamp_usec;
00443 float angle;
00444 uint32_t num_samples;
00445
00446
00447 } TurnMessage_data_t;
00448 #pragma pack(pop)
00449
00450 TurnMessage_data_t *data;
00451
00452 public:
00453 TurnMessage(const float ini_angle, const uint32_t ini_num_samples);
00454 TurnMessage();
00455 ~TurnMessage();
00456
00457 TurnMessage(const TurnMessage *m);
00458
00459 float angle() const;
00460 void set_angle(const float new_angle);
00461 size_t maxlenof_angle() const;
00462 uint32_t num_samples() const;
00463 void set_num_samples(const uint32_t new_num_samples);
00464 size_t maxlenof_num_samples() const;
00465 virtual Message * clone() const;
00466 };
00467
00468 class KickMessage : public Message
00469 {
00470 private:
00471 #pragma pack(push,4)
00472
00473 typedef struct {
00474 int64_t timestamp_sec;
00475 int64_t timestamp_usec;
00476 LegEnum leg;
00477 float strength;
00478 } KickMessage_data_t;
00479 #pragma pack(pop)
00480
00481 KickMessage_data_t *data;
00482
00483 public:
00484 KickMessage(const LegEnum ini_leg, const float ini_strength);
00485 KickMessage();
00486 ~KickMessage();
00487
00488 KickMessage(const KickMessage *m);
00489
00490 LegEnum leg() const;
00491 void set_leg(const LegEnum new_leg);
00492 size_t maxlenof_leg() const;
00493 float strength() const;
00494 void set_strength(const float new_strength);
00495 size_t maxlenof_strength() const;
00496 virtual Message * clone() const;
00497 };
00498
00499 class ParkMessage : public Message
00500 {
00501 private:
00502 #pragma pack(push,4)
00503
00504 typedef struct {
00505 int64_t timestamp_sec;
00506 int64_t timestamp_usec;
00507 float time_sec;
00508 } ParkMessage_data_t;
00509 #pragma pack(pop)
00510
00511 ParkMessage_data_t *data;
00512
00513 public:
00514 ParkMessage(const float ini_time_sec);
00515 ParkMessage();
00516 ~ParkMessage();
00517
00518 ParkMessage(const ParkMessage *m);
00519
00520 float time_sec() const;
00521 void set_time_sec(const float new_time_sec);
00522 size_t maxlenof_time_sec() const;
00523 virtual Message * clone() const;
00524 };
00525
00526 class GetUpMessage : public Message
00527 {
00528 private:
00529 #pragma pack(push,4)
00530
00531 typedef struct {
00532 int64_t timestamp_sec;
00533 int64_t timestamp_usec;
00534 float time_sec;
00535 } GetUpMessage_data_t;
00536 #pragma pack(pop)
00537
00538 GetUpMessage_data_t *data;
00539
00540 public:
00541 GetUpMessage(const float ini_time_sec);
00542 GetUpMessage();
00543 ~GetUpMessage();
00544
00545 GetUpMessage(const GetUpMessage *m);
00546
00547 float time_sec() const;
00548 void set_time_sec(const float new_time_sec);
00549 size_t maxlenof_time_sec() const;
00550 virtual Message * clone() const;
00551 };
00552
00553 class StandupMessage : public Message
00554 {
00555 private:
00556 #pragma pack(push,4)
00557
00558 typedef struct {
00559 int64_t timestamp_sec;
00560 int64_t timestamp_usec;
00561 StandupEnum from_pos;
00562 } StandupMessage_data_t;
00563 #pragma pack(pop)
00564
00565 StandupMessage_data_t *data;
00566
00567 public:
00568 StandupMessage(const StandupEnum ini_from_pos);
00569 StandupMessage();
00570 ~StandupMessage();
00571
00572 StandupMessage(const StandupMessage *m);
00573
00574 StandupEnum from_pos() const;
00575 void set_from_pos(const StandupEnum new_from_pos);
00576 size_t maxlenof_from_pos() const;
00577 virtual Message * clone() const;
00578 };
00579
00580 class YawPitchHeadMessage : public Message
00581 {
00582 private:
00583 #pragma pack(push,4)
00584
00585 typedef struct {
00586 int64_t timestamp_sec;
00587 int64_t timestamp_usec;
00588 float yaw;
00589 float pitch;
00590 float time_sec;
00591 } YawPitchHeadMessage_data_t;
00592 #pragma pack(pop)
00593
00594 YawPitchHeadMessage_data_t *data;
00595
00596 public:
00597 YawPitchHeadMessage(const float ini_yaw, const float ini_pitch, const float ini_time_sec);
00598 YawPitchHeadMessage();
00599 ~YawPitchHeadMessage();
00600
00601 YawPitchHeadMessage(const YawPitchHeadMessage *m);
00602
00603 float yaw() const;
00604 void set_yaw(const float new_yaw);
00605 size_t maxlenof_yaw() const;
00606 float pitch() const;
00607 void set_pitch(const float new_pitch);
00608 size_t maxlenof_pitch() const;
00609 float time_sec() const;
00610 void set_time_sec(const float new_time_sec);
00611 size_t maxlenof_time_sec() const;
00612 virtual Message * clone() const;
00613 };
00614
00615 class SetStiffnessParamsMessage : public Message
00616 {
00617 private:
00618 #pragma pack(push,4)
00619
00620 typedef struct {
00621 int64_t timestamp_sec;
00622 int64_t timestamp_usec;
00623 StiffnessMotionPatternEnum motion_pattern;
00624 float head_yaw;
00625 float head_pitch;
00626 float l_shoulder_pitch;
00627 float l_shoulder_roll;
00628 float l_elbow_yaw;
00629 float l_elbow_roll;
00630 float l_hip_yaw_pitch;
00631 float l_hip_roll;
00632 float l_hip_pitch;
00633 float l_knee_pitch;
00634 float l_ankle_pitch;
00635 float l_ankle_roll;
00636 float r_hip_yaw_pitch;
00637 float r_hip_roll;
00638 float r_hip_pitch;
00639 float r_knee_pitch;
00640 float r_ankle_pitch;
00641 float r_ankle_roll;
00642 float r_shoulder_pitch;
00643 float r_shoulder_roll;
00644 float r_elbow_yaw;
00645 float r_elbow_roll;
00646 } SetStiffnessParamsMessage_data_t;
00647 #pragma pack(pop)
00648
00649 SetStiffnessParamsMessage_data_t *data;
00650
00651 public:
00652 SetStiffnessParamsMessage(const StiffnessMotionPatternEnum ini_motion_pattern, const float ini_head_yaw, const float ini_head_pitch, const float ini_l_shoulder_pitch, const float ini_l_shoulder_roll, const float ini_l_elbow_yaw, const float ini_l_elbow_roll, const float ini_l_hip_yaw_pitch, const float ini_l_hip_roll, const float ini_l_hip_pitch, const float ini_l_knee_pitch, const float ini_l_ankle_pitch, const float ini_l_ankle_roll, const float ini_r_hip_yaw_pitch, const float ini_r_hip_roll, const float ini_r_hip_pitch, const float ini_r_knee_pitch, const float ini_r_ankle_pitch, const float ini_r_ankle_roll, const float ini_r_shoulder_pitch, const float ini_r_shoulder_roll, const float ini_r_elbow_yaw, const float ini_r_elbow_roll);
00653 SetStiffnessParamsMessage();
00654 ~SetStiffnessParamsMessage();
00655
00656 SetStiffnessParamsMessage(const SetStiffnessParamsMessage *m);
00657
00658 StiffnessMotionPatternEnum motion_pattern() const;
00659 void set_motion_pattern(const StiffnessMotionPatternEnum new_motion_pattern);
00660 size_t maxlenof_motion_pattern() const;
00661 float head_yaw() const;
00662 void set_head_yaw(const float new_head_yaw);
00663 size_t maxlenof_head_yaw() const;
00664 float head_pitch() const;
00665 void set_head_pitch(const float new_head_pitch);
00666 size_t maxlenof_head_pitch() const;
00667 float l_shoulder_pitch() const;
00668 void set_l_shoulder_pitch(const float new_l_shoulder_pitch);
00669 size_t maxlenof_l_shoulder_pitch() const;
00670 float l_shoulder_roll() const;
00671 void set_l_shoulder_roll(const float new_l_shoulder_roll);
00672 size_t maxlenof_l_shoulder_roll() const;
00673 float l_elbow_yaw() const;
00674 void set_l_elbow_yaw(const float new_l_elbow_yaw);
00675 size_t maxlenof_l_elbow_yaw() const;
00676 float l_elbow_roll() const;
00677 void set_l_elbow_roll(const float new_l_elbow_roll);
00678 size_t maxlenof_l_elbow_roll() const;
00679 float l_hip_yaw_pitch() const;
00680 void set_l_hip_yaw_pitch(const float new_l_hip_yaw_pitch);
00681 size_t maxlenof_l_hip_yaw_pitch() const;
00682 float l_hip_roll() const;
00683 void set_l_hip_roll(const float new_l_hip_roll);
00684 size_t maxlenof_l_hip_roll() const;
00685 float l_hip_pitch() const;
00686 void set_l_hip_pitch(const float new_l_hip_pitch);
00687 size_t maxlenof_l_hip_pitch() const;
00688 float l_knee_pitch() const;
00689 void set_l_knee_pitch(const float new_l_knee_pitch);
00690 size_t maxlenof_l_knee_pitch() const;
00691 float l_ankle_pitch() const;
00692 void set_l_ankle_pitch(const float new_l_ankle_pitch);
00693 size_t maxlenof_l_ankle_pitch() const;
00694 float l_ankle_roll() const;
00695 void set_l_ankle_roll(const float new_l_ankle_roll);
00696 size_t maxlenof_l_ankle_roll() const;
00697 float r_hip_yaw_pitch() const;
00698 void set_r_hip_yaw_pitch(const float new_r_hip_yaw_pitch);
00699 size_t maxlenof_r_hip_yaw_pitch() const;
00700 float r_hip_roll() const;
00701 void set_r_hip_roll(const float new_r_hip_roll);
00702 size_t maxlenof_r_hip_roll() const;
00703 float r_hip_pitch() const;
00704 void set_r_hip_pitch(const float new_r_hip_pitch);
00705 size_t maxlenof_r_hip_pitch() const;
00706 float r_knee_pitch() const;
00707 void set_r_knee_pitch(const float new_r_knee_pitch);
00708 size_t maxlenof_r_knee_pitch() const;
00709 float r_ankle_pitch() const;
00710 void set_r_ankle_pitch(const float new_r_ankle_pitch);
00711 size_t maxlenof_r_ankle_pitch() const;
00712 float r_ankle_roll() const;
00713 void set_r_ankle_roll(const float new_r_ankle_roll);
00714 size_t maxlenof_r_ankle_roll() const;
00715 float r_shoulder_pitch() const;
00716 void set_r_shoulder_pitch(const float new_r_shoulder_pitch);
00717 size_t maxlenof_r_shoulder_pitch() const;
00718 float r_shoulder_roll() const;
00719 void set_r_shoulder_roll(const float new_r_shoulder_roll);
00720 size_t maxlenof_r_shoulder_roll() const;
00721 float r_elbow_yaw() const;
00722 void set_r_elbow_yaw(const float new_r_elbow_yaw);
00723 size_t maxlenof_r_elbow_yaw() const;
00724 float r_elbow_roll() const;
00725 void set_r_elbow_roll(const float new_r_elbow_roll);
00726 size_t maxlenof_r_elbow_roll() const;
00727 virtual Message * clone() const;
00728 };
00729
00730 virtual bool message_valid(const Message *message) const;
00731 private:
00732 HumanoidMotionInterface();
00733 ~HumanoidMotionInterface();
00734
00735 public:
00736
00737 bool is_walking() const;
00738 void set_walking(const bool new_walking);
00739 size_t maxlenof_walking() const;
00740 LegEnum supporting_leg() const;
00741 void set_supporting_leg(const LegEnum new_supporting_leg);
00742 size_t maxlenof_supporting_leg() const;
00743 float max_step_length() const;
00744 void set_max_step_length(const float new_max_step_length);
00745 size_t maxlenof_max_step_length() const;
00746 float max_step_height() const;
00747 void set_max_step_height(const float new_max_step_height);
00748 size_t maxlenof_max_step_height() const;
00749 float max_step_side() const;
00750 void set_max_step_side(const float new_max_step_side);
00751 size_t maxlenof_max_step_side() const;
00752 float max_step_turn() const;
00753 void set_max_step_turn(const float new_max_step_turn);
00754 size_t maxlenof_max_step_turn() const;
00755 float zmp_offset_forward() const;
00756 void set_zmp_offset_forward(const float new_zmp_offset_forward);
00757 size_t maxlenof_zmp_offset_forward() const;
00758 float zmp_offset_sideward() const;
00759 void set_zmp_offset_sideward(const float new_zmp_offset_sideward);
00760 size_t maxlenof_zmp_offset_sideward() const;
00761 float l_hip_roll_compensation() const;
00762 void set_l_hip_roll_compensation(const float new_l_hip_roll_compensation);
00763 size_t maxlenof_l_hip_roll_compensation() const;
00764 float r_hip_roll_compensation() const;
00765 void set_r_hip_roll_compensation(const float new_r_hip_roll_compensation);
00766 size_t maxlenof_r_hip_roll_compensation() const;
00767 float hip_height() const;
00768 void set_hip_height(const float new_hip_height);
00769 size_t maxlenof_hip_height() const;
00770 float torso_sideward_orientation() const;
00771 void set_torso_sideward_orientation(const float new_torso_sideward_orientation);
00772 size_t maxlenof_torso_sideward_orientation() const;
00773 bool is_arms_enabled() const;
00774 void set_arms_enabled(const bool new_arms_enabled);
00775 size_t maxlenof_arms_enabled() const;
00776 float shoulder_pitch_median() const;
00777 void set_shoulder_pitch_median(const float new_shoulder_pitch_median);
00778 size_t maxlenof_shoulder_pitch_median() const;
00779 float shoulder_pitch_amplitude() const;
00780 void set_shoulder_pitch_amplitude(const float new_shoulder_pitch_amplitude);
00781 size_t maxlenof_shoulder_pitch_amplitude() const;
00782 float elbow_roll_median() const;
00783 void set_elbow_roll_median(const float new_elbow_roll_median);
00784 size_t maxlenof_elbow_roll_median() const;
00785 float elbow_roll_amplitude() const;
00786 void set_elbow_roll_amplitude(const float new_elbow_roll_amplitude);
00787 size_t maxlenof_elbow_roll_amplitude() const;
00788 uint32_t msgid() const;
00789 void set_msgid(const uint32_t new_msgid);
00790 size_t maxlenof_msgid() const;
00791 virtual Message * create_message(const char *type) const;
00792
00793 virtual void copy_values(const Interface *other);
00794 virtual const char * enum_tostring(const char *enumtype, int val) const;
00795
00796 };
00797
00798 }
00799
00800 #endif