Classes | Public Member Functions | Private Attributes | List of all members
ReactiveNav2DNode Class Reference

Classes

struct  MyReactiveInterface
 
struct  TAuxInitializer
 

Public Member Functions

void navigateTo (const mrpt::math::TPose2D &target)
 Issue a navigation command. More...
 
void onDoNavigation (const ros::TimerEvent &)
 
void onOdometryReceived (const nav_msgs::Odometry &msg)
 
void onRosGoalReceived (const geometry_msgs::PoseStampedConstPtr &trg_ptr)
 
void onRosLocalObstacles (const sensor_msgs::PointCloud2::ConstPtr &obs)
 
void onRosSetRobotShape (const geometry_msgs::Polygon::ConstPtr &newShape)
 
void onWaypointSeqReceived (const mrpt_msgs::WaypointSequence &wps)
 
 ReactiveNav2DNode (int argc, char **argv)
 
void updateWaypointSequence (const mrpt_msgs::WaypointSequence &msg)
 

Private Attributes

bool m_1st_time_init = false
 Reactive initialization done? More...
 
TAuxInitializer m_auxinit
 Just to make sure ROS is init first. More...
 
std::string m_frameid_reference = "map"
 
std::string m_frameid_robot = "base_link"
 
CSimplePointsMap m_last_obstacles
 
std::mutex m_last_obstacles_cs
 
ros::NodeHandle m_localn {"~"}
 "~" More...
 
double m_nav_period = 0.1
 [s] More...
 
ros::NodeHandle m_nh {}
 The node handle. More...
 
mrpt::obs::CObservationOdometry m_odometry
 
std::mutex m_odometry_cs
 
std::string m_plugin_file
 
CTimeLogger m_profiler
 
std::string m_pub_topic_cmd_vel = "cmd_vel"
 
MyReactiveInterface m_reactive_if
 
CReactiveNavigationSystem m_reactive_nav_engine
 
std::mutex m_reactive_nav_engine_cs
 
bool m_save_nav_log = false
 
std::string m_sub_topic_local_obstacles = "local_map_pointcloud"
 
std::string m_sub_topic_odometry = "odom"
 
std::string m_sub_topic_reactive_nav_goal = "reactive_nav_goal"
 
std::string m_sub_topic_robot_shape {}
 
std::string m_sub_topic_wp_seq = "reactive_nav_waypoints"
 
double m_target_allowed_distance = 0.40f
 for single-target commands More...
 
ros::Timer m_timer_run_nav
 
ROS pubs/subs
ros::Subscriber m_sub_odometry
 
ros::Subscriber m_sub_wp_seq
 
ros::Subscriber m_sub_nav_goal
 
ros::Subscriber m_sub_local_obs
 
ros::Subscriber m_sub_robot_shape
 
ros::Publisher m_pub_cmd_vel
 
tf2_ros::Buffer m_tf_buffer
 
tf2_ros::TransformListener m_tf_listener {m_tf_buffer}
 

Detailed Description

Definition at line 69 of file mrpt_reactivenav2d_node.cpp.

Constructor & Destructor Documentation

◆ ReactiveNav2DNode()

ReactiveNav2DNode::ReactiveNav2DNode ( int  argc,
char **  argv 
)
inline

Constructor: Inits ROS system

Definition at line 269 of file mrpt_reactivenav2d_node.cpp.

Member Function Documentation

◆ navigateTo()

void ReactiveNav2DNode::navigateTo ( const mrpt::math::TPose2D &  target)
inline

Issue a navigation command.

Parameters
targetThe target location

Definition at line 434 of file mrpt_reactivenav2d_node.cpp.

◆ onDoNavigation()

void ReactiveNav2DNode::onDoNavigation ( const ros::TimerEvent )
inline

Callback: On run navigation

Definition at line 465 of file mrpt_reactivenav2d_node.cpp.

◆ onOdometryReceived()

void ReactiveNav2DNode::onOdometryReceived ( const nav_msgs::Odometry &  msg)
inline

Definition at line 488 of file mrpt_reactivenav2d_node.cpp.

◆ onRosGoalReceived()

void ReactiveNav2DNode::onRosGoalReceived ( const geometry_msgs::PoseStampedConstPtr &  trg_ptr)
inline

Definition at line 541 of file mrpt_reactivenav2d_node.cpp.

◆ onRosLocalObstacles()

void ReactiveNav2DNode::onRosLocalObstacles ( const sensor_msgs::PointCloud2::ConstPtr &  obs)
inline

Definition at line 575 of file mrpt_reactivenav2d_node.cpp.

◆ onRosSetRobotShape()

void ReactiveNav2DNode::onRosSetRobotShape ( const geometry_msgs::Polygon::ConstPtr &  newShape)
inline

Definition at line 583 of file mrpt_reactivenav2d_node.cpp.

◆ onWaypointSeqReceived()

void ReactiveNav2DNode::onWaypointSeqReceived ( const mrpt_msgs::WaypointSequence &  wps)
inline

Definition at line 536 of file mrpt_reactivenav2d_node.cpp.

◆ updateWaypointSequence()

void ReactiveNav2DNode::updateWaypointSequence ( const mrpt_msgs::WaypointSequence &  msg)
inline

Definition at line 508 of file mrpt_reactivenav2d_node.cpp.

Member Data Documentation

◆ m_1st_time_init

bool ReactiveNav2DNode::m_1st_time_init = false
private

Reactive initialization done?

Definition at line 98 of file mrpt_reactivenav2d_node.cpp.

◆ m_auxinit

TAuxInitializer ReactiveNav2DNode::m_auxinit
private

Just to make sure ROS is init first.

Definition at line 81 of file mrpt_reactivenav2d_node.cpp.

◆ m_frameid_reference

std::string ReactiveNav2DNode::m_frameid_reference = "map"
private

Definition at line 110 of file mrpt_reactivenav2d_node.cpp.

◆ m_frameid_robot

std::string ReactiveNav2DNode::m_frameid_robot = "base_link"
private

Definition at line 111 of file mrpt_reactivenav2d_node.cpp.

◆ m_last_obstacles

CSimplePointsMap ReactiveNav2DNode::m_last_obstacles
private

Definition at line 120 of file mrpt_reactivenav2d_node.cpp.

◆ m_last_obstacles_cs

std::mutex ReactiveNav2DNode::m_last_obstacles_cs
private

Definition at line 121 of file mrpt_reactivenav2d_node.cpp.

◆ m_localn

ros::NodeHandle ReactiveNav2DNode::m_localn {"~"}
private

"~"

Definition at line 83 of file mrpt_reactivenav2d_node.cpp.

◆ m_nav_period

double ReactiveNav2DNode::m_nav_period = 0.1
private

[s]

Definition at line 100 of file mrpt_reactivenav2d_node.cpp.

◆ m_nh

ros::NodeHandle ReactiveNav2DNode::m_nh {}
private

The node handle.

Definition at line 82 of file mrpt_reactivenav2d_node.cpp.

◆ m_odometry

mrpt::obs::CObservationOdometry ReactiveNav2DNode::m_odometry
private

Definition at line 119 of file mrpt_reactivenav2d_node.cpp.

◆ m_odometry_cs

std::mutex ReactiveNav2DNode::m_odometry_cs
private

Definition at line 122 of file mrpt_reactivenav2d_node.cpp.

◆ m_plugin_file

std::string ReactiveNav2DNode::m_plugin_file
private

Definition at line 113 of file mrpt_reactivenav2d_node.cpp.

◆ m_profiler

CTimeLogger ReactiveNav2DNode::m_profiler
private

Definition at line 80 of file mrpt_reactivenav2d_node.cpp.

◆ m_pub_cmd_vel

ros::Publisher ReactiveNav2DNode::m_pub_cmd_vel
private

Definition at line 92 of file mrpt_reactivenav2d_node.cpp.

◆ m_pub_topic_cmd_vel

std::string ReactiveNav2DNode::m_pub_topic_cmd_vel = "cmd_vel"
private

Definition at line 106 of file mrpt_reactivenav2d_node.cpp.

◆ m_reactive_if

MyReactiveInterface ReactiveNav2DNode::m_reactive_if
private

Definition at line 262 of file mrpt_reactivenav2d_node.cpp.

◆ m_reactive_nav_engine

CReactiveNavigationSystem ReactiveNav2DNode::m_reactive_nav_engine
private

Definition at line 264 of file mrpt_reactivenav2d_node.cpp.

◆ m_reactive_nav_engine_cs

std::mutex ReactiveNav2DNode::m_reactive_nav_engine_cs
private

Definition at line 265 of file mrpt_reactivenav2d_node.cpp.

◆ m_save_nav_log

bool ReactiveNav2DNode::m_save_nav_log = false
private

Definition at line 115 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_local_obs

ros::Subscriber ReactiveNav2DNode::m_sub_local_obs
private

Definition at line 90 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_nav_goal

ros::Subscriber ReactiveNav2DNode::m_sub_nav_goal
private

Definition at line 89 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_odometry

ros::Subscriber ReactiveNav2DNode::m_sub_odometry
private

Definition at line 87 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_robot_shape

ros::Subscriber ReactiveNav2DNode::m_sub_robot_shape
private

Definition at line 91 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_topic_local_obstacles

std::string ReactiveNav2DNode::m_sub_topic_local_obstacles = "local_map_pointcloud"
private

Definition at line 103 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_topic_odometry

std::string ReactiveNav2DNode::m_sub_topic_odometry = "odom"
private

Definition at line 108 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_topic_reactive_nav_goal

std::string ReactiveNav2DNode::m_sub_topic_reactive_nav_goal = "reactive_nav_goal"
private

Definition at line 102 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_topic_robot_shape

std::string ReactiveNav2DNode::m_sub_topic_robot_shape {}
private

Definition at line 104 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_topic_wp_seq

std::string ReactiveNav2DNode::m_sub_topic_wp_seq = "reactive_nav_waypoints"
private

Definition at line 107 of file mrpt_reactivenav2d_node.cpp.

◆ m_sub_wp_seq

ros::Subscriber ReactiveNav2DNode::m_sub_wp_seq
private

Definition at line 88 of file mrpt_reactivenav2d_node.cpp.

◆ m_target_allowed_distance

double ReactiveNav2DNode::m_target_allowed_distance = 0.40f
private

for single-target commands

Definition at line 99 of file mrpt_reactivenav2d_node.cpp.

◆ m_tf_buffer

tf2_ros::Buffer ReactiveNav2DNode::m_tf_buffer
private

Definition at line 94 of file mrpt_reactivenav2d_node.cpp.

◆ m_tf_listener

tf2_ros::TransformListener ReactiveNav2DNode::m_tf_listener {m_tf_buffer}
private

Definition at line 95 of file mrpt_reactivenav2d_node.cpp.

◆ m_timer_run_nav

ros::Timer ReactiveNav2DNode::m_timer_run_nav
private

Definition at line 117 of file mrpt_reactivenav2d_node.cpp.


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


mrpt_reactivenav2d
Author(s): Jose-Luis Blanco-Claraco
autogenerated on Tue Sep 17 2024 02:10:24