15 #ifndef NAV2_REGULATED_PURE_PURSUIT_CONTROLLER__COLLISION_CHECKER_HPP_
16 #define NAV2_REGULATED_PURE_PURSUIT_CONTROLLER__COLLISION_CHECKER_HPP_
24 #include "nav2_ros_common/lifecycle_node.hpp"
25 #include "nav2_costmap_2d/costmap_2d_ros.hpp"
26 #include "nav2_costmap_2d/footprint_collision_checker.hpp"
27 #include "nav2_util/odometry_utils.hpp"
28 #include "geometry_msgs/msg/pose.hpp"
29 #include "nav2_regulated_pure_pursuit_controller/parameter_handler.hpp"
31 #include "nav2_core/controller_exceptions.hpp"
32 #include "nav2_ros_common/node_utils.hpp"
33 #include "nav2_util/geometry_utils.hpp"
34 #include "nav2_costmap_2d/costmap_filters/filter_values.hpp"
36 namespace nav2_regulated_pure_pursuit_controller
50 nav2::LifecycleNode::SharedPtr node,
51 std::shared_ptr<nav2_costmap_2d::Costmap2DROS> costmap_ros,
Parameters * params);
68 const geometry_msgs::msg::PoseStamped &,
69 const double &,
const double &,
82 const double & theta);
90 double costAtPose(
const double & x,
const double & y);
93 rclcpp::Logger logger_ {rclcpp::get_logger(
"RPPCollisionChecker")};
94 std::shared_ptr<nav2_costmap_2d::Costmap2DROS> costmap_ros_;
96 std::unique_ptr<nav2_costmap_2d::FootprintCollisionChecker<nav2_costmap_2d::Costmap2D *>>
97 footprint_collision_checker_;
99 nav2::Publisher<nav_msgs::msg::Path>::SharedPtr carrot_arc_pub_;
100 rclcpp::Clock::SharedPtr clock_;
A 2D costmap provides a mapping between points in the world and their associated "costs".
Checks for collision based on a RPP control command.
bool inCollision(const double &x, const double &y, const double &theta)
checks for collision at projected pose
CollisionChecker(nav2::LifecycleNode::SharedPtr node, std::shared_ptr< nav2_costmap_2d::Costmap2DROS > costmap_ros, Parameters *params)
Constructor for nav2_regulated_pure_pursuit_controller::CollisionChecker.
bool isCollisionImminent(const geometry_msgs::msg::PoseStamped &, const double &, const double &, const double &)
Whether collision is imminent.
double costAtPose(const double &x, const double &y)
Cost at a point.
~CollisionChecker()=default
Destrructor for nav2_regulated_pure_pursuit_controller::CollisionChecker.