8#ifndef DESIGNLAB_COM_TYPE_H_
9#define DESIGNLAB_COM_TYPE_H_
12#include <unordered_map>
15#include <boost/bimap.hpp>
16#include <boost/dynamic_bitset.hpp>
28bool operator<(
const std::bitset<N>& lhs,
const std::bitset<N>& rhs)
30 return lhs.to_ulong() < rhs.to_ulong();
76 int leg_ground_pattern_index);
85 boost::dynamic_bitset<>* output);
94 boost::dynamic_bitset<>* output);
重心タイプに関する名前空間.Center of Mass Function の略.
void RemoveLegGroundPatternFromCom(enums::DiscreteComPos discrete_com_pos, boost::dynamic_bitset<> *output)
離散化された重心位置から,その重心位置では取り得ない脚接地パターンを falseにする.
LegGroundedMap::value_type LegGroundedMapValue
脚の接地パターンを表すマップの値の型.
int GetLegGroundPatternNum()
脚の接地パターンの総数を返す.
leg_func::LegGroundedBit GetLegGroundedBitFromLegGroundPatternIndex(const int leg_ground_pattern_index)
脚の接地パターンの番号から,その番号に該当する接地パターンを返す.
void RemoveLegGroundPatternFromNotGroundableLeg(int not_groundable_leg_index, boost::dynamic_bitset<> *output)
接地できない脚番号から, その脚が接地できない場合に取り得ない接地パターンを falseにする.
boost::bimaps::bimap< leg_func::LegGroundedBit, int > LegGroundedMap
脚の接地パターンを表す型.leftがビットのデータ,rightが int型の番号. bimaps::bimap は,左右の型の両方からアクセスできる map. key→value,value→key...
void RemoveLegGroundPatternFromNotFreeLeg(int not_lift_leg_index, boost::dynamic_bitset<> *output)
遊脚できない脚番号から, その脚が遊脚できない場合に取り得ない接地パターンを falseにする.
std::bitset< HexapodConst::kLegNum > LegGroundedBit
脚の遊脚・接地を表す型.6bitのビット型.接地が 1 遊脚が 0.
bool operator<(const std::bitset< N > &lhs, const std::bitset< N > &rhs)