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