include
dwb_local_planner
illegal_trajectory_tracker.h
Go to the documentation of this file.
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2017, Locus Robotics
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of the copyright holder nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*/
34
35
#ifndef DWB_LOCAL_PLANNER_ILLEGAL_TRAJECTORY_TRACKER_H
36
#define DWB_LOCAL_PLANNER_ILLEGAL_TRAJECTORY_TRACKER_H
37
38
#include <
nav_core2/exceptions.h
>
39
#include <map>
40
#include <utility>
41
#include <string>
42
43
namespace
dwb_local_planner
44
{
45
class
IllegalTrajectoryTracker
46
{
47
public
:
48
IllegalTrajectoryTracker
() :
legal_count_
(0),
illegal_count_
(0) {}
49
50
void
addIllegalTrajectory
(
const
nav_core2::IllegalTrajectoryException
& e);
51
void
addLegalTrajectory
();
52
53
std::map< std::pair<std::string, std::string>,
double
>
getPercentages
()
const
;
54
55
std::string
getMessage
()
const
;
56
protected
:
57
std::map< std::pair<std::string, std::string>,
unsigned
int
>
counts_
;
58
unsigned
int
legal_count_
,
illegal_count_
;
59
};
60
65
class
NoLegalTrajectoriesException
:
public
nav_core2::NoLegalTrajectoriesException
66
{
67
public
:
68
explicit
NoLegalTrajectoriesException
(
const
IllegalTrajectoryTracker
& tracker)
69
:
nav_core2
::
NoLegalTrajectoriesException
(tracker.getMessage()),
tracker_
(tracker) {}
70
IllegalTrajectoryTracker
tracker_
;
71
};
72
73
}
// namespace dwb_local_planner
74
75
#endif // DWB_LOCAL_PLANNER_ILLEGAL_TRAJECTORY_TRACKER_H
dwb_local_planner::IllegalTrajectoryTracker::IllegalTrajectoryTracker
IllegalTrajectoryTracker()
Definition:
illegal_trajectory_tracker.h:48
dwb_local_planner::IllegalTrajectoryTracker::addIllegalTrajectory
void addIllegalTrajectory(const nav_core2::IllegalTrajectoryException &e)
Definition:
illegal_trajectory_tracker.cpp:43
dwb_local_planner::IllegalTrajectoryTracker
Definition:
illegal_trajectory_tracker.h:45
nav_core2::IllegalTrajectoryException
nav_core2::NoLegalTrajectoriesException
dwb_local_planner::IllegalTrajectoryTracker::getMessage
std::string getMessage() const
Definition:
illegal_trajectory_tracker.cpp:65
dwb_local_planner
Definition:
backwards_compatibility.h:40
dwb_local_planner::IllegalTrajectoryTracker::getPercentages
std::map< std::pair< std::string, std::string >, double > getPercentages() const
Definition:
illegal_trajectory_tracker.cpp:54
dwb_local_planner::NoLegalTrajectoriesException::NoLegalTrajectoriesException
NoLegalTrajectoriesException(const IllegalTrajectoryTracker &tracker)
Definition:
illegal_trajectory_tracker.h:68
exceptions.h
nav_core2
dwb_local_planner::IllegalTrajectoryTracker::counts_
std::map< std::pair< std::string, std::string >, unsigned int > counts_
Definition:
illegal_trajectory_tracker.h:57
dwb_local_planner::NoLegalTrajectoriesException
Thrown when all the trajectories explored are illegal.
Definition:
illegal_trajectory_tracker.h:65
dwb_local_planner::NoLegalTrajectoriesException::tracker_
IllegalTrajectoryTracker tracker_
Definition:
illegal_trajectory_tracker.h:70
dwb_local_planner::IllegalTrajectoryTracker::illegal_count_
unsigned int illegal_count_
Definition:
illegal_trajectory_tracker.h:58
dwb_local_planner::IllegalTrajectoryTracker::addLegalTrajectory
void addLegalTrajectory()
Definition:
illegal_trajectory_tracker.cpp:49
dwb_local_planner::IllegalTrajectoryTracker::legal_count_
unsigned int legal_count_
Definition:
illegal_trajectory_tracker.h:58
dwb_local_planner
Author(s): David V. Lu!!
autogenerated on Sun May 18 2025 02:47:25