Heuristic.h
Go to the documentation of this file.
1 /*
2  * A footstep planner for humanoid robots
3  *
4  * Copyright 2010-2011 Johannes Garimort, Armin Hornung, University of Freiburg
5  * http://www.ros.org/wiki/footstep_planner
6  *
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, version 3.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef FOOTSTEP_PLANNER_HEURISTIC_H_
22 #define FOOTSTEP_PLANNER_HEURISTIC_H_
23 
26 
27 
28 namespace footstep_planner
29 {
34 class Heuristic
35 {
36 public:
38 
39  Heuristic(double cell_size, int num_angle_bins, HeuristicType type);
40  virtual ~Heuristic();
41 
47  virtual double getHValue(const PlanningState& from,
48  const PlanningState& to) const = 0;
49 
51 
52 protected:
53  double ivCellSize;
55 
57 };
58 
59 
65 {
66 public:
67  EuclideanHeuristic(double cell_size, int num_angle_bins);
68  virtual ~EuclideanHeuristic();
69 
70  virtual double getHValue(const PlanningState& from,
71  const PlanningState& to) const;
72 };
73 
74 
83 {
84 
85 public:
86  EuclStepCostHeuristic(double cell_size, int num_angle_bins,
87  double step_cost, double diff_angle_cost,
88  double max_step_width);
89  virtual ~EuclStepCostHeuristic();
90 
91  virtual double getHValue(const PlanningState& from,
92  const PlanningState& to) const;
93 
94 private:
95  const double ivStepCost;
96  const double ivDiffAngleCost;
97 
99  const double ivMaxStepWidth;
100 };
101 }
102 #endif // FOOTSTEP_PLANNER_HEURISTIC_H_
const HeuristicType ivHeuristicType
Definition: Heuristic.h:56
An abstract super class providing methods necessary to be used as heuristic function within the Foots...
Definition: Heuristic.h:34
Determining the heuristic value by the euclidean distance between two states, the expected step costs...
Definition: Heuristic.h:82
Determining the heuristic value by the euclidean distance between two states.
Definition: Heuristic.h:64
virtual double getHValue(const PlanningState &from, const PlanningState &to) const =0
Heuristic(double cell_size, int num_angle_bins, HeuristicType type)
Definition: Heuristic.cpp:25
const double ivMaxStepWidth
longest step width
Definition: Heuristic.h:99
A class representing the robot&#39;s pose (i.e. position and orientation) in the underlying SBPL...
Definition: PlanningState.h:45
HeuristicType getHeuristicType() const
Definition: Heuristic.h:50


footstep_planner
Author(s): Johannes Garimort, Armin Hornung
autogenerated on Mon Jun 10 2019 13:38:24