6 #ifndef MPL_MAP_PLANNER_H 7 #define MPL_MAP_PLANNER_H 16 std::unordered_map<int, std::vector<std::pair<Waypoint<Dim>,
int>>>;
101 mutable linkedHashMap<Dim>
lhm_;
void setGradientWeight(decimal_t w)
Set gradient weight.
Definition: map_planner.cpp:36
std::shared_ptr< MapUtil< Dim > > map_util_
Map util.
Definition: map_planner.h:97
Definition: map_util.h:12
virtual void setMapUtil(const std::shared_ptr< MapUtil< Dim >> &map_util)
Set map util.
Definition: map_planner.cpp:14
void setPotentialMapRange(const Vecf< Dim > &range)
Set potential map size.
Definition: map_planner.cpp:26
vec_Vecf< Dim > getSearchRegion() const
Get search region.
Definition: map_planner.cpp:98
Waypoint base class.
Definition: waypoint.h:23
decimal_t pow_
Power of potential value.
Definition: map_planner.h:113
vec_E< Vecf< Dim > > calculateGradient(const Veci< Dim > &coord1, const Veci< Dim > &coord2)
Calculate local gradient map.
Definition: map_planner.cpp:247
Trajectory class.
Definition: trajectory.h:43
linkedHashMap< Dim > lhm_
Definition: map_planner.h:101
void setSearchRegion(const vec_Vecf< Dim > &path, bool dense=false)
Set search region.
Definition: map_planner.cpp:46
vec_Vec3f getGradientCloud(decimal_t h_max=1.0, int i=0)
Get the gradient cloud, works for 2D.
Definition: map_planner.cpp:225
int8_t H_MAX
Max value for potential.
Definition: map_planner.h:104
Vecf< Dim > search_radius_
Search radius (tunnel size)
Definition: map_planner.h:118
void setPotentialWeight(decimal_t w)
Set potential weight.
Definition: map_planner.cpp:31
std::vector< T, Eigen::aligned_allocator< T > > vec_E
Pre-allocated std::vector for Eigen using vec_E.
Definition: data_type.h:53
vec_E< Vecf< N > > vec_Vecf
Vector of Eigen 1D float vector.
Definition: data_type.h:70
vec_E< std::pair< Veci< Dim >, int8_t > > potential_mask_
Mask for generating potential field around obstacle.
Definition: map_planner.h:111
Vecf< Dim > potential_map_range_
Potential map size, centered at the given pos.
Definition: map_planner.h:109
Eigen::Matrix< int, N, 1 > Veci
Eigen 1D int vector of size N.
Definition: data_type.h:59
double decimal_t
Rename the float type used in lib.
Definition: data_type.h:49
Vecf< Dim > potential_radius_
Radius of potential for each voxel.
Definition: map_planner.h:107
vec_E< Veci< N > > vec_Veci
Vector of Eigen 1D int vector.
Definition: data_type.h:73
bool iterativePlan(const Waypoint< Dim > &start, const Waypoint< Dim > &goal, const Trajectory< Dim > &raw_traj, int max_iter_num=3)
Iterative trajectory planning with APFs.
Definition: map_planner.cpp:394
vec_Vecf< Dim > getLinkedNodes() const
Get linked voxels.
Definition: map_planner.cpp:125
Eigen::Matrix< decimal_t, N, 1 > Vecf
Eigen 1D float vector of size N.
Definition: data_type.h:56
vec_Vec3f getPotentialCloud(decimal_t h_max=1.0)
Get the potential cloud, works for 2D and 3D.
Definition: map_planner.cpp:188
void setSearchRadius(const Vecf< Dim > &radius)
Set search radius (tunnel radius)
Definition: map_planner.cpp:41
void updateClearedNodes(const vec_Veci< Dim > &pns)
Update edge costs according to the new cleared nodes.
Definition: map_planner.cpp:174
void createMask()
Create mask for potential.
Definition: map_planner.cpp:286
vec_E< Vecf< Dim > > gradient_map_
Gradient map.
Definition: map_planner.h:115
void setPotentialRadius(const Vecf< Dim > &radius)
Set potential radius.
Definition: map_planner.cpp:21
vec_E< Vec3f > vec_Vec3f
Vector of type Vec3f.
Definition: data_type.h:93
void updatePotentialMap(const Vecf< Dim > &pos)
Generate potential map.
Definition: map_planner.cpp:323
void updateBlockedNodes(const vec_Veci< Dim > &pns)
Update edge costs according to the new blocked nodes.
Definition: map_planner.cpp:160
base class for motion planning
Definition: map_util.h:20
MapPlanner(bool verbose)
Simple constructor.
Definition: map_planner.cpp:6
Motion planning base util class.
Definition: planner_base.h:19
Motion primitive planner in voxel map.
Definition: map_planner.h:21