13#include "rclcpp/rclcpp.hpp"
29 std::shared_ptr<std::vector<double>>
53 std::shared_ptr<V2PMotionModel> motion_model,
54 std::shared_ptr<LandmarkFilter> landmark_filter,
55 std::shared_ptr<std::vector<double>> execution_times,
56 std::shared_ptr<LoopClosure> loop_closure);
66 rclcpp::Time cones_timestamp) = 0;
Interface for SLAM solvers.
void set_mission(common_lib::competition_logic::Mission mission)
Set the mission.
virtual void add_velocities(const common_lib::structures::Velocities &velocities)=0
Process new velocity data.
bool _received_first_velocities_
std::shared_ptr< std::vector< double > > _execution_times_
virtual std::vector< common_lib::structures::Cone > get_map_estimate()=0
Get the map estimate object.
virtual void add_observations(const std::vector< common_lib::structures::Cone > &cones, rclcpp::Time cones_timestamp)=0
Add observations to the solver.
common_lib::competition_logic::Mission _mission_
virtual common_lib::structures::Pose get_pose_estimate()=0
Get the pose estimate object.
virtual Eigen::VectorXi get_associations() const =0
virtual Eigen::VectorXd get_observations_global() const =0
virtual Eigen::MatrixXd get_covariance()=0
Get covariance matrix.
rclcpp::Time _last_pose_update_
virtual int get_lap_counter()=0
Get the lap counter.
std::shared_ptr< LoopClosure > _loop_closure_
std::shared_ptr< V2PMotionModel > _motion_model_
virtual Eigen::VectorXd get_map_coordinates() const =0
std::shared_ptr< DataAssociationModel > _data_association_
virtual ~SLAMSolver()=default
rclcpp::Time _last_observation_update_
std::shared_ptr< LandmarkFilter > _landmark_filter_
virtual void load_initial_state(const Eigen::VectorXd &map, const Eigen::Vector3d &pose)=0
Loads a previously saved map and pose into the solver.
Parameters for the SLAM node.
Struct for pose representation.