Ubuntu22.04 使用docker运行vins-fusion
·
参考:https://blog.csdn.net/qq_42262078/article/details/130575984
目录
1. 安装Docker
参考:https://yeasy.gitbook.io/docker_practice/install/ubuntu
2. apt更换国内镜像源
参考:https://blog.csdn.net/carefree2005/article/details/134133077
3. 拉取vins-fusion的image
- 选择自带数据集的vins-fusion
docker pull jianchong/vins-fusion
4. 文件检查
这里需要注意的是:下载好并运行的vins-fusion本身就是一个完整的编译好的container,不需要再次编译,也不需要使用vins-fusion源文件中的Dockerfile进行make build,因此使用时运行的是通过catkin_make编译而成的launch文件,而不是docker文件夹里的run.sh。
4.1 确认 Docker 容器内的文件位置
- 进入容器后,关键目录如下:
# 查看自己的容器ID
# docker ps
# 进入容器
docker exec -it <container ID> /bin/bash #<container ID>为自己的容器ID
# 检查 VINS-Fusion 源码位置
ls ~/catkin_ws/src/VINS-Fusion/
# 检查数据集位置
ls ~/catkin_ws/data/ # 应包含 MH_01_easy.bag
# 检查编译后的环境
ls ~/catkin_ws/devel/ # 应包含 setup.bash
4.2 如果 devel/setup.bash 不存在
- 说明镜像未预编译,需手动编译:
cd ~/catkin_ws
catkin_make # 编译
source devel/setup.bash # 加载环境
5. 完整运行流程
终端1:启动 RVIZ
docker exec -it <container ID> /bin/bash #<container ID>为自己的容器ID
cd ~/catkin_ws
source devel/setup.bash
roslaunch vins vins_rviz.launch
终端2:运行 VINS 节点
docker exec -it <container ID> /bin/bash #<container ID>为自己的容器ID
cd ~/catkin_ws
source devel/setup.bash
rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
终端3:播放数据集
docker exec -it <container ID> /bin/bash #<container ID>为自己的容器ID
rosbag play ~/catkin_ws/data/MH_01_easy.bag
6. 运行结果

更多推荐
所有评论(0)