#include <wave_front_planner.h>
|
| void | computeVectorMap () |
| | Computes the vector field in a post processing. It rotates the predecessor edges by the stored angles. More...
|
| |
| void | reconfigureCallback (wave_front_planner::WaveFrontPlannerConfig &cfg, uint32_t level) |
| | Dynamic reconfigure callback. More...
|
| |
| uint32_t | waveFrontPropagation (const mesh_map::Vector &start, const mesh_map::Vector &goal, const lvr2::DenseEdgeMap< float > &edge_weights, const lvr2::DenseVertexMap< float > &costs, std::list< std::pair< mesh_map::Vector, lvr2::FaceHandle >> &path, lvr2::DenseVertexMap< float > &distances, lvr2::DenseVertexMap< lvr2::VertexHandle > &predecessors) |
| | Computes a wavefront propagation from the start until it reached the goal. More...
|
| |
| uint32_t | waveFrontPropagation (const mesh_map::Vector &start, const mesh_map::Vector &goal, std::list< std::pair< mesh_map::Vector, lvr2::FaceHandle >> &path) |
| | Computes a wavefront propagation from the start until it reached the goal. More...
|
| |
| bool | waveFrontUpdate (lvr2::DenseVertexMap< float > &distances, const lvr2::DenseEdgeMap< float > &edge_weights, const lvr2::VertexHandle &v1, const lvr2::VertexHandle &v2, const lvr2::VertexHandle &v3) |
| |
| bool | waveFrontUpdateWithS (lvr2::DenseVertexMap< float > &distances, const lvr2::DenseEdgeMap< float > &edge_weights, const lvr2::VertexHandle &v1, const lvr2::VertexHandle &v2, const lvr2::VertexHandle &v3) |
| |
| | MeshPlanner () |
| |
| | AbstractPlanner () |
| |
Definition at line 49 of file wave_front_planner.h.
◆ Ptr
◆ WaveFrontPlanner()
| wave_front_planner::WaveFrontPlanner::WaveFrontPlanner |
( |
| ) |
|
◆ ~WaveFrontPlanner()
| wave_front_planner::WaveFrontPlanner::~WaveFrontPlanner |
( |
| ) |
|
|
virtual |
◆ cancel()
| bool wave_front_planner::WaveFrontPlanner::cancel |
( |
| ) |
|
|
virtual |
◆ computeVectorMap()
| void wave_front_planner::WaveFrontPlanner::computeVectorMap |
( |
| ) |
|
|
protected |
Computes the vector field in a post processing. It rotates the predecessor edges by the stored angles.
Definition at line 170 of file wave_front_planner.cpp.
◆ initialize()
Initializes the planner plugin with a user configured name and a shared pointer to the mesh map.
- Parameters
-
| name | The user configured name, which is used as namespace for parameters, etc. |
| mesh_map_ptr | A shared pointer to the mesh map instance to access attributes and helper functions, etc. |
- Returns
- true if the plugin has been initialized successfully
Implements mbf_mesh_core::MeshPlanner.
Definition at line 132 of file wave_front_planner.cpp.
◆ makePlan()
| uint32_t wave_front_planner::WaveFrontPlanner::makePlan |
( |
const geometry_msgs::PoseStamped & |
start, |
|
|
const geometry_msgs::PoseStamped & |
goal, |
|
|
double |
tolerance, |
|
|
std::vector< geometry_msgs::PoseStamped > & |
plan, |
|
|
double & |
cost, |
|
|
std::string & |
message |
|
) |
| |
|
virtual |
Compute a continuous vector field and geodesic path on the mesh's surface.
- Parameters
-
| start | The start pose |
| goal | The goal pose |
| tolerance | The goal tolerance, TODO is currently not used |
| plan | The computed plan |
| cost | The computed cost for the plan |
| message | a detailed outcome message |
- Returns
- result outcome code, see the GetPath action definition
Implements mbf_mesh_core::MeshPlanner.
Definition at line 61 of file wave_front_planner.cpp.
◆ reconfigureCallback()
| void wave_front_planner::WaveFrontPlanner::reconfigureCallback |
( |
wave_front_planner::WaveFrontPlannerConfig & |
cfg, |
|
|
uint32_t |
level |
|
) |
| |
|
protected |
◆ waveFrontPropagation() [1/2]
Computes a wavefront propagation from the start until it reached the goal.
- Parameters
-
| start | The seed of the wave, i.e. the robot's goal pose |
| goal | The goal of the wavefront, where it will stop propagating |
| edge_weights | The edge weights map to use for vertex distances in a triangle |
| costs | The combined vertex costs to use during the propagation |
| path | The backtracked path |
| distances | The computed distances |
| predecessors | The backtracked predecessors |
- Returns
- a ExePath action related outcome code
Definition at line 523 of file wave_front_planner.cpp.
◆ waveFrontPropagation() [2/2]
Computes a wavefront propagation from the start until it reached the goal.
- Parameters
-
| start | The seed of the wave, i.e. the robot's goal pose |
| goal | The goal of the wavefront, where it will stop propagating |
| path | The backtracked path |
- Returns
- a ExePath action related outcome code
Definition at line 207 of file wave_front_planner.cpp.
◆ waveFrontUpdate()
Fast Marching Method update step using the Law of Cosines to determine if the direction vector is cutting the current triangle
- Parameters
-
| distances | Distance map to the goal which stores the current state of all distances to the goal |
| edge_weights | Distances assigned to each edge |
| v1 | The first vertex of the triangle |
| v2 | The second vertex of the triangle |
| v3 | The thrid vertex of the triangle |
- Returns
- true if the newly computed distance is shorter than before and if the current triangle is cut
Definition at line 334 of file wave_front_planner.cpp.
◆ waveFrontUpdateWithS()
Fast Marching Method update step using the Hesse normal form to determine if the direction vector is cutting the current triangle
- Parameters
-
| distances | Distance map to the goal which stores the current state of all distances to the goal |
| edge_weights | Distances assigned to each edge |
| v1 | The first vertex of the triangle |
| v2 | The second vertex of the triangle |
| v3 | The thrid vertex of the triangle |
- Returns
- true if the newly computed distance is shorter than before and if the current triangle is cut
Definition at line 214 of file wave_front_planner.cpp.
◆ cancel_planning
| std::atomic_bool wave_front_planner::WaveFrontPlanner::cancel_planning |
|
private |
◆ config
| WaveFrontPlannerConfig wave_front_planner::WaveFrontPlanner::config |
|
private |
◆ config_callback
| dynamic_reconfigure::Server<wave_front_planner::WaveFrontPlannerConfig>::CallbackType wave_front_planner::WaveFrontPlanner::config_callback |
|
private |
◆ cutting_faces
◆ direction
◆ first_config
| bool wave_front_planner::WaveFrontPlanner::first_config |
|
private |
indicates if dynamic reconfigure has been called the first time
Definition at line 194 of file wave_front_planner.h.
◆ goal_dist_offset
| float wave_front_planner::WaveFrontPlanner::goal_dist_offset |
|
private |
an offset that determines how far beyond the goal (robot's position) is propagated.
Definition at line 185 of file wave_front_planner.h.
◆ map_frame
| std::string wave_front_planner::WaveFrontPlanner::map_frame |
|
private |
◆ mesh_map
◆ name
| std::string wave_front_planner::WaveFrontPlanner::name |
|
private |
◆ path_pub
◆ potential
◆ predecessors
◆ private_nh
the private node handle with the user defined namespace (name)
Definition at line 167 of file wave_front_planner.h.
◆ publish_face_vectors
| bool wave_front_planner::WaveFrontPlanner::publish_face_vectors |
|
private |
whether to also publish direction vectors at the triangle centers
Definition at line 179 of file wave_front_planner.h.
◆ publish_vector_field
| bool wave_front_planner::WaveFrontPlanner::publish_vector_field |
|
private |
◆ reconfigure_server_ptr
| boost::shared_ptr<dynamic_reconfigure::Server<wave_front_planner::WaveFrontPlannerConfig> > wave_front_planner::WaveFrontPlanner::reconfigure_server_ptr |
|
private |
◆ vector_map
stores the current vector map containing vectors pointing to the seed
Definition at line 209 of file wave_front_planner.h.
The documentation for this class was generated from the following files: