在编译PX4之前,你需要知道的几件事

2023-05-16

1. 在git上clone代码,必须是clone,因为编译时需要有.git文件夹。如果你看Makefile就会发现有这么一行:

# Enforce the presence of the GIT repository
#
# We depend on our submodules, so we have to prevent attempts to
# compile without it being present.
ifeq ($(wildcard .git),)
    $(error YOU HAVE TO USE GIT TO DOWNLOAD THIS REPOSITORY. ABORTING.)
endif

就是检查是不是存在.git文件夹的

 

2. Firmware中不包括Nuttx,Nuttx是单独的一个仓库。因此在build Firmware之前,需要:

cd Firmware

git submodule update --init --recursive

 

3. 如果要做仿真,也需要下载一些相应的库。下载这个文件:

https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim.sh

然后执行,source ubuntu_sim.sh

 

4. 现在可以执行make posix jmavsim了,就是在PC中跑一下PX4的仿真,并且可以看到jmavsim启动,可以敲入commander takeoff了。最好再去把QGroundcontrol下载下来,配合着一起使用。

 

5.如果你想仔细了解make的过程,可以去看makefile。执行make的过程就是先执行cmake-build的过程,即先用cmake进行configure,然后执行make进行build。可以参考:https://blog.csdn.net/xiaoshuai537/article/details/79346448

具体怎样configure要去看CMakeLists.txt。比如哪些.cmake文件都是干嘛的。

 

6.如果想了解启动过程,建议你看这两篇文章:

https://blog.csdn.net/czyv587/article/details/51445308

大体分这么三个阶段:bootloader -> nuttx -> rcS。分别搞懂即可。

 

7.如果你想改改PX4,比如加入自己的驱动,建议去看:

http://nutshellking.com/articles/xue-xi-zong-jie/customize_Pixhawk/

当然看PX4的develop guide也是可以的。

 

感觉PX4真的是很好的开源的嵌入式架构,在解耦做的很好,扩展和修改都很方便,值得好好学习。当然除了PX4外,robot类还有很多的开源架构:

https://en.wikipedia.org/wiki/Open-source_robotics

以后再慢慢学。

 

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

在编译PX4之前,你需要知道的几件事 的相关文章

  • 树莓派无需显示屏的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 如有

随机推荐