Go to the documentation of this file.
42 #include <sensor_msgs/LaserScan.h>
62 int concurrency_level =
private_nh_.
param(
"concurrency_level", concurrency_level);
65 if (concurrency_level == 1)
75 if (concurrency_level > 0)
108 NODELET_INFO(
"Got a subscriber to cloud, starting laserscan subscriber");
118 NODELET_INFO(
"No subscibers to cloud, shutting down subscriber to laserscan");
128 <<
" at time " << scan_msg->header.stamp
129 <<
", reason: " << reason);
134 sensor_msgs::PointCloud2Ptr scan_cloud;
135 scan_cloud.reset(
new sensor_msgs::PointCloud2);
boost::shared_ptr< MessageFilter > message_filter_
The PointCloudToLaserScanNodelet class to process incoming laserscans into pointclouds.
#define NODELET_WARN_STREAM_THROTTLE(rate,...)
boost::shared_ptr< tf2_ros::Buffer > tf2_
ros::NodeHandle & getNodeHandle() const
laser_geometry::LaserProjection projector_
std::string target_frame_
ros::NodeHandle & getPrivateNodeHandle() const
void publish(const boost::shared_ptr< M > &message) const
Publisher advertise(AdvertiseOptions &ops)
uint32_t getNumPublishers() const
void projectLaser(const sensor_msgs::LaserScan &scan_in, sensor_msgs::PointCloud &cloud_out, double range_cutoff=-1.0, int channel_options=channel_option::Default)
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)
#define NODELET_ERROR_STREAM(...)
void scanCallback(const sensor_msgs::LaserScanConstPtr &scan_msg)
message_filters::Subscriber< sensor_msgs::LaserScan > sub_
Connection registerCallback(const boost::function< void(P)> &callback)
#define NODELET_INFO(...)
boost::mutex connect_mutex_
ros::NodeHandle private_nh_
boost::shared_ptr< tf2_ros::TransformListener > tf2_listener_
unsigned int input_queue_size_
T param(const std::string ¶m_name, const T &default_val) const
uint32_t getNumSubscribers() const
const ros::Subscriber & getSubscriber() const
void failureCallback(const sensor_msgs::LaserScanConstPtr &scan_msg, tf2_ros::filter_failure_reasons::FilterFailureReason reason)
tf2_ros::MessageFilter< sensor_msgs::LaserScan > MessageFilter
LaserScanToPointCloudNodelet()
ros::NodeHandle & getMTNodeHandle() const
double transform_tolerance_