35 #include "dwb_core/illegal_trajectory_tracker.hpp"
43 void IllegalTrajectoryTracker::addIllegalTrajectory(
46 counts_[std::make_pair(e.getCriticName(), e.what())]++;
50 void IllegalTrajectoryTracker::addLegalTrajectory()
55 std::map<std::pair<std::string, std::string>,
56 double> IllegalTrajectoryTracker::getPercentages()
const
58 std::map<std::pair<std::string, std::string>,
double> percents;
59 double denominator =
static_cast<double>(legal_count_ + illegal_count_);
60 for (
auto const & x : counts_) {
61 percents[x.first] =
static_cast<double>(x.second) / denominator;
66 std::string IllegalTrajectoryTracker::getMessage()
const
68 std::ostringstream msg;
69 if (legal_count_ == 0) {
70 msg <<
"No valid trajectories out of " << illegal_count_ <<
"! ";
72 unsigned int total = legal_count_ + illegal_count_;
73 msg << legal_count_ <<
" valid trajectories found (";
74 msg << static_cast<double>(100 * legal_count_) /
static_cast<double>(total);
75 msg <<
"% of " << total <<
"). ";
Thrown when one of the critics encountered a fatal error.