Formula Student Autonomous Systems
The code for the main driverless system
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1
#include "
adapter_slam/map.hpp
"
2
#include "rclcpp/rclcpp.hpp"
3
#include "
slam_config/general_config.hpp
"
4
12
int
main
(
int
argc,
char
**argv) {
13
(void)argc;
14
(void)argv;
15
rclcpp::init(argc, argv);
16
17
SLAMParameters
params;
18
std::string adapter_type = params.
load_config
();
19
std::shared_ptr<SLAMNode> slam_node =
adapter_map
.at(adapter_type)(params);
20
slam_node->init();
21
22
// If asynchronous optimization or synch parallel with graph slam, use a multi-threaded executor
23
if
(params.
slam_optimization_mode_
==
"async"
||
24
(params.
slam_solver_name_
==
"graph_slam"
&&
25
params.
slam_optimization_mode_
==
"sync-parallel"
)) {
26
rclcpp::executors::MultiThreadedExecutor
executor
;
27
executor
.add_node(slam_node);
28
executor
.spin();
29
}
else
{
30
rclcpp::spin(slam_node);
31
}
32
rclcpp::shutdown();
33
34
return
0;
35
}
adapter_map
const std::map< std::string, std::function< std::shared_ptr< ControlNode >(const ControlParameters &)>, std::less<> > adapter_map
Definition
map.hpp:18
general_config.hpp
main
Definition
main.py:1
executor
std::shared_ptr< rclcpp::executors::SingleThreadedExecutor > executor
Definition
pacsim_main.cpp:60
map.hpp
SLAMParameters
Parameters for the SLAM node.
Definition
general_config.hpp:12
SLAMParameters::slam_optimization_mode_
std::string slam_optimization_mode_
Definition
general_config.hpp:50
SLAMParameters::slam_solver_name_
std::string slam_solver_name_
Definition
general_config.hpp:25
SLAMParameters::load_config
std::string load_config()
Load the configuration for the SLAM node from YAML file.
Definition
general_config.cpp:104
src
slam
src
main.cpp
Generated by
1.9.8