如何使用docker配置ros-noetic环境并使用rviz,gazebo

参考链接:【Ubuntu】Docker中配置ROS并可视化Rviz及Gazebo_docker ros-CSDN博客

前言:

其实这个东西是相当必要的,因为我们有时候需要在一台电脑上跑好几个项目,每个项目都有不同的依赖,这些依赖冲突搞得人头皮发麻,与其整理乱糟糟的依赖关系,不如直接给每个项目一个环境。

一、详细步骤

1.拉取镜像

sudo docker pull osrf/ros:noetic-desktop-full

2.允许本地机器上的用户或进程连接到 X server

sudo xhost +local: 

不允许就是sudo xhost -local

3.构建容器

# volume=/tmp/.X11-unix:/tmp/.X11-unix  挂载宿主机和docker文件互传
# --device=/dev/dri:/dev/dri   有了这个才能够显示,可能让docker使用显卡
docker run -it \--volume=/tmp/.X11-unix:/tmp/.X11-unix \--device=/dev/dri:/dev/dri \     --device=/dev/snd \--env="DISPLAY=$DISPLAY" \--env="QT_X11_NO_MITSHM=1" \--name=ros_noetic_test_new \osrf/ros:noetic-desktop-full

4.显示rviz和gazebo

(1)打开两个终端,进入容器内

#ros_noetic_test 是容器名
docker exec -it ros_noetic_test bash

(2)刷新环境变量

source ./ros_entrypoint.sh

(3)一个启动roscore 一个启动rviz或者gazebo

二、docker 相关指令

1. 查看当前容器

#只能查看当前正在启动的容器
docker ps
#查看所有容器
docker ps -a

2. 启动容器

docker start 容器名

3. 停止容器

docker stop 容器名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/78850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Java 11 的 HttpClient 处理 RESTful Web 服务

在现代 Web 开发中,与 RESTful Web 服务交互是一项核心任务。Java 作为一种广泛使用的编程语言,提供了多种处理 HTTP 请求的方法。在 Java 11 之前,开发者通常使用 HttpURLConnection 或第三方库(如 Apache HttpClient)。然而,这些方法要么过于底层,要么需要额外依赖。J…

JVM——垃圾回收

垃圾回收 在Java虚拟机(JVM)的自动内存管理中,垃圾回收(Garbage Collection, GC)是其核心组件之一。它负责回收堆内存中不再使用的对象所占用的内存空间,以供新对象的分配使用。下面我们将深入探讨JVM中的…

经典密码学算法实现

# AES-128 加密算法的规范实现(不使用外部库) # ECB模式S_BOX [0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B,0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0,0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0x…

追踪大型语言模型的思想(下)(来自针对Claude的分析)

多步推理 正如我们上面所讨论的,语言模型回答复杂问题的一种方式就是简单地记住答案。例如,如果问“达拉斯所在州的首府是哪里?”,一个“机械”的模型可以直接学会输出“奥斯汀”,而无需知道德克萨斯州,达拉…

【Hive入门】Hive增量数据导入:基于Sqoop的关系型数据库同步方案深度解析

目录 引言 1 增量数据导入概述 1.1 增量同步与全量同步对比 1.2 增量同步技术选型矩阵 2 Sqoop增量导入原理剖析 2.1 Sqoop架构设计 2.2 增量同步核心机制 3 Sqoop增量模式详解 3.1 append模式(基于自增ID) 3.2 lastmodified模式(基…

[Windows] 蓝山看图王 1.0.3.21021

[Windows] 蓝山看图王 链接:https://pan.xunlei.com/s/VOPejo0dRLFd38dbpR7XA6djA1?pwddq9v# 由蓝山软件出品的一款免费高清看图软件,支持快速查看高清大图,支持大部分市面图片格式。 软件特点 1、体积小巧,图像显示效果清晰…

通配符 DNS 记录:应用场景与相关风险

随着组织的互联网基础设施不断扩展,其对配置、设置和决策的需求也随之增加——从选择一个可靠的名称服务器,到确定合适的 DNS 记录类型以及设置合适的 TTL(生存时间)值。其中一项关键决策就是是否要创建通配符 DNS 记录&#xff0…

快速上手知识图谱开源库pykeen教程指南(一)

文章目录 1 前情提要1.1 AmpliGraph 和 PyKEEN 对比介绍1.2 TransE、ConvE、RotatE几款模型的差异 2 直接上案例2.1 数据载入:TriplesFactory2.2 模型训练2.2.1 训练信息2.2.2 TransE模型可以降维实体、关系的关系 2.3 模型保存与加载、评估2.3.1 保存与模型加载2.3…

飞搭系列 | 获取弹窗数据,轻松实现回填

前言 飞搭低代码平台(FeiDa,以下简称“飞搭”),为企业提供在线化、灵活的业务应用构建工具,支持高低代码融合,助力企业低门槛、高效率和低成本地快速应对市场变化,加速复杂业务场景落地。 概要…

Linux如何安装AppImage程序

Linux如何安装AppImage程序 文章目录 Linux如何安装AppImage程序 在 Linux 中,.AppImage 是一种便携式的应用程序格式,无需安装即可运行。 1.赋予该文件可执行权限 可以使用下列命令,赋予可执行权限 # 举个例子 chmod x /path/to/MyApp.App…

云硬盘的原理

云硬盘是云计算环境中的一种存储服务,其原理主要涉及数据存储、数据冗余与容错、性能优化以及数据安全等方面,以下是具体介绍: 数据存储 逻辑卷管理:云硬盘通常会将物理存储设备划分为多个逻辑卷,每个逻辑卷可以独立地…

使用 pgrep 杀掉所有指定进程

使用 pgrep 杀掉所有指定进程 pgrep 是一个查找进程 ID 的工具,结合 pkill 或 kill 命令可以方便地终止指定进程。以下是几种方法: 方法1:使用 pkill(最简单) pkill 进程名例如杀掉所有名为 “firefox” 的进程&…

堆排序(算法题)

#include <bits/stdc.h> using namespace std;const int N 100010; // 堆数组的最大容量 int h[N], s; // h[]存储堆元素&#xff0c;s表示当前堆的大小// 下沉操作&#xff1a;调整以i为根的子树&#xff0c;维护小顶堆性质 void down(int i) {int t i; /…

极狐GitLab 如何将项目共享给群组?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 共享项目和群组 (BASIC ALL) 在极狐GitLab 16.10 中&#xff0c;更改为在成员页面的成员选项卡上显示被邀请群组成员&#xf…

用 CodyBuddy 帮我写自动化运维脚本

我正在参加CodeBuddy「首席试玩官」内容创作大赛&#xff0c;本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴”。 #CodeBuddy首席试玩官 背景 我个人是非常喜欢 Jenkins 自动化部署工具的&#xff0c;之前都是手写 Jenki…

基于windows安装MySQL8.0.40

基于windows安装MySQL8.0.40 基于windows 安装 MySQL8.0.40&#xff0c;解压文件到D:\mysql-8.0.40-winx64 在D:\mysql-8.0.40-winx64目录下创建my.ini文件&#xff0c;并更新一下内容 [client] #客户端设置&#xff0c;即客户端默认的连接参数 # 设置mysql客户端连接服务…

Python小酷库系列:5个常用的dict属性化访问扩展库

5个常用的dict属性化访问扩展库 嵌套结构高级功能性能综合建议 在前面我们详细讲解了 Box和 Munch这两个dict属性化访问的扩展库&#xff0c;总体而言它们主要用于提升配置文件数据、JSON对象数据的可读性&#xff0c;减少了代码中双引号。在这一领域中还有dotmap、addict 和…

OC语言学习——面向对象(下)

一、OC的包装类 OC提供了NSValue、NSNumber来封装C语言基本类型&#xff08;short、int、float等&#xff09;。 在 Objective-C 中&#xff0c;**包装类&#xff08;Wrapper Classes&#xff09;**是用来把基本数据类型&#xff08;如 int、float、char 等&#xff09;“包装…

密码学系列 - SR25519与ED25519

SR25519 SR25519 是一种高级的数字签名算法&#xff0c;它基于 Schnorr 签名方案&#xff0c;使用的是 Curve25519 椭圆曲线。这种签名算法在密码学社区中广受欢迎&#xff0c;特别是在区块链和加密货币领域。以下是关于 SR25519 的详细介绍。 SR25519 简介 SR25519 是一种 …

Vue3源码学习7-PatchFlags使用位算符

文章目录 前言✅ 一、基础知识&#xff1a;什么是二进制&#xff1f;✅ 二、位运算的基本操作✅ 三、左移运算 <<✅ 四、实际用途&#xff1a;如何用于状态标记&#xff08;PatchFlags&#xff09;✅ 五、组合多个状态标记✅ 六、小结口诀&#xff08;记忆&#xff09;✅…