NVIDIA Jetson AGX Orin平台:ROS1+mid-360激光雷达+Fast-lio2 测试
本文介绍了在Jetson AGX Orin(Ubuntu 20.04 + ROS Noetic)上部署Livox Mid-360激光雷达并测试FAST_LIO2的完整流程
1. 基础环境:
主机设备:Jetson AGX Orin 【32GB】
Linux版本:ubuntu20.04;
传感器:Livox mid-360;
ROS版本:Noetic;
Jetson环境如下:
2. 硬件环境准备
mid-360供电范围为 DC 9~27V,航插输出的网线和Jetson网口连接,将mid-360供电。
设置Jetson的静态固定ip,我的设置为:192.168.1.201。
3. 安装Livox-SD2并测试
Livox-SD2链接:GitHub - Livox-SDK/Livox-SDK2
Livox-SD2支持的先决条件:
3.1 安装&&编译
- 安装cmake
sudo apt install cmake
- 在自己的工作空间里创建Livox-SD2空间
cd ~/project_z/
mkdir livox_ws
cd livox_ws
mkdir 3rd_party && cd 3rd_party
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build && cd build
cmake ..
make -j4
sudo make install
3.2 测试
更改测试json文件参数为实际使用的参数,进入~/project_z/livox_ws/3rd_party/Livox-SDK2/samples/livox_lidar_quick_star/路径下,将mid360_config.json文件中的"host_ip" 改为Jetson设备的ip,我这里改成 192.168.1.201

cd ~/project_z/livox_ws/3rd_party/Livox-SDK2/build/samples/livox_lidar_quick_start/
./livox_lidar_quick_start ../../../samples/livox_lidar_quick_start/mid360_config.json

正常接收到mid-360发送的点云数据
4. 安装livox_ros_driver2并测试
4.1 安装&&编译
livox_ros_driver2链接:GitHub - Livox-SDK/livox_ros_driver2: Livox device driver under Ros(Compatible with ros and ros2), support Lidar HAP and Mid-360.
cd ~/project_z/livox_ws/
mkdir src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd ~/project_z/livox_ws/src/livox_ros_driver2-master/
./build.sh ROS1 ## 已经提前加载了ROS环境,source /opt/ros/noetic/setup.sh,默认加入了~/.bashrc
## livox_ros_driver2配置环境变量
vi ~/.bashrc
##加入后,保存退出
source ~/project_z/livox_ws/devel/setup.bash
## 使能环境变量
source ~/.bashrc
4.2 测试
- 查看mid-360设备ID,根据ID最后两位确认ip,我的设备最后两位是37,mid-360设备的ip为:192.168.1.137

- 进入
~/project_z/livox_ws/src/livox_ros_driver2-master/config/路径下,打开MID360_config.json文件,修改mid-360和Jetson的ip,host_net_info为Jetson设备的ip,lidar_configs为mid-360设备的ip。

- 修改launch文件的设备ID,进入
~/project_z/livox_ws/src/livox_ros_driver2-master/launch_ROS1/路径下,将msg_MID360.launch和rviz_MID360.launch文件中ID修改成自己设备的ID

- 运行
### 可以先ping一下mid-360的ip,确保双方的IP和物理连接配置正常
roslaunch livox_ros_driver2 msg_MID360.launch ## 一个终端发布mid-360节点信息
roslaunch livox_ros_driver2 rviz_MID360.launch ## 另一个终端获取数据并显示

5. 编译FAST_LIO2并测试
FAST_LIO2链接:GitHub - hku-mars/FAST_LIO: A computationally efficient and robust LiDAR-inertial odometry (LIO) package
5.1 在ROS空间中创建FAST_LIO2空间
cd ~/project_z/pcatkin_ws/src ## 若是ROS空间工程较多,也可以单独创建一个FAST_LIO2空间,测试完成后,在集成到ROS空间中
git clone https://github.com/hku-mars/FAST_LIO.git ## 重命名为fast_lio
cd fast_lio
git submodule update --init
- 修改fast_lio文件夹下
CMakeLists.txt文件,将livox_ros_driver改成livox_ros_driver2在find_package中加上genmsg

- 将
fast_lio/package.xml的livox_ros_driver改成livox_ros_driver2,将fast_lio/src路径中的laserMapping.cpp、preprocess.cpp、preprocess.h源码文件中的livox_ros_driver改成livox_ros_driver2。

5.2 编译测试
cd ~/project_z/pcatkin_ws/
catkin_make -DCATKIN_WHITELIST_PACKAGES="fast_lio" ## 单独编译fast_lio,或者catkin_make 编译整个ros空间的工程
source devel/setup.bash
运行fast-lio2
roslaunch livox_ros_driver2 msg_MID360.launch ## 一个终端创建mid-360的节点信息
roslaunch fast_lio mapping_mid360.launch ## 另一个终端创建fast_lio节点并获取mid-360数据并显示到终端界面
测试建图后效果

注意
- 检查mid-360话题是否活跃、有数据:
roslaunch livox_ros_driver2 msg_MID360.launch
rostopic list | grep livox
正常情况能看到设备节点信息
分别 echo 查看是否有数据:
rostopic echo /livox/imu # 应该滚动 IMU 数据(每秒几百 Hz)
rostopic hz /livox/imu # 看频率,应 >100 Hz
rostopic echo /livox/lidar # 可能刷得太快看不到,用 hz 更好
rostopic hz /livox/lidar # Mid360 应 ≈10 Hz(每帧大量点)
rostopic info /livox/lidar # 确认发布者是 livox_ros_driver2 的节点
更多推荐

所有评论(0)