19#ifndef EASYNAV_PLANNER__SIMPLEPLANNER_HPP_
20#define EASYNAV_PLANNER__SIMPLEPLANNER_HPP_
24#include "nav_msgs/msg/path.hpp"
26#include "easynav_core/PlannerMethodBase.hpp"
28#include "easynav_common/types/NavState.hpp"
62 void update(NavState & nav_state)
override;
71 rclcpp::Publisher<nav_msgs::msg::Path>::SharedPtr
path_pub_;
84 const geometry_msgs::msg::Pose & start,
85 const geometry_msgs::msg::Pose & goal,
103 double clearance_cells);
Declaration of the SimpleMap type.
Simple 2D uint8_t grid using basic C++ types, with full metric conversion support.
Definition SimpleMap.hpp:38
void update(NavState &nav_state) override
Updates the planner by computing a new path.
Definition SimplePlanner.cpp:102
bool isFreeWithClearance(const SimpleMap &map, int cx, int cy, double clearance_cells)
Checks whether a map cell is free, considering a clearance area.
Definition SimplePlanner.cpp:183
double robot_radius_
Radius of the robot used for collision checking.
Definition SimplePlanner.hpp:65
std::vector< geometry_msgs::msg::Pose > a_star_path(const SimpleMap &map, const geometry_msgs::msg::Pose &start, const geometry_msgs::msg::Pose &goal, double resolution)
Runs the A* algorithm to compute a path.
Definition SimplePlanner.cpp:206
SimplePlanner()
Default constructor.
Definition SimplePlanner.cpp:72
nav_msgs::msg::Path current_path_
The last computed path.
Definition SimplePlanner.hpp:68
rclcpp::Publisher< nav_msgs::msg::Path >::SharedPtr path_pub_
Publisher for the computed navigation path.
Definition SimplePlanner.hpp:71
virtual void on_initialize() override
Initializes the planner.
Definition SimplePlanner.cpp:87
double clearance_distance_
Minimum clearance distance from obstacles in meters.
Definition SimplePlanner.hpp:66
Provides a mapping for often used cost values.
Definition cost_values.hpp:41