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, const bitbots_localization::Params &config, const FieldDimensions &field_dimensions)

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)
const std::vector<std::pair<double, double>> get_measurement_lines() const
const std::vector<std::pair<double, double>> get_measurement_goals() const
double get_min_weight() const override
void clear_measurement()
bool measurements_available() override
void set_movement_since_line_measurement(const tf2::Transform movement)
void set_movement_since_goal_measurement(const tf2::Transform movement)

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 tf2::Transform &movement_since_measurement) const

Private Members

std::vector<std::pair<double, double>> last_measurement_lines_
std::vector<std::pair<double, double>> last_measurement_goal_
tf2::Transform movement_since_line_measurement_ = tf2::Transform::getIdentity()
tf2::Transform movement_since_goal_measurement_ = tf2::Transform::getIdentity()
std::shared_ptr<Map> map_lines_
std::shared_ptr<Map> map_goals_
bitbots_localization::Params config_
FieldDimensions field_dimensions_