PX4开发环境搭建(Ubuntu1804+QGC+Qt Creator )

2023-05-16

文章目录

    • 前言
    • 一、安装环境
    • 二、PX4环境搭建
      • 1. 在虚拟机中安装Ubuntu
      • 2. 安装PX4环境
        • (1)下载PX4源码:
        • (2) 安装工具链
        • (3) jMAVSim仿真
        • (4) 编译验证
    • 三、安装QGC
    • 四、安装Qt Creator
    • 五、镜像分享

前言

在这之前作者完全没接触过PX4,安装过程遇到了很多坑,而且每安装下载一个东西都要等好久,出现问题又要重新开始,前后折腾了四天才弄好,希望此文对大家有所帮助。

一、安装环境

  1. 操作系统:windows10
  2. 虚拟机:VMWare
  3. Linux系统:Ubuntu1804 Desktop(官网推荐)
  4. 工具:Shadowsocks

备注:

  • 使用虚拟机而不使用双系统方式的原因在于环境不容易一次安装成功,虚拟机重装系统的话很方便。
  • 教程中在下载项目中子模块的时候需要加速。(当然也提出了另一种加速方式,不过作者没有试验过)

二、PX4环境搭建

1. 在虚拟机中安装Ubuntu

安装过程就不细讲了,可以去找些教程,简单安装即可。

  1. 在电脑中安装VMware:VMware下载地址
  2. 下载Ubuntu1804系统的镜像:Ubuntu镜像下载地址
    注:①. 镜像应下载桌面版(Desktop)而非服务器版本(Server),可以通过种子下载也可直接下载,建议用迅雷加速下载。②. 不需要换源,直接使用系统已有的就好。

2. 安装PX4环境

    安装过程只有两步,只要这两步没有任何错误

    参考教程:官方教程首页,链接是针对最新版本的代码的,当然搭建好以后也可以编译之前版本的代码,直接看英文的就完事了,中文的最新的可能会存在问题。

    即使你可以加速,未必也能下载成功,强烈建议加速的情况下,早上六点到八点之间下载源码及安装工具链,正常情况下执行命令下载是不应该出现Faile和Err的。否则最终就可能出问题。

(1)下载PX4源码:

参考:官方文档

    通过命令:git clone https://github.com/PX4/Firmware.git --recursive 克隆。克隆地址可以改成你的码云地址。如下:
在这里插入图片描述
①. 完整源码组成:完整的源码由PX4源码和其所需子模块,但是子模块的代码并没有在该仓库下,实际上 clone 时通过 --recursive 参数实现在其他仓库中拉取的。
②. 源码地址:PX4Github地址
③. 建议通过码云(国内的github)加速,就是在码云中新建自己的仓库,创建时选择从Github导入,这样相当于他给你做了加速下载这个过程,但是注意,其所需的子模块并没有实现加速。(我闲麻烦没有这样做:所有的所需 submodule子模块内容都可以通过修改 .gitmodules为国内码云上的地址来加速下载,当然就需要你为每一个子模块都在码云建一个仓库)

码云的仓库:

如果你采取全部通过码云加速的方式,需要修改如下位置的URL:
在这里插入图片描述

(2) 安装工具链

重要:在这之前确保源码及其子模块都完整下载。
在Firmware目录下执行(建议早上8点前,这个时候网速比较好):bash ./Tools/setup/ubuntu.sh,这个过程可能比较久,确保整个过程无错误,成功后最重要的就是已经安装了正确版本的arm-none-eabi-gcc,安装后执行arm-none-eabi-gcc --version 如下:
在这里插入图片描述

(3) jMAVSim仿真

参考官方教程Firmware下去执行:make px4_sitl jmavsim,效果如下:
在这里插入图片描述

(4) 编译验证

根据你要编译的版本,在Firmware目录下执行
在这里插入图片描述

三、安装QGC

官方文档:QGC安装教程(建议点进来看看,因为我的下述内容都是按照官方教程写的)

1.按顺序执行以下命令 然后重启

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav -y

2.下载QGC

wget https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundControl.AppImage

3.安装
chmod +x ./QGroundControl.AppImage

4.运行

  • 通过命令运行./QGroundControl.AppImage
  • 或者双击图标:
    在这里插入图片描述

四、安装Qt Creator

  1. 更新源:sudo apt-get update
  2. 用户目录下直接执行 sudo apt-get install qtcreator
  3. 在应用内找打图标运行就OK
    在这里插入图片描述
    通过QT Creator开发,照着文档做就好
    在这里插入图片描述

五、镜像分享

注意: 这个镜像里没有代码,(我的备份失误,但是我已经删了电脑里之前的东西),希望按教程操作成功的过来分享一下镜像,注意备份时要备份系统内的文件部分,谢谢了
好多人私信问道了,这里仅作分享学习使用,如有问题请评论区留言:
百度网盘:
链接:https://pan.baidu.com/s/15n2lPoRVAOOELAgoIliG_g
提取码:go3c

上一篇:PX4开发基础
下一篇:Ubuntu上使用Qt Creator编译、下载PX4代码

  
  
Email : Beyonderwei@Gmail.com
Website : http://beyonderwei.com
  
WeChat:

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

PX4开发环境搭建(Ubuntu1804+QGC+Qt Creator ) 的相关文章

  • ONVIF简介

    一 什么是ONVIF ONVIF规范描述了网络视频的模型 接口 数据类型以及数据交互的模式 并复用了一些现有的标准 xff0c 如WS系列标准等 ONVIF规范的目标是实现一个网络视频框架协议 xff0c 使不同厂商所生产的网络视频产品 x
  • gsoap工具生成onvif设备搜索(remotediscovery)代码框架

    什么是gsoap工具 xff1f gSOAP 提供了两个工具来方便开发人员使用 C C 43 43 语言快速开发Web 服务应用 xff0c 通过 gSOAP 提供的这两个工具 xff0c 开发人员可以快速生成服务端与客户端代码框架 xff
  • Latex之给字符上加横线、波浪等

    Latex 前几天想在 x x x 上加波浪号 xff0c 一时间忘记怎么打 xff0c 现在记录下来 xff0c 以后好查阅 加 号 xff1a hat x 加横线 xff1a overline x 加宽 xff1a widehat x
  • 数据结构笔记-2(线性表)

    线性表 2 1 线性表 1 定义 是零个或多个具有相同类型的数据元素的有序数列 xff1b xff08 长度等于零的线性表为空表 xff09 非空线性表通常记为 xff1a L xff1d a 1 xff0c a 2 xff0c xff0c
  • 数据结构-6(图)

    图 图的逻辑结构 图的定义 xff1a 图是由顶点的有穷非空集合和顶点之间边的集合组成 xff0c 通常表示为 xff1a G 61 V xff0c E 其中 xff1a G表示一个图 xff0c V是图G中顶点的集合 xff0c E是图G
  • 【leetcode常见面试题】螺旋矩阵解题思路

    文章目录 螺旋矩阵解题思路先找行进路线找每条路线的结束位置再找每条路线的结束位置模拟行走 螺旋矩阵 II总结 螺旋矩阵 解题思路 本题可以采用模拟的方式 xff0c 设4种行走方向 xff0c 如下图 xff1a 先找行进路线 4个方向的行
  • C++面向对象程序设计学习心得

    C 43 43 面向对象程序设计学习心得 经过几周c 43 43 面向对象程序设计的学习 xff0c 对面向对象程序设计有了一些了解 递归 简单地讲 xff0c 递归就是程序直接或间接调用本身的编程技巧 xff0c 通过把一个不能或不好解决
  • STL学习心得

    STL概述 STL组件 1 容器 xff08 Container xff09 xff0d 管理某类对象的集合 2 迭代器 xff08 Iterator xff09 xff0d 在对象集合上进行遍历 xff08 注意 xff1a 这些集合可能
  • 安装nodejs和vue出现问题

    安装nodejs国内镜像时报错 npm install g cnpm registry 61 https registry npm taobao org不知道这是啥错误 xff0c 怎么改啊 xff1f 安装vue 从官网点击下载 下载后点
  • Jetson nano/nx通过网线连接电脑实现远程控制

    Jetson nano nx通过网线连接电脑实现远程控制 摘要1 nano nx桌面共享设置2 安装dconf editor解除加密3 自启VNC server4 网络共享5 获取IP地址6 安装PuTTy7 安装VNC Viewwer8
  • 一文解决MySQL突击面试,关键知识点总结

    文章目录 MySQL重要知识点回顾一 索引1 为什么需要索引2 索引的结构3 避免索引失效3 1 联合索引不满足最左匹配原则3 2 隐式转换3 3 like查询3 4 索引列存在运算或者使用函数3 5 优化器 4 执行计划4 1 type4
  • 51单片机应用篇-- --数码管60秒计时,独立按键可调

    开篇先说一句废话 本旺名字叫萨摩耶 xff0c xff0c Please 叫我旺财 xff0c xff0c xff0c 哈哈 xff0c 招财进宝嘛 xff01 缘由 本来按照我的学习计划 xff0c 我现在应该是单片机的学习过程 xff0
  • 【ESP32+freeRTOS学习笔记之“ESP32环境下使用freeRTOS的特性分析(3-多核环境下的调度)”】

    目录 1 不同核心上分别调度2 tick中断3 关于抢占4 关于同优级的任务按时间片调度5 空闲任务6 调度程序暂停7 启动和终止8 禁用中断9 总结 Vanilla FreeRTOS调度器是具有时间切片的固定优先级抢占调度器 xff0c
  • C++ STL 总结(持续更新)

    因为机试需要用c 43 43 xff0c 暴风吸入式学习 xff08 套用 xff09 它的模板 xff0c 发现还真的挺好用的 xff0c 总结一下 时间紧急 xff0c 取自各个网上的博客 xff0c 没来得及仔细整理 xff0c 都给
  • STM32F103笔记(二)——GPIO原理

    GPIO的工作原理与两个实验实例 一 STM32F103 GPIO说明1 stm32 GPIO引脚的主要功能2 GPIO相关配置寄存器的简介3 STM32F103 GPIO的8种工作方式4种输入模式4种输出模式 二 点亮LED实例 xff0
  • VINS-Fusion代码阅读(五)

    对应解析13页 xff0c 四 前端视觉处理 主要包括特征点检测和特征点跟踪两部分 xff0c 似乎是基于openCV实现的 openCV2 4官方文档 xff0c xff08 暂时未找到openCV3 4有类似的文档 xff09 这一节在
  • 利用putty在windows上通过脚本在远程Linux机器执行指令

    一 前言 借用百度百科关于putty的描述 xff1a PuTTY是一个Telnet SSH rlogin 纯TCP以及串行接口连接软件 较早的版本仅支持Windows平台 xff0c 在最近的版本中开始支持各类Unix平台 xff0c 并
  • 结构体嵌套对齐以及结构体中含有数组的对齐,也基本总结了各类结构体对齐的问题

    目录 结构体嵌套对齐以及结构体中含有数组的对齐 其余的对齐规则 基本的结构体对齐知识点击这里 结构体嵌套对齐以及结构体中含有数组的对齐 32位系统环境 规则一 xff1a 结构体中含有数组 xff0c 数组元素类型和结构中其余的最大类型取较
  • 【杂记1】PC-Ubuntu18.04.5+ROS-melodic环境下安装cartographer功能包

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 ROS下命令行安装 xff08 简单 xff0c 稍微提一下 xff09 二 源码安装cartographer xff0
  • rosdep init 错误解决方法

    遇到的错误如下 mo 64 mo span class token operator span ThundeRobot span class token operator span span class token operator spa

随机推荐

  • stm32+TB6612驱动直流电机

    因为单片机的不可以直接的驱动电机 xff0c 所以需要在他们之间加上一个电机的驱动模块 xff0c 之前的文章里面用过L298N电机驱动模块 xff0c 现在再给大家推荐一个新的电机驱动模块 xff0c 他比L298N好用许多 xff0c
  • 1-范数、2-范数、∞-范数、F-范数,向量范数与矩阵范数

    目录 向量范数1 范数2 范数 范数 矩阵范数1 范数 xff08 列范数 xff09 范数 xff08 行范数 xff09 2 范数 xff08 谱范数 xff09 F范数Frobenius 向量范数 1 范数 2 范数 范数 矩阵范数
  • MATLAB中删除矩阵的某些列或某些行

    MATLAB中删除矩阵的某一列或某一行 删除某一行例子 删除某一列例子 删除多行例子 删除多列例子 删除某一行 span class token function b span span class token punctuation sp
  • 向量叉乘计算公式

    二维向量叉乘 A 61 a1 a2 B 61 b1 b2 A B 61 a1 a2 b1 b2 61 a1b2 a2b1 三维向量叉乘 A 61 a1 a2 a3 B 61 b1 b2 b3 A B 61 a1 a2 a3 b1 b2 b3
  • VINS-Fusion代码按执行顺序阅读(二)

    main 函数的最后一句 xff0c std thread sync thread sync process 可以看出 xff0c 只有time0在time1前后0 03s内的两幅图片 xff0c 才会被发布estimator inputI
  • 将Origin Pro设置成中文显示

    Origin Pro设置成中文显示 在键盘上同时按 win 43 R 键 xff0c 输入 regedit xff0c 点击 确定 找到路径 HKEY CURRENT USER SOFTWARE OriginLab Origin xff0c
  • 严重性代码说明项目文件行 禁止显示状态错误C4996 ‘scanf‘: This function or variable may be unsafe.最全解决方法

    方法一 xff1a 在程序最前面加 span class token macro property span class token directive keyword define span CRT SECURE NO DEPRECATE
  • 指针加1的含义、指针减法运算

    指针加1的含义 一 p 43 1实例运行结果 二 p 43 1 与 p 43 1实例运行结果 三 p 43 43 实例运行结果 四 指针减法运算实例运行结果 五 void 六 指针用来做什么 xff1f 一 p 43 1 p 43 1 表示
  • VMware从零配置安装CentOS 7

    不跳步图文详细安装教程 一 VMware的下载二 VMware的安装三 CentOS7的下载第一步 xff1a 根据自己电脑操作系统的位数点击选择 xff08 大多数都是64位操作系统 xff09 第二步 xff1a 任意挑选一个镜像源进入
  • VMware虚拟机CentOS 7系统:图形模式与文字命令行模式的切换快捷键

    切换快捷键 图形模式切换到文字命令行模式Ctrl 43 Alt 43 F2 F6 文字命令行模式切换到图形模式Ctrl 43 Alt 43 F1 图形模式切换到文字命令行模式 Ctrl 43 Alt 43 F2 F6 文字命令行模式切换到图
  • Linux 常用快捷键与指令总结(不断更新ing)

    命令快捷键含义Tab命令补全 文件补全Ctrl 43 C停掉错误的指令或参数Ctrl 43 D结束离开文字接口Shift 43 Page Up往前翻页Shift 43 Page Down往后翻页 61 61 61 61 61 61 61 6
  • Pytorch关于卷积核(Conv2d)的简单操作与模型修剪

    在使用Pytorch搭建深度学习算法时 xff0c torch nn Conv2d是用得最多的函数之一 Conv2d函数主要是对输入数据做卷积运算 输入参数如下图 xff1a torch nn Conv2d函数所生成的卷积核主要包括weig
  • 小觅相机运行VINS-Fusion(一)

    写在前面的话 xff1a 1 本文基于自己的另一篇博文win10 43 ubuntu16 04 43 ROS Kinetic 2 参考 4 是一篇非常好的帖子 xff0c 但由于小觅托管在github的代码在不断更新 xff0c 故需在某些
  • 正点原子stm32F407学习笔记3——蜂鸣器实验

    一 硬件设计 蜂鸣器为有源蜂鸣器 xff0c 当 PF 8 输出高电平的时候 xff0c 蜂鸣器将发声 xff0c 当 PF 8 输出低电平的时候 xff0c 蜂鸣器停止发声 xff0c 硬件原理图如下 二 软件设计 1 新建beep c文
  • Ubuntu 安装Cmake

    1 安装Cmake 1 Cmake与makefile xff1a Cmake好处是 1 可以自动化生成makefile xff0c 不需要手动编写 2 跨平台 可生成 native 编译配置文件 在 Linux Unix 平台 生成 mak
  • 什么是字节序?

    字节序 字节序 xff0c 顾名思义 xff0c 就是字节组织的顺序 我们可以将其根据其存储时从低位开始还是从高位开始分为两种 xff0c 具体如下 xff1a 类型简写本质大端BE big endian 将高序字节存储在起始地址小端LE
  • PX4开发基础

    文章目录 一 与无人机的缘分二 开发前三 背景知识硬件PIXHAWKpixhawkV1 xff1a pixhawkV2 xff1a pixhawkV3x xff1a PX4 xff08 推荐 xff09 地面站 xff08 GCS xff0
  • 利用蜂鸣器播放音乐

    我们知道 xff0c 蜂鸣器可分为有源蜂鸣器和无源蜂鸣器 xff0c 有源蜂鸣器内置了频率发生电路 xff0c 因此其通电就能够发出声音 xff0c 但是其频率是固定的 xff0c 而无源蜂鸣器内部没有频率发生电路 xff0c 需要外界给予
  • 51单片机之智能小车(避障、跟随、循迹)

    目录 基本概述 硬件组成 功能 关键字 模块介绍 电机模块L9110S 循迹模块 xff08 TCRT5000传感器 xff09 红外避障模块 测速模块 小车 移动小车 xff08 控制电机转动 xff0c 使小车前进 后退 左转 右转 x
  • PX4开发环境搭建(Ubuntu1804+QGC+Qt Creator )

    文章目录 前言一 安装环境二 PX4环境搭建1 在虚拟机中安装Ubuntu2 安装PX4环境 1 下载PX4源码 xff1a 2 安装工具链 3 jMAVSim仿真 4 编译验证 三 安装QGC四 安装Qt Creator五 镜像分享 前言