当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/190735.html

相关文章:

  • Redis(四)多级缓存
  • 网站安全防护
  • 腾讯云南京地域怎么样?南京服务器IP测速Ping值延迟
  • Harbor 简介
  • RuntimeError: “LayerNormKernelImpl“ not implemented for ‘Half‘解决方案
  • 《向量数据库指南》——向量数据库与 ANN 算法库的区别
  • JavaScript-es6-新版语法-export-import
  • [elasticsearch]使用postman来查询数据
  • 【小程序练习】文件操作案例
  • flask框架-[实现websocket]:将socketio处理函数部分集中管理,使用类的方式来管理,集中管理socketio处理函数
  • Vue的学习补充
  • vue移动端H5调起手机发送短信(兼容ios和android)
  • spring boot RabbitMq基础教程
  • springboot vue 部署至Rocky(Centos)并自启,本文部署是若依应用
  • Mysql之增删改查
  • 【考研数学】矩阵三大关系的梳理和讨论 | 等价、相似、合同
  • 在 Amazon SageMaker 上使用 ESMFold 语言模型加速蛋白质结构预测
  • node.js知识系列(4)-每天了解一点
  • can not remove .unionfs
  • 微服务 BFF 架构设计
  • 零基础学python之元组
  • 11. SpringBoot项目中参数获取与响应
  • 4+1视图与UML
  • 没用的知识增加了,尝试用文心实现褒义词贬义词快速分类
  • AWS SAP-C02教程3--网络资源
  • 【TensorFlow2 之012】TF2.0 中的 TF 迁移学习
  • mysql面试题46:MySQL中datetime和timestamp的区别
  • 【Spring Boot】RabbitMQ消息队列 — RabbitMQ入门
  • Navicat定时任务
  • 小白必备:简单几步, 使用Cpolar+Emlog在Ubuntu上搭建个人博客网站