path_cost_heuristic.h
Go to the documentation of this file.
1 //=================================================================================================
2 // Copyright (c) 2018, Alexander Stumpf, TU Darmstadt
3 // Based on http://wiki.ros.org/footstep_planner by Johannes Garimort and Armin Hornung
4 // All rights reserved.
5 
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of the Simulation, Systems Optimization and Robotics
14 // group, TU Darmstadt nor the names of its contributors may be used to
15 // endorse or promote products derived from this software without
16 // specific prior written permission.
17 
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
22 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 //=================================================================================================
29 
30 #ifndef VIGIR_FOOTSTEP_PLANNING_PATH_COST_HEURISTIC_H_
31 #define VIGIR_FOOTSTEP_PLANNING_PATH_COST_HEURISTIC_H_
32 
33 #include <sbpl/headers.h>
34 
35 #include <vigir_footstep_planning_plugins/plugins/heuristic_plugin.h>
36 
38 
39 
40 
42 {
58  : public HeuristicPlugin
59 {
60 public:
62 
64 
65  bool loadParams(const vigir_generic_params::ParameterSet& params = vigir_generic_params::ParameterSet()) override;
66 
71  double getHeuristicValue(const State& from, const State& to, const State& start, const State& goal) const override;
72 
79  bool calculateDistances(const State& from, const State& to);
80 
82 
83 protected:
84  static const int cvObstacleThreshold = 200;
85 
86  unsigned char** ivpGrid;
87 
88  double ivCellSize;
91 
92  double ivStepCost;
96 
97  int ivGoalX;
98  int ivGoalY;
99 
102 
103  void resetGrid();
104 };
105 }
106 
107 #endif
bool loadParams(const vigir_generic_params::ParameterSet &params=vigir_generic_params::ParameterSet()) override
double getHeuristicValue(const State &from, const State &to, const State &start, const State &goal) const override
bool calculateDistances(const State &from, const State &to)
Calculates for each grid cell of the map a 2D path to the cell (to.x, to.y). For forward planning &#39;to...
Determining the heuristic value by calculating a 2D path from each grid cell of the map to the goal a...
void updateMap(vigir_gridmap_2d::GridMap2DPtr map)
boost::shared_ptr< SBPL2DGridSearch > ivGridSearchPtr


vigir_footstep_planning_default_plugins
Author(s): Alexander Stumpf
autogenerated on Sun Nov 17 2019 03:30:01