草庐IT

PX4从放弃到精通(一):开源飞控PX4简介+系列文章大纲

超维空间科技 2023-04-15 原文

一个人可以走的更快,一群人才能走的更远,交流学习加qq:2096723956
更多保姆级PX4+ROS学习视频:https://b23.tv/ZeUDKqy

👉👉👉**无人机硬件,提供全程指导**👈👈👈

文章目录

前言

设计无人机的飞控是一个非常复杂的工程,想靠一个人或者小的团队设计出稳定成熟的飞控,难度是非常大的,因此对于很多做无人机的同学来说,使用开源飞控更加方便高效.笔者在读研期间,对开源飞控PX4有过一定研究,也走了很多弯路,遇到不少问题.特此将一些相关的经验记录下来,希望能给其他同学一些帮助或参考.

一、PX4是什么?

PX4是由苏黎世联邦理工学院的计算机视觉与几何实验室的一个软硬件项目PIXHAWK演变而来,有"开源飞控之王"之称,目的在于为学术、爱好和工业团体提供一款低成本高性能的高端的自驾仪,PX4是专业的自动驾驶仪。它由来自工业界和学术界的世界级开发人员开发,并得到活跃的全球社区的支持,为各种载具提供支持。
PX4目前由Dronecode基金会进行支持和运行,遵循BSD协议,该协议允许将开源软件二次开发后用作商业用途。目前广泛应用于视觉导航、视觉避障、多机协同、目标跟踪等用途.

PX4的定位是:无人机领域的安卓

二、PX4能做什么?

1.支持的载具

多旋翼
包括:
1.三旋翼
2.三轴六旋翼
3. 四旋翼
4. 四轴八旋翼
5.六旋翼
6. 六轴十二旋翼
7.八旋翼

直升机
包括:
1.单旋翼带尾桨
2.共轴双旋翼直升机
飞艇
固定翼无人机
包括:
1.飞翼
2.标准布局
3.V尾
4.A尾
无人车及无人船
包括:
1.单电机带转向舵
2.双电机差速转弯
水下机器人
六自由度BlueRov2
垂起Vtol
包括:
1.标准垂起
2.倾转式垂起
3.尾座式垂起
旋翼机

2.应用场景

航拍
以前的3DR公司就是做航拍无人机的,不过其产品solo无人机惨被大疆打败.

现在比较流行的昊翔无人机也是基于PX4固件的,其是目前大疆的最有力竞争对手之一,不过其产品主要面向海外市场.现在也开始做行业无人机.

行业应用
行业应用有许多小公司都是用的开源的这一套方案,成本低,开发方便.例如:农林植保,测绘等

科学研究
这一块就更多了,:比如集群,控制,路径规划,结合ROS做无人机SLAM建图导航等

说实话,PX4的应用汗牛充栋,只有你想不到,没有他做不到.文中所举不过是九牛一毛.

3.支持的飞控硬件

PIXHAWK系列
1.fmuv2版本:cortex-m4内核,内存1MB,有协处理器
2.fmuv3版本:cortex-m4内核,内存2MB,有协处理器
3.fmuv4版本:cortex-m4内核,内存2MB,无协处理器
4.fmuv4pro版本:cortex-m4内核,内存2MB,有协处理器
5.fmuv5版本:cortex-m7内核,内存2MB,有协处理器
6.fmuv5x版本:cortex-m7内核,内存2MB,有协处理器
7.fmuv6x版本:cortex-m7内核,内存2MB,有协处理器
aerotenna ocpoc
mindpx-v2
beaglebone blue
crazyflie
intel aerofc-v1
nxp fmuk66-e
nxp fmurt1062-v1
omnibus f4sd

三、系列文章大纲

PX4的内容较多,能写的东西也很多,但是由于时间有限,想写好一篇博客又需要很长时间,所以文章的更新可能有点慢.在此也很懊恼当时学习时没有养成即使记录的好习惯,导致多有遗忘.希望读者引以为戒.
并且由于笔者水平有限,文中难免由疏漏或错误,还请留言指出.
暂时先写以下内容,估计一共整理100篇左右.

(1)开源飞控PX4简介+系列文章大纲

(2)ubuntu18.04配置px4编译环境及mavros环境

(3)使用qt编译PX4

(4)px4架构

(5)PX4中的姿态表示方法及转换关系

(6)PX4姿态控制代码解析

(7)四元数互补滤波姿态解算代码解析

(8)基于卡尔曼滤波的位置解算代码解析

(9)位置控制代码解析

(10)导航算法代码解析

(11)混控器代码解析

(12)状态机代码解析

(13)无人车代码解析

(14)硬件驱动代码解析

(15)二次开发基础

(16)自主控制接口

(17)自定义MAVLINK协议

(18)参数

有关PX4从放弃到精通(一):开源飞控PX4简介+系列文章大纲的更多相关文章

  1. HBase Region 简介和建议数量&大小 - 2

    Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile

  2. python - 开源 Twitter 克隆(在 Ruby/Python 中) - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion是否有任何用Ruby或Python编写的生产就绪的开源Twitter克隆?我对功能丰富的实现更感兴趣,而不仅仅是简单的Twitter消息(例如:API、FBconnect、通知等)谢谢!

  3. IDEA 2023.1 正式发布,新特性简介 - 2

     昨晚看到IDEA官推宣布IntelliJIDEA2023.1正式发布了。简单看了一下,发现这次的新版本包含了许多改进,进一步优化了用户体验,提高了便捷性。至于是否升级最新版本完全是个人意愿,如果觉得新版本没有让自己感兴趣的改进,完全就不用升级,影响不大。软件的版本迭代非常正常,正确看待即可,不持续改进就会慢慢被淘汰!根据官方介绍:IntelliJIDEA2023.1针对新的用户界面进行了大量重构,这些改进都是基于收到的宝贵反馈而实现的。官方还实施了性能增强措施,使得Maven导入更快,并且在打开项目时IDE功能更早地可用。由于后台提交检查,新版本提供了简化的提交流程。IntelliJIDEA

  4. Gradle 自动化构建开源工具 - 2

    文章目录写在前面1、下载与安装(windows)1.1、idea中配置gradle2、基础知识(Gradle6.9为例)2.1、Gradle脚本语法2.1.1、dependsOn2.1.2、创建动态任务2.1.3、增加任务行为2.1.4、参数2.1.5、Ant任务2.1.6、方法2.1.7、默认任务2.1.6、依赖任务的不同输出3、java项目中使用3.1、在已有项目中构建gradle3.2、在新建项目时构建gradle(idea)3.3、gradle项目目录结构3.4、build.gradle3.4.1、plugins3.4.2、repositories3.4.3、dependencies3

  5. pytest简介 - 2

    介绍pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点:简单灵活,容易上手支持参数化能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等测试用例的skip和xfail处理可以很好的和jenkins集成

  6. 停车系统源码-基于springboot+uniapp开源项目 - 2

    Iparking停车收费管理系统-可商用介绍Iparking是一款基于springBoot的停车收费管理系统,支持封闭车场和路边车场,支持微信支付宝多种支付渠道,支持多种硬件,涵盖了停车场管理系统的所有基础功能。技术栈Springboot,MybatisPlus,Beetl,Mysql,Redis,RabbitMQ,UniApp功能云端功能序号模块功能描述1系统管理菜单管理配置系统菜单2系统管理组织管理管理组织机构3系统管理角色管理配置系统角色,包含数据权限和功能权限配置4系统管理用户管理管理后台用户5系统管理租户管理多租户管理6系统管理公众号配置租户公众号配置7系统管理操作日志审计日志8系统

  7. ruby-on-rails - 有没有很好的引用(开源)Rails NoSQL应用程序? - 2

    我有兴趣了解使用nosql将如何影响rails应用程序的架构/设计/代码。有人知道使用nosql持久性的开源rails应用程序的一个好例子吗?谢谢 最佳答案 看看这些项目:卡桑德拉用法atDigg。卡桑德拉用法atTwitter。Friendly用法atFetLife(nsfw)。最后,MyNoSQL是一个提供nosql相关信息的好网站。 关于ruby-on-rails-有没有很好的引用(开源)RailsNoSQL应用程序?,我们在StackOverflow上找到一个类似的问题:

  8. SpringCloud入门实战(七)-Hystrix入门简介 - 2

    📝学技术、更要掌握学习的方法,一起学习,让进步发生👩🏻作者:一只IT攻城狮。💐学习建议:1、养成习惯,学习java的任何一个技术,都可以先去官网先看看,更准确、更专业。💐学习建议:2、然后记住每个技术最关键的特性(通常一句话或者几个字),从主线入手,由浅入深学习。❤️《SpringCloud入门实战系列》解锁SpringCloud主流组件入门应用及关键特性。带你了解SpringCloud主流组件,是如何一战解决微服务诸多难题的。项目demo:源码地址👉🏻SpringCloud入门实战系列不迷路👈🏻:SpringCloud入门实战(一)什么是SpringCloud?SpringCloud入门实战

  9. ruby - 从 cucumber 步骤中提取场景大纲(或读取标签) - 2

    如果我的场景是这样开始的:@my-tagScenarioOutline:AdminuserchangesemailGivenIregisterarandomemailaddress...是否可以在单个步骤定义中读取场景大纲文本或@my-tag?例如,在Iregisterarandomemailaddress步骤中,如果它在给定场景或标记值下运行,我想打印调试信息。 最佳答案 您不能直接从步骤定义中访问该信息。如果您需要该信息,则必须在beforeHook期间捕获它。cucumberv3+下面的beforehook将捕获特征名称、场景

  10. ruby-on-rails - 请向我推荐一些需要编写文档/测试的 rails/ruby 开源代码 - 2

    关闭。这个问题不符合StackOverflowguidelines。它目前不接受答案。要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion在过去的4个月左右的时间里,我一直在使用ruby​​onrails,我真的很喜欢开源的整个概念。我知道它不是ruby​​/rails独有的,但来自Windows编程,这是我第一次真正接触它。我想尽我所能“回馈”,但我觉得我无法贡献任何有值(value

随机推荐