MRSL JPS3D Library
1.1
An implementaion of Jump Point Search on 3D voxel map
|
Public Member Functions | |
IterativeDMPlanner (bool verbose=false) | |
bool | iterativeComputePath (const Vecf< Dim > &start, const Vecf< Dim > &goal, const vec_Vecf< Dim > &path, int max_iteration) |
Iteratively compute the optimal path. | |
![]() | |
DMPlanner (bool verbose=false) | |
Simple constructor. More... | |
std::vector< bool > | setPath (const vec_Vecf< Dim > &path, const Vecf< Dim > &radius, bool dense) |
set a prior path and get region around it More... | |
void | setSearchRadius (const Vecf< Dim > &r) |
Set search radius around a prior path. | |
void | setPotentialRadius (const Vecf< Dim > &r) |
Set potential radius. | |
void | setPotentialMapRange (const Vecf< Dim > &r) |
Set the range of potential map, 0 means the whole map. | |
void | setEps (double eps) |
Set heuristic weight. | |
void | setCweight (double c) |
Set collision cost weight. | |
void | setPow (int pow) |
Set the power of potential function ![]() | |
int | status () |
Status of the planner. More... | |
vec_Vecf< Dim > | getPath () |
Get the modified path. | |
vec_Vecf< Dim > | getRawPath () |
Get the raw path. | |
vec_Vecf< Dim > | getPriorPath () |
Get the prior path. | |
vec_Vecf< Dim > | getOpenSet () const |
Get the nodes in open set. | |
vec_Vecf< Dim > | getCloseSet () const |
Get the nodes in close set. | |
vec_Vecf< Dim > | getAllSet () const |
Get all the nodes. | |
vec_Vec3f | getCloud (double h_max=1) |
Get the potential cloud. | |
vec_Vecf< Dim > | getSearchRegion () |
Get the searching region. | |
std::shared_ptr< JPS::MapUtil< Dim > > | getMapUtil () |
Get the internal map util. | |
void | setMap (const std::shared_ptr< JPS::MapUtil< Dim >> &map_util, const Vecf< Dim > &pos) |
Generate distance map. More... | |
bool | computePath (const Vecf< Dim > &start, const Vecf< Dim > &goal, const vec_Vecf< Dim > &path) |
Compute the optimal path. | |
Additional Inherited Members | |
![]() | |
vec_E< std::pair< Veci< Dim >, int8_t > > | createMask (int pow) |
Create the mask for potential distance field. More... | |
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. More... | |
vec_Vecf< Dim > | removeLinePts (const vec_Vecf< Dim > &path) |
remove redundant points on the same line | |
vec_Vecf< Dim > | removeCornerPts (const vec_Vecf< Dim > &path) |
Remove some corner waypoints. | |
bool | checkAvailability (const Veci< Dim > &pn) |
check availability | |
![]() | |
std::shared_ptr< JPS::MapUtil< Dim > > | map_util_ |
Assume using 3D voxel map for all 2d and 3d planning. | |
std::shared_ptr< DMP::GraphSearch > | graph_search_ |
The planner back-end. | |
std::vector< bool > | search_region_ |
tunnel for visualization | |
std::vector< int8_t > | cmap_ |
1-D map array | |
bool | planner_verbose_ |
Enabled for printing info. | |
double | path_cost_ |
Path cost (raw) | |
vec_Vecf< Dim > | prior_path_ |
Prior path from planner. | |
vec_Vecf< Dim > | raw_path_ |
Raw path from planner. | |
vec_Vecf< Dim > | path_ |
Modified path for future usage. | |
int | status_ = 0 |
Flag indicating the success of planning. | |
int8_t | H_MAX {100} |
max potential value | |
double | eps_ {0.0} |
heuristic weight | |
double | cweight_ {0.1} |
potential weight | |
Vecf< Dim > | potential_radius_ {Vecf<Dim>::Zero()} |
radius of distance field | |
Vecf< Dim > | search_radius_ {Vecf<Dim>::Zero()} |
radius of searching tunnel | |
Vecf< Dim > | potential_map_range_ {Vecf<Dim>::Zero()} |
xy range of local distance map | |
int | pow_ {1} |
power index for creating mask | |