Fawkes API
Fawkes Development Version
|
22 #ifndef _PLUGINS_LASER_LINES_LINE_INFO_H_
23 #define _PLUGINS_LASER_LINES_LINE_INFO_H_
25 #include <logging/logger.h>
26 #include <pcl/point_cloud.h>
27 #include <pcl/point_types.h>
28 #include <tf/transformer.h>
31 #include <Eigen/Geometry>
32 #include <boost/circular_buffer.hpp>
42 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
74 boost::circular_buffer<LineInfo>
85 unsigned int cfg_moving_avg_len,
Eigen::Vector3f line_direction
line direction vector
void update(LineInfo &new_linfo)
Update this line.
float cfg_switch_tolerance
Configured line jitter threshold.
fawkes::tf::Stamped< fawkes::tf::Point > base_point_odom
last reference point (in odom frame) for line tracking
Eigen::Vector3f base_point
optimized closest point on line
std::string tracking_frame_id
Track lines relative to this frame (e.g. odom helps compensate movement)
int visibility_history
visibility history of this line, negative for "no sighting"
TrackedLineInfo(fawkes::tf::Transformer *tfer, const std::string &input_frame_id, const std::string &tracking_frame_id, float cfg_switch_tolerance, unsigned int cfg_moving_avg_len, fawkes::Logger *logger, const std::string &plugin_name)
Constructor.
LineInfo smooth
moving-average geometry of this line (cf. length of history buffer)
pcl::PointCloud< pcl::PointXYZ >::Ptr cloud
point cloud consisting only of points account to this line
Eigen::Vector3f end_point_1
line segment end point
boost::circular_buffer< LineInfo > history
history of raw line geometries for computing moving average
std::string plugin_name
Plugin name of the calling class.
Line information container.
fawkes::Logger * logger
Logger pointer of the calling class.
std::string input_frame_id
Input frame ID of raw line infos (base_laser usually)
void not_visible_update()
Update this currently not visible line, make the visibility history (more) negative and invalidate th...
Eigen::Vector3f point_on_line
point on line vector
btScalar distance(const LineInfo &linfo) const
Compute this line's distance from line info.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW float bearing
bearing to point on line
int interface_idx
id of the interface, this line is written to, -1 when not yet assigned
fawkes::tf::Transformer * transformer
Transformer used to transform from input_frame_id_to odom.
float length
length of the detecte line segment
Eigen::Vector3f end_point_2
line segment end point
float bearing_center
Bearing towards line center, used to select lines "in front of us" when there.
LineInfo raw
the latest geometry of this line, i.e. unfiltered