Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
scan_tools::LaserScanMatcher Class Reference

#include <laser_scan_matcher.h>

Public Member Functions

 LaserScanMatcher (ros::NodeHandle nh, ros::NodeHandle nh_private)
 
 ~LaserScanMatcher ()
 

Private Types

typedef pcl::PointCloud< PointTPointCloudT
 
typedef pcl::PointXYZ PointT
 

Private Member Functions

void cloudCallback (const PointCloudT::ConstPtr &cloud)
 
void createCache (const sensor_msgs::LaserScan::ConstPtr &scan_msg)
 
void createTfFromXYTheta (double x, double y, double theta, tf::Transform &t)
 
bool getBaseToLaserTf (const std::string &frame_id)
 
void getPrediction (double &pr_ch_x, double &pr_ch_y, double &pr_ch_a, double dt)
 
void imuCallback (const sensor_msgs::Imu::ConstPtr &imu_msg)
 
void initParams ()
 
void laserScanToLDP (const sensor_msgs::LaserScan::ConstPtr &scan_msg, LDP &ldp)
 
bool newKeyframeNeeded (const tf::Transform &d)
 
void odomCallback (const nav_msgs::Odometry::ConstPtr &odom_msg)
 
void PointCloudToLDP (const PointCloudT::ConstPtr &cloud, LDP &ldp)
 
void processScan (LDP &curr_ldp_scan, const ros::Time &time)
 
void scanCallback (const sensor_msgs::LaserScan::ConstPtr &scan_msg)
 
void velCallback (const geometry_msgs::Twist::ConstPtr &twist_msg)
 
void velStmpCallback (const geometry_msgs::TwistStamped::ConstPtr &twist_msg)
 

Private Attributes

std::vector< double > a_cos_
 
std::vector< double > a_sin_
 
std::string base_frame_
 
tf::Transform base_to_laser_
 
double cloud_range_max_
 
double cloud_range_min_
 
double cloud_res_
 
ros::Subscriber cloud_subscriber_
 
tf::Transform f2b_
 
tf::Transform f2b_kf_
 
std::string fixed_frame_
 
ros::Subscriber imu_subscriber_
 
bool initialized_
 
sm_params input_
 
double kf_dist_angular_
 
double kf_dist_linear_
 
double kf_dist_linear_sq_
 
tf::Transform laser_to_base_
 
ros::Time last_icp_time_
 
sensor_msgs::Imu last_used_imu_msg_
 
nav_msgs::Odometry last_used_odom_msg_
 
sensor_msgs::Imu latest_imu_msg_
 
nav_msgs::Odometry latest_odom_msg_
 
geometry_msgs::Twist latest_vel_msg_
 
boost::mutex mutex_
 
ros::NodeHandle nh_
 
ros::NodeHandle nh_private_
 
ros::Subscriber odom_subscriber_
 
std::vector< double > orientation_covariance_
 
sm_result output_
 
ros::Publisher pose_publisher_
 
ros::Publisher pose_stamped_publisher_
 
ros::Publisher pose_with_covariance_publisher_
 
ros::Publisher pose_with_covariance_stamped_publisher_
 
std::vector< double > position_covariance_
 
LDP prev_ldp_scan_
 
bool publish_pose_
 
bool publish_pose_stamped_
 
bool publish_pose_with_covariance_
 
bool publish_pose_with_covariance_stamped_
 
bool publish_tf_
 
bool received_imu_
 
bool received_odom_
 
bool received_vel_
 
ros::Subscriber scan_subscriber_
 
bool stamped_vel_
 
tf::TransformBroadcaster tf_broadcaster_
 
tf::TransformListener tf_listener_
 
bool use_cloud_input_
 
bool use_imu_
 
bool use_odom_
 
bool use_vel_
 
ros::Subscriber vel_subscriber_
 

Detailed Description

Definition at line 65 of file laser_scan_matcher.h.

Member Typedef Documentation

Definition at line 75 of file laser_scan_matcher.h.

typedef pcl::PointXYZ scan_tools::LaserScanMatcher::PointT
private

Definition at line 74 of file laser_scan_matcher.h.

Constructor & Destructor Documentation

scan_tools::LaserScanMatcher::LaserScanMatcher ( ros::NodeHandle  nh,
ros::NodeHandle  nh_private 
)

Definition at line 45 of file laser_scan_matcher.cpp.

scan_tools::LaserScanMatcher::~LaserScanMatcher ( )

Definition at line 132 of file laser_scan_matcher.cpp.

Member Function Documentation

void scan_tools::LaserScanMatcher::cloudCallback ( const PointCloudT::ConstPtr &  cloud)
private

Definition at line 376 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::createCache ( const sensor_msgs::LaserScan::ConstPtr &  scan_msg)
private

Definition at line 757 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::createTfFromXYTheta ( double  x,
double  y,
double  theta,
tf::Transform t 
)
private

Definition at line 850 of file laser_scan_matcher.cpp.

bool scan_tools::LaserScanMatcher::getBaseToLaserTf ( const std::string &  frame_id)
private

Definition at line 773 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::getPrediction ( double &  pr_ch_x,
double &  pr_ch_y,
double &  pr_ch_a,
double  dt 
)
private

Definition at line 798 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::imuCallback ( const sensor_msgs::Imu::ConstPtr &  imu_msg)
private

Definition at line 338 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::initParams ( )
private

Definition at line 137 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::laserScanToLDP ( const sensor_msgs::LaserScan::ConstPtr &  scan_msg,
LDP ldp 
)
private

Definition at line 715 of file laser_scan_matcher.cpp.

bool scan_tools::LaserScanMatcher::newKeyframeNeeded ( const tf::Transform d)
private

Definition at line 635 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::odomCallback ( const nav_msgs::Odometry::ConstPtr &  odom_msg)
private

Definition at line 349 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::PointCloudToLDP ( const PointCloudT::ConstPtr &  cloud,
LDP ldp 
)
private

Definition at line 646 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::processScan ( LDP curr_ldp_scan,
const ros::Time time 
)
private

Definition at line 426 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::scanCallback ( const sensor_msgs::LaserScan::ConstPtr &  scan_msg)
private

Definition at line 401 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::velCallback ( const geometry_msgs::Twist::ConstPtr &  twist_msg)
private

Definition at line 360 of file laser_scan_matcher.cpp.

void scan_tools::LaserScanMatcher::velStmpCallback ( const geometry_msgs::TwistStamped::ConstPtr &  twist_msg)
private

Definition at line 368 of file laser_scan_matcher.cpp.

Member Data Documentation

std::vector<double> scan_tools::LaserScanMatcher::a_cos_
private

Definition at line 152 of file laser_scan_matcher.h.

std::vector<double> scan_tools::LaserScanMatcher::a_sin_
private

Definition at line 153 of file laser_scan_matcher.h.

std::string scan_tools::LaserScanMatcher::base_frame_
private

Definition at line 101 of file laser_scan_matcher.h.

tf::Transform scan_tools::LaserScanMatcher::base_to_laser_
private

Definition at line 91 of file laser_scan_matcher.h.

double scan_tools::LaserScanMatcher::cloud_range_max_
private

Definition at line 104 of file laser_scan_matcher.h.

double scan_tools::LaserScanMatcher::cloud_range_min_
private

Definition at line 103 of file laser_scan_matcher.h.

double scan_tools::LaserScanMatcher::cloud_res_
private

Definition at line 105 of file laser_scan_matcher.h.

ros::Subscriber scan_tools::LaserScanMatcher::cloud_subscriber_
private

Definition at line 83 of file laser_scan_matcher.h.

tf::Transform scan_tools::LaserScanMatcher::f2b_
private

Definition at line 140 of file laser_scan_matcher.h.

tf::Transform scan_tools::LaserScanMatcher::f2b_kf_
private

Definition at line 141 of file laser_scan_matcher.h.

std::string scan_tools::LaserScanMatcher::fixed_frame_
private

Definition at line 102 of file laser_scan_matcher.h.

ros::Subscriber scan_tools::LaserScanMatcher::imu_subscriber_
private

Definition at line 85 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::initialized_
private

Definition at line 135 of file laser_scan_matcher.h.

sm_params scan_tools::LaserScanMatcher::input_
private

Definition at line 155 of file laser_scan_matcher.h.

double scan_tools::LaserScanMatcher::kf_dist_angular_
private

Definition at line 118 of file laser_scan_matcher.h.

double scan_tools::LaserScanMatcher::kf_dist_linear_
private

Definition at line 116 of file laser_scan_matcher.h.

double scan_tools::LaserScanMatcher::kf_dist_linear_sq_
private

Definition at line 117 of file laser_scan_matcher.h.

tf::Transform scan_tools::LaserScanMatcher::laser_to_base_
private

Definition at line 92 of file laser_scan_matcher.h.

ros::Time scan_tools::LaserScanMatcher::last_icp_time_
private

Definition at line 143 of file laser_scan_matcher.h.

sensor_msgs::Imu scan_tools::LaserScanMatcher::last_used_imu_msg_
private

Definition at line 146 of file laser_scan_matcher.h.

nav_msgs::Odometry scan_tools::LaserScanMatcher::last_used_odom_msg_
private

Definition at line 148 of file laser_scan_matcher.h.

sensor_msgs::Imu scan_tools::LaserScanMatcher::latest_imu_msg_
private

Definition at line 145 of file laser_scan_matcher.h.

nav_msgs::Odometry scan_tools::LaserScanMatcher::latest_odom_msg_
private

Definition at line 147 of file laser_scan_matcher.h.

geometry_msgs::Twist scan_tools::LaserScanMatcher::latest_vel_msg_
private

Definition at line 150 of file laser_scan_matcher.h.

boost::mutex scan_tools::LaserScanMatcher::mutex_
private

Definition at line 133 of file laser_scan_matcher.h.

ros::NodeHandle scan_tools::LaserScanMatcher::nh_
private

Definition at line 79 of file laser_scan_matcher.h.

ros::NodeHandle scan_tools::LaserScanMatcher::nh_private_
private

Definition at line 80 of file laser_scan_matcher.h.

ros::Subscriber scan_tools::LaserScanMatcher::odom_subscriber_
private

Definition at line 84 of file laser_scan_matcher.h.

std::vector<double> scan_tools::LaserScanMatcher::orientation_covariance_
private

Definition at line 112 of file laser_scan_matcher.h.

sm_result scan_tools::LaserScanMatcher::output_
private

Definition at line 156 of file laser_scan_matcher.h.

ros::Publisher scan_tools::LaserScanMatcher::pose_publisher_
private

Definition at line 94 of file laser_scan_matcher.h.

ros::Publisher scan_tools::LaserScanMatcher::pose_stamped_publisher_
private

Definition at line 95 of file laser_scan_matcher.h.

ros::Publisher scan_tools::LaserScanMatcher::pose_with_covariance_publisher_
private

Definition at line 96 of file laser_scan_matcher.h.

ros::Publisher scan_tools::LaserScanMatcher::pose_with_covariance_stamped_publisher_
private

Definition at line 97 of file laser_scan_matcher.h.

std::vector<double> scan_tools::LaserScanMatcher::position_covariance_
private

Definition at line 111 of file laser_scan_matcher.h.

LDP scan_tools::LaserScanMatcher::prev_ldp_scan_
private

Definition at line 157 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::publish_pose_
private

Definition at line 107 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::publish_pose_stamped_
private

Definition at line 109 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::publish_pose_with_covariance_
private

Definition at line 108 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::publish_pose_with_covariance_stamped_
private

Definition at line 110 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::publish_tf_
private

Definition at line 106 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::received_imu_
private

Definition at line 136 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::received_odom_
private

Definition at line 137 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::received_vel_
private

Definition at line 138 of file laser_scan_matcher.h.

ros::Subscriber scan_tools::LaserScanMatcher::scan_subscriber_
private

Definition at line 82 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::stamped_vel_
private

Definition at line 129 of file laser_scan_matcher.h.

tf::TransformBroadcaster scan_tools::LaserScanMatcher::tf_broadcaster_
private

Definition at line 89 of file laser_scan_matcher.h.

tf::TransformListener scan_tools::LaserScanMatcher::tf_listener_
private

Definition at line 88 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::use_cloud_input_
private

Definition at line 114 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::use_imu_
private

Definition at line 126 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::use_odom_
private

Definition at line 127 of file laser_scan_matcher.h.

bool scan_tools::LaserScanMatcher::use_vel_
private

Definition at line 128 of file laser_scan_matcher.h.

ros::Subscriber scan_tools::LaserScanMatcher::vel_subscriber_
private

Definition at line 86 of file laser_scan_matcher.h.


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


laser_scan_matcher
Author(s): Ivan Dryanovski , William Morris, Andrea Censi
autogenerated on Mon Jun 10 2019 15:08:40