Robowflex  v0.1
Making MoveIt Easy
robowflex::PlanData Class Reference

Detailed statistics and metrics computed from profiling a planner's motion planning. More...

#include <benchmarking.h>

Public Attributes

Planning Query and Response
PlanningQuery query
 Query evaluated to create this data. More...
 
planning_interface::MotionPlanResponse response
 Planner response. More...
 
bool success
 Was the plan successful? More...
 
TrajectoryPtr trajectory
 The resulting trajectory, if available. More...
 
Timing
double time
 Time that planning took in seconds. More...
 
boost::posix_time::ptime start
 Query start time. More...
 
boost::posix_time::ptime finish
 Query end time. More...
 
Host Metadata
std::string hostname
 Hostname of the machine the plan was run on. More...
 
std::size_t process_id
 Process ID of the process the profiler was run in. More...
 
std::size_t thread_id
 Thread ID of profiler execution. More...
 

Metrics and Progress Properties

std::vector< std::stringproperty_names
 Planner progress value names. More...
 
std::vector< std::map< std::string, std::string > > progress
 Planner progress data. More...
 
std::map< std::string, PlannerMetricmetrics
 Map of metric name to value. More...
 
std::vector< std::pair< double, double > > getProgressPropertiesAsPoints (const std::string &xprop, const std::string &yprop) const
 Retrieves the time series data of a planner progress property for a given X-,Y- pair of progress properties. Will ignore a point if either value is non-finite. More...
 

Detailed Description

Detailed statistics and metrics computed from profiling a planner's motion planning.

Definition at line 78 of file benchmarking.h.

Member Function Documentation

◆ getProgressPropertiesAsPoints()

std::vector< std::pair< double, double > > PlanData::getProgressPropertiesAsPoints ( const std::string xprop,
const std::string yprop 
) const

Retrieves the time series data of a planner progress property for a given X-,Y- pair of progress properties. Will ignore a point if either value is non-finite.

Parameters
[in]xpropThe property for the first coordinate.
[in]ypropThe property for the second coordinate.
Returns
A vector of the points.

PlanData

Definition at line 84 of file benchmarking.cpp.

86 {
88  for (const auto &point : progress)
89  {
90  auto xit = point.find(xprop);
91  if (xit == point.end())
92  break;
93 
94  const auto &xval = xit->second;
95  double xvald = boost::lexical_cast<double>(xval);
96 
97  const auto &yit = point.find(yprop);
98  if (yit == point.end())
99  break;
100 
101  const auto &yval = yit->second;
102  double yvald = boost::lexical_cast<double>(yval);
103 
104  if (std::isfinite(xvald) and std::isfinite(yvald))
105  ret.emplace_back(xvald, yvald);
106  }
107 
108  return ret;
109 }
std::vector< std::map< std::string, std::string > > progress
Planner progress data.
Definition: benchmarking.h:113
T emplace_back(T... args)
T isfinite(T... args)

Member Data Documentation

◆ finish

boost::posix_time::ptime robowflex::PlanData::finish

Query end time.

Definition at line 96 of file benchmarking.h.

◆ hostname

std::string robowflex::PlanData::hostname

Hostname of the machine the plan was run on.

Definition at line 103 of file benchmarking.h.

◆ metrics

std::map<std::string, PlannerMetric> robowflex::PlanData::metrics

Map of metric name to value.

Definition at line 114 of file benchmarking.h.

◆ process_id

std::size_t robowflex::PlanData::process_id

Process ID of the process the profiler was run in.

Definition at line 104 of file benchmarking.h.

◆ progress

std::vector<std::map<std::string, std::string> > robowflex::PlanData::progress

Planner progress data.

Definition at line 113 of file benchmarking.h.

◆ property_names

std::vector<std::string> robowflex::PlanData::property_names

Planner progress value names.

Definition at line 112 of file benchmarking.h.

◆ query

PlanningQuery robowflex::PlanData::query

Query evaluated to create this data.

Definition at line 84 of file benchmarking.h.

◆ response

planning_interface::MotionPlanResponse robowflex::PlanData::response

Planner response.

Definition at line 85 of file benchmarking.h.

◆ start

boost::posix_time::ptime robowflex::PlanData::start

Query start time.

Definition at line 95 of file benchmarking.h.

◆ success

bool robowflex::PlanData::success

Was the plan successful?

Definition at line 86 of file benchmarking.h.

◆ thread_id

std::size_t robowflex::PlanData::thread_id

Thread ID of profiler execution.

Definition at line 105 of file benchmarking.h.

◆ time

double robowflex::PlanData::time

Time that planning took in seconds.

Definition at line 94 of file benchmarking.h.

◆ trajectory

TrajectoryPtr robowflex::PlanData::trajectory

The resulting trajectory, if available.

Definition at line 87 of file benchmarking.h.


The documentation for this class was generated from the following files: