|
MRSL JPS3D Library
1.1
An implementaion of Jump Point Search on 3D voxel map
|
Abstract base for planning. More...
#include <distance_map_planner.h>
Public Member Functions | |
| 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. | |
Protected Member Functions | |
| 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 | |
Protected Attributes | |
| 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 | |
Abstract base for planning.
Simple constructor.
| verbose | enable debug mode |
|
protected |
Create the mask for potential distance field.
Mask for generating potential field around obstacle
|
protected |
Need to be specified in Child class, main planning function.
check if the map exists
check availability of start
check availability of goal
| void DMPlanner< Dim >::setMap | ( | const std::shared_ptr< JPS::MapUtil< Dim >> & | map_util, |
| const Vecf< Dim > & | pos | ||
| ) |
Generate distance map.
| map_util | MapUtil that contains the map object |
| pos | center of the distance map |
it copies the map object, thus change the original map_uitl won't affect the internal map.
| std::vector< bool > DMPlanner< Dim >::setPath | ( | const vec_Vecf< Dim > & | path, |
| const Vecf< Dim > & | radius, | ||
| bool | dense | ||
| ) |
set a prior path and get region around it
| path | prior path |
| r | radius in x-y plane |
| h | height in z axis, if 2d, it's not used |
| dense | if true, dont need to do rayTrace |
it returns the inflated region
| int DMPlanner< Dim >::status | ( | ) |
Status of the planner.
0 — exit normally; -1 — no path found; 1, 2 — start or goal is not free.
1.8.13