Buran Motion Planning Framework
continuous_path_finder.h
1 #pragma once
2 
3 
4 #include "base/path_finder.h"
5 #include "base/node_grid_path_finder.h"
6 #include "one_direction_sync_path_finder.h"
7 #include "one_direction_ordered_path_finder.h"
8 #include "multirobot_path_finder.h"
9 
26 public:
27 
39  const std::shared_ptr<bmpf::Scene> &scene, bool showTrace,
40  unsigned int maxOpenSetSize, int gridSize, unsigned int maxNodeCnt, int checkCnt,
41  int threadCnt = 1
42  ) : PathFinder(scene, showTrace, threadCnt),
43  _checkCnt(checkCnt), _maxOpenSetSize(maxOpenSetSize), _maxNodeCnt(maxNodeCnt),
44  _gridSize(gridSize) {
45  _ready = true;
46  };
47 
53  void paint(const std::vector<double> &state, bool onlyRobot) override;
54 
60  bool findTick(std::vector<double> &state) override;
61 
67  void prepare(const std::vector<double> &startState, const std::vector<double> &endState) override;
68 
72  void buildPath() override;
73 
85  std::vector<std::vector<double>> checkTask(
86  const std::vector<double> &startState, const std::vector<double> &endState,
87  double opacity
88  );
89 
90 protected:
94  unsigned int _maxNodeCnt;
98  unsigned int _maxOpenSetSize;
110  std::shared_ptr<ContinuousPathFinder> _localPathFinder;
114  std::shared_ptr<MultiRobotPathFinder> _globalPathFinder;
115 };
ContinuousPathFinder::_gridSize
int _gridSize
Definition: continuous_path_finder.h:102
ContinuousPathFinder::ContinuousPathFinder
ContinuousPathFinder(const std::shared_ptr< bmpf::Scene > &scene, bool showTrace, unsigned int maxOpenSetSize, int gridSize, unsigned int maxNodeCnt, int checkCnt, int threadCnt=1)
Definition: continuous_path_finder.h:38
ContinuousPathFinder::prepare
void prepare(const std::vector< double > &startState, const std::vector< double > &endState) override
Definition: continuous_path_finder.cpp:54
bmpf::PathFinder::_ready
bool _ready
Definition: path_finder.h:253
ContinuousPathFinder::_localPathFinder
std::shared_ptr< ContinuousPathFinder > _localPathFinder
Definition: continuous_path_finder.h:110
ContinuousPathFinder::_maxNodeCnt
unsigned int _maxNodeCnt
Definition: continuous_path_finder.h:94
bmpf::PathFinder::PathFinder
PathFinder(const std::shared_ptr< bmpf::Scene > &scene, bool showTrace, int threadCnt=1)
Definition: path_finder.cpp:12
ContinuousPathFinder::paint
void paint(const std::vector< double > &state, bool onlyRobot) override
Definition: continuous_path_finder.cpp:8
ContinuousPathFinder::buildPath
void buildPath() override
Definition: continuous_path_finder.cpp:66
ContinuousPathFinder::checkTask
std::vector< std::vector< double > > checkTask(const std::vector< double > &startState, const std::vector< double > &endState, double opacity)
проверка задания проверка задания, возвращает пустой вектор, если маршрут можно строить штатным образ...
Definition: continuous_path_finder.cpp:34
ContinuousPathFinder
Definition: continuous_path_finder.h:25
bmpf::PathFinder
Базовый класс для всех планировщиков
Definition: path_finder.h:28
ContinuousPathFinder::_checkCnt
int _checkCnt
Definition: continuous_path_finder.h:106
ContinuousPathFinder::_maxOpenSetSize
unsigned int _maxOpenSetSize
Definition: continuous_path_finder.h:98
ContinuousPathFinder::_globalPathFinder
std::shared_ptr< MultiRobotPathFinder > _globalPathFinder
Definition: continuous_path_finder.h:114
ContinuousPathFinder::findTick
bool findTick(std::vector< double > &state) override
Definition: continuous_path_finder.cpp:19