FAST-LIVO2复现日记(一)

前边忘了,后边忘了,总之基于娱乐目的,现在的需求是基于Mid-360和海康MV-CU013-AUC复现FAST-LIVO2。

复现过程主要参考B站up主 重建世界LAB 的系列教学视频对应文档。在我复现的过程中,遇到了一些up主没有提到的问题,现在将整个复现过程和过程中遇到的问题及解决方法整理如下。

硬件搭建

首先第一步,搭建硬件。

需要的硬件有:

  • 激光雷达 Mid-360
  • 彩色相机 MV-CU013-AUC
  • 相机镜头 MVL-HF0628M-6MPE
  • 微型主机 型号任意
  • 时间同步器

激光雷达

根据我看到的信息,FAST-LIVO2原项目使用的激光雷达是Livox AVIA,闲鱼价格大概在七八千左右,价格太贵不考虑。替代方案是Livox Mid-360,闲鱼价格在3400~3200之间,偶尔有2800的好货。更便宜的方案是使用Mid-70,但是该型号没有内置IMU,需要额外折腾外置IMU的时间同步之类的,没有技术建议不要碰。

相机

相机是up推荐的型号,接口是micro USB 3.0。选购时注意查询参数,闲鱼上存量最多的是类似型号的网口摄像机,USB的相对数量会少一些。网口相机因为存量大会便宜一些,但是可能需要额外的代码修改和调试,为了避免麻烦同样加钱省事之。

镜头

工业相机是不带镜头的,不要忘记购买镜头。没什么好说的照着买就行了,如果你知道自己需要什么的话当然可以随便选购型号,否则还是遵循教程最好。

微型主机

原项目使用的是大疆的妙算MANIFOLD 2C,配置为i7-8550U,8GB DDR4 2400 MHz,256 GB SSD。该型号现已无法从官网直接购买到,闲鱼二手价大约在五千到六千,贵到离谱啊,直接不考虑。

型号配置价格优缺点
原项目妙算2Ci7-8550U 8+2563000~6000体积小,性能够用
替代方案1NUC1111代i5 8+2561500体积大,性能强
替代方案2M6SN100/N150800~1200体积小,性能不足

以上表格中价格仅供参考,写的时候在闲鱼随手搜了几个价格大概写上去的。撰写此文时(2026年1月),正值硬盘和内存价格飞升,相比往年可能电脑整体价格偏贵。最后在闲鱼闲逛时发现一个华硕Chromebox3,和妙算2C一样的配置,价格只要850,当场拿下。

根据up主视频中的描述,如果是只录包不解算的话,N100之类的其实就能用。如果需要实时运算的话,就得选择更高的配置了。

另外根据up主的建议,如果不熟悉linux系统,不建议选择arm系列的主机,尽量选择x86架构的。因此选型未考虑各路arm小主机。

硬件同步器

其实本体相当简单,就是一个STM32F103C8T6用定时器输出了一个10Hz和一个1Hz的方波,然后用串口输出一个伪装的GPS数据,以此给激光雷达和相机进行时间同步。复现参照https://github.com/xuankuzcr/LIV_handholdhttps://github.com/hku-mars/FAST-LIVO2/issues/119

根据使用的激光雷达不同,接线方式有所区别。

Mid-360的串口是TTL电平的,可以直接连接STM32的串口,也可以直接解析GPRMC帧,直接将硬件同步器的串口输出接到雷达的串口输入,再把1Hz信号给上去即可。

我按某个开源支架的空间画了个小板子,诱骗pd输出12v,同时为雷达和相机提供供电和时间同步。还没做出来暂时不知道好不好使……

环境搭建

硬件准备好了我们就可以开始搭建软件环境了。骗你的,其实我硬件还没准备好,总之先在小主机上搭个环境看看情况。

这里直接按照https://www.scan2.world/blog/1教程中的步骤操作就可以了。

我自己是在走到教程第零章第4条中给出的这两条指令时发生了报错,提示指令语法有问题。

git clone (https://github.com/zsh-users/zsh-autosuggestions ) ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

git clone (https://github.com/zsh-users/zsh-syntax-highlighting.git ) ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

作为对linux一窍不通的人此时当然应该求助ai,将指令修改为以下形式后可以正常运行。

git clone https://github.com/zsh-users/zsh-autosuggestions.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}"/plugins/zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}"/plugins/zsh-syntax-highlighting

下一个遇到的问题是在安装ROS时,系统提示下列软件包有未满足的依赖关系,无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。最后使用aptitude安装解决。

首先安装aptitude,随后使用aptitude安装ros软件包。

sudo apt install aptitude

sudo aptitude install ros-noetic-desktop-full

aptitude会给出依赖修复方案,你拒绝后会采用其他方案。参照教程https://zhuanlan.zhihu.com/p/679255133,拒绝两次,直到只有一个包未安装,此时可以选yes了。

Keep the following packages at their current version:
1)      libcurl4-gnutls-dev [Not Installed]

      Downgrade the following packages:
2)      libgphoto2-6 [2.5.25-0ubuntu0.1 (now) -> 2.5.24-1 (focal)]

Accept this solution? [Y/n/q/?] y

目前我只进行到这里,后续等待更新吧。

小更新:重建世界LAB的FAST-LIVO2(手持设备)教程1:Ubunut20.04 下的环境安装,第五章运行演示,需要使用fast-livo2原作者提供的示例 Rosbag 数据包进行测试。但是原作者github中附带的网盘链接报403错误无法下载。可以看到github中有人对此问题提出了issue,有好心人提供了百度网盘链接https://github.com/hku-mars/FAST-LIVO2/issues/422,注意数据集中有多个rosbag,总体大小有40多GB