Bench-MR
A Motion Planning Benchmark for Wheeled Mobile Robots
ClearingMetric.h
Go to the documentation of this file.
1#pragma once
2
4#include "TrajectoryMetric.h"
5
6class ClearingMetric : public TMetric<ClearingMetric> {
7 public:
8 static std::vector<double> clearingDistances(
9 const ompl::geometric::PathGeometric &trajectory) {
10 std::vector<double> clearings;
11 const auto path = Point::fromPath(trajectory);
12
13 for (auto &p : path)
14 clearings.push_back(
15 global::settings.environment->bilinearDistance(p.x, p.y));
16
17 return clearings;
18 }
19
20 static std::vector<double> clearingDistances(
21 const ompl::control::PathControl &trajectory) {
22 std::vector<double> clearings;
23 const auto path = Point::fromPath(trajectory);
24
25 for (auto &p : path)
26 clearings.push_back(
27 global::settings.environment->bilinearDistance(p.x, p.y));
28
29 return clearings;
30 }
31
32 static double evaluateMetric(const ompl::geometric::PathGeometric &trajectory,
33 double, bool visualize = false) {
34 return stat::mean(clearingDistances(trajectory));
35 }
36};
Definition: ClearingMetric.h:6
static std::vector< double > clearingDistances(const ompl::geometric::PathGeometric &trajectory)
Definition: ClearingMetric.h:8
static double evaluateMetric(const ompl::geometric::PathGeometric &trajectory, double, bool visualize=false)
Definition: ClearingMetric.h:32
static std::vector< double > clearingDistances(const ompl::control::PathControl &trajectory)
Definition: ClearingMetric.h:20
Definition: TrajectoryMetric.h:10
double mean(const std::vector< double > &values)
Definition: PathStatistics.hpp:67
static std::vector< Point > fromPath(const ompl::geometric::PathGeometric &p, bool interpolate=false)
Definition: Primitives.cpp:25
static PlannerSettings::GlobalSettings settings
Definition: PlannerSettings.h:699