Jetson Orin NX 开发指南(9): Pixhawk 6X 飞控固件的烧写与 QGroundControl 参数配置
一、前言
由于 Jetson Orin NX 常被用作自主无人机机载电脑,其往往需要与烧写了 PX4 固件的飞控进行通信,飞控的烧写与配置往往会遇到很多问题,因此本文将介绍时下最款的 Pixhawk 系列飞控 Pixhawk 6X,做一个固件烧写和参数配置的指南,主要参考
Holybro Pixhawk 6X | PX4 User Guide (main)
Building PX4 Software | PX4 User Guide (main)
GitHub - PX4/PX4-Autopilot: PX4 Autopilot Software
Kakute H7 刷写 px4 固件-CSDN博客
飞控(Pixhawk 4 Mini)与机载电脑(Jetson Xavier NX )实现串口通信_想要个小姑娘的博客-CSDN博客
需要注意的是,Pixhawk 6X 分为 飞控 和 基板(Baseboard)两个部分,而基板又有 Standard 和 Mini 两种类型,参见
Pixhawk Baseboard Ports - Holybro Docs
Pixhawk Mini-Base Ports - Holybro Docs
标准基板的接线如下图所示(Mini 基板的接线大同小异)
接下来我们基于 Mini 基板 介绍 Pixhawk 6X 的固件烧写与参数配置。
二、Pixhawk 6X 固件烧写
Pixhawk 系列固件的获取方式有两种,一种是从 PX4 的 GitHub 网站上直接下载编译好的固件,另一种是下载 PX4-Autopilot 源码,自己编译源码生成固件,这里将分别介绍两种方法,并比较其优劣。
值得注意的是 Pixhawk 6X 对应于 px4_fmu-v6x_default 固件,下载其他固件到 Pixhawk 6X 是无效的!
2.1 直接下载固件
如果不需要对固件作任何改动,推荐使用该方法!
首先进入不同版本固件的下载地址
Releases · PX4/PX4-Autopilot · GitHub
找到 v1.13.3 稳定发行版
然后点击 Assets 下的 Show all 84 assets,找到 px4_fmu-v6x_default.px4 固件并下载
这样我们就得到了 Pixhawk 6X 的原生 px4_fmu-v6x_default 固件!
2.2 源码编译成固件
如果需要修改固件,必须使用该方法!
首先我们需要前往 PX4 的 GitHub 网站上下载相应版本的源码
GitHub - PX4/PX4-Autopilot: PX4 Autopilot Software
这里我们选择了目前最新的稳定版本 1.13.3,我们将其下载在 ~/Documents/ 目录下,终端输入
cd ~/Documents/
git clone -b v1.13.3 https://github.com/PX4/PX4-Autopilot.git
下载完成后进入 PX4-Autopilot 文件夹,并编译生成 px4_fmu-v6x_default 固,终端输入
cd PX4-Autopilot
make px4_fmu-v6x_default
一般来是会报错
CMake Error at cmake/kconfig.cmake:6 (message):kconfiglib is not installed or not in PATHplease install using "pip3 install kconfiglib"
只需根据提示安装相应的功能包
pip3 install kconfiglib
同理如果遇到别的模块未安装,按照上面的操作进行即可,常见的缺少的包的安装命令如下
sudo -H python3 -m pip install kconfiglib
sudo -H python3 -m pip install jinja2
sudo -H python3 -m pip install jsonschema
sudo -H python3 -m pip install empy
sudo -H python3 -m pip install pyros-genmsg
sudo -H python3 -m pip install packaging
sudo -H python3 -m pip install toml
sudo -H python3 -m pip install numpy
sudo -H python3 -m pip install future
如果上面的命令安装后还是报错,可以用下面的命令安装:
sudo pip3 install kconfiglib
sudo pip3 install --user empy
sudo pip3 install --user jsonschema
sudo pip3 install --user jinja2
sudo pip3 install --user pyros-genmsg
sudo pip3 install --user packaging
sudo pip3 install --user toml
sudo pip3 install --user numpy
如果报错
sudo: pip3: command not found
则先安装 pyhton3
sudo apt-get install python3-pip -y
此外还有报错
CMake Error at CMakeLists.txt:235 (project):The CMAKE_CXX_COMPILER:arm-none-eabi-g++is not a full path and was not found in the PATH.CMake Error at CMakeLists.txt:235 (project):The CMAKE_ASM_COMPILER:arm-none-eabi-gccis not a full path and was not found in the PATH.
这时需要安装交叉编译功能包
sudo apt-get install gcc-arm-none-eabi -y
相关文章:

Jetson Orin NX 开发指南(9): Pixhawk 6X 飞控固件的烧写与 QGroundControl 参数配置
一、前言 由于 Jetson Orin NX 常被用作自主无人机机载电脑,其往往需要与烧写了 PX4 固件的飞控进行通信,飞控的烧写与配置往往会遇到很多问题,因此本文将介绍时下最款的 Pixhawk 系列飞控 Pixhawk 6X,做一个固件烧写和参数配置的…...

Redis(四)多级缓存
文章目录 一、传统缓存存在的问题二、多级缓存方案三、JVM进程缓存案例演示: 四、Lua语法入门Lua语言入门 五、多级缓存(一)安装OpenResty(二)OpenResty入门(三)请求参数处理(四&…...

网站安全防护
1.确保环境安全例如近期LNMP投毒事件 2.nginx/php隐藏版本号/关闭报错显示行 3.限制3306端口/phpMyAdmin尽量不用 4.修改指纹例如X-Powered-By/Cookie 5.上线前后进行主机漏扫网站漏扫 6.系统安装杀毒ClamAV 7.更改后台管理入口 8.安装雷池WAF防护 9.网站使用https协议 10.后台…...

腾讯云南京地域怎么样?南京服务器IP测速Ping值延迟
腾讯云服务器南京地域怎么样?南京地域很不错,正好处于中间的位置,南方北方用户均可以选择,网络延迟更低速度更快,并且目前南京地域有活动,南京地域可用区可选南京一区、南京二区和南京三区,腾讯…...

Harbor 简介
1)什么是Harbor Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。 Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based…...

RuntimeError: “LayerNormKernelImpl“ not implemented for ‘Half‘解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

《向量数据库指南》——向量数据库与 ANN 算法库的区别
向量数据库与 ANN 算法库的区别 我们经常听到一个这样的错误观念——向量数据库只是在 ANN(approximate nearest neighbor,近似最近邻)算法上封装了一层。但这种说法大错特错。 向量数据库可以处理大规模数据,而 ANN 算法库只能处理小型的数据集 从本质上来看,以 Milvus 为…...

JavaScript-es6-新版语法-export-import
文章目录 1.export2.import3.export default 命令4.总结 在JavaScript ES6中,export与export default均可用于导出常量、函数、文件、模块等。模块功能主要由两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用于输…...

[elasticsearch]使用postman来查询数据
最近需要debug程序,debug的时候需要查找elasticsearch里面的数据是否正确。 第一步建立一个post请求,并按照图下的方式填上ur和参数: 发送post请求,url为: http://ip:port/index_name/_search我这里查询的是title字…...

【小程序练习】文件操作案例
文章目录 前言1. 案例12. 案例23. 案例3总结 前言 我们学会了文件的基本操作 文件内容读写操作,接下来,我们实现一些小工具程序,来锻炼我们的能力。 关注收藏, 开始学习吧🧐 1. 案例1 扫描指定目录,并找到名称中包…...

flask框架-[实现websocket]:将socketio处理函数部分集中管理,使用类的方式来管理,集中管理socketio处理函数
一、项目依赖 APScheduler3.10.4 eventlet0.33.3 Flask2.1.3 Flask-Caching1.10.1 Flask-Cors3.0.10 Flask-Migrate2.7.0 Flask-RESTful0.3.9 Flask-SocketIO5.1.1 Flask-SQLAlchemy2.5.1 PyJWT2.3.0 PyMySQL1.0.2 redis3.5.3 SQLAlchemy1.4.0 #额外修改 Werkzeug2.0.2 #额外修…...

Vue的学习补充
1.Vue路由-404 作用:当路径找不到匹配时,给个提示页面 位置:配在路由最后 语法:path:*(任意路径)-前面不匹配就命中最后这个 2.Vue路由-模式设置 hash路由(默认) 例如ÿ…...

vue移动端H5调起手机发送短信(兼容ios和android)
移动端h6页面调起手机发送短信功能,ios和android的兼容写法不一样。 android window.location.href sms:10086?body${encodeURIComponent(Hello, 测试短信发送)} ios window.location.href sms:10086&body${encodeURIComponent(Hello, 测试短信发送)}//或者w…...

spring boot RabbitMq基础教程
RabbitMq 由于RabbitMQ采用了AMQP协议,因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息,都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不同语言的客户端。 但是,RabbitMQ官方提供的Java客户端编码相对复杂,一般…...
springboot vue 部署至Rocky(Centos)并自启,本文部署是若依应用
概述 1、安装nohup(后台进程运行java) 2、安装中文字体(防止中文乱码) 3、安装chrony(保证分布式部署时间的一致性) 5、安装mysql数据,迁移目录,并授权自启动; 6、安…...

Mysql之增删改查
这篇文章旨在介绍mysql的增删改查中的基本操作 所有命令皆是以分号(;)结尾。 1.显示命令 在写增的有关命令前,我们更应该知道如何显示,这样有助于更好的检查我们的结果是否正确。 #显示数据库列表 show databases;#…...

【考研数学】矩阵三大关系的梳理和讨论 | 等价、相似、合同
文章目录 引言一、定义二、判别法写在最后 引言 昨天学了矩阵的合同关系,老汤讲义里也列举了三大关系的定义和判别法,方便我们进行区分。但是光看还是难以入脑,为此,我想自己梳理一遍,顺带也复习一下线代之前的所学。…...

在 Amazon SageMaker 上使用 ESMFold 语言模型加速蛋白质结构预测
蛋白质驱动着许多生物过程,如酶活性、分子输运和细胞支持。通过蛋白质的三维结构,可以深入了解蛋白质的功能以及蛋白质如何与其他生物分子相互作用。测定蛋白质结构的实验方法(如 X 射线晶体学和核磁共振波谱学)既昂贵又耗时。相比…...

node.js知识系列(4)-每天了解一点
目录 11. 异步文件操作文件读取文件写入 12. 包管理器(npm)13. 子进程14. 事件发射器(EventEmitter)15. 异步编程和回调16. Node.js 集成测试工具和框架17. Express.js 中间件的 HTTP 请求流程18. 文件上传和验证19. Express.js 中…...

can not remove .unionfs
文件夹下出现unionfs 套娃,无法删除。 处理方式: 需要管理员权限umount之后删除使用fusermount -zu .unionfs ,然后再删除。...

微服务 BFF 架构设计
在现代软件开发中,由于程序、团队、数据规模太大,需要把企业的业务能力进行复用,将领域服务剥离,提供通用能力,避免重复建设和代码;另外服务功能的弹性能力不一样,比如定时任务、数据同步明确的…...

零基础学python之元组
文章目录 元组1、元组的应用场景2、定义元组3、元组的常见操作4、总结 元组 目标 元组的应用场景定义元组元组常见操作 1、元组的应用场景 思考:如果想要存储多个数据,但是这些数据是不能修改的数据,怎么做? 答:列…...

11. SpringBoot项目中参数获取与响应
SpringBoot项目中参数获取与响应 1. 程序结构&通信方式 程序结构: C/S : 客户端/服务器端 -Main方法。 -效果炫目、数据相对安全。 -公司成本高,因为要分别开发客户端和服务器端。 B/S: 浏览器端/服务器端 -效果依赖于浏览…...

4+1视图与UML
目录 逻辑视图过程视图开发视图物理视图(部署视图)用例视图 41视图,即逻辑视图,过程视图,实现视图,部署视图,用例视图。 为什么不用一个视图? 针对多个用户,即终端用户&a…...

没用的知识增加了,尝试用文心实现褒义词贬义词快速分类
尝试用文心实现褒义词贬义词快速分类 一、我的需求二、项目环境搭建千帆SDK安装及使用流程 三、项目实现过程创建应用获取签名调用接口计算向量积总结 百度世界大会将于10月17日在北京首钢园举办,今天进入倒计时五天了。通过官方渠道的信息了解到,这次是…...

AWS SAP-C02教程3--网络资源
架构设计中网络也是少不了的一个环节,而AWS有自身的网络结构和网络产品。本章中将带你看看AWS中不同网络产品,以及计算资源、存储资源等产品在网络架构中处于哪个位置,如何才能让它们与互联网互通、与其它产品互通。下图视图将SAP涉及到网络相关组件在一张图表示出来,图中可…...

【TensorFlow2 之012】TF2.0 中的 TF 迁移学习
#012 TensorFlow 2.0 中的 TF 迁移学习 一、说明 在这篇文章中,我们将展示如何在不从头开始构建计算机视觉模型的情况下构建它。迁移学习背后的想法是,在大型数据集上训练的神经网络可以将其知识应用于以前从未见过的数据集。也就是说,为什么…...

mysql面试题46:MySQL中datetime和timestamp的区别
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL中DATETIME和TIMESTAMP的区别 在MySQL中,DATETIME和TIMESTAMP是两种用于存储日期和时间的数据类型。虽然它们都可以用于存储日期和时间信息…...

【Spring Boot】RabbitMQ消息队列 — RabbitMQ入门
💠一名热衷于分享知识的程序员 💠乐于在CSDN上与广大开发者交流学习。 💠希望通过每一次学习,让更多读者了解我 💠也希望能结识更多志同道合的朋友。 💠将继续努力,不断提升自己的专业技能,创造更多价值。🌿欢迎来到@"衍生星球"的CSDN博文🌿 🍁本…...

Navicat定时任务
Navicat定时任务 1、启动Navicat for MySQL工具,连接数据库。 2、查询定时任务选项是否开启 查询命令:SHOW VARIABLES LIKE ‘%event_scheduler%’; ON表示打开,OFF表示关闭。 打开定时任务命令 SET GLOBAL event_scheduler 0; 或者 SET G…...