Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
jcbb.hpp
Go to the documentation of this file.
1#pragma once
2#include <Eigen/Dense>
3#include <cmath>
4#include <limits>
5#include <memory>
6#include <rclcpp/rclcpp.hpp>
7#include <vector>
8
11
17class JCBB : public DataAssociationModel {
30 void search_branch_and_bound(int current_obs_idx, int num_observations, int num_landmarks,
31 const Eigen::MatrixXd& distances,
32 Eigen::VectorXi& current_hypothesis,
33 Eigen::VectorXi& best_hypothesis, double& best_score,
34 double current_score) const;
42 bool is_landmark_already_assigned(const Eigen::VectorXi& hypothesis, int landmark_idx) const;
43
44public:
46
47 ~JCBB() = default;
64 Eigen::VectorXi associate(const Eigen::VectorXd& landmarks, const Eigen::VectorXd& observations,
65 const Eigen::MatrixXd& covariance,
66 const Eigen::VectorXd& observation_confidences) const override;
67};
Data Association Method class, used to match observations to landmarks in the map.
Data association implementation that uses the Malhanobis Distance only as criterion to make observati...
Definition jcbb.hpp:17
~JCBB()=default
bool is_landmark_already_assigned(const Eigen::VectorXi &hypothesis, int landmark_idx) const
Check if a landmark is already assigned in the current hypothesis.
Definition jcbb.cpp:84
Eigen::VectorXi associate(const Eigen::VectorXd &landmarks, const Eigen::VectorXd &observations, const Eigen::MatrixXd &covariance, const Eigen::VectorXd &observation_confidences) const override
Perform data association using the Joint Compatibility Branch & Bound algorithm.
Definition jcbb.cpp:3
void search_branch_and_bound(int current_obs_idx, int num_observations, int num_landmarks, const Eigen::MatrixXd &distances, Eigen::VectorXi &current_hypothesis, Eigen::VectorXi &best_hypothesis, double &best_score, double current_score) const
Recursive branch and bound search to find the best hypothesis.
Definition jcbb.cpp:33
JCBB(const DataAssociationParameters &params)
Definition jcbb.hpp:45