Ubuntu22.04 使用docker运行vins-fusion

Ubuntu22.04 使用docker运行vins-fusion

​ubuntu22.04对于vins-fusion来说实在是太新了,在配环境的过程中会遇到各种各样的问题,此时就需要docker上场了,但dockerhub里的image没有说明,于是在一番摸索下有了这篇文章。

安装Docker

  • 参照下面的步骤即可安装成功:

    https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04

拉取vins-fusion的image

  • 选择自带数据集的vins-fusion(其他版本也是可以的)

    docker pull jianchong/vins-fusion
    

运行下载好的vins-fusion

​这里需要注意的是:下载好并运行的vins-fusion本身就是一个完整的编译好的container,不需要再次编译,也不需要使用vins-fusion源文件中的Dockerfile进行make build,因此使用时运行的是通过catkin_make编译而成的launch文件,而不是docker文件夹里的run.sh,请读者理清其中的关系

  • 运行vins-fusion

    xhost +local:docker
    docker run -it --net=host -e DISPLAY=:0 jianchong/vins-fusion /bin/bash
    
    >如果出现类似`qt.qpa.screen: QXcbConnection: Could not connect to display:13` 这样的报错,基本问题都出在这个环节,没有和host建立正确的连接或者当前的container没有足够的权限访问x-server。
    

    可能的解决办法:

    1. 在host使用echo $DISPLAY查看并修改DISPLAY=:后面的数字;
    2. 在host使用:xauth list,将整行复制,进入container之后,使用xauth add <token>,其中<token>就是你刚刚复制的一整行,如果提示SSH XForwarding fails - xauth bad display name,那么需要在主机名后面加上:$DISPLAY$DISPLAY$就是第一种方法查看到的数字。
  • 进入运行的目录

    cd ~/catkin_ws
    
  • 设置环境变量(每开一个终端都需要运行)

    source ~/catkin_ws/devel/setup.bash
    
  • 第一个终端(当前终端)

    roslaunch vins vins_rviz.launch
    
  • 第二个终端:

    • 打开第二个终端,查看当前container ID

      docker ps
      
    • 连接container

      docker exec -it 你的container_ID /bin/bash
      
    • 再次设置环境变量

    • 根据相机类型选择运行的语句

      rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml //Monocular + IMU
      
      rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml  //Stereo + IMU
      
      rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_config.yaml  //Stereo only
      
  • 第三个终端:

    • 打开第三个终端并连接

      docker exec -it 你的container_ID /bin/bash
      
    • 播放rosbag(存放rosbag的路径)

      rosbag play ~/catkin_ws/data/MH_01_easy.bag
      
  • 运行效果:

running-gui

running-res

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值