Custom Rig for https://github.com/hku-mars/LIV_handhold_2, support ROS2 Humble.
FAST-LIVO2 is based on [https://github.com/yqmy0814/FAST-LIVO2] and [hku-mars/FAST-LIVO2#128]
Note:-
-
livox_ros_driver2 is custom, not the official version from Livox. It reads and writes from a time-share file located in
home/${User}/timesharefor synchronization. Ensure to set a static IP of192.168.1.50for the device connected to the Livox LiDAR. -
The FAST-LIVO2 voxelmap is unbounded, which means memory usage will grow indefinitely. This could potentially lead to issues such as a forced shutdown when mapping for extended periods on systems with limited memory, like the Jetson Orin (16GB RAM).
-
libusb from MVS (
/opt/MVS/lib/aarch64/libusb-1.0.so.0) may conflict with the system installation (/lib/aarch64-linux-gnu/libusb-1.0.so.0). It is recommended to either delete the MVS version or set the system'slibusbwith the following commands:
export LD_LIBRARY_PATH=/opt/MVS/lib/aarch64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH
- This repo uses cyclondds and mcap storage. Get it with:
sudo apt install ros-humble-rmw-cyclonedds-cpp ros-humble-rosbag2-storage-mcap
- Nvidia Jetson Orin NX 16GB
- Jetpack 6.2
- Ubuntu 22.04
- ROS2 Humble
- ZED SDK 5.1
- MVS 3.0.1 ARM
- Livox-SDK2 v1.2.5
- OpenCV v4.8.0
- PCL v1.12.1
- Eigen v3.4.0
git submodule init
git submodule update
sudo apt update
rosdep update
rosdep install --from-paths src/zed-ros2-wrapper --ignore-src -r -y # install dependencies
rosdep install --from-paths src/livox_ros_driver2 --ignore-src -r -y
rosdep install --from-paths src/mvs_ros_driver2 --ignore-src -r -y
rosdep install --from-paths src/FAST-LIVO2 --ignore-src -r -y
rosdep install --from-paths src/ros2_jetson_stats --ignore-src --rosdistro humble -y
# Install SC-PGO dependencies (GTSAM for pose graph optimization)
sudo apt install ros-humble-gtsam
./src/livox_ros_driver2/build.sh humble
colcon build --packages-select handheld_bringup --symlink-install # eg handheld_bringup
source ./install/setup.bash
ros2 launch handheld_bringup handheld_sensors.launch.py
Note :-
Comment out driver nodes and set preprocess.lidar_type to 3 for bags using standard pointcloud2 msg rather than livox custom msg.
source ./install/setup.bash
ros2 launch handheld_bringup fast_livo2.launch.py
# ros2 bag play ./data/record_20251214_173541/ -p --remap /hik_camera/image:=/left_camera/image
# source ./install/setup.bash
# ros2 launch fast_livo mapping_avia.launch.py
# ros2 bag play ./data/fast_livo/test_bag/ros2/ -p
Based on https://github.com/stereolabs/ros2_replay_data/blob/main/README.md
source ./install/setup.bash
ros2 launch handheld_bringup zed_svo_replay.launch.py \
svo_file_path:=/home/nvidia/Desktop/data/svo/zed_recording.svo2 \
bag_output_path:=/home/nvidia/Desktop/data/zed_ros_output
Get mcap-cli from https://github.com/foxglove/mcap/releases?q=mcap-cli and use mcap filter to match start and end timing of rosbag
mcap filter rosbag_20251227_075258_0.mcap \
--start 1766821986886082602 \
--end 1766822024386007309 \
-o rosbag_trimmed.mcap
colcon build --packages-select sc_pgo --symlink-install # eg handheld_bringup
source ./install/setup.bash
ros2 launch handheld_bringup fast_livo2.launch.py use_sc_pgo:=True





