arthas 监控docker 容器 docker 摄像头_ide


openvslam配置与实际测试(使用Docker安装)

日本先进工业科技研究所(National Institute of Advanced Industrial Science and Technology )

最近开源了一套视觉SLAM的框架:

OpenVSLAMgithub.com


特色:

  • 支持多种相机: monocular stereo RGBD
  • 相机模型多样: perspective fisheye equirectangular
  • 地图存储与加载还有利用已构建的地图进行重定位的功能
  • 模块化的代码结构,方便用户自己定义新的模型或者算法


arthas 监控docker 容器 docker 摄像头_Docker_02

openvslam


1. 使用Docker配置openvslam

ps:之所以选择Docker主要是因为只是测试一下程序效果,并且程序依赖复杂,Docker更加省心.

1.1 安装Docker

网上有各种各样的教程,按照教程走就完事了.我自己用的Docker一键安装脚本(老板自己写的,用着还挺不错)

JiaoYanMoGu/system_configsgithub.com


arthas 监控docker 容器 docker 摄像头_ide_03


1.2 构建Docker镜像

安装好了Docker之后,执行如下命令即可:


cd /path/to/openvslam 
docker build -t openvslam-desktop -f Dockerfile.desktop . 
# 如果电脑性能不错,可以选择多线程构建镜像
# docker build -t openvslam-desktop -f Dockerfile.desktop . --build-arg NUM_THREADS=4


一般网络正常的话,几十分钟就能构建完毕,主要是里面听过包需要从Github上下载,偶尔会网络问题中断,记得重新执行一下上面的构建命令即可.

1.3 使用Docker运行openvslam

首先需要执行:


xhost +local:


因为openvslam有GUI显示部分,如果不开启电脑的X11服务的权限,Docker内部的容器无法调用X11服务在外部显示.


docker run -it --rm  -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix:ro  -v /home/dell/workspace:/workspace --volume /home/dell/Dataset/openvslam_dataset:/dataset:rw   openvslam-desktop


前面的一坨参数是Docker内运行GUI程序的一些配置,在自己电脑上运行主要要修改的是后面这段:


-v /home/dell/workspace:/workspace --volume /home/dell/Dataset/openvslam_dataset:/dataset:rw   openvslam-desktop
# 把本机目录/home/dell/workspace挂载到Docker容器中对应的文件夹为/workspace
-v /home/dell/workspace:/workspace 
# 同上 rw为读写权限,你也可以设定为ro只读,最后的为镜像名
--volume /home/dell/Dataset/openvslam_dataset:/dataset:rw   openvslam-desktop


1.4 运行程序

如果一切正常的话,现在已经进入Docker容器内,接下来直接运行/openvslam/build下的一些可执行文件即可.官方提供了常见的数据集:kitti euroc tum 数据集的运行程序,直接按照要求输入参数即可运行.

下面以官方提供的数据集为例:


DATASET_PATH=/dataset/equirectangular_datasets/aist_entrance_hall_1
/openvslam/build/run_video_slam  -v /dataset/orb_vocab.dbow2  -m $DATASET_PATH/video.mp4  -c $DATASET_PATH/config.yaml   --map-db map.db --eval-log # 最后一个参数用来输出运行轨迹


如果一切正常,终端中会显示如下内容,并弹出窗口运行slam程序:


arthas 监控docker 容器 docker 摄像头_arthas 监控docker 容器_04


2. 实际运行效果


arthas 监控docker 容器 docker 摄像头_ide_05