GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
node_creator_leg_hierarchy.h
[詳解]
1
3
4// Copyright(c) 2023-2025 Design Engineering Laboratory, Saitama University
5// Released under the MIT license
6// https://opensource.org/licenses/mit-license.php
7
8#ifndef DESIGNLAB_NODE_CREATOR_LEG_HIERARCHY_H_
9#define DESIGNLAB_NODE_CREATOR_LEG_HIERARCHY_H_
10
11#include <memory>
12#include <vector>
13
14#include "discrete_leg_pos.h"
15#include "hexapod_next_move.h"
17
18namespace designlab {
19
23 public:
28 HexapodMove next_move,
29 const std::vector<DiscreteLegPos>& discrete_leg_pos_list);
30
32
33 void Create(const RobotStateNode& current_node, int current_node_index,
34 std::vector<RobotStateNode>* output_nodes) const override;
35
36 private:
41 void Create1LegLifted(const RobotStateNode& current_node,
42 int current_node_index,
43 std::vector<RobotStateNode>* output_nodes) const;
44
49 void Create2LegLifted(const RobotStateNode& current_node,
50 int current_node_index,
51 std::vector<RobotStateNode>* output_nodes) const;
52
57 void Create3LegLifted(const RobotStateNode& current_node,
58 int current_node_index,
59 std::vector<RobotStateNode>* output_nodes) const;
60
61 const HexapodMove next_move_;
62
64 const std::vector<DiscreteLegPos> discrete_leg_pos_list_;
65};
66
67} // namespace designlab
68
69#endif // DESIGNLAB_NODE_CREATOR_LEG_HIERARCHY_H_
ノード生成処理のインターフェース.
脚の階層構造を作るためのクラス.
void Create(const RobotStateNode &current_node, int current_node_index, std::vector< RobotStateNode > *output_nodes) const override
現在のノードから次のノード群を生成する.
HexapodMove
ロボットが次にどの動作をするのかを表す列挙体.
グラフ構造のためのノード(頂点).