Ardupilot开源无人机之Geek SDK讨论
Ardupilot开源无人机之Geek SDK讨论
- 1. 源由
- 2. 假设
- 3. 思考
- 3.1 结构构型
- 3.2 有限资源
- 3.3 软硬件构架
- 4.Ardupilot构架 - 2024kaga Update
- 5. 讨论
- 5.1 话题1:工作模式
- 5.2 话题2:关键要点
- 5.3 话题3:产品设计
- 6. Geek SDK - OpenFire
- 6.1 开源技术
- 6.2 品牌概念
- 6.3 产品清单
- 6.4 DEMO视频
1. 源由
其实这个标题是有点大的,或者说这里更多的吸引眼球。
而真正的目的,还是想围绕具有广泛群众基础,成熟、可靠、安全的无人机开源项目,讨论一些无人机展望的话题,根据话题想做一个快速原型Demo。
所以,这个标题在个人看来并不重要,重点是期望在开源无人机项目上,考虑无人机的架构发展趋势,在应用和性能设计层面的思考,更好,更快的实现项目落地。
2. 假设
开放性的话题,可以天马行空,相对来说也不容易达成一些共识,或者怎么说都有道理。
因此,缩小一些范围或者具体化一些内容,使得在边界范围内进行讨论,会能够更加聚焦话题。
- 电子硬件:能够支撑开源软件的硬件,比如:穿越机飞控
- 开源软件:具备开源权限的软件代码,比如:ardupilot
- 结构构型:能够匹配开源软件飞机结构,比如:多旋翼
3. 思考
3.1 结构构型
话说无人机结构构型,一拍脑袋:固定翼、多旋翼、VTOL、直升机等等
概念角度简单可以把有人飞机的人“去掉”,加之进行小型化,通常就是现在我们看到的,比较“时髦”的无人机,比如:全球鹰、DJI无人机、穿越机等
无人机首先实际解决的问题就是飞行,而这个问题最为直接的底层理论就是空气动力学,是飞机结构形态在飞行中遇到的控制问题。
显然,牛顿力学/空气动力学是能够初步一探这个问题的。感兴趣的朋友,倒是有学习笔记:
- 飞行动力学 - 基础点摘要整理
当然,这里讨论的话题并非围绕这个结构构型展开,因为研究飞行,飞行器结构构型有着悠久的历史,成熟的理论。
3.2 有限资源
承上启下,围绕本文标题和目标,谈谈有限资源的问题。
- 无人机结构并非本人专业。
- 物理/化学/数学,几乎万能。哪怕是芯片也无非是P/N沟道,电子跃迁等问题,电子在量子力学中更是使用了概率表达方式。
- 研发在一些老板眼中,也是万能。因为,研发可以去研究问题解决问题,也可以做前台,甚至去扫地。 – 呵呵,无非没有理解有限资源的利用问题。
好,回到有限资源上,我们最通俗表达:“专业的人解决专业的问题”。
毕竟去研究一个领域,需要大量的时间、精力、资源,会碰到大量的具体问题和解决方法。所以在领域方面,通常会有深度与广度的讨论:矛与盾,鱼与熊掌不可都得。
这就是典型的有限资源问题。名人名言:
- “吾生也有涯,而知也无涯。” —— 人的生命是有限的,而知识是无限的。用有限的生命去追求无限的知识显然是不可能的,因此需要有选择地学习和追求真正有价值的东西。
- “学无止境,力有所及。” —— 学习永无止境,但人的能力总有一个限度,需量力而行。
- “Art is long, life is short.” —— 技艺无涯,而人生短暂。
希望大家了解,有限资源使用一定有侧重面,大而全,十全十美的东西在人类有限生命时间内是不存在的。
因此,专注于重点,把握方向,有所取舍。 这才是在有限资源情况下的标准玩法,显然在某些场景下,取舍是很残酷的。
3.3 软硬件构架
当前,开源无人机飞行控制方面已经相对成熟。
当然也有一些极限飞行控制方面的问题,比如:穿越机操控性能方面 Fast Rate
就很值得探讨。通常应用场景方面,其成熟度是完全能够满足的。
目前,更多急需拓展和面对的将会是传感器的扩展以及智能视频分析瓶颈、性能问题,这些在满足行业应用时更加突出。
因此,从架构层面,需要更好的引入支撑上述应用需求的支撑框架:
- 数据总线:引入主干总线,适用于高速、大数据分析
Ethernet (backbone高速总线,可用于视频及伴机电脑)
├──> TTL (穿越机,传统飞控总线)
└──> CAN (更加灵活,更多设备,更加可靠)
- 硬件设备:配合主干总线,以及BLHELi非开源软件设备带来的问题
- Ethernet switch
- 开源ESC:AM32
4.Ardupilot构架 - 2024kaga Update
围绕全球著名的Ardupilot开源飞控代码项目后续整体架构介绍(Andrew Tridgell ):
[2024 kaga] Andrew Tridgell Systems update
5. 讨论
5.1 话题1:工作模式
在互联网日益发展的当今行业应用,分化为两个极端:在线 & 离线 & 在/离线(hybrid)
- 在线模式:作为端设备,与系统实时连接,执行任务
- 离线模式:根据模型、算法进行自主飞行控制,执行任务
- Hybrid模式:(在线/离线) 混合模式,具备执行任务的鲁棒性,确保高质量完成任务
通常无人机都是在Hybrid模式下工作,但是依赖的程度或多或少有所差异。
- 航模大部分时间通过RC控制链路执行在在线模式;当丢失RC信号后,进入离线模式(RTL/Land/Drop)
- 无人机、植保机通过电传信号,工作在Hybrid模式,通常电传传递的是任务指令,而非飞行操控指令;当丢失电传信号,进入离线模式(RTL/Land)
- 特殊应用类无人机离线模式,比如:自动拍照,跟拍无人机 (根据姿势、菜单选择操作姿态,比如:环绕、悬停、降落等)
5.2 话题2:关键要点
结合无人机软硬件架构,并满足上述工作模式需求,就需要解决以下几方面问题:
- 通讯:可靠/距离/性能
- 传感:种类/融合/可信度
- 智能:VIO/AI/SLAM
- 成本:应用&部署
- 开源:拓展
注:私有设备,尤其是非开源软件的私有设备,会存在巨大的不稳定性问题,比如:BLHELi事件。
5.3 话题3:产品设计
产品的概念比较广泛,通俗的可以理解:
- 单品:单一产品,与周边设备有明确的界限
比如:穿越机、记录类无人机等
- 系统:多个产品形成的系统解决方案
比如:救援无人机、巡检无人机等
参考:
【1】FPV整机- 穿越机&无人机&系统 之系统、产品研发
【2】无人机救援系统基本组成
【3】Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
【4】无人机跟随一维高度避障场景–逻辑分析
6. Geek SDK - OpenFire
通过上面的思考、讨论,想构建一套 Geek SDK
,主要应用于智能化快速原型。
注:软件是弹性部署,因此不同的部署方式应对不同的需求!
6.1 开源技术
借鉴以下技术基础,搭建 OpenFire
原型,有兴趣的朋友可以到jetson-fpv Forum参与讨论。
这里jetson-fpv更多主要是软件,硬件是软件的载体,可以前端部署,也可后端部署。但是后端比较适合开发,且异常炸鸡损失比较小,非常适合原型Demo。
从实际应用角度,需要根据性能、需求考虑,期望能够有更多种形态的软硬件部署方式。
【1】ArduPilot开源飞控之MAVProxy简介
【2】ArduPilot开源飞控之MAVProxy深入研读系列 - 2蜂群链路
【3】ArduPilot开源飞控系统之简单介绍
【4】Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
6.2 品牌概念
OpenFire
品牌定位和想传达的含义:
- 开放之火 //强调“开放”和“火焰”的意象,适用于追求自由、创新和激情的品牌。
- 点燃未来 //带有更具象化的意义,适合科技、教育或启发类产品。
- 烈火之焰 //星星之火可以燎原,吞噬黑暗,炽烈重生;光芒万丈,焚尽束缚,燃起希望。
6.3 产品清单
OpenFire
品牌 - 拟产品清单:
-
OpenIPC 摄像头 (数字摄像头、SSC338Q【20x20mm/25x25mm】,8812AU/EU【20x20mm/25x25mm】,天线【如棒棒糖、铜管天线】),结构25转30适配
-
OpenFire一代 OpenIPC数字接收机【结构适配,DJI/HDZero/HDO2等主流眼镜】
-
OpenFire二代 OpenIPC智能接收机【RK3588、Jetson Orin等】
6.4 DEMO视频
- jetson-fpv开源项目
全网首台 jetson-fpv | posenet | AKM ArduRover 4.5.7