Bench-MR
A Motion Planning Benchmark for Wheeled Mobile Robots
SbplPlanner.h
Go to the documentation of this file.
1#pragma once
2
3#include <sbpl/headers.h>
4
6
7namespace ob = ompl::base;
8namespace og = ompl::geometric;
9
10template <sbpl::Planner PlannerT>
12 public:
13 const static bool ForwardSearch = true;
14
16 virtual ~SbplPlanner();
17
18 std::string name() const override {
19 switch (PlannerT) {
21 return "SBPL_ADstar";
23 return "SBPL_ARAstar";
25 return "SBPL_Rstar";
27 return "SBPL_ANAstar";
28 case sbpl::SBPL_MHA:
29 return "SBPL_MHA";
31 return "SBPL_Lazy_ARA";
32 }
33 return "SBPL";
34 }
35
36 ob::PlannerStatus run() override;
37
38 og::PathGeometric solution() const override;
39
40 bool hasReachedGoalExactly() const override;
41 double planningTime() const override;
42
43 private:
44 SBPLPlanner *_sbPlanner{nullptr};
45 EnvironmentNAVXYTHETALAT *_env{nullptr};
46 og::PathGeometric _solution;
47 double _planningTime{0};
48 EmbeddedHeuristic *_heuristic{nullptr};
49};
Definition: AbstractPlanner.h:29
Definition: SbplPlanner.h:11
ob::PlannerStatus run() override
Definition: SbplPlanner.cpp:244
og::PathGeometric solution() const override
Returns the solution of the planner, which is a sparse PathGeometric.
Definition: SbplPlanner.cpp:298
double planningTime() const override
Definition: SbplPlanner.cpp:314
static const bool ForwardSearch
Definition: SbplPlanner.h:13
SbplPlanner()
Definition: SbplPlanner.cpp:16
std::string name() const override
Definition: SbplPlanner.h:18
virtual ~SbplPlanner()
Definition: SbplPlanner.cpp:237
bool hasReachedGoalExactly() const override
Definition: SbplPlanner.cpp:303
@ SBPL_ARASTAR
Definition: PlannerSettings.h:17
@ SBPL_MHA
Definition: PlannerSettings.h:21
@ SBPL_LAZY_ARA
Definition: PlannerSettings.h:22
@ SBPL_RSTAR
Definition: PlannerSettings.h:19
@ SBPL_ANASTAR
Definition: PlannerSettings.h:20
@ SBPL_ADSTAR
Definition: PlannerSettings.h:18