Bench-MR
A Motion Planning Benchmark for Wheeled Mobile Robots
PlannerConfigurator.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <ompl/geometric/planners/rrt/RRTstar.h>
4
5#include "PlannerSettings.h"
8
9namespace ob = ompl::base;
10namespace og = ompl::geometric;
11
13 public:
15
16 template <typename PLANNER>
17 static void configure(PLANNER &planner) {}
18
19 template <typename OMPL_PLANNER>
20 static void configure(OMPLPlanner<OMPL_PLANNER> &planner) {
21 configure(*planner.omplPlanner(),
23 }
24
25 template <typename OMPL_PLANNER>
27 configure(*planner.omplPlanner(),
29 }
30
31 private:
32 static void configure(ob::Planner &planner, const nlohmann::json &settings) {
33 const auto name = planner.getName();
34 auto params = planner.params();
35 if (settings.find(name) != settings.end()) {
36 for (auto it = settings[name].begin(); it != settings[name].end(); ++it) {
37 if (it.value() != "") {
38 params.setParam(it.key(), it.value());
39 }
40 }
41 } else {
42 std::cout << "Warning: Could not find planner name in settings json: "
43 << name << std::endl;
44 }
45 }
46};
Definition: OMPLControlPlanner.hpp:41
ob::Planner * omplPlanner() override
Definition: OMPLControlPlanner.hpp:144
Definition: OMPLPlanner.hpp:52
ob::Planner * omplPlanner() override
Definition: OMPLPlanner.hpp:119
Definition: PlannerConfigurator.hpp:12
static void configure(PLANNER &planner)
Definition: PlannerConfigurator.hpp:17
static void configure(OMPLControlPlanner< OMPL_PLANNER > &planner)
Definition: PlannerConfigurator.hpp:26
static void configure(OMPLPlanner< OMPL_PLANNER > &planner)
Definition: PlannerConfigurator.hpp:20
PlannerConfigurator()=delete
Planner
Definition: PlannerSettings.h:16
Property< nlohmann::json > control_planner_settings
Planner settings for control planners.
Definition: PlannerSettings.h:469
Property< nlohmann::json > geometric_planner_settings
Planner settings for geometric planners.
Definition: PlannerSettings.h:452
PlannerSettings::GlobalSettings::OmplSettings ompl
static PlannerSettings::GlobalSettings settings
Definition: PlannerSettings.h:699