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

Ubuntu下编译PX4原生飞控固件

1、下载PX4源码


进入Linux系统中后,使用以下命令
git clone https://github.com/PX4/PX4-Autopilot.git 下载完成后,在出现一个PX4-Autopilot目录


2、更新子模块


进入PX4-Autopilot目录中更新子模块

cd PX4-Autopilot

git submodule update --init --recursive

中途可能因为网络原因卡住,直接ctrl+C退出,删除卡住的子目录,重新执行更新命令,反复几次直到成功。


3、修改权限


PX4官方警告:“永远不要使用sudo来修复权限问题,否则会带来更多的权限问题,需要重装系统来解决”
所以给普通用户一点权限来解决编译时使用sudo可能带来的危机

sudo usermod -a -G dialout $USER 

4、下载依赖库


运行源码中的脚本来安装依赖

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh 


运行完往上翻一翻,有没有失败的红色段,失败就重复操作几次,直到全部成功,一般是网络问题导致的
没问题则按照提示重启


5、卸载模式管理器

sudo apt-get remove modemmanager

Ubuntu配备了一系列代理管理,这会严重干扰相关的串口(或USB串口),最明显的表现就是硬件连接到PC机后,无法读出硬件,无法烧录上传固件。


6.编译仿真工具


编译jmavsim
make px4_sitl jmavsim 编译 gazebo,同理
make px4_sitl gazebo 编译成功,自动启动gazebo软件,画面里有一个小飞机
在命令行输入help可查看支持的命令
 


7、编译源码


在PX4-Autopilot下编译PX4源码
输入make list_config_targets,会出现一系列可编译的px4固件,根据自己需求编译


 

这里选择v5
make px4_fmu-v5_default 中途会遇到很多缺少的文件,一般是git不完整,删除文件夹重新更新子模块即可,实在不行去git官网复制一下找不到的文件


编译成功


下载固件


make px4_fmu-v5_default upload

【BUG1】
但是发现有时候ninja会报错:
ninja not work to do 这个时候我们只需在/Firmware 文件夹下执行:make clean
然后重新编译即可…


【BUG2】
waiting for the bootloader…… 


解决办法是去QGC地面站下载我们的.px4文件到pixhawk中,QGC会帮我们加载bootloader


8.修改源码重新编译验证


现在我们重新编译一下官方给的例子
在/src/example中已经编写好了
我们只需要打开/PX4-Autopilot/boards/px4/fmu-v5/default.cmake
去掉px4_simple_app前的#,将此模块编译到固件中
 


打开地面站的MAVLink控制台,键入help,发现px4_simple_app已经被编译好了
 


运行一下
 


验证成功!

相关文章:

  • vue 两种路由模式
  • 【算法笔记】一维前缀和
  • 二维量子力学:使用Python求解非平凡势
  • 【算法应用】基于粒子群算法PSO求解无人机集群路径规划问题
  • 一个用 C 语言打印出所有三位数水仙花数的程序
  • 蓝桥杯备考------>二维差分板子题之地毯
  • Spring Web MVC(Spring MVC)
  • OGG故障指南:OGG-01163 Bad column length (xxx) specified for column
  • zookeeper详细介绍以及使用
  • 什么是 OLAP 数据库?企业如何选择适合自己的分析工具
  • 软链接解决docker中的conda路径错误:ModuleNotFoundError: No module named ‘Cpython‘
  • 「MethodArgumentTypeMismatchException:前端传递 ‘undefined‘ 导致 Integer 类型转换失败」
  • 向量数据库是什么,它有什么作用?
  • 【计网】数据包
  • 基于Promise链式调用的多层级请求性能优化
  • How to install IBM Semeru JDK 17 on Ubuntu 24.04
  • C++Primer学习(14.1 基本概念)
  • .NET C# TCP网络通信软件开发,Socket上位机开发完整源码下载
  • 【Linux篇】进程入门指南:操作系统中的第一步
  • 基于CentOS7.0系统搭建FTP服务器
  • 网站logo的作用/seo高级优化技巧
  • 博客网站做外贸可以吗/淘宝关键词查询工具
  • 网站建设风格有哪些/小红书sem是什么意思
  • 苏州公司建站/重庆 seo
  • 新农村建设的网站/网站播放视频速度优化
  • 网站自动推广软件/登封网络推广公司