Nav2 Navigation Stack - kilted
kilted
ROS 2 Navigation Stack
|
This class that smooths cmd_vel velocities for robot bases. More...
#include <nav2_velocity_smoother/include/nav2_velocity_smoother/velocity_smoother.hpp>
Public Member Functions | |
VelocitySmoother (const rclcpp::NodeOptions &options=rclcpp::NodeOptions()) | |
A constructor for nav2_velocity_smoother::VelocitySmoother. More... | |
~VelocitySmoother () | |
Destructor for nav2_velocity_smoother::VelocitySmoother. | |
double | findEtaConstraint (const double v_curr, const double v_cmd, const double accel, const double decel) |
Find the scale factor, eta, which scales axis into acceleration range. More... | |
double | applyConstraints (const double v_curr, const double v_cmd, const double accel, const double decel, const double eta) |
Apply acceleration and scale factor constraints. More... | |
![]() | |
LifecycleNode (const std::string &node_name, const std::string &ns="", const rclcpp::NodeOptions &options=rclcpp::NodeOptions()) | |
A lifecycle node constructor. More... | |
void | add_parameter (const std::string &name, const rclcpp::ParameterValue &default_value, const std::string &description="", const std::string &additional_constraints="", bool read_only=false) |
Declare a parameter that has no integer or floating point range constraints. More... | |
void | add_parameter (const std::string &name, const rclcpp::ParameterValue &default_value, const floating_point_range fp_range, const std::string &description="", const std::string &additional_constraints="", bool read_only=false) |
Declare a parameter that has a floating point range constraint. More... | |
void | add_parameter (const std::string &name, const rclcpp::ParameterValue &default_value, const integer_range int_range, const std::string &description="", const std::string &additional_constraints="", bool read_only=false) |
Declare a parameter that has an integer range constraint. More... | |
std::shared_ptr< nav2_util::LifecycleNode > | shared_from_this () |
Get a shared pointer of this. | |
nav2_util::CallbackReturn | on_error (const rclcpp_lifecycle::State &) |
Abstracted on_error state transition callback, since unimplemented as of 2020 in the managed ROS2 node state machine. More... | |
void | autostart () |
Automatically configure and active the node. | |
virtual void | on_rcl_preshutdown () |
Perform preshutdown activities before our Context is shutdown. Note that this is related to our Context's shutdown sequence, not the lifecycle node state machine. | |
void | createBond () |
Create bond connection to lifecycle manager. | |
void | destroyBond () |
Destroy bond connection to lifecycle manager. | |
Protected Member Functions | |
nav2_util::CallbackReturn | on_configure (const rclcpp_lifecycle::State &state) override |
Configures parameters and member variables. More... | |
nav2_util::CallbackReturn | on_activate (const rclcpp_lifecycle::State &state) override |
Activates member variables. More... | |
nav2_util::CallbackReturn | on_deactivate (const rclcpp_lifecycle::State &state) override |
Deactivates member variables. More... | |
nav2_util::CallbackReturn | on_cleanup (const rclcpp_lifecycle::State &state) override |
Calls clean up states and resets member variables. More... | |
nav2_util::CallbackReturn | on_shutdown (const rclcpp_lifecycle::State &state) override |
Called when in Shutdown state. More... | |
void | inputCommandCallback (const geometry_msgs::msg::Twist::SharedPtr msg) |
Callback for incoming velocity commands. More... | |
void | inputCommandStampedCallback (const geometry_msgs::msg::TwistStamped::SharedPtr msg) |
void | smootherTimer () |
Main worker timer function. | |
rcl_interfaces::msg::SetParametersResult | dynamicParametersCallback (std::vector< rclcpp::Parameter > parameters) |
Dynamic reconfigure callback. More... | |
![]() | |
void | printLifecycleNodeNotification () |
Print notifications for lifecycle node. | |
void | register_rcl_preshutdown_callback () |
void | runCleanups () |
Protected Attributes | |
std::unique_ptr< nav2_util::OdomSmoother > | odom_smoother_ |
std::unique_ptr< nav2_util::TwistPublisher > | smoothed_cmd_pub_ |
std::unique_ptr< nav2_util::TwistSubscriber > | cmd_sub_ |
rclcpp::TimerBase::SharedPtr | timer_ |
rclcpp::Clock::SharedPtr | clock_ |
geometry_msgs::msg::TwistStamped | last_cmd_ |
geometry_msgs::msg::TwistStamped::SharedPtr | command_ |
double | smoothing_frequency_ |
double | odom_duration_ |
std::string | odom_topic_ |
bool | open_loop_ |
bool | stopped_ {true} |
bool | scale_velocities_ |
std::vector< double > | max_velocities_ |
std::vector< double > | min_velocities_ |
std::vector< double > | max_accels_ |
std::vector< double > | max_decels_ |
std::vector< double > | deadband_velocities_ |
rclcpp::Duration | velocity_timeout_ {0, 0} |
rclcpp::Time | last_command_time_ |
rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr | dyn_params_handler_ |
![]() | |
std::unique_ptr< rclcpp::PreShutdownCallbackHandle > | rcl_preshutdown_cb_handle_ {nullptr} |
std::shared_ptr< bond::Bond > | bond_ {nullptr} |
double | bond_heartbeat_period |
rclcpp::TimerBase::SharedPtr | autostart_timer_ |
This class that smooths cmd_vel velocities for robot bases.
Definition at line 41 of file velocity_smoother.hpp.
|
explicit |
A constructor for nav2_velocity_smoother::VelocitySmoother.
options | Additional options to control creation of the node. |
Definition at line 32 of file velocity_smoother.cpp.
double nav2_velocity_smoother::VelocitySmoother::applyConstraints | ( | const double | v_curr, |
const double | v_cmd, | ||
const double | accel, | ||
const double | decel, | ||
const double | eta | ||
) |
Apply acceleration and scale factor constraints.
v_curr | current velocity |
v_cmd | commanded velocity |
accel | maximum acceleration |
decel | maximum deceleration |
eta | Scale factor |
Definition at line 282 of file velocity_smoother.cpp.
Referenced by smootherTimer().
|
protected |
Dynamic reconfigure callback.
parameters | Parameter list to change |
Definition at line 394 of file velocity_smoother.cpp.
References nav2_util::LifecycleNode::shared_from_this(), and smootherTimer().
Referenced by on_activate().
double nav2_velocity_smoother::VelocitySmoother::findEtaConstraint | ( | const double | v_curr, |
const double | v_cmd, | ||
const double | accel, | ||
const double | decel | ||
) |
Find the scale factor, eta, which scales axis into acceleration range.
v_curr | current velocity |
v_cmd | commanded velocity |
accel | maximum acceleration |
decel | maximum deceleration |
Definition at line 251 of file velocity_smoother.cpp.
Referenced by smootherTimer().
|
protected |
Callback for incoming velocity commands.
msg | Twist message |
Definition at line 243 of file velocity_smoother.cpp.
Referenced by on_configure().
|
overrideprotected |
Activates member variables.
state | LifeCycle Node's state |
Definition at line 174 of file velocity_smoother.cpp.
References nav2_util::LifecycleNode::createBond(), dynamicParametersCallback(), and smootherTimer().
|
overrideprotected |
Calls clean up states and resets member variables.
state | LifeCycle Node's state |
Definition at line 210 of file velocity_smoother.cpp.
Referenced by on_configure().
|
overrideprotected |
Configures parameters and member variables.
state | LifeCycle Node's state |
Definition at line 47 of file velocity_smoother.cpp.
References inputCommandCallback(), on_cleanup(), and nav2_util::LifecycleNode::shared_from_this().
|
overrideprotected |
Deactivates member variables.
state | LifeCycle Node's state |
Definition at line 192 of file velocity_smoother.cpp.
References nav2_util::LifecycleNode::destroyBond().
|
overrideprotected |
Called when in Shutdown state.
state | LifeCycle Node's state |
Definition at line 220 of file velocity_smoother.cpp.