Fawkes API
Fawkes Development Version
|
Container for a line with tracking and smoothing info. More...
#include "line_info.h"
Public Member Functions | |
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, std::string plugin_name) | |
Constructor. More... | |
btScalar | distance (const LineInfo &linfo) const |
Compute this line's distance from line info. More... | |
void | update (LineInfo &new_linfo) |
Update this line. More... | |
Public Attributes | |
LineInfo | raw |
the latest geometry of this line, i.e. unfiltered More... | |
LineInfo | smooth |
moving-average geometry of this line (cf. length of history buffer) More... | |
fawkes::tf::Stamped< fawkes::tf::Point > | base_point_odom |
last reference point (in odom frame) for line tracking More... | |
fawkes::tf::Transformer * | transformer |
Transformer used to transform from input_frame_id_to odom. More... | |
std::string | input_frame_id |
Input frame ID of raw line infos (base_laser usually) More... | |
std::string | tracking_frame_id |
Track lines relative to this frame (e.g. odom helps compensate movement) More... | |
float | cfg_switch_tolerance |
Configured line jitter threshold. More... | |
boost::circular_buffer< LineInfo > | history |
history of raw line geometries for computing moving average More... | |
float | bearing_center |
Bearing towards line center, used to select lines "in front of us" when there. More... | |
fawkes::Logger * | logger |
Logger pointer of the calling class. More... | |
std::string | plugin_name |
Plugin name of the calling class. More... | |
Container for a line with tracking and smoothing info.
Definition at line 58 of file line_info.h.
TrackedLineInfo::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, | ||
std::string | plugin_name | ||
) |
Constructor.
tfer | tf transformer |
input_frame_id | frame id of incoming data |
tracking_frame_id | fixed frame in which to perform tracking |
cfg_switch_tolerance | tolerance in m for when to assume a line ID switch |
cfg_moving_avg_len | length of buffer for moving average |
logger | logger for informational messages |
plugin_name | component for informational messages |
Definition at line 40 of file line_info.cpp.
btScalar TrackedLineInfo::distance | ( | const LineInfo & | linfo | ) | const |
Compute this line's distance from line info.
linfo | line info |
Definition at line 63 of file line_info.cpp.
References LineInfo::base_point, base_point_odom, input_frame_id, tracking_frame_id, fawkes::tf::Transformer::transform_point(), and transformer.
void TrackedLineInfo::update | ( | LineInfo & | linfo | ) |
Update this line.
linfo | new info to consume This also updates moving averages for all fields. |
Definition at line 85 of file line_info.cpp.
References LineInfo::base_point, base_point_odom, LineInfo::bearing, bearing_center, LineInfo::cloud, LineInfo::end_point_1, LineInfo::end_point_2, history, input_frame_id, LineInfo::length, LineInfo::line_direction, fawkes::Logger::log_warn(), logger, plugin_name, LineInfo::point_on_line, raw, smooth, tracking_frame_id, fawkes::tf::Transformer::transform_point(), and transformer.
Referenced by LaserLinesThread::loop().
fawkes::tf::Stamped<fawkes::tf::Point> TrackedLineInfo::base_point_odom |
last reference point (in odom frame) for line tracking
Definition at line 62 of file line_info.h.
Referenced by distance(), and update().
float TrackedLineInfo::bearing_center |
Bearing towards line center, used to select lines "in front of us" when there.
Definition at line 68 of file line_info.h.
Referenced by LaserLinesThread::loop(), and update().
float TrackedLineInfo::cfg_switch_tolerance |
Configured line jitter threshold.
Definition at line 66 of file line_info.h.
boost::circular_buffer<LineInfo> TrackedLineInfo::history |
history of raw line geometries for computing moving average
Definition at line 67 of file line_info.h.
Referenced by update().
std::string TrackedLineInfo::input_frame_id |
Input frame ID of raw line infos (base_laser usually)
Definition at line 64 of file line_info.h.
Referenced by distance(), and update().
fawkes::Logger* TrackedLineInfo::logger |
Logger pointer of the calling class.
Definition at line 69 of file line_info.h.
Referenced by update().
std::string TrackedLineInfo::plugin_name |
Plugin name of the calling class.
Definition at line 70 of file line_info.h.
Referenced by update().
LineInfo TrackedLineInfo::raw |
the latest geometry of this line, i.e. unfiltered
Definition at line 60 of file line_info.h.
Referenced by LaserLinesThread::loop(), and update().
LineInfo TrackedLineInfo::smooth |
moving-average geometry of this line (cf. length of history buffer)
Definition at line 61 of file line_info.h.
Referenced by LaserLinesThread::loop(), and update().
std::string TrackedLineInfo::tracking_frame_id |
Track lines relative to this frame (e.g. odom helps compensate movement)
Definition at line 65 of file line_info.h.
Referenced by distance(), and update().
fawkes::tf::Transformer* TrackedLineInfo::transformer |
Transformer used to transform from input_frame_id_to odom.
Definition at line 63 of file line_info.h.
Referenced by distance(), and update().