项目实训 - 智能车系统 - 第九周记录
日期:4.18 – 4.24
项目进度
本周工作进展:
- 删除项目中保留的ros相关的部分代码
- 学习cmake编写
- 重新编写项目中的CMakeLists.txt文件
1、删除ros代码
之前为了方便测试,在修改代码的时候并没有删除ros相关的函数、变量。现在要完全脱离ros的环境,需要先将相关的代码删除,确保与ros完全无关。
2、学习CMakeLists.txt
学习过程记录在一下的博客
https://blog.youkuaiyun.com/qq_38170211/article/details/124352591
https://blog.youkuaiyun.com/qq_38170211/article/details/124354606
3、重新编写CmakeLists.txt
cmake_minimum_required(VERSION 2.8.3)
project(lio_sam_linux)
set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g -pthread")
set(CMAKEFLAGS "-j2")
find_package(OpenMP REQUIRED)
# find_package(EIGEN3 REQUIRED)
find_package(PCL REQUIRED QUIET)
find_package(OpenCV REQUIRED QUIET)
find_package(GTSAM REQUIRED QUIET)
find_package(Boost REQUIRED COMPONENTS timer)
# include directories
include_directories(
/usr/include/eigen3
${PCL_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
${GTSAM_INCLUDE_DIR}
)
###########
## Build ##
###########
aux_source_directory(./src/communication_LVI_SAM DIR_COMM_SRCS)
aux_source_directory(./src/pcl DIR_PCL_STRUCT_SRCS)
aux_source_directory(./src/tf DIR_TF_STRUCT_SRCS)
message("***${DIR_COMM_SRCS}***")
# Range Image Projection
add_executable(${PROJECT_NAME}_imageProjection src/imageProjection.cpp ${DIR_COMM_SRCS} ${DIR_PCL_STRUCT_SRCS} ${DIR_TF_STRUCT_SRCS})
# add_dependencies(${PROJECT_NAME}_imageProjection )
target_link_libraries(${PROJECT_NAME}_imageProjection ${PCL_LIBRARIES} ${OpenCV_LIBRARIES})
# Feature Association
add_executable(${PROJECT_NAME}_featureExtraction src/featureExtraction.cpp ${DIR_COMM_SRCS} ${DIR_PCL_STRUCT_SRCS} ${DIR_TF_STRUCT_SRCS})
# add_dependencies(${PROJECT_NAME}_featureExtraction ${PROJECT_NAME}_generate_messages_cpp)
target_link_libraries(${PROJECT_NAME}_featureExtraction ${PCL_LIBRARIES} ${OpenCV_LIBRARIES})
# Mapping Optimization
add_executable(${PROJECT_NAME}_mapOptmization src/mapOptmization.cpp ${DIR_COMM_SRCS} ${DIR_PCL_STRUCT_SRCS} ${DIR_TF_STRUCT_SRCS})
# add_dependencies(${PROJECT_NAME}_mapOptmization ${PROJECT_NAME}_generate_messages_cpp)
target_compile_options(${PROJECT_NAME}_mapOptmization PRIVATE ${OpenMP_CXX_FLAGS})
target_link_libraries(${PROJECT_NAME}_mapOptmization ${PCL_LIBRARIES} ${OpenCV_LIBRARIES} ${OpenMP_CXX_FLAGS} gtsam)
# IMU Preintegration
add_executable(${PROJECT_NAME}_imuPreintegration src/imuPreintegration.cpp ${DIR_COMM_SRCS} ${DIR_PCL_STRUCT_SRCS} ${DIR_TF_STRUCT_SRCS})
target_link_libraries(${PROJECT_NAME}_imuPreintegration ${PCL_LIBRARIES} ${OpenCV_LIBRARIES} gtsam)
# # tf
# add_executable(${PROJECT_NAME}_tfChangeProjection src/tfChangeProjection.cpp ${DIR_COMM_SRCS} ${DIR_PCL_STRUCT_SRCS} ${DIR_TF_STRUCT_SRCS})
# target_link_libraries(${PROJECT_NAME}_tfChangeProjection ${PCL_LIBRARIES} ${OpenCV_LIBRARIES} gtsam)
重新编译项目,成功运行。
技术难点
cmake
bug记录
没啥大bug
其他
这周板子和雷达到了,下周开搞