Files
car_nav_lite/CMakeLists.txt
cyy 6085ff7383 Step 2: FenceModel calibration replaces hardcoded ±2.5m
- fence_model.hpp: Line2D + FenceModel with wall positions
- session_mapper: RANSAC yaw fit + percentile boundary + cone clustering
- localizer: setFenceModel(), use calibrated walls in correctWithScanCV
- main.cpp: CALIBRATING→READY state machine (30 scan frames)
- /nav_metrics publisher (5Hz JSON metrics)
- mppi_alive/min_cost exposed via LocalPlanner public members
- endpoint-only path_align (EXACT-MPPI PathFollowCritic style)
- adaptive exploration ratio based on survival rate
2026-07-03 06:56:28 +00:00

48 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.8)
project(car_nav_lite)
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
endif()
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(nav_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(tf2 REQUIRED)
find_package(tf2_ros REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(OpenCV REQUIRED)
set(INCLUDE_DIR include)
add_executable(nav_lite_node
src/main.cpp
src/grid_map.cpp
src/localizer.cpp
src/global_planner.cpp
src/local_planner.cpp
src/bt_executor.cpp
src/session_mapper.cpp
)
target_include_directories(nav_lite_node PRIVATE
${INCLUDE_DIR}
${EIGEN3_INCLUDE_DIRS}
)
ament_target_dependencies(nav_lite_node
rclcpp std_msgs geometry_msgs nav_msgs sensor_msgs tf2 tf2_ros
)
target_link_libraries(nav_lite_node ${OpenCV_LIBS})
add_executable(calib_check src/calib_check.cpp)
target_include_directories(calib_check PRIVATE ${INCLUDE_DIR} ${EIGEN3_INCLUDE_DIRS})
ament_target_dependencies(calib_check rclcpp geometry_msgs nav_msgs tf2 tf2_ros)
install(TARGETS nav_lite_node calib_check DESTINATION lib/${PROJECT_NAME})
install(DIRECTORY launch config maps DESTINATION share/${PROJECT_NAME})
ament_package()