Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
slam_solver.cpp
Go to the documentation of this file.
2
4 std::shared_ptr<DataAssociationModel> data_association,
5 std::shared_ptr<V2PMotionModel> motion_model,
6 std::shared_ptr<LandmarkFilter> landmark_filter,
7 std::shared_ptr<std::vector<double>> execution_times,
8 std::shared_ptr<LoopClosure> loop_closure)
9 : _params_(params),
10 _data_association_(data_association),
11 _motion_model_(motion_model),
12 _landmark_filter_(landmark_filter),
13 _execution_times_(execution_times),
14 _loop_closure_(loop_closure) {}
15
17 common_lib::competition_logic::Mission previous_mission_ = this->_mission_;
18 this->_mission_ = mission;
19 if (previous_mission_ == common_lib::competition_logic::Mission::NONE &&
20 (this->_mission_ == common_lib::competition_logic::Mission::SKIDPAD ||
21 this->_mission_ == common_lib::competition_logic::Mission::ACCELERATION) &&
23 if (_mission_ == common_lib::competition_logic::Mission::SKIDPAD) {
24 Eigen::Vector3d pose;
25 Eigen::VectorXd map;
26 load_skidpad_track(pose, map);
27 this->load_initial_state(map, pose);
28 } else if (_mission_ == common_lib::competition_logic::Mission::ACCELERATION) {
29 Eigen::Vector3d pose;
30 Eigen::VectorXd map;
31 load_acceleration_track(pose, map);
32 this->load_initial_state(map, pose);
33 }
34 }
35}
void set_mission(common_lib::competition_logic::Mission mission)
Set the mission.
common_lib::competition_logic::Mission _mission_
SLAMSolver(const SLAMParameters &params, std::shared_ptr< DataAssociationModel > data_association, std::shared_ptr< V2PMotionModel > motion_model, std::shared_ptr< LandmarkFilter > landmark_filter, std::shared_ptr< std::vector< double > > execution_times, std::shared_ptr< LoopClosure > loop_closure)
Construct a new SLAMSolver object.
SLAMParameters _params_
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.
void load_acceleration_track(Eigen::Vector3d &start_pose, Eigen::VectorXd &track)
loads the acceleration track from the default path.
void load_skidpad_track(Eigen::Vector3d &start_pose, Eigen::VectorXd &track)
loads the skidpad track from the default path.