26 TEST_CASE(
"CreateTest_WhenOneLegIsSwinging") {
27 using enum DiscreteLegPos;
30 const HexapodMove move = HexapodMove::kComMove;
31 const std::vector<DiscreteLegPos> discrete_leg_pos = {
37 NodeCreatorLegHierarchy node_creator_leg_hierarchy{move, discrete_leg_pos};
40 std::array<bool, HexapodConst::kLegNum> ground_leg = {
false,
true,
true,
43 RobotStateNode robot_state_node;
45 robot_state_node.leg_state =
46 MakeLegStateBit(DiscreteComPos::kCenterFront, ground_leg,
47 {kCenter, kCenter, kCenter, kCenter, kCenter, kCenter});
50 std::vector<RobotStateNode> actual;
52 node_creator_leg_hierarchy.Create(robot_state_node, 0, &actual);
55 CHECK(actual.size() == 3);
LegStateBit MakeLegStateBit(const enums::DiscreteComPos discrete_com_pos, const std::array< bool, HexapodConst::kLegNum > &is_ground, const std::array< DiscreteLegPos, HexapodConst::kLegNum > &discretized_leg_pos)
脚状態を作成して返す関数.脚状態は重心パターン, 脚の接地・遊脚,離散化した脚位置のデータが含まれる.