GaitGeneration by Graph Search
|
名前空間 | |
namespace | designlab |
namespace | designlab::leg_func |
このプログラムでは脚状態をビット(28bit)の情報で表す. そのデータを処理するための関数. | |
関数 | |
LegStateBit | designlab::leg_func::MakeLegStateBit (enums::DiscreteComPos discrete_com_pos, const std::array< bool, HexapodConst::kLegNum > &is_ground, const std::array< enums::DiscreteLegPos, HexapodConst::kLegNum > &leg_pos) |
脚状態を作成して返す関数.脚状態は重心パターン, 脚の接地・遊脚,離散化した脚位置のデータが含まれる. | |
bool | designlab::leg_func::IsGrounded (const LegStateBit &leg_state_bit, int leg_index) |
脚番号 leg_index 0 ~ 5 に応じて,その脚が接地しているかを調べる. 脚は右前脚を0番として,時計回りに0,1,2,3,4,5となる.左前足が5番. | |
LegGroundedBit | designlab::leg_func::GetLegGroundedBit (const LegStateBit &leg_state) |
脚が接地しているなら1,遊脚を0としたビット列で遊脚・接地脚の状態を返す. 例えば 0 番脚のみが遊脚しているなら 0b111 110 を返す. | |
int | designlab::leg_func::GetGroundedLegNum (const LegStateBit &leg_state) |
接地している脚の本数を返す関数. | |
int | designlab::leg_func::GetLiftedLegNum (const LegStateBit &leg_state) |
遊脚している脚の本数を返す関数. | |
void | designlab::leg_func::GetGroundedLegIndexByVector (const LegStateBit &leg_state, std::vector< int > *res_index) |
接地している脚の脚番号0~5を,引数で参照渡しする関数. | |
void | designlab::leg_func::GetLiftedLegIndexByVector (const LegStateBit &leg_state, std::vector< int > *res_index) |
遊脚している脚の脚番号0~5を,引数_res_numberで参照渡しする関数. | |
enums::DiscreteLegPos | designlab::leg_func::GetDiscreteLegPos (const LegStateBit &leg_state, int leg_index) |
脚状態を取得する. | |
enums::DiscreteComPos | designlab::leg_func::GetDiscreteComPos (const LegStateBit &leg_state) |
現在の脚状態から重心パターンを取得する. | |
void | designlab::leg_func::ChangeLegState (int leg_index, enums::DiscreteLegPos new_discretized_leg_pos, bool is_ground, LegStateBit *leg_state) |
脚の情報を変更する. | |
void | designlab::leg_func::ChangeDiscreteLegPos (int leg_index, enums::DiscreteLegPos new_discretized_leg_pos, LegStateBit *leg_state) |
脚の状態を変更する.遊脚を表すビットはそのまま. | |
void | designlab::leg_func::ChangeGround (int leg_index, bool is_ground, LegStateBit *leg_state) |
脚の接地・遊脚情報を変更する. | |
void | designlab::leg_func::ChangeAllLegGround (const LegGroundedBit &is_ground_list, LegStateBit *leg_state) |
全ての脚の接地・遊脚情報を変更する. | |
void | designlab::leg_func::ChangeDiscreteComPos (enums::DiscreteComPos new_com_pattern, LegStateBit *leg_state) |
重心のデータを変更する. | |