资讯动态

3天跑通FAST-LIO:激光雷达惯性里程计在无人机建图与自主导航中的完整复盘

发布时间:2026/8/14 9:51:24 来源:尧图企业网站定制
3天跑通FAST-LIO激光雷达惯性里程计在无人机建图与自主导航中的完整复盘【免费下载链接】FAST_LIOA computationally efficient and robust LiDAR-inertial odometry (LIO) package项目地址: https://gitcode.com/gh_mirrors/fa/FAST_LIOFAST-LIO 是一套计算高效、鲁棒的激光雷达惯性里程计LIO开源方案融合雷达点云与 IMU 数据让无人机实时输出位姿并构建三维地图。这篇复盘来自我三天从零跑通它的真实经历涵盖安装配置、rosbag 验证、真机建图与导航衔接新手可以直接照着走。为什么我会盯上这套方案先交代背景。我上一台无人机用的是纯视觉里程计地下车库光线一暗就开始漂换成纯激光配准机身动作稍微剧烈一点轨迹就散架。FAST-LIO 的做法是用紧耦合的迭代扩展卡尔曼滤波把 IMU 的高频测量和激光雷达特征点绑在一起互相修正所以在快速运动、弱纹理、动态干扰这类退化场景里依然稳得住。也正因如此它成了很多无人机建图与自主导航项目的首选前端 。动手前先清点硬件与软件两张清单硬件参考项目文档里那架小四旋翼就够用我的配置是280mm 轴距机架作为稳定飞行平台内置 IMU 的 3D 激光雷达我用的是 Livox Avia70° 视场机载计算机i7-8550U 加 8GB 内存这个级别即可电池与数传模块负责续航和远程控制软件侧门槛也不高Ubuntu 18.04/20.04、ROS Melodic/Noetic、PCL 与 Eigen 是底线。另外一定记得装 livox_ros_driver并且在编译和运行前都先 source 它否则 launch 起来会找不到驱动。第1天装代码三行命令见分晓克隆项目、初始化子模块ikd-Tree 依赖就是这么拉下来的、编译一气呵成git clone https://gitcode.com/gh_mirrors/fa/FAST_LIO git submodule update --init catkin_make source devel/setup.bash编译成功后会出现一个名为fastlio_mapping的节点算法本体就在src/laserMapping.cpp里。不过真正让新手卡住的通常不是编译而是后面一串细枝末节。第1天晚没有雷达照样先把算法验证一遍我的建议是别一上来就上真机。先下载一份官方 rosbagAvia 采集的室内数据用两个命令验证算法闭环roslaunch fast_lio mapping_avia.launch rosbag play 你的数据.bagrviz 里会实时出现彩色点云和一条蓝色轨迹。看到屏幕上的地图从无到有、轨迹稳稳贴合环境你心里就有底了 ✅。这一步如果能跑通说明环境、依赖、时间戳处理全都没问题。第2天读懂 avia.yaml把关键参数讲透config/avia.yaml是整个系统的性格参数我按踩坑顺序说lid_topic/imu_topic雷达点云和 IMU 的话题名换传感器时最先改这里lidar_type1 代表 Livox 系列2 是 Velodyne3 是 Ouster别选错extrinsic_T/extrinsic_RIMU 与雷达的外参。注意 FAST-LIO 里定义的是雷达在 IMU 坐标系下的位姿方向搞反地图立刻糊成重影time_sync_en软件时间同步开关只有在无法做硬件时间同步时才建议打开launch 文件里还有两个高频参数point_filter_num控制点云降采样间隔数值越大越省算力filter_size_map决定地图体素分辨率从 0.5 起步比较稳妥。第2天下午把 FAST-LIO 装进无人机真机部署和回放数据完全不是一回事。外参先通过 LI-Init 之类工具标定或直接沿用官方标定值上电后先确认雷达与 IMU 的时间戳对齐再依次启动建图节点和雷达驱动roslaunch fast_lio mapping_avia.launch roslaunch livox_ros_driver livox_lidar_msg.launch这里有个我踩过的坑Livox 驱动其实有两个 launch 文件FAST-LIO 只认livox_lidar_msg.launch输出的 CustomMsg因为它带有逐点时间戳是运动畸变去除的关键。第3天从地图到导航最后一步怎么接建图只是前半段。FAST-LIO 会发布/Odometry和/path两个话题位姿数据可以直接喂给路径规划器。我在一张测试地图上跑了闭环无人机会沿规划好的方形路径自主移动意味着在线建图 自主导航这条链路已经打通 。想离线保存地图也很省事把config里的pcd_save_en设为 true程序退出后所有全局点云会自动汇总到FAST_LIO/PCD/scans.pcd用pcl_viewer scans.pcd就能慢慢端详。三天里踩过的坑给后来者的排错清单日志里出现 Failed to find match for field time说明点云数据丢了逐点时间戳前向/后向传播都会受影响先查数据来源别急着调参数地图分层、重影、漂移优先怀疑外参和时间同步而不是滤波噪声参数担心嵌入式板子跑不动FAST-LIO 对 ARM 平台做过针对性优化点云率能到 100Hz 以上extrinsic_est_en是外参在线估计开关外参已知时建议关掉避免两个来源互相打架性能复盘它凭什么配得上实时两个字项目文档里有张真机实验图Intel i7 下单帧平均处理时间约 1.82msARM 平台约 5.23ms而扫描速率是 100Hz算力冗余很充足 。这也是它能同时扛住建图、导航、巡检等实时任务的原因。我把同样的流程拿到户外植被环境跑了一遍点云稠密、结构清晰场景适应性比想象中好。跑通之后还能往哪走如果你也跑通了上面这套流程后面其实有很丰富的路需要重定位可以看 FAST-LIO-LOCALIZATION它把重定位模块接在 LIO 输出之后想要视觉加持FAST-LIVO 系列做了雷达-惯性-视觉三传感器融合想做规划控制项目仓库里有无人机动态避障和轨迹规划的落地示例我的建议是别急着堆功能。先把 rosbag 回放、真机建图、PCD 保存这三件事各完整跑一遍你就已经算会用FAST-LIO 了剩下的都是在它之上叠加自己的想法。今晚不妨就从下载一个 rosbag 开始。【免费下载链接】FAST_LIOA computationally efficient and robust LiDAR-inertial odometry (LIO) package项目地址: https://gitcode.com/gh_mirrors/fa/FAST_LIO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价