Docker搭建SLAM进行建图

这篇具有很好参考价值的文章主要介绍了Docker搭建SLAM进行建图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

[前言]

Docker介绍

Docker使用步骤

1.将.tar文件导入docker中

2.查看镜像是否成功导入

3. 将镜像生成容器

4.docker使用方法


[前言]

本文主要介绍了使用docker-slam进行建图实验,博主的Ubuntu系统的内存不够用了,跑不了Docker,是在别人的电脑上跑的,故这里就无法提供相关的材料及压缩包。

写这篇博客的目的是了解docker及其使用步骤,也方便自己后续复习,同时将知识分享给他人。

Docker介绍

在开始之前,我们思考一下,docker是什么?为什么要使用docker?

概念:docker翻译为容器/码头工人。是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

原因:Docker可以让开发者打包他们的应用以及依赖,打包到轻量级、可移植的容器中,然后发布到任何一个流行的Linux服务器上,也可以实现虚拟化。也就是说打包了之后,可以做到将用户的app及其运行环境实现“一次封装,到处运行”

配置docker:这里推荐小鱼的一键安装代码

wget http://fishros.com/install -O fishros && . fishros

Docker使用步骤

1.将.tar文件导入docker中

//此处输入自己电脑存放slam.tar的位置

//eg:

docker load < /home/ys/桌面/shiyanzhou/slam.tar

2.查看镜像是否成功导入

docker image ls

3. 将镜像生成容器

sudo docker run -dit --name=slam --privileged --network=host -v /home/ys/桌面/shiyanzhou:/home -v /tmp/.X11-unix:/tmp/.X11-unix --device=/dev/dri/renderD128 -v /dev:/dev -v /usr/share/fonts:/usr/share/fonts --device /dev/snd -e DISPLAY=unix$DISPLAY slam:1.0

Docker搭建SLAM进行建图,docker,eureka,容器

但是到了这一步会报错:

docker: Error response from daemon: Conflict. The container name is already in use by container You have to remove (or rename) that container to be able to reuse that name.

意思是在此之前已经启动了相同名字的docker容器,我们需要删除这个container:

docker rm YOUR_CONTAINER_NAME

有时可能删除失败,原因是container正在运行,只需要让它停下:

docker stop YOUR_CONTAINER_NAME

OK!重新执行,生成容器,成了!

Docker搭建SLAM进行建图,docker,eureka,容器

4.docker使用方法

接下来,我们需要进入容器了,新建终端:

docker exec -it slam /bin/bash

Docker搭建SLAM进行建图,docker,eureka,容器

Look!进入容器后,终端命令行的开头都发生了变化!

进入root(所有建图方法放在/root目录下):

cd /root/bag

rosbag play all_2023-12-25-02-59-36.bag

正常来说,到了这里会报错,我们需要新建一个终端roscore一下:

roscore

roscore是用来启动ros master,是运行ros系统前首先运行的命令,publisher与subscriber在交流之前需要通过master确认话题是否一致,然后再基于服务通讯协议,再脱离master进行通信

Docker搭建SLAM进行建图,docker,eureka,容器

重新运行:

rosbag play all_2023-12-25-02-59-36.bag

建图算法放在/root/slam文件夹下,相关编译完成,可以直接运行,在上一步所有传感器成功驱动之后,建图算法启动流程如下:

//新建终端,进入容器

docker exec -it slam /bin/bash

cd /root/slam/liorf          

source devel/setup.bash

roslaunch liorf run_lio_sam_default.launch

Docker搭建SLAM进行建图,docker,eureka,容器

这时,可能会报错,出现[rviz-3] process has died

Docker搭建SLAM进行建图,docker,eureka,容器

我们只需要在新建终端输入(宿主机即可,不需要进去容器):

xhost +

xhost命令是X服务器的访问控制工具,用来控制哪些X客户端能够在X服务器上显示。

xhost+的作用是关闭访问控制,允许任何主机访问本地的X服务器

Docker搭建SLAM进行建图,docker,eureka,容器

之后重新:

roslaunch liorf run_lio_sam_default.launch

Docker搭建SLAM进行建图,docker,eureka,容器

ok!成功运行!

Docker搭建SLAM进行建图,docker,eureka,容器

这里附上过程图:

Docker搭建SLAM进行建图,docker,eureka,容器Docker搭建SLAM进行建图,docker,eureka,容器文章来源地址https://www.toymoban.com/news/detail-801451.html

到了这里,关于Docker搭建SLAM进行建图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何对Docker容器进行健康检查

    熟悉使用过kubernetes的人应该知道,kubernetes支持对pod进行健康检查的功能,这对生产业务来说其实是非常有用处的,能快速发现服务不可用,并进行快速重启恢复。其实不使用kubernetes这种容器管理工具,docker自身也能实现对容器的健康检查。 从docker 1.12 版本之后,Docker 实现

    2024年02月09日
    浏览(44)
  • 【云原生 • Docker】docker 环境搭建、docker 与容器常用指令大全

    目录 一、Docker 环境搭建 1. 准备工作(已有 Linux 环境可省略) 2. 安装 Docker 3. 设置 ustc 镜像 二、Docker/容器操作命令汇总 1. Docker 操作命令 2. 镜像相关命令 3. 查看容器 4. 创建容器 5. 停止与启动容器 6. 文件挂载 7. 目录挂载 8. 查看容器 IP 地址 9. 删除容器 1. 准备工作(已有

    2024年01月16日
    浏览(65)
  • 【Docker】搭建便捷的Docker容器管理工具 - dockerCopilot

    本教程基于绿联的NAS设备 DX4600 Pro 的 docker 功能进行搭建。前面有介绍过 OneKey ,而 dockerCopilot 便是 OneKey 的升级版,作者对其进行了重新命名,并且对界和功能都进行了全面的优化。 目前通过绿联自带的Docker管理器部署的dockerCopilot可能会导致绿联的Docker服务自动关闭,推荐

    2024年04月09日
    浏览(45)
  • windows下搭建docker容器环境

    下载Docker Desktop https://www.docker.com/ 安装Docker Desktop(软件默认安装c盘,若要安装到其他盘,在安装之前创建软连接再进行安装) 在自定义磁盘中创建对应文件夹, 使用 mklink /j “原文件夹路径” “目标文件夹路径” 进行软连接的创建 mklink /j “C:Program FilesDockerDocker” “D:Program

    2024年02月08日
    浏览(48)
  • Docker 搭建 Jenkins 容器 (完整详细版)

    Docker 安装 (完整详细版) Docker 日常命令大全(完整详细版) 前言 需要提前准备的条件 Maven环境 Docker环境 JDK环境(Centos7.4自带JDK环境去除,重装的JDK) 一、Jenkins镜像 这里使用的是第二个镜像(因为第一个镜像的docker版本较低)  二、启动Jenkins容器  创建挂载文件夹,并且进行文件

    2023年04月12日
    浏览(34)
  • Docker 搭建 Minio 容器 (完整详细版)

    简介: Minio 是一个基于Apache License v2.0开源协议的对象存储服务,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。 例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几

    2024年02月03日
    浏览(44)
  • Docker 基础实战:环境搭建、容器、仓库、镜像

    可以使用 docker help 或者 man docker-run 来获取完整的 Docker 命令列表,本文只介绍一些常用的命令与参数。 考虑到安装流程过于繁琐,在 CentOS 中,可以使用官方提供的脚本来快速安装 Docker: 可以从 https://get.docker.com/ 查看支持的操作系统。 当安装完毕后,设置开机自启动 Doc

    2024年02月16日
    浏览(49)
  • 云服务器-Docker容器-系统搭建部署

            最近公司在海外上云服务器,作者自己也搞了云服务器去搭建部署系统,方便了解整体架构和系统的生命周期,排查解决问题可以从原理侧进行分析实验。虽然用的云不是同一个,但是原理都是相通的。         作者选用的是腾讯云,没别的原因,就是便宜加牌子大

    2024年02月12日
    浏览(55)
  • Docker容器学习:搭建ownCloud个人网盘

    目录 前提环境 拉取镜像 创建容器 创建mysql容器: 创建OwnCloud容器,并连接到数据库: 创建Nginx容器: 配置nignx 基于Centos7.9版本环境安装Docker-ce:24.0.5 但是值得注意的是OwnCloud自带有Web功能,所以不使用Nginx一样是可行的! 如果你想要添加SSL实现保密传输,那可能就需要一些

    2024年02月11日
    浏览(40)
  • docker基于已有容器和通过Dockerfile进行制作镜像配置介绍

    目录 一.制作镜像的两种方式 1.在已有容器中更新并提交这个镜像 2.使用Dockerfile来制作 二.基于容器制作镜像 1.格式 (1)主要格式 (2)可选参数 2.案例 基于容器创建镜像设置标签并进行验证是否可用 (1)运行容器并写入验证内容(改变容器存储层内容) (2)另起终端制

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包