diff --git a/shared/patch/ros2-rko-lio.patch b/shared/patch/ros2-rko-lio.patch new file mode 100644 index 000000000..4e7fb1cb9 --- /dev/null +++ b/shared/patch/ros2-rko-lio.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cfef6f3..f227839 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,7 +29,8 @@ option(RKO_LIO_FETCH_CONTENT_DEPS "Fetch dependencies via FetchContent instead o + include(cmake/dependencies.cmake) + include(cmake/compat_target_sources.cmake) + +-find_package(Eigen3 3.4 REQUIRED CONFIG) ++# no minimum version: Eigen 5 (conda-forge) rejects a 3.x request (SameMajorVersion) ++find_package(Eigen3 REQUIRED CONFIG) + find_package(Sophus REQUIRED CONFIG) + find_package(TBB REQUIRED CONFIG) + find_package(tsl-robin-map REQUIRED CONFIG) diff --git a/shared/robostack.yaml b/shared/robostack.yaml index c2880a076..c4d201d41 100644 --- a/shared/robostack.yaml +++ b/shared/robostack.yaml @@ -1212,6 +1212,8 @@ rapidjson-dev: robostack: [rapidjson] rmw_opensplice_cpp: robostack: [] +robin-map-dev: + robostack: [tsl_robin_map] roboticstoolbox-python: robostack: [roboticstoolbox-python] rsync: diff --git a/shared/tests/ros2-rko-lio.yaml b/shared/tests/ros2-rko-lio.yaml new file mode 100644 index 000000000..1544cae7b --- /dev/null +++ b/shared/tests/ros2-rko-lio.yaml @@ -0,0 +1,6 @@ +tests: + # Smoke test: `rko_lio/online_node` (the odometry node), given its required parameters, starts (loads its libraries and the RMW) and is still running after 5 s. It's stopped (killed if SIGTERM doesn't end it) before the test exits, or the test runner waits for it. + - if: unix + then: + script: + - python -c "import os, subprocess, sys, time; p = subprocess.Popen([os.path.join(os.environ['PREFIX'], 'lib', 'rko_lio', 'online_node'), '--ros-args', '-p', 'imu_topic:=/imu', '-p', 'lidar_topic:=/lidar', '-p', 'base_frame:=base_link']); time.sleep(5); r = p.poll(); p.terminate(); time.sleep(3); p.kill(); p.wait(); sys.exit(0 if r is None else 1)" diff --git a/shared/vinca.yaml b/shared/vinca.yaml index c8c0c9bfe..359b4f67b 100644 --- a/shared/vinca.yaml +++ b/shared/vinca.yaml @@ -260,6 +260,7 @@ packages_select_by_deps: - realsense2_camera - realsense2_description - realtime_tools + - rko_lio # LiDAR-inertial odometry (PRBonn); requested in https://github.com/RoboStack/ros-kilted/pull/104 - rmf_demos - rmw - rmw_stats_shim