Go to the documentation of this file. 1 #ifndef ED_LASER_LASER_UPDATER_H_
2 #define ED_LASER_LASER_UPDATER_H_
56 void configureLaserModel(uint num_beams,
double angle_min,
double angle_max,
double range_min,
double range_max)
std::vector< unsigned int > ScanSegment
void setAngleLimits(double min, double max)
void configure(tue::Configuration &config)
Configure updater.
collection structure for laser entities
void setRangeLimits(double min, double max)
void setLaserFrame(const std::string &frame_id)
set the frame of the laser model
double segment_depth_threshold_
std::vector< ScanSegment > segment(const std::vector< double > &sensor_ranges)
divide the sensor ranges into segments
double world_association_distance_
uint min_segment_size_pixels_
void configureLaserModel(uint num_beams, double angle_min, double angle_max, double range_min, double range_max)
configure the LRF model based on a laserscan message
void update(const ed::WorldModel &world, std::vector< double > &sensor_ranges, const geo::Pose3D &sensor_pose, const double timestamp, ed::UpdateRequest &req)
update update the worldmodel based on a novel laserscan message.
EntityUpdate segmentToConvexHull(const ScanSegment &segment, const geo::Pose3D &sensor_pose, const std::vector< double > &sensor_ranges)
convert a segment of ranges to a convex hull
void renderWorld(const geo::Pose3D &sensor_pose, const ed::WorldModel &world, std::vector< double > &model_ranges)
render the worldmodel as would be seen by the lrf.
unsigned int getNumBeams()
get the number of beams of the model
geo::LaserRangeFinder lrf_model_
void associate(std::vector< double > &sensor_ranges, const std::vector< double > &model_ranges)
associate: filter sensor information and remove ranges that can be associated with the worldmodel....
std::map< ed::UUID, geo::Pose3D > pose_cache
tue::config::ReaderWriter config