GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
interface_graph_searcher.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_INTERFACE_GRAPH_SEARCHER_H_
9#define DESIGNLAB_INTERFACE_GRAPH_SEARCHER_H_
10
11#include <memory>
12#include <tuple>
13#include <vector>
14
15#include "divided_map_state.h"
19#include "robot_operation.h"
20
21
22namespace designlab
23{
24
28{
29public:
30 IGraphSearcher() = default;
31
34 virtual ~IGraphSearcher() = default;
35
42 virtual std::tuple<GraphSearchResult, GraphSearchEvaluationValue, RobotStateNode> SearchGraphTree(
43 const GaitPatternGraphTree& graph,
44 const RobotOperation& operation,
45 const DividedMapState& divided_map_state,
46 int max_depth) const = 0;
47
48 virtual std::tuple<GraphSearchResult, GraphSearchEvaluationValue, RobotStateNode> SearchGraphTreeVector(
49 const std::vector<GaitPatternGraphTree>& graph_vector,
50 const RobotOperation& operation,
51 const DividedMapState& divided_map_state,
52 int max_depth) const = 0;
53};
54
55} // namespace designlab
56
57
58#endif // DESIGNLAB_INTERFACE_GRAPH_SEARCHER_H_
マップを格子状に分割して管理するクラス.
RobotStateNode 構造体をノードとする木構造のグラフのクラス.
グラフ探索の処理のインターフェース.
virtual std::tuple< GraphSearchResult, GraphSearchEvaluationValue, RobotStateNode > SearchGraphTreeVector(const std::vector< GaitPatternGraphTree > &graph_vector, const RobotOperation &operation, const DividedMapState &divided_map_state, int max_depth) const =0
virtual std::tuple< GraphSearchResult, GraphSearchEvaluationValue, RobotStateNode > SearchGraphTree(const GaitPatternGraphTree &graph, const RobotOperation &operation, const DividedMapState &divided_map_state, int max_depth) const =0
グラフを受け取り,その中から最適な次の動作を出力する.
virtual ~IGraphSearcher()=default
探索において目標となる座標や角度,評価する値についてまとめた構造体.