2.2.4.1. SLAM ROS Package¶
2.2.4.1.1. slam
¶
Package for SLAM
- Maintainers:
- Version:
2.0.0
- License:
TODO
2.2.4.1.1.1. Dependencies¶
- Build:
roscpp
rospy
roslib
std_msgs
gps_common
novatel_oem7_msgs
tf2_ros
- Build export:
roscpp
rospy
roslib
std_msgs
gps_common
novatel_oem7_msgs
tf2_ros
- Build tool:
catkin
- Execution:
roscpp
rospy
roslib
std_msgs
gps_common
novatel_oem7_msgs
tf2_ros
2.2.4.1.1.2. Package definition files¶
2.2.4.1.1.2.1. CMakeLists.txt¶
1cmake_minimum_required(VERSION 3.21.0)
2project(slam VERSION 2.0.0 LANGUAGES CXX CUDA)
3
4if(NOT CMAKE_BUILD_TYPE)
5 message(STATUS "No build type selected, default to Release")
6 set(CMAKE_BUILD_TYPE Release)
7endif()
8
9# Set Flags for Debug and Release
10set(CMAKE_CXX_FLAGS_DEBUG "-std=c++17 -g -fopenmp -Wall")
11set(CMAKE_CXX_FLAGS_RELEASE "-std=c++17 -O3 -fopenmp")
12set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-std=c++17 -fopenmp -O2 -g -DNDEBUG")
13
14
15find_package(catkin REQUIRED COMPONENTS
16 roscpp
17 rospy
18 roslib
19 std_msgs
20 utilities
21 as_can_msgs
22 gps_common
23 novatel_oem7_msgs
24 tf2_ros
25)
26
27# CUDA
28set(CMAKE_CUDA_ARCHITECTURES 60 61 62 70 72 75 86 89 90)
29set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)
30option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
31find_package(CUDA REQUIRED)
32find_package(CUDAToolkit REQUIRED)
33get_filename_component(CUDA_LIB_DIR ${CUDA_LIBRARIES} DIRECTORY)
34include_directories("${CUDA_INCLUDE_DIRS}")
35find_package(Eigen3 REQUIRED)
36find_package(nlohmann_json 3.2.0 REQUIRED)
37find_package(OpenCV REQUIRED)
38
39catkin_package(
40 CATKIN_DEPENDS roscpp rospy roslib std_msgs utilities as_can_msgs gps_common novatel_oem7_msgs tf2_ros
41)
42
43include_directories(
44 ${catkin_INCLUDE_DIRS}
45 ${CMAKE_CURRENT_SOURCE_DIR}/include
46 ${EIGEN3_INCLUDE_DIR}
47 ${nlohmann_json_INCLUDE_DIRS}
48 ${OpenCV_INCLUDE_DIRS}
49)
50
51add_library(slam_landmark_sensors src/sensor/landmarks.cpp)
52add_library(slam_wheelspeed_sensor src/sensor/wheelspeed.cpp)
53add_library(slam_steering_sensors src/sensor/steering.cpp)
54add_library(slam_novatel_sensors src/sensor/novatel.cpp)
55add_library(slam_aceinna_sensors src/sensor/aceinna.cpp)
56add_library(slam_sensors src/sensor/sensor.cpp)
57add_library(slam_utils src/utils.cpp)
58add_library(slam_data_association src/data_association.cpp)
59add_library(slam_ukf src/ukf.cpp)
60add_library(slam_sigma_points src/sigma_points.cpp)
61
62add_executable(slam src/slam.cpp)
63
64target_link_directories(slam PUBLIC ${OpenCV_LIBRARIES})
65
66target_link_libraries(slam
67 ${catkin_LIBRARIES}
68 slam_wheelspeed_sensor
69 slam_novatel_sensors
70 slam_sensors
71 slam_landmark_sensors
72 slam_aceinna_sensors
73 slam_steering_sensors
74 slam_utils
75 slam_ukf
76 slam_data_association
77 nlohmann_json::nlohmann_json
78 ${CUDA_LIBRARIES}
79 ${CUDA_cublas_LIBRARY}
80 ${OpenCV_LIBS})
81
82target_link_libraries(slam_ukf
83 ${catkin_LIBRARIES}
84 slam_wheelspeed_sensor
85 slam_novatel_sensors
86 slam_sensors
87 slam_landmark_sensors
88 slam_aceinna_sensors
89 slam_steering_sensors
90 slam_utils
91 slam_sigma_points
92 slam_data_association
93 nlohmann_json::nlohmann_json
94 ${CUDA_LIBRARIES}
95 ${CUDA_cublas_LIBRARY}
96 ${OpenCV_LIBS})
97
98if (${OpenCV_VERSION} VERSION_GREATER_EQUAL 4.7.0)
99 message(STATUS "Build with -DBATCHED_NMS")
100 add_definitions(-DBATCHED_NMS)
101endif ()
2.2.4.1.1.2.2. package.xml¶
1<?xml version="1.0"?>
2<package format="2">
3 <name>slam</name>
4 <version>2.0.0</version>
5 <description>Package for SLAM</description>
6
7 <maintainer email="ole.kettern@curemannheim.de">Ole Kettern</maintainer>
8 <maintainer email="martina.scheffler@curemannheim.de">Martina Scheffler</maintainer>
9 <maintainer email="lennart.mueller@curemannheim.de">Lennart Müller</maintainer>
10 <maintainer email="philipp.wolf@curemannheim.de">Philipp Wolf</maintainer>
11 <maintainer email="maximilian.floto@curemannheim.de">Maximilian Floto</maintainer>
12
13 <license>TODO</license>
14
15 <buildtool_depend>catkin</buildtool_depend>
16 <build_depend>roscpp</build_depend>
17 <build_depend>rospy</build_depend>
18 <build_depend>roslib</build_depend>
19 <build_depend>std_msgs</build_depend>
20 <build_depend>utilities</build_depend>
21 <build_depend>as_can_msgs</build_depend>
22 <build_depend>gps_common</build_depend>
23 <build_depend>novatel_oem7_msgs</build_depend>
24 <build_depend>tf2_ros</build_depend>
25 <build_export_depend>roscpp</build_export_depend>
26 <build_export_depend>rospy</build_export_depend>
27 <build_export_depend>roslib</build_export_depend>
28 <build_export_depend>std_msgs</build_export_depend>
29 <build_export_depend>utilities</build_export_depend>
30 <build_export_depend>as_can_msgs</build_export_depend>
31 <build_export_depend>gps_common</build_export_depend>
32 <build_export_depend>novatel_oem7_msgs</build_export_depend>
33 <build_export_depend>tf2_ros</build_export_depend>
34 <exec_depend>roscpp</exec_depend>
35 <exec_depend>rospy</exec_depend>
36 <exec_depend>roslib</exec_depend>
37 <exec_depend>std_msgs</exec_depend>
38 <exec_depend>utilities</exec_depend>
39 <exec_depend>as_can_msgs</exec_depend>
40 <exec_depend>gps_common</exec_depend>
41 <exec_depend>novatel_oem7_msgs</exec_depend>
42 <exec_depend>tf2_ros</exec_depend>
43
44 <export>
45 </export>
46</package>