Nav2 Navigation Stack - humble  humble
ROS 2 Navigation Stack
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
nav2_behaviors::DriveOnHeading< ActionT > Class Template Reference

An action server Behavior for spinning in. More...

#include <nav2_behaviors/include/nav2_behaviors/plugins/drive_on_heading.hpp>

Inheritance diagram for nav2_behaviors::DriveOnHeading< ActionT >:
Inheritance graph
[legend]
Collaboration diagram for nav2_behaviors::DriveOnHeading< ActionT >:
Collaboration graph
[legend]

Public Member Functions

 DriveOnHeading ()
 A constructor for nav2_behaviors::DriveOnHeading.
 
Status onRun (const std::shared_ptr< const typename ActionT::Goal > command) override
 Initialization to run behavior. More...
 
Status onCycleUpdate () override
 Loop function to run behavior. More...
 
void onCleanup () override
 
void onActionCompletion () override
 
- Public Member Functions inherited from nav2_behaviors::TimedBehavior< nav2_msgs::action::DriveOnHeading >
 TimedBehavior ()
 A TimedBehavior constructor.
 
void configure (const rclcpp_lifecycle::LifecycleNode::WeakPtr &parent, const std::string &name, std::shared_ptr< tf2_ros::Buffer > tf, std::shared_ptr< nav2_costmap_2d::CostmapTopicCollisionChecker > collision_checker) override
 
void cleanup () override
 Method to cleanup resources used on shutdown.
 
void activate () override
 Method to active Behavior and any threads involved in execution.
 
void deactivate () override
 Method to deactive Behavior and any threads involved in execution.
 
- Public Member Functions inherited from nav2_core::Behavior
virtual ~Behavior ()
 Virtual destructor.
 

Protected Member Functions

bool isCollisionFree (const double &distance, geometry_msgs::msg::Twist *cmd_vel, geometry_msgs::msg::Pose2D &pose2d)
 Check if pose is collision free. More...
 
void onConfigure () override
 Configuration of behavior action.
 
- Protected Member Functions inherited from nav2_behaviors::TimedBehavior< nav2_msgs::action::DriveOnHeading >
void execute ()
 
void stopRobot ()
 

Protected Attributes

ActionT::Feedback::SharedPtr feedback_
 
geometry_msgs::msg::PoseStamped initial_pose_
 
double command_x_
 
double command_speed_
 
rclcpp::Duration command_time_allowance_ {0, 0}
 
rclcpp::Time end_time_
 
double simulate_ahead_time_
 
double acceleration_limit_
 
double deceleration_limit_
 
double minimum_speed_
 
double last_vel_ = std::numeric_limits<double>::max()
 
- Protected Attributes inherited from nav2_behaviors::TimedBehavior< nav2_msgs::action::DriveOnHeading >
rclcpp_lifecycle::LifecycleNode::WeakPtr node_
 
std::string behavior_name_
 
rclcpp_lifecycle::LifecyclePublisher< geometry_msgs::msg::Twist >::SharedPtr vel_pub_
 
std::shared_ptr< ActionServeraction_server_
 
std::shared_ptr< nav2_costmap_2d::CostmapTopicCollisionCheckercollision_checker_
 
std::shared_ptr< tf2_ros::Buffer > tf_
 
double cycle_frequency_
 
double enabled_
 
std::string global_frame_
 
std::string robot_base_frame_
 
double transform_tolerance_
 
rclcpp::Duration elasped_time_
 
rclcpp::Clock::SharedPtr clock_
 
rclcpp::Logger logger_
 

Additional Inherited Members

- Public Types inherited from nav2_behaviors::TimedBehavior< nav2_msgs::action::DriveOnHeading >
using ActionServer = nav2_util::SimpleActionServer< nav2_msgs::action::DriveOnHeading >
 
- Public Types inherited from nav2_core::Behavior
using Ptr = std::shared_ptr< Behavior >
 

Detailed Description

template<typename ActionT = nav2_msgs::action::DriveOnHeading>
class nav2_behaviors::DriveOnHeading< ActionT >

An action server Behavior for spinning in.

Definition at line 37 of file drive_on_heading.hpp.

Member Function Documentation

◆ isCollisionFree()

template<typename ActionT = nav2_msgs::action::DriveOnHeading>
bool nav2_behaviors::DriveOnHeading< ActionT >::isCollisionFree ( const double &  distance,
geometry_msgs::msg::Twist *  cmd_vel,
geometry_msgs::msg::Pose2D &  pose2d 
)
inlineprotected

Check if pose is collision free.

Parameters
distanceDistance to check forward
cmd_velcurrent commanded velocity
pose2dCurrent pose
Returns
is collision free or not

Definition at line 192 of file drive_on_heading.hpp.

Referenced by nav2_behaviors::DriveOnHeading< ActionT >::onCycleUpdate().

Here is the caller graph for this function:

◆ onCycleUpdate()

template<typename ActionT = nav2_msgs::action::DriveOnHeading>
Status nav2_behaviors::DriveOnHeading< ActionT >::onCycleUpdate ( )
inlineoverridevirtual

Loop function to run behavior.

Returns
Status of behavior

Implements nav2_behaviors::TimedBehavior< nav2_msgs::action::DriveOnHeading >.

Definition at line 95 of file drive_on_heading.hpp.

References nav2_behaviors::DriveOnHeading< ActionT >::isCollisionFree().

Here is the call graph for this function:

◆ onRun()

template<typename ActionT = nav2_msgs::action::DriveOnHeading>
Status nav2_behaviors::DriveOnHeading< ActionT >::onRun ( const std::shared_ptr< const typename ActionT::Goal >  command)
inlineoverridevirtual

Initialization to run behavior.

Parameters
commandGoal to execute
Returns
Status of behavior

Implements nav2_behaviors::TimedBehavior< nav2_msgs::action::DriveOnHeading >.

Definition at line 59 of file drive_on_heading.hpp.


The documentation for this class was generated from the following file: