[折腾日记]PX4编译环境各种解决方案(ubuntu)

2023-05-16

这篇博客可以解决
PX4编译环境的安装
强烈建议使用Ubuntu16.04的64位版本!

方法1:官方脚本

如果你是新装的Ubuntu还没有装软件。那么用官方脚本可以直接安装。

官方提供了4个脚本
The scripts are:
1.ubuntu_sim_common_deps.sh:
该脚本包含所有PX4构建目标的通用依赖关系,可以安装全部编译环境。
2.ubuntu_sim.sh: ubuntu_sim_common_deps.sh + Gazebo8 simulator.在1号脚本的基础上添加了Gazebo8仿真软件的安装
3.ubuntu_sim_nuttx.sh: ubuntu_sim.sh + NuttX tools.在2号脚本的基础上添加了NuttX tools
这需要完成计算机重新启动
4.ubuntu_sim_ros_gazebo.sh: ubuntu_sim_common_deps.sh + ROS/Gazebo and MAVROS.
在1号脚本的基础上添加了完整的ROS和MAVROS软件的安装

我使用的是4号脚本,因为我想使用ROS,和gazebo对飞行器进行仿真,为之后的修改代码调试提供基础。

更详细的脚本解读参考JXF的博客

在终端输入以下指令将将用户添加到附属组群:
sudo usermod -a -G dialout $USER
注销并重新登录
保存如下脚本ubuntu_sim_ros_gazebo.sh
使脚本生效,执行指令
source ubuntu_sim_ros_gazebo.sh.sh
等脚本执行完
重启电脑

不少同学用这些脚本都是直接成功了。

但是我还是出了点小问题,我第二天来看我的编译环境的时候,出现了如图提示,缺少empy,和toml(toml的报错图忘截)


但是没关系编译问题的核心就是缺啥装啥
安装提示输入
sudo apt-get install python-empy

还是不行,还是报错
于是我查了一下资料,需要用这个命令
python -m pip install empy

python -m pip install toml
安装完提示缺少的empy,和toml再输入make,显示编译通过这时候编译环境已经安装完成。

方法2:分别安装CMAKE,GCC,Ninja

如果你的Ubuntu已经用了一段时间,直接用脚本可能无法成功,可以参考JXF的博客在官方出脚本之前,我一直是用这个方法装的,都是可以成功的。

编译环境最主要的就是CMAKE,gcc,Ninja这三个安装就可以编译了

方法3:下载安装好的虚拟机

如果还是有问题可以直接下载阿木实验室提供了全部环境的虚拟机
只要你安装虚拟机软件打开就可以直接使用。
但是有一点请注意,我自己使用了很久的虚拟机,正常开发没有任何问题,但是如果使用gazebo这种3D图像界面的软件,虚拟机桌面很容易出问题所有请注意。

常遇到的问题总结

问题:提示没有 gnu awk
解决:sudo apt-get install gawk
参考:http://blog.csdn.net/mcgrady_tracy/article/details/39262117

问题:提示没有 future
解决:sudo pip install future
参考:https://www.cnblogs.com/shushanxiaoyao/p/6594809.html

问题:提示没有 genromfs
解决:sudo apt-get install genromfs
参考:https://www.cnblogs.com/shushanxiaoyao/p/6594809.html

缺啥装啥不用怕,这是目前我遇到过的所有问题,如果你有相关编译问题和解决方案欢迎通过邮箱zinghd@163.com告诉我,我们一起把各种疑难杂症都解决。

参考资料
PX4官网 http://px4.io/
PX4中文官网 https://dev.px4.io/zh/
JXF的两个博客
https://blog.csdn.net/oqqenvy12/article/details/52035127
https://blog.csdn.net/oqqenvy12/article/details/79266838

关注我的微信公众号,回复【编译】即可获取官方的4个脚本。

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

[折腾日记]PX4编译环境各种解决方案(ubuntu) 的相关文章

  • MySQL知识点(详细)

    结构化查询语言SQL 结构化查询语言SQL xff08 Structured Query Language xff09 xff1a 是在关系数据库上执行数据操作 xff0c 检索及维护所使用的标准语言 xff0c 可以用来查询数据 定义数据
  • linux驱动系列学习之Framebuffer子系统(三)

    一 Framebuffer子系统简介 Framebuffer xff08 帧缓冲 xff09 时Linux系统位显示设备提供的一个接口 属于偏底层的显示接口 它将显示缓冲区抽象 xff0c 屏蔽图像硬件的底层差异 xff0c 允许上层应用程
  • Linux系统通过远程终端修改分辨率

    最近的工作是测试服务器的板载GPU xff0c 由于一切处于开发阶段 xff08 没有USB驱动 xff0c 无法通过键鼠操作 xff09 xff0c 切换桌面分辨率成了一项难题 用谷歌 用百度 xff0c 总算找到了一个在远程终端修改分辨
  • ubuntu安装WPS字体缺失的解决办法

    作者最近新安装的ubuntu系统 xff0c 所以缺少了很多的办公软件 xff0c 之前安装了WPS xff0c 但是Linux系统的wps缺少了windows的字库 xff0c 因此使用起来不太方便 xff0c 所以作者就整理了这样的一份
  • Qt实现串口通信(C++实现串口通信小助手)---串口收发及串口数据解码、串口通信模拟器。

    Qt实现串口通信示例 前言 xff1a 以下串口通信示例 xff0c 参考了现有网上前辈们的资源 xff0c 最后结合部分个人的思想 xff0c 所以下述博客会将实现的原理及代码的案例进行公开 这里我们先上效果图 xff1a 一 串口通信简
  • vins-mobile代码解析3:drawAR

    AR功能主要流程是 xff1a 先检测平面 xff0c 然后计算AR物体 xff08 box xff09 的各个顶点3d位置 xff0c 然后写程序把每个顶点投影到相平面 xff0c 用cv的多边形填充功能来绘制到照片上面 先求一个相机朝向
  • Error:ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol

    MySQL 8 0 33 安装完成 xff0c 使用时候报错 xff1a Error xff1a ER NOT SUPPORTED AUTH MODE Client does not support authentication proto
  • 卡尔曼滤波器和优化的本质理解

    非线性最小二乘优化中 xff0c 最重要的是那个雅克比矩阵 每一行对应一个观察两 xff0c 里面的值代表要减少这个观察量的误差 xff0c 其他被优化的量需要做的改变 而每一列就是这个观察量需要怎么变才能减少不同的观察量 对于一个优化量
  • G2o,GTSAM,Ceres,Tensorflow优化器的方法比较

    首先是一些背景知识 xff1a 最速梯度下降法 xff08 GD xff09 和牛顿法可以用来优化所有种类的函数 牛顿高斯和基于牛顿高斯的LM法只能用来优化非线性最小二乘 SGD是最速梯度下降法的改进 xff0c 也就是每次迭代随即选取一些
  • MSCKF算法研究

    目的 xff1a 找一个能把imu和视觉融合起来的算法 细节 xff1a 网上搜索了下 xff0c 17年初的时候基本VIO算法就是MSCKF最完备 github上面有一个非官方的实现 xff0c 就下下来研究 但是跑kitti的数据都效果
  • SLAM中全局优化初值设置的经验谈

    情况分析 xff1a 有两段轨迹 xff0c 段内的重投影误差很小 xff0c 但是两段轨迹的相对位置有点错位 我们找到了这两段轨迹overlap的一些共视关系 这个时候如果我们直接把两段轨迹放一起做BA xff0c 其实是不能减少这两段轨
  • 视觉建图融合gps的合并工具测试

    描述 xff1a 把两个bag的数据分别计算自己的轨迹后 xff0c 和gps做刚体对齐找两个轨迹的共視关系通过两个轨迹的点云匹配后得到两个轨迹的相似变换 xff0c 把第二个轨迹变换到第一个轨迹的坐标系下加入gps边的pose graph
  • Android.mk for your own module

    这里我们向Android中添加自己的模块 xff0c 只涉及到 so a elf source的编译 xff0c 以及如何将prebuilt file添加进工程 对于APK以及jar的source暂时没有仔细研究 xff0c 要添加进去的话
  • 基于 Distcc 的android分布式编译环境的搭建

    关于Ditscc分布式编译环境的搭建 xff0c 网上也有不少文章 xff0c 但是基本上都过时了 所以看了很多文章 xff0c 走了不少弯路 xff0c 最后总算梳理清楚了一条正确的环境搭建的步骤 xff0c 而且可以实现zeroconf
  • opencv 删除二值化图像中面积较小的连通域

    对于上图的二值化图像 xff0c 要去除左下角和右上角的噪点 xff0c 方法 xff1a 使用opencv去掉黑色面积较小的连通域 代码 CvSeq contour 61 NULL double minarea 61 100 0 doub
  • c++中冒号(:)和双冒号(::)的用法

    转载于 xff1a http fengqing888 blog 163 com blog static 3301141620100623933512 1 冒号 xff08 xff09 用法 xff08 1 xff09 表示机构内位域的定义
  • linux下c语言写的简单的贪吃蛇

    基本算是第一次在linux下写程序 xff0c 果然各种不习惯 用的是emacs xff0c 都说是IDE中的神器 xff0c 但是我还没用习惯 xff0c gdb调试也不怎么熟悉 xff0c linux下的c程序设计也只是看了个皮毛 xf
  • 树莓派无需显示屏的VNC Viewer方式的远程连接

    一 配置wifi连接 方法非常简单 xff0c 首先在SD卡的根目录下添加一个名为 wpa supplicant conf的文件 xff0c 然后在该文件内添加以下的内容 xff1a ctrl interface 61 DIR 61 var
  • 由三点确定一个圆(圆心,半径)

    参考论文 一种改进的随机圆检测算法 光电工程 数据结构 圆信息 struct CircleInfo CvPoint circlecentre 圆心 double raduis 半径 点信息 struct CvPoint int x int
  • Qt Creator+MinGW+OpenCV2.3.1 开发环境搭建(windows 7 系统)

    折腾了一个下午 43 晚上 xff0c 总算弄好了 xff0c 下面说下步骤 1 必备软件 xff1a Qt SDK for Open Source C 43 43 development on Windows xff1a http qt

随机推荐

  • void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别?

    const void fun 和void const fun 两个相同 如果采用 34 按址传递方式 34 的函数返回值加const 修饰 xff0c 那么函数返回值 xff08 即地址 xff09 的内容不能被修改 xff0c 该返回值只
  • strcpy()、memcpy()、memmove()、memset()的实现

    strcpy memcpy memmove memset 的实现 strcpy 字符串拷贝 char strcpy char strDest const char strSrc assert strDest 61 NULL amp amp
  • 多重继承的构造函数和析构函数的执行顺序(包含虚基类)

    下面示例就是说明多重继承析构函数和构造函数的执行顺序 xff1a span class token macro property span class token directive hash span span class token d
  • 阿里云服务器 配置frp实现Ubuntu台式机电脑内网穿透

    起因 实验室一台Ubuntu20 04的台式机电脑 xff0c 我想用我的Win10笔记本远程连接它 xff0c 用它的高性能 xff0c 在Ubuntu的环境下来跑代码 xff0c 这样比较方便 编程环境即可具有便携 性能 两者兼得 xf
  • 【论文阅读笔记】GAN Memory with No Forgetting

    Hello大家好 xff0c 今天带大家来看Nips2020的最新文章 GAN Memory with No Forgetting 关于Nips2020所有关于终生学习的文章可见传送门 总览 本文是杜克大学 xff08 Duke Unive
  • 【论文阅读笔记】NeurIPS2020文章列表Part2

    Online Multitask Learning with Long Term MemoryFewer is More A Deep Graph Metric Learning Perspective Using Fewer Proxie
  • Macbook用Terminal启动Matlab

    最近更新到了Mac OS Big Sur xff0c 发现Matlab开启后直接无响应 xff0c 因此只能通过Terminal打开 xff0c 打开方式是在Terminal中输入如下代码直接敲回车就行啦 xff08 其中Matlab版本要
  • 对比学习学习笔记

    对比学习学习笔记 A Simple Framework for Contrastive Learning of Visual Representations Ting Chen Simon Kornblith Mohammad Norouz
  • Ubuntu18版本安装ROS

    最近不小心把虚拟机里的ROS弄坏了 xff0c 导致Linux都无法使用 也忘了快照导致所以软件重新安装 xff0c 在这里给大家分享一下ubuntu18版本如何安装ros以及我安装中出现的问题如何进行解决 注 xff1a 不同的ubunt
  • ER图

    1 某商业集团的销售管理系统 数据库中有三个实体集 xff0c 一是 商店 实体集 xff0c 属性有商店编号 商店名 地址等 xff1b 二是 商品 实体集 xff0c 属性有商品号 商品名 规格 单价等 xff1b 三是 职工 实体集
  • Tensorflow:EEG上CNN的一次实验

    一次失败的CNN实现 前言简介数据CNN网络 模型调整减少过拟合的尝试与全连接网络比较与SVM网络比较模型运用到其他分类标准结果分析代码CNN网络代码交叉验证代码FC网络代码SVM网络代码 前言 这是一次较为 失败 的分类器尝试 xff0c
  • MySql Error Code: 1046. No database selected Select

    初学者在建立表时容易遇到这样的报错 xff1a Error Code 1046 No database selected Select the default DB to be used by double clicking its nam
  • R语言自用笔记:复数

    复数在R语言中标示为z 61 x 43 iy 在R中虚数单位为i xff0c 如果是定值可以直接赋值 z1 61 1i print z1 1 0 43 1i z2 61 2 5i print z2 1 0 43 2 5i z3 61 1 4
  • [飞控]如何学习无人机-入门篇

    学什么 我把无人机分成3个大模块 操作 目的 xff1a 组装无人机 xff0c 享受驾驶无人机的乐趣 抱歉我给不了太多建议 xff0c 因为我从没有以此为目进行过学习 xff0c 但是我知道这一部分的知识关键词是 航模 xff0c 有非常
  • 说透互补滤波(1) - 线性互补滤波器从原理到实现

    为什么开源代码看不懂 xff1f 说起互补滤波 xff0c 之前非常的流行 xff0c 在那个算力不够的年代 xff0c 这种短小精干的融合算法 xff0c 风靡一时 原理也非常简单 xff1a 我有两路信号 xff0c 一个带有高频噪声
  • 飞控中的IIR二阶滤波器

    之前我们讲过一阶滤波器 xff0c 思路就是把一个连续的滤波器形式 xff0c 通过离散化的方式 xff0c 转换成差分方程 同事拿着我的文章 xff0c 对照着代码里的二阶滤波 xff0c 表示完全看不懂 xff0c 我说不可能 xff0
  • [源码解读]position_estimator_inav_main解读(如何启动光流)

    阅读工具 xff1a source insight 技术交流 xff1a zinghd 64 163 com xff0c 757012902 64 qq com 源码版本 xff1a Firmware xff08 原生固件 xff09 如有
  • [算法]px4位置估计-inav (2017/10/26更新)

    技术交流 xff1a zinghd 64 163 com 757012902 64 qq com 转载标明出处 xff0c 欢迎转载 xff0c 因为都是自己的想法 xff0c 不一定都是对的 xff0c 欢迎讨论 xff0c 哪有问题欢迎
  • [资料]Adams-matlab联合仿真

    刚才老师让把研一上学期做的四轴仿真图加几个图 xff0c 我发现突然忘了整么弄 xff0c 折腾了半个小时 xff0c 赶紧记下来 仿真的思路是 1 solidworks把飞机的硬件做出来 2 模型导入Adams中 xff0c 生成matl
  • [折腾日记]PX4编译环境各种解决方案(ubuntu)

    这篇博客可以解决 PX4编译环境的安装 强烈建议使用Ubuntu16 04的64位版本 xff01 方法1 xff1a 官方脚本 如果你是新装的Ubuntu还没有装软件 那么用官方脚本可以直接安装 官方提供了4个脚本 The scripts