Main MRPT website
>
C++ reference
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
mrpt
slam
CPathPlanningMethod.h
Go to the documentation of this file.
1
/* +---------------------------------------------------------------------------+
2
| The Mobile Robot Programming Toolkit (MRPT) C++ library |
3
| |
4
| http://www.mrpt.org/ |
5
| |
6
| Copyright (C) 2005-2012 University of Malaga |
7
| |
8
| This software was written by the Machine Perception and Intelligent |
9
| Robotics Lab, University of Malaga (Spain). |
10
| Contact: Jose-Luis Blanco <jlblanco@ctima.uma.es> |
11
| |
12
| This file is part of the MRPT project. |
13
| |
14
| MRPT is free software: you can redistribute it and/or modify |
15
| it under the terms of the GNU General Public License as published by |
16
| the Free Software Foundation, either version 3 of the License, or |
17
| (at your option) any later version. |
18
| |
19
| MRPT is distributed in the hope that it will be useful, |
20
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
21
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
22
| GNU General Public License for more details. |
23
| |
24
| You should have received a copy of the GNU General Public License |
25
| along with MRPT. If not, see <http://www.gnu.org/licenses/>. |
26
| |
27
+---------------------------------------------------------------------------+ */
28
#ifndef CPathPlanningMethod_H
29
#define CPathPlanningMethod_H
30
31
#include <
mrpt/utils/CDebugOutputCapable.h
>
32
#include <
mrpt/slam/COccupancyGridMap2D.h
>
33
#include <
mrpt/poses/CPoint2D.h
>
34
35
#include <
mrpt/slam/link_pragmas.h
>
36
37
namespace
mrpt
38
{
39
namespace
slam
40
{
41
/** A virtual base class for computing the optimal path for a robot
42
* from a origin location to a target point. See derived classes for
43
* implementations.
44
*
45
* \sa CDebugOutputCapable \ingroup mrpt_slam_grp
46
*/
47
class
SLAM_IMPEXP
CPathPlanningMethod
:
public
mrpt::utils::CDebugOutputCapable
48
{
49
public
:
50
/** Default constructor
51
*/
52
CPathPlanningMethod
();
53
54
/** Destructor
55
*/
56
virtual
~
CPathPlanningMethod
()
57
{
58
}
59
60
/** The maximum occupancy probability to consider a cell as an obstacle, default=0.5
61
*/
62
float
occupancyThreshold
;
63
64
/** The minimum distance between points in the returned found path (default=0.4); Notice
65
* that full grid resolution is used in path finding, this is only a way to reduce the
66
* amount of redundant information to be returned.
67
*/
68
float
minStepInReturnedPath
;
69
70
/** This method compute the optimal path for a circular robot, in the given
71
* occupancy grid map, from the origin location to a target point.
72
* The options and additional parameters to this method can be set with
73
* member configuration variables.
74
*
75
* \param map [IN] The occupancy gridmap used to the planning.
76
* \param origin [IN] The starting pose of the robot, in coordinates of "map".
77
* \param target [IN] The desired target pose for the robot, in coordinates of "map".
78
* \param path [OUT] The found path, in global coordinates relative to "map".
79
* \param notFound [OUT] Will be true if no path has been found.
80
* \param maxSearchPathLength [IN] The maximum path length to search for, in meters (-1 = no limit)
81
*
82
* \exception std::exception On any error
83
*/
84
virtual
void
computePath(
85
const
COccupancyGridMap2D
&theMap,
86
const
CPose2D
&origin,
87
const
CPose2D
&target,
88
std::deque<math::TPoint2D> &path,
89
bool
¬Found,
90
float
maxSearchPathLength = -1
91
)
const
= 0;
92
93
};
94
95
}
// End of namespace
96
}
// End of namespace
97
98
#endif
Page generated by
Doxygen 1.8.3
for MRPT 0.9.6 SVN: at Fri Feb 15 22:05:02 EST 2013