Fast Livo2配置指南
写在前面
最近有一个实时重建的任务,任务的目的大概是希望可以在相机移动的过程中一边走一边把重建的结果绘制出来。一边走一边建图的这个东西叫做slam,而重建贴图之前用的比较多的是mesh,现在用的比较多的则是3DGS,也就是用高斯小球来进行表示。我在B站上看到了两个比较理想的效果,第一个效果是19年的工作,是在海底进行的重建。另外一个是对于济南的大明湖进行重建,并且可以在大明湖的这个场景中进行游戏的开发,他这个重建的场景是可以导入ue这个引擎中的。
视觉惯性-压力SLAM:水下考古遗址在线稠密三维重建_哔哩哔哩_bilibili
画面接近现实!当我把济南5A景区做进了游戏!高斯模型UE5技术演示 3DGS结合人工智能_哔哩哔哩_bilibili
基于上面两个东西,我找到了第二个场景中使用到的设备,这个设备是一个手持的激光扫描仪,满足我们对于低功耗的需求,请看这里的激光扫描仪,位置信息通过gps进行提供,另外找个扫描之后还提供了专业的处理软件lcc studio,通过lcc studio完成3D GS的重建,重建的结果可以通过浏览器进行查看或者是通过unity进行编辑。
硬件和软件的介绍参考这里:[支持-其域创新-三维重建-智能空间计算-手持SLAM](https://cdn-buklcc1.xgrids.cloud/help/1.9.1/Lixel CyberColor Studio用户手册——v1.9.1.pdf)

另外是设备方面,现在这里清楚之后可以明白的是,首先视觉相机获得彩色图像、激光相机获得深度信息、imu这个设备用于获得相机的位置和姿态信息,这个信息是可以通过相机和imu单元的相对位置信息来进行计算的,计算的过程如下。

对这段代码进行详细的解读:
w:world,世界坐标系(比如实验室固定的基准坐标)
cam:camera,相机坐标系
imu:IMU 坐标系(惯导的坐标)
由于公式显示不是很全,这里我直接将答案放在这里:


大概意思了解之后,也知道了效果是如何实现的,重新阅读水下重建的文章,会发现他这个轨迹是离线计算出来的,计算完轨迹之后大导入ros系统,完成重建,其实看到的三维重建的结果相当于只是稠密点云,稠密的点云没有经过渲染这样,右侧是稠密的点云,用声纳应该也能得到类似的效果,但是船载的声纳有个缺点是只能向下扫描。

只用二维图像建模:ContextCapture Center (smart3D)手机拍照三维建模教程_哔哩哔哩_bilibili
Ubuntu系统安装
ROS是需要跑在ubuntu系统下的,我参考的视频里面使用的版本是20.04,但是目前ubuntu官网的长期支持版本是ubuntu24.04,所以这里我直接使用的官网的长期支持版本,我使用的设备包含了两块硬盘,一块固态和一块机械,并且这个电脑上有一块3090的GPU。
首先是启动盘的制作,启动盘制作使用的是 Rufus,镜像下载的地址是这里:Ubuntu系统下载 | Ubuntu
我这里直接使用的是最新版本,如下所示:

烧录镜像非常简单,直接启动软件之后选择下载好的iso文件烧录即可。
烧录完成之后u盘插入电脑开始做系统即可,我的分区方案是这个。
efi系统分区:主分区:SSD硬盘:500MB
swap分区(交换空间):主分区:SSD硬盘:16GB内存至少分配8GB(我分配的16GB)
ext4分区:挂载点/:主分区:SSD硬盘:SSD内全部剩余空间
ext4分区:挂载点/home:主分区:机械硬盘:机械硬盘全部空间
前期配置
系统启动之后,我们需要进行一些前面的配置,为了下载速度能够快一些,我这里先把软件的源改成国内。

安装完了之后完了方便我们后面执行指令,这里需要安装一下oh my zsh,这个终端相对于原始的终端有自动补全的功能。
安装过程参考这里:ubuntu 24.04 安装zsh以及oh-my-zsh_ubuntu24.04 zsh-优快云博客
另外为了方便github国内加速,需要安装一下fastgithub:linux下github全局加速——fastgithub - 工程师焱记 - 博客园
安装git和代码编辑器,使用下面的指令:
sudo apt update
sudo apt install vim
sudo apt install zsh git -y
安装ros1
ros是机器人操作系统的简写,这个可以帮助我们看机器人运行的轨迹以及对数据的收发进行模型。
由于我这里使用的是ubuntu的24.04,所以安装 ros1的时候要使用一些特殊手段,如下所示。
先建立两个文件,分别是install.sh和clean.sh,文件的内容如下。
install.sh
#!/usr/bin/bash
# 作者:韩会会-QDFZZ.🔰
# 功能:一个在Ubuntu 24.04.2 LTS 上强制安装 ROS noetic的安装脚本
# 安装ros-noetic-desktop-ful的必要仓库,生成/etc/apt/sources.list.d/ros-for-jammy-ubuntu-noble-noble.sources
sudo add-apt-repository ppa:ros-for-jammy/noble -y
# 添加软件源
echo "deb [signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros-latest.list # 安装ros-noetic-navigation等ROS软件包必备
echo "deb http://archive.ubuntu.com/ubuntu focal main universe" | sudo tee /etc/apt/sources.list.d/focal.list # 安装ROS Noetic依赖包必备
# 添加密钥文件
sudo apt install curl
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg # 必备
# sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo gpg --dearmor -o /usr/share/keyrings/ros-noetic-keyring.gpg # 可要可不要
# curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - # 已过时。可要可不要
# 添加Focal源优先级设置
echo "Package: *
Pin: release n=focal
Pin-Priority: 100" | sudo tee /etc/apt/preferences.d/focal-pin
# 安装ros-noetci-desktop-full(完整桌面版)
sudo apt update
sudo apt install ros-noetic-desktop-full -y
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc # 将这句source追加到~/.bashrc文件末尾
source ~/.bashrc
clean.sh的内容如下
#!/usr/bin/env bash
# 作者:韩会会-QDFZZ.🔰
# 功能:清理 install.sh 对 Ubuntu 24.04 系统所做的 ROS Noetic 安装相关修改(APT层面)
set -e
echo "🧹 正在清理 ROS Noetic 安装脚本对系统做的修改..."
# 删除添加的 source 相关文件
sudo rm -f /etc/apt/sources.list.d/focal.list
sudo rm -f /etc/apt/sources.list.d/ros-latest.list
sudo rm -f /etc/apt/sources.list.d/ros-for-jammy-ubuntu-noble-noble.sources
# 删除 keyring 和 apt-key 添加的 key
sudo rm -f /usr/share/keyrings/ros-archive-keyring.gpg
sudo rm -f /usr/share/keyrings/ros-noetic-keyring.gpg
# 删除 focal pin 优先级
sudo rm -f /etc/apt/preferences.d/focal-pin
# 清理 apt-key 添加的 key(这步是全局清理,不一定非必要)
if apt-key list | grep -q "ROS Builder"; then
sudo apt-key del "$(apt-key list | grep -B 1 "ROS Builder" | head -n 1 | awk '{print $2}')"
fi
# 清理 .bashrc 中 ROS 的 source 行(只删 ROS Noetic 的)
sed -i '/source \/opt\/ros\/noetic\/setup.bash/d' ~/.bashrc
# 清理缓存
sudo apt clean
sudo apt update
echo "✅ 清理完成,你的系统已恢复至未安装ROS Noetic的状态(APT层面)"
建立完成之后执行下面的操作。
chmod +x clean.sh; chmod +x install.sh; ./clean.sh; ./install.sh
执行完成之后在三个不同的窗口中执行下列代码。
三条命令需要在三个不同的窗口中执行。
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
如果出现下面的小乌龟说明你的安装是正确的,小乌龟可以在左右键的控制下左右旋转,在上下的控制下前后平移。

接下来安装ros包即可。
sodu apt install ros-noetic-navigation
安装fast livo2
第三方包的安装
首先需要检查一下你的各个软件的版本是否符合要求,需要PCL>=1.8,Eigen>=3.3.4,OpenCV>=4.2。安装ROS的时候自动安装了这些包,你需要执行下面的命令来检查一下。
apt-cache show libpcl-dev | grep Version
pkg-config --modversion eigen3
pkg-config --modversion opencv4
-
编译安装第三方库 Sophus
下载源码:
git clone https://github.com/strasdat/Sophus.git cd Sophus git checkout a621ff修改源码的错误,eigen版本的更新会导致兼容性问题的出现。
需要修改的代码文件是sophus/so2.cpp
将32和33行的代码修改为34和35行的代码,如下所示

然后开始编译即可。
mkdir build && cd build cmake .. make sudo make install
livo2代码安装
-
创建Catkin工作空间
Catkin 是 ROS(Robot Operating System)的官方构建系统,用于组织、编译和管理 ROS 包。它基于 CMake 并提供了更便捷的工作流,支持多包并行编译、依赖解析和环境配置。
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src -
下载项目源码
下载rpg_vikit和fastlivo2到项目源码目录下。
# rpg_vikit git clone https://github.com/xuankuzcr/rpg_vikit.git # fast livo2 git clone https://github.com/hku-mars/FAST-LIVO2.git -
编译工作空间
cd .. catkin_make -
刷新环境
编译完成之后,刷新环境
source devel/setup.zsh
测试执行
作者提供了一些数据包,数据包的位置在这里:fast-livo2-dataset - OneDrive
先是启动可视化工具
roslaunch fast_livo mapping_avia.launch
新建一个终端,用于播放数据
rosbag play XXX.bag
然后就可以在Rviz中看到构建的点云地图和轨迹。

todo
- rosviz怎么用
- rosbag如何查看数据
- 重建之后的结果如何导出
2572

被折叠的 条评论
为什么被折叠?



