39 #ifndef MEASUREMENT_BUFFER_H_ 40 #define MEASUREMENT_BUFFER_H_ 46 #include <pcl/filters/voxel_grid.h> 48 #include <pcl/filters/passthrough.h> 60 #include <sensor_msgs/PointCloud2.h> 61 #include <geometry_msgs/Quaternion.h> 62 #include <geometry_msgs/PoseStamped.h> 63 #include <geometry_msgs/TransformStamped.h> 65 #include <boost/thread.hpp> 71 typedef std::list<observation::MeasurementReading>::iterator
readings_iter;
79 const double& observation_keep_time, \
80 const double& expected_update_rate, \
81 const double& min_obstacle_height, \
82 const double& max_obstacle_height, \
83 const double& obstacle_range, \
85 const std::string& global_frame, \
86 const std::string& sensor_frame, \
87 const double& tf_tolerance, \
88 const double& min_d, \
89 const double& max_d, \
91 const double& vFOVPadding, \
93 const double& decay_acceleration, \
94 const bool& marking, \
95 const bool& clearing, \
96 const double& voxel_size, \
97 const bool& voxel_filter, \
98 const int& voxel_min_points, \
99 const bool& enabled, \
100 const bool& clear_buffer_after_reading, \
109 void GetReadings(std::vector<observation::MeasurementReading>& observations);
145 #endif // MEASUREMENT_BUFFER_H_ void GetReadings(std::vector< observation::MeasurementReading > &observations)
void RemoveStaleObservations(void)
bool IsEnabled(void) const
double _vertical_fov_padding
void SetEnabled(const bool &enabled)
const ros::Duration _observation_keep_time
std::list< observation::MeasurementReading > _observation_list
bool UpdatedAtExpectedRate(void) const
sensor_msgs::PointCloud2::Ptr point_cloud_ptr
MeasurementBuffer(const std::string &topic_name, const double &observation_keep_time, const double &expected_update_rate, const double &min_obstacle_height, const double &max_obstacle_height, const double &obstacle_range, tf2_ros::Buffer &tf, const std::string &global_frame, const std::string &sensor_frame, const double &tf_tolerance, const double &min_d, const double &max_d, const double &vFOV, const double &vFOVPadding, const double &hFOV, const double &decay_acceleration, const bool &marking, const bool &clearing, const double &voxel_size, const bool &voxel_filter, const int &voxel_min_points, const bool &enabled, const bool &clear_buffer_after_reading, const ModelType &model_type)
void ResetLastUpdatedTime(void)
tf2_ros::Buffer & _buffer
boost::recursive_mutex _lock
bool ClearAfterReading(void)
double _min_obstacle_height
void ResetAllMeasurements(void)
std::string _global_frame
bool _clear_buffer_after_reading
double _decay_acceleration
double _max_obstacle_height
const ros::Duration _expected_update_rate
std::string _sensor_frame
void BufferROSCloud(const sensor_msgs::PointCloud2 &cloud)
std::list< observation::MeasurementReading >::iterator readings_iter