35 #ifndef DWB_PLUGINS__KINEMATIC_PARAMETERS_HPP_
36 #define DWB_PLUGINS__KINEMATIC_PARAMETERS_HPP_
42 #include "rclcpp/rclcpp.hpp"
43 #include "nav2_util/lifecycle_node.hpp"
56 inline double getMinX() {
return min_vel_x_;}
57 inline double getMaxX() {
return max_vel_x_;}
58 inline double getAccX() {
return acc_lim_x_;}
59 inline double getDecelX() {
return decel_lim_x_;}
61 inline double getMinY() {
return min_vel_y_;}
62 inline double getMaxY() {
return max_vel_y_;}
63 inline double getAccY() {
return acc_lim_y_;}
64 inline double getDecelY() {
return decel_lim_y_;}
66 inline double getMinSpeedXY() {
return min_speed_xy_;}
67 inline double getMaxSpeedXY() {
return max_speed_xy_;}
69 inline double getMinTheta() {
return -max_vel_theta_;}
70 inline double getMaxTheta() {
return max_vel_theta_;}
71 inline double getAccTheta() {
return acc_lim_theta_;}
72 inline double getDecelTheta() {
return decel_lim_theta_;}
73 inline double getMinSpeedTheta() {
return min_speed_theta_;}
75 inline double getMinSpeedXY_SQ() {
return min_speed_xy_sq_;}
76 inline double getMaxSpeedXY_SQ() {
return max_speed_xy_sq_;}
84 double base_max_vel_x_{0};
85 double base_max_vel_y_{0};
86 double max_vel_theta_{0};
87 double base_max_vel_theta_{0};
88 double min_speed_xy_{0};
89 double max_speed_xy_{0};
90 double base_max_speed_xy_{0};
91 double min_speed_theta_{0};
94 double acc_lim_theta_{0};
95 double decel_lim_x_{0};
96 double decel_lim_y_{0};
97 double decel_lim_theta_{0};
100 double min_speed_xy_sq_{0};
101 double max_speed_xy_sq_{0};
113 void initialize(
const nav2_util::LifecycleNode::SharedPtr & nh,
const std::string & plugin_name);
117 void setSpeedLimit(
const double & speed_limit,
const bool & percentage);
119 using Ptr = std::shared_ptr<KinematicsHandler>;
122 std::atomic<KinematicParameters *> kinematics_;
125 rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr dyn_params_handler_;
130 rcl_interfaces::msg::SetParametersResult
133 std::string plugin_name_;
A class managing the representation of the robot's kinematics.
rcl_interfaces::msg::SetParametersResult dynamicParametersCallback(std::vector< rclcpp::Parameter > parameters)
Callback executed when a paramter change is detected.
A struct containing one representation of the robot's kinematics.