22 #ifndef __PLUGINS_LASER_LINES_LINE_INFO_H_ 23 #define __PLUGINS_LASER_LINES_LINE_INFO_H_ 25 #include <Eigen/Geometry> 26 #include <pcl/point_cloud.h> 27 #include <pcl/point_types.h> 28 #include <boost/circular_buffer.hpp> 31 #include <tf/transformer.h> 32 #include <logging/logger.h> 40 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
74 const std::string &input_frame_id,
75 const std::string &tracking_frame_id,
76 float cfg_switch_tolerance,
77 unsigned int cfg_moving_avg_len,
79 std::string plugin_name);
81 btScalar distance(
const LineInfo &linfo)
const;
Line information container.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW float bearing
bearing to point on line
std::string input_frame_id
Input frame ID of raw line infos (base_laser usually)
Eigen::Vector3f end_point_1
line segment end point
std::string tracking_frame_id
Track lines relative to this frame (e.g. odom helps compensate movement)
Eigen::Vector3f end_point_2
line segment end point
fawkes::tf::Transformer * transformer
Transformer used to transform from input_frame_id_to odom.
Eigen::Vector3f base_point
optimized closest point on line
LineInfo smooth
moving-average geometry of this line (cf. length of history buffer)
fawkes::Logger * logger
Logger pointer of the calling class.
std::string plugin_name
Plugin name of the calling class.
Eigen::Vector3f line_direction
line direction vector
float length
length of the detecte line segment
Eigen::Vector3f point_on_line
point on line vector
boost::circular_buffer< LineInfo > history
history of raw line geometries for computing moving average
fawkes::tf::Stamped< fawkes::tf::Point > base_point_odom
last reference point (in odom frame) for line tracking
float cfg_switch_tolerance
Configured line jitter threshold.
Container for a line with tracking and smoothing info.
LineInfo raw
the latest geometry of this line, i.e. unfiltered
float bearing_center
Bearing towards line center, used to select lines "in front of us" when there.
pcl::PointCloud< pcl::PointXYZ >::Ptr cloud
point cloud consisting only of points account to this line