PX4 docker gazebo 安装踩坑记

2023-05-16

本来想在Linux上自己一步步搭建 px4的仿真gazebo程序的,查了资料发现docker已经打包好了,就直接找到这个目录,跟着一步一步的安装
PX4 docker

但是在安装的过程中,有一些学习和踩坑如下:
1
curl -fsSL get.docker.com -o get-docker.sh
有关curl的使用
-fsSL 相当于合并几个命令 -f -s -S -L
sudo sh get-docker.sh

2
mkdir src
cd src
git clone https://github.com/PX4/Firmware.git
生面这一步一定跟着做,下载速度非常慢,我本来直接训练下载的zip文件解压后移到 src下面 但是这样为后面埋坑了
加快git clone的方法
运行完上面那一步,进入src/Firmware 目录下,再输下面的命令(其他目录下运行会报fatal错误)

git submodule update --init --recursive 下载也是很慢,我是直接去GitHub把子模块下载下来放到相应的文件夹里面去

这一步的解释是:
当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来
的,此时,只需执行如下命令:
git submodule update --init --recursive
即可将子模块内容下载下来后工程才不会缺少相应的文件。
参考这个 git submodule 的使用
我上面那样操作不行的原因是 我执行git命令的时候报了这个错
fatal: not a git repository (or any of the parent directories): .git

3 cd Firmware

4 xhost +
这个命令的解释
xhost 是用来控制X server访问权限的,这个命令将允许别的用户启动的图形程序将图形显示在当前屏幕上.。通常当你从hostA登陆到hostB上运行hostB上的应用程序时,做为应用程序来说,hostA是client,但是作为图形来说,是在hostA上显示的,需要使用hostA的Xserver,所以hostA是
server.因此在登陆到hostB前,需要在hostA上运行xhost +,来使其它用户能够访问hostA的Xserver.
xhost + 是使所有用户都能访问Xserver.
xhost + ip使ip上的用户能够访问Xserver.
xhost + nis:user@domain使domain上的nis用户user能够访问
xhost + inet:user@domain使domain上的inet用户能够访问。

5docker run -it --privileged \ --env=LOCAL_USER_ID="$(id -u)" \ -v <host_src>:<container_src>:rw \ -v /tmp/.X11-unix:/tmp/.X11-unix:ro \ -e DISPLAY=:0 \ -p 14556:14556/udp \ --name=<local_container_name> <container>:<tag> <build_command>
参考docker run的命令

–env 指定环境变量
-v 指定容器内目录与宿主机目录共享(: 之前是宿主机文件夹,之后是容器需共享的文件夹),
rw代表
这个时候只有docker的写可以同步到宿主主机上面去,宿主主机写不同步到docker。而且一旦宿主主机
上写了修改了映射文件,那么docker里面再怎么写都不再同步到宿主主机了
-v 共享本地unix端口,访问X11 的显示接口(docker运行GUI软件的配置方法)
ro代表
这个时候docker内也不能写,宿主主机写了也不同步进去了,相当于创建的时候拷贝一份不可改变的配
置进来而已。
-e 修改环境变量DISPLAY,映射到主机的0端口
6 cd src/firmware
进入容器里面的 这个文件夹

7 运行make px4_sitl_default gazebo
报错c++: internal compiler error: Killed (program cc1plus) 查资料发现内存不够
点这儿看怎么增加内存,里面有一个命令有错,但是不执行那一步就行,或者可以看评论
8 再运行 make px4_sitl_default gazebo
报错
Can’t open display
也就是docker容器没有成功调动主机的GUI显示界面
然后百度了一堆教程 修改了一堆文件 最后好了 也不知道哪一个有用
自己猜的应该是下面两部管用
(1)安装xserver
$ sudo apt install x11-xserver-utils
许可所有用户都可访问xserver
xhost +

(2)在docker宿主机关闭X11验证
sudo vim /etc/lightdm/lightdm.conf
#增加 xserver-allow-tcp=true
sudo systemctl restart lightdm
xhost + #每次重新开机后都要运行
9 成功运行起来

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4 docker gazebo 安装踩坑记 的相关文章

  • Docker中网络的使用和配置用法详解

    一 单个物理机中docker网络 1 1 Docker默认网桥 安装Docker 服务默认会创建一个 docker0 网桥 xff08 其上有一个 docker0 内部接口 xff09 xff0c 它在内核层连通了其他的物理或虚拟网卡 xf
  • mongo数据库中字符串型正负数值比较大小

    数据库中数据展示 xff1a 使用python代码实现 xff1a Requires pymongo 3 6 0 43 from pymongo import MongoClient client 61 MongoClient 34 mon
  • IDEA插件系列(3):Easy Javadoc插件——快速生成javadoc文档注释

    1 插件介绍 Easy Javadoc插件 能帮助开发者快速生成类 方法 属性等中文javadoc 2 安装方式 第一种安装方式是在线下载安装插件 第二种安装方式是使用离线插件进行安装 插件下载地址 xff1a https plugins
  • flask项目中内部接口调用其他内部接口操作

    1 requests 在 Flask 框架项目中 xff0c 可以通过使用 requests 模块来进行内部接口调用 requests 模块是 Python 中常用的 HTTP 请求库 xff0c 可以用于发送 HTTP 请求和处理响应 示
  • ElasticSearch删除索引中的数据(delete_by_query)

    1 删除两个月以前的数据 在 Elasticsearch 中 xff0c 要删除两个月以前的数据 xff0c 可以通过以下步骤 xff1a 计算当前时间的两个月前的日期 xff0c 可以使用 Python 的 datetime 模块来实现
  • ubuntu进入initramfs,系统黑屏

    ubantu黑屏 解决方法 解决方法 1 如果在initramfs模式输入reboot重启 xff0c 或者长按开机键强制关机重启 xff0c 然后选择ubuntu xff08 高级选项 xff09 中的修复模式 xff08 recover
  • You must specify at least three points for the robot footprint,reverting to previous footprint

    找到 costmap common params yaml xff0c 修改成如下形式 xff1a robot radius 0 20 distance a circular robot should be clear of the obs
  • 基于Anaconda3.8环境安装Python3.6

    基于Anaconda3 8环境安装Python3 6 1 通过如下命令查看当前已经装好的python环境 conda info e 2 通过python V 查看当前所处的版本 3 装好anaconda3 8以后想再安装一个python3
  • PX4无人机环境搭建

    PX4无人机资料开发 1 1 Ubuntu系统的安装及相关工具使用ubuntu 系统安装以及基础使用系统安装ubuntu基础使用常用工具使用git常用命令 1 2PX4开发环境搭建编译工具链的安装code安装使用 1 1 Ubuntu系统的
  • 3 FlightPlot安装使用方法

    FlightPlot安装使用方法 下载flightPlot源码下载切换openjdk 版本重启安装flightPlot 下载flightPlot源码 git clone recursive https github com PX4 Flig
  • 在Windows下安装TensorFlow和Keras

    在Windows下安装TensorFlow和Keras 1 安装 Anaconda3 5 1 0 Windows x86 64 exe xff0c 之前用的版本 xff0c 也可以下载更新的版本 绝大多数都选用默认选项即可 xff0c 遇到
  • 初学STM32

    编译出错 xff1a Error L6002U could not open file o No such file or directory 原因 xff1a 汉化出问题
  • 百度可视化工具Sugar简单介绍以及使用说明

    百度可视化工具Sugar简单介绍以及使用说明 介绍使用指南免费试用快速入门 使用流程使用示例 这是我个人的第一篇博客 最近因为工作原因 xff0c 需要了解百度可视化工具Sugar xff0c 因此在这里做个总结 xff0c 同时也为自己梳
  • 四小时Jsp期末作业速成——MyBlog个人博客系统(javaweb:非框架)

    MyBlog个人博客系统 xff08 javaweb 非框架 xff09 目录第一章 系统简介 31 1 背景及意义 31 2 开发目的 31 3 开发环境 3 第二章 系统设计 42 1 系统分析 42 1 1 系统需求分析 42 1 2
  • 【已解决】Ubantu问题记录:在连接网线的情况下ubuntu系统ping网关不通以及无法上网

    问题背景 xff1a 我们的服务器配置了两张在同一网段下的网卡 xff0c 卡 eno4 连接以太网ip xff1a 192 168 2 10 网关192 168 2 1 卡 eno2 ip xff1a 192 168 2 12 网关192
  • ros知识点

    工作空间 一个典型的ROS工作空间目录结构如下 所有ROS程序都必须放置在某个ROS工作空间 workspace 下 xff0c 我们在主目录下创建一个名为catkin ws的ROS工作空间 ROS工作的空间名字可以随便取 xff0c 一般
  • 我有一个IT梦

    介绍 作为一名大二的学生 xff0c 接触计算机基础技术近乎俩年 xff0c 俩年来我愈加发觉计算机是一门发展力很强的学科 它多式多样 xff0c 更像是一种挑战 xff0c 对于好强的我来说 xff0c 越来越着迷计算机的世界 纵然未知的
  • Mac 自动代理切换

    Mac 自动代理切换 背景 xff1a 工作有时需要用goole搜索 xff0c 所以会配置一下公司提供的HTTP和HTTPS代理 xff0c 但是下班之后回到家 xff0c 只有公司内网才能访问代理 xff0c 所以还需要把代理关掉 每次
  • 仅拉取git远程仓库中特定的单个分支

    结论 拉取git远程仓库中特定的单个分支的关键在于 xff1a 调用git clone时候 xff0c 添加 branch选项与 single branch git clone git clone克隆远程仓库时 xff0c 默认会依次做以下
  • Windows10通过网线连接树莓派ubuntu server系统

    Windows10通过网线连接树莓派ubuntu server系统 材料 xff1a 烧录ubuntu server 18 04镜像的树莓派 xff0c 网线一根 xff0c Window10电脑 操作 Windows10通过网线连接树莓派

随机推荐

  • 树莓派安装ROS操作系统并配置VNC连接

    树莓派 4B xff08 2G xff09 的准备工作 一 烧录ubuntu server 18 04 LTS镜像二 ubuntu系统安装桌面三 树莓派开启VNC连接1 使用dconf editor2 开启桌面共享服务3 Windows端下
  • Vscode配置树莓派ROS的开发环境

    树莓派安装ROS系统和远程连接配置我的这篇博客 附上连接 xff1a https blog csdn net weixin 44815966 article details 112697896 开发ros机器人时 xff0c 为了方便开发和
  • ROS操作系统 opencv-python读取摄像头+rviz可视化

    ROS操作系统 opencv python读取摄像头 43 rviz可视化 一 安装opencv python二 opencv读取摄像头三 图片转换为ROS图片格式并且在rviz显示 测试环境 xff1a 树莓派ubuntu 18 04 5
  • Git 报错:Connection closed by remote host. fatal: Could not read from remote repository.

    Git deploy 部署报错 xff1a ssh exchange identification Connection closed by remote host fatal Could not read from remote repo
  • RabbitMQ详解(二):Docker安装RabbitMQ

    一 安装并运行二 其他操作 在Docker上安装部署RabbitMQ方便快捷 xff0c 不需要额外安装Erlang环境 xff0c 所以写该篇文章先来介绍如何在Docker上部署RabbitMQ 一 安装并运行 1 在docker hub
  • android 注解和反射 (入门以及使用)

    先来看一看今天的效果 代码效果 效果不重要 重要的是代码 注解 官方解释 从JDK5开始 Java增加对元数据的支持 xff0c 也就是注解 xff0c 注解与注释是有一定区别的 xff0c 可以把注解理解为代码里的特殊标记 xff0c 这
  • Linux ubuntu安装LLVM12+Clang

    安装之前确保安装cmake3 20以上版本 参考https blog csdn net weixin 42888638 article details 125617062 从官网下载安装包 llvm project 12 0 0 src t
  • 总线?什么是总线?

    近期 有些小朋友问我 xff1a Jing哥啊 xff0c 计算机好多基础我都不懂 xff0c 看编程视频讲到的时候 xff0c 什么数据总线 xff0c 地址总线我都不懂 其实阿Jing以前也有这个困扰 xff0c 一直困扰 xff0c
  • FreeRTOS学习 任务调度

    任务调度 任务调度实现在多个任务之间轮流使用CPU xff0c 他的主要工作分为三个阶段 xff1a 保存当前任务上下文到任务栈选择新任务恢复新任务的上下文 这三个步骤需要在中断服务函数中执行 xff0c 所以要求执行的速度要快 xff0c
  • FreeRTOS学习 信号量

    信号量 FreeRTOS 学习仓库 xff1a https gitee com killerp free rtos study 在深入理解了消息队列后 xff0c 信号量也就很容易学习了 因为信号量就是使用消息队列实现的 信号量是特殊的消息
  • Java-CSS基础选择器

    标签选择器 HTML标签作为标签选择器的名称 p为标签选择器 p 属性 font size 20px 声明 值 类选择器 lt 标签名 class 61 34 类名称 34 gt 标签内容 lt 标签名 gt class为类名称 xff1b
  • Java-CSS层次选择器

    层次选择器 后代选择器 选择器 xff1a E F xff08 两个选择器之间必须要以空格隔开 xff09 功能 xff1a 选择匹配的F元素 xff0c 且匹配的F元素被包含在匹配的E元素内 lt p gt 1 lt p gt lt p
  • arm-linux-gcc踩坑1

    嵌入式实验要用到交叉编译arm linux gcc xff0c 其中遇到一些问题 xff0c 记录如下 1 安装交叉编译器并更新环境 xff1a export PATH 61 PATH usr local arm 4 6 2 bin gcc
  • python实现基本算法之归并排序(Merge sort)

    基本算法之归并排序 Merge sort 基本算法 04 归并排序 Merge sort 算法 往期请看选择排序 xff0c 插入排序 xff0c 归并排序 xff0c 快速排序等等都发布的 xff01 欢迎大家批评指正 xff01 文章目
  • Linux学习笔记——第一章 Linux是什么如何学习

    前言 鸟叔的Linux私房菜第四版 学习笔记 1 Linux是什么 1 1 Linux是什么 Linux是一套操作系统 xff0c 就像Windows一样 操作系统会有效率的控制计算机硬件的资源分配 xff0c 并提供计算机运作所需要的功能
  • MaxWell的使用

    Maxwell的使用 1 Maxwell的概述 1 1 官网简介 This is Maxwell s daemon an application that reads MySQL binlogs and writes row updates
  • 对图像维度进行调整(升降维和调整顺序)

    图片路径 xff1a img path span class token operator 61 span span class token punctuation span span class token operator span d
  • 题目 3:逆函数随机采样

    题目 3 xff1a 随机采样 小透明 任务定义 已知 LaplaceX 随机变量X xff0c 它的均值为 0 xff0c 方差为 1 通过一个均匀分布的随机抽样 xff0c 实现对x p x 的抽样 xff0c 并得到对应的 100 个
  • VMware虚拟机如何为GPU直通启用

    查阅了很多资料是 目前的我的电脑显卡不支持 xff0c 基本上N卡的好多常用卡都不支持 具体可以查看以下内容 https www dell com support article zh hk sln288103 E5 A6 82 E4 BD
  • PX4 docker gazebo 安装踩坑记

    本来想在Linux上自己一步步搭建 px4的仿真gazebo程序的 xff0c 查了资料发现docker已经打包好了 xff0c 就直接找到这个目录 xff0c 跟着一步一步的安装 PX4 docker 但是在安装的过程中 xff0c 有一