selfdriving
|
#include <mpp/algos/TPS_Astar.h>
Classes | |
struct | Node |
struct | NodeCoords |
struct | NodeCoordsHash |
struct | NodePtr |
struct | path_to_neighbor_t |
Public Member Functions | |
TPS_Astar () | |
virtual | ~TPS_Astar ()=default |
PlannerOutput | plan (const PlannerInput &in) override |
mrpt::containers::yaml | params_as_yaml () override |
void | params_from_yaml (const mrpt::containers::yaml &c) override |
cost_t | default_heuristic (const SE2_KinState &from, const SE2orR2_KinState &goal) const |
cost_t | default_heuristic_SE2 (const SE2_KinState &from, const mrpt::math::TPose2D &goal) const |
cost_t | default_heuristic_R2 (const SE2_KinState &from, const mrpt::math::TPoint2D &goal) const |
Public Member Functions inherited from mpp::Planner | |
Planner ()=default | |
~Planner () | |
mrpt::system::CTimeLogger & | profiler_ () |
void | attachExternalProfiler_ (mrpt::system::CTimeLogger &p) |
cost_t | cost_path_segment (const MoveEdgeSE2_TPS &edge) const |
Public Attributes | |
TPS_Astar_Parameters | params_ |
astar_heuristic_t | heuristic |
Public Attributes inherited from mpp::Planner | |
std::vector< CostEvaluator::Ptr > | costEvaluators_ |
planner_progress_callback_t | progressCallback_ |
duration_seconds_t | progressCallbackCallPeriod_ = 0.1 |
Private Types | |
using | nodes_with_desired_speed_t = std::unordered_map< NodeCoords, normalized_speed_t, NodeCoordsHash > |
using | absolute_cell_index_t = size_t |
using | list_paths_to_neighbors_t = std::vector< path_to_neighbor_t > |
Private Member Functions | |
absolute_cell_index_t | nodeCoordsToAbsIndex (const NodeCoords &n) const |
Node & | getOrCreateNodeByPose (const mpp::SE2_KinState &p, mrpt::graphs::TNodeID &nextFreeId) |
NodeCoords | nodeGridCoords (const mrpt::math::TPose2D &p) const |
throws on out of grid limits. More... | |
NodeCoords | nodeGridCoords (const mrpt::math::TPoint2D &p) const |
list_paths_to_neighbors_t | find_feasible_paths_to_neighbors (const Node &from, const TrajectoriesAndRobotShape &trs, const SE2orR2_KinState &goalState, const std::vector< mrpt::maps::CPointsMap::Ptr > &globalObstacles, double MAX_XY_OBSTACLES_CLIPPING_DIST, const nodes_with_desired_speed_t &nodesWithSpeed) |
mrpt::maps::CPointsMap::Ptr | cached_local_obstacles (const mrpt::math::TPose2D &queryPose, const std::vector< mrpt::maps::CPointsMap::Ptr > &globalObstacles, double MAX_PTG_XY_DIST) |
Private Attributes | |
mrpt::poses::CPose2DGridTemplate< Node > | grid_ |
Uses a SE(2) lattice to run an A* algorithm to find a kinematicaly feasible path from "A" to "B" using a set of trajectories in the form of PTGs.
|
private |
|
private |
|
private |
mpp::TPS_Astar::TPS_Astar | ( | ) |
|
virtualdefault |
|
private |
cost_t mpp::TPS_Astar::default_heuristic | ( | const SE2_KinState & | from, |
const SE2orR2_KinState & | goal | ||
) | const |
cost_t mpp::TPS_Astar::default_heuristic_R2 | ( | const SE2_KinState & | from, |
const mrpt::math::TPoint2D & | goal | ||
) | const |
cost_t mpp::TPS_Astar::default_heuristic_SE2 | ( | const SE2_KinState & | from, |
const mrpt::math::TPose2D & | goal | ||
) | const |
|
private |
This generates a list of many potential neighbor cells to visit, subject to kinematic and dynamic limitations, and obstacle checking.
|
inlineprivate |
throws on out of grid limits. Returns a ref to the node.
|
inlineprivate |
|
inlineprivate |
throws on out of grid limits.
|
inlineprivate |
|
inlineoverridevirtual |
Implements mpp::Planner.
|
inlineoverridevirtual |
Implements mpp::Planner.
|
overridevirtual |
Implements mpp::Planner.
|
private |
astar_heuristic_t mpp::TPS_Astar::heuristic |
TPS_Astar_Parameters mpp::TPS_Astar::params_ |