Class RobotPoseObservationModel

Inheritance Relationships

Base Type

  • public particle_filter::ObservationModel< RobotState >

Class Documentation

class bitbots_localization::RobotPoseObservationModel : public particle_filter::ObservationModel<RobotState>

Public Functions

RobotPoseObservationModel(std::shared_ptr<Map> map_lines, std::shared_ptr<Map> map_goals, std::shared_ptr<Map> map_field_boundary, const bitbots_localization::Params &config)

empty

double measure(const RobotState &state) const override
Parameters

state – Reference to the state that has to be weighted.

Returns

weight for the given state.

void set_measurement_lines_pc(sm::msg::PointCloud2 measurement)
void set_measurement_goalposts(sv3dm::msg::GoalpostArray measurement)
void set_measurement_field_boundary(sv3dm::msg::FieldBoundary measurement)
void set_measurement_markings(sv3dm::msg::MarkingArray measurement)
std::vector<std::pair<double, double>> get_measurement_lines() const
std::vector<std::pair<double, double>> get_measurement_goals() const
std::vector<std::pair<double, double>> get_measurement_field_boundary() const
double get_min_weight() const override
void clear_measurement()
bool measurements_available() override

Private Functions

double calculate_weight_for_class(const RobotState &state, const std::vector<std::pair<double, double>> &last_measurement, std::shared_ptr<Map> map, double element_weight) const

Private Members

std::vector<std::pair<double, double>> last_measurement_lines_
std::vector<std::pair<double, double>> last_measurement_goal_
std::vector<std::pair<double, double>> last_measurement_field_boundary_
std::shared_ptr<Map> map_lines_
std::shared_ptr<Map> map_goals_
std::shared_ptr<Map> map_field_boundary_
bitbots_localization::Params config_