8 #include "graph_search.h" 75 std::shared_ptr<JPS::MapUtil<Dim>>
getMapUtil();
int status()
Status of the planner.
Definition: distance_map_planner.cpp:41
std::vector< bool > setPath(const vec_Vecf< Dim > &path, const Vecf< Dim > &radius, bool dense)
set a prior path and get region around it
Definition: distance_map_planner.cpp:171
void setCweight(double c)
Set collision cost weight.
Definition: distance_map_planner.cpp:31
bool computePath(const Vecf< Dim > &start, const Vecf< Dim > &goal, const vec_Vecf< Dim > &path)
Compute the optimal path.
Definition: distance_map_planner.cpp:555
Vecf< Dim > potential_map_range_
xy range of local distance map
Definition: distance_map_planner.h:135
Vecf< Dim > potential_radius_
radius of distance field
Definition: distance_map_planner.h:131
double eps_
heuristic weight
Definition: distance_map_planner.h:127
bool checkAvailability(const Veci< Dim > &pn)
check availability
Definition: distance_map_planner.cpp:292
vec_Vecf< Dim > getAllSet() const
Get all the nodes.
Definition: distance_map_planner.cpp:155
vec_Vecf< Dim > getRawPath()
Get the raw path.
Definition: distance_map_planner.cpp:47
vec_Vecf< Dim > prior_path_
Prior path from planner.
Definition: distance_map_planner.h:117
std::vector< int8_t > cmap_
1-D map array
Definition: distance_map_planner.h:110
vec_Vecf< Dim > getPriorPath()
Get the prior path.
Definition: distance_map_planner.cpp:50
Definition: map_util.h:18
vec_Vecf< Dim > raw_path_
Raw path from planner.
Definition: distance_map_planner.h:119
vec_Vecf< Dim > removeLinePts(const vec_Vecf< Dim > &path)
remove redundant points on the same line
Definition: distance_map_planner.cpp:100
Definition: distance_map_planner.h:148
vec_Vecf< Dim > getOpenSet() const
Get the nodes in open set.
Definition: distance_map_planner.cpp:123
IterativeDMPlanner< 2 > IterativeDMPlanner2D
Iterative Planner for 2D OccMap.
Definition: distance_map_planner.h:158
void setSearchRadius(const Vecf< Dim > &r)
Set search radius around a prior path.
Definition: distance_map_planner.cpp:11
IterativeDMPlanner< 3 > IterativeDMPlanner3D
Iterative Planner for 3D VoxelMap.
Definition: distance_map_planner.h:161
DMPlanner< 2 > DMPlanner2D
Planner for 2D OccMap.
Definition: distance_map_planner.h:142
DMPlanner< 3 > DMPlanner3D
Planner for 3D VoxelMap.
Definition: distance_map_planner.h:145
vec_Vec3f getCloud(double h_max=1)
Get the potential cloud.
Definition: distance_map_planner.cpp:316
void setPow(int pow)
Set the power of potential function .
Definition: distance_map_planner.cpp:36
void setPotentialRadius(const Vecf< Dim > &r)
Set potential radius.
Definition: distance_map_planner.cpp:16
int pow_
power index for creating mask
Definition: distance_map_planner.h:137
std::vector< T, Eigen::aligned_allocator< T > > vec_E
Pre-allocated std::vector for Eigen using vec_E.
Definition: data_type.h:52
int status_
Flag indicating the success of planning.
Definition: distance_map_planner.h:123
Vecf< Dim > search_radius_
radius of searching tunnel
Definition: distance_map_planner.h:133
vec_E< Vecf< N > > vec_Vecf
Vector of Eigen 1D float vector.
Definition: data_type.h:69
vec_E< std::pair< Veci< Dim >, int8_t > > createMask(int pow)
Create the mask for potential distance field.
Definition: distance_map_planner.cpp:355
double path_cost_
Path cost (raw)
Definition: distance_map_planner.h:115
void setMap(const std::shared_ptr< JPS::MapUtil< Dim >> &map_util, const Vecf< Dim > &pos)
Generate distance map.
Definition: distance_map_planner.cpp:395
Eigen::Matrix< int, N, 1 > Veci
Eigen 1D int vector of size N.
Definition: data_type.h:58
Abstract base for planning.
Definition: distance_map_planner.h:16
double cweight_
potential weight
Definition: distance_map_planner.h:129
double decimal_t
Rename the float type used in lib.
Definition: data_type.h:48
bool plan(const Vecf< Dim > &start, const Vecf< Dim > &goal, decimal_t eps=1, decimal_t cweight=0.1)
Need to be specified in Child class, main planning function.
Definition: distance_map_planner.cpp:467
std::shared_ptr< DMP::GraphSearch > graph_search_
The planner back-end.
Definition: distance_map_planner.h:106
void setPotentialMapRange(const Vecf< Dim > &r)
Set the range of potential map, 0 means the whole map.
Definition: distance_map_planner.cpp:21
vec_Vecf< Dim > path_
Modified path for future usage.
Definition: distance_map_planner.h:121
int8_t H_MAX
max potential value
Definition: distance_map_planner.h:125
Defines all data types used in this lib.
vec_Vecf< Dim > removeCornerPts(const vec_Vecf< Dim > &path)
Remove some corner waypoints.
Definition: distance_map_planner.cpp:53
vec_Vecf< Dim > getPath()
Get the modified path.
Definition: distance_map_planner.cpp:44
Eigen::Matrix< decimal_t, N, 1 > Vecf
Eigen 1D float vector of size N.
Definition: data_type.h:55
bool planner_verbose_
Enabled for printing info.
Definition: distance_map_planner.h:113
vec_Vecf< Dim > getCloseSet() const
Get the nodes in close set.
Definition: distance_map_planner.cpp:139
vec_Vecf< Dim > getSearchRegion()
Get the searching region.
Definition: distance_map_planner.cpp:254
vec_E< Vec3f > vec_Vec3f
Vector of type Vec3f.
Definition: data_type.h:92
DMPlanner(bool verbose=false)
Simple constructor.
Definition: distance_map_planner.cpp:4
std::shared_ptr< JPS::MapUtil< Dim > > map_util_
Assume using 3D voxel map for all 2d and 3d planning.
Definition: distance_map_planner.h:104
std::shared_ptr< JPS::MapUtil< Dim > > getMapUtil()
Get the internal map util.
Definition: distance_map_planner.cpp:287
void setEps(double eps)
Set heuristic weight.
Definition: distance_map_planner.cpp:26
std::vector< bool > search_region_
tunnel for visualization
Definition: distance_map_planner.h:108