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视频
  • 7. 补充 - 玩具类无人机 - 载体
    • DarwinFPV FoldApe 4
    • CineWhoop FPV 2.5/3.5"
    • Oasisfly25
    • F121/F125

1. 源由

其实这个标题是有点大的,或者说这里更多的吸引眼球。

而真正的目的,还是想围绕具有广泛群众基础,成熟、可靠、安全的无人机开源项目,讨论一些无人机展望的话题,根据话题想做一个快速原型Demo。

所以,这个标题在个人看来并不重要,重点是期望在开源无人机项目上,考虑无人机的架构发展趋势,在应用和性能设计层面的思考,更好,更快的实现项目落地。

2. 假设

开放性的话题,可以天马行空,相对来说也不容易达成一些共识,或者怎么说都有道理。

因此,缩小一些范围或者具体化一些内容,使得在边界范围内进行讨论,会能够更加聚焦话题。

  1. 电子硬件:能够支撑开源软件的硬件,比如:穿越机飞控
  2. 开源软件:具备开源权限的软件代码,比如:ardupilot
  3. 结构构型:能够匹配开源软件飞机结构,比如:多旋翼

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

  • 全网首台 jetson-fpv | yolo11n | AKM ArduRover 4.5.7

7. 补充 - 玩具类无人机 - 载体

F405 Ardupilot 微型无人机,可以非常好的衔接Geek SDK,用于各种DEMO验证和演示。

  • 总体成本也很可控!!!
  • 微型无人机
    在这里插入图片描述

DarwinFPV FoldApe 4

  • DarwinFPV FoldApe 4 - The Under 250 gram Foldable Drone
  • DarwinFPV Foldape4: A foldable pocket sized explorer!

在这里插入图片描述

CineWhoop FPV 2.5/3.5"

在这里插入图片描述在这里插入图片描述

Oasisfly25

  • 蛙趣,芥末帅的Oasisfly25
  • 这么帅的绿洲25,确定不来一台吗
  • ⭕Sub250 Oasisfly 25: Crazy Pocket Ferrari 2.5" Freestyle FPV Drone.🔥

在这里插入图片描述

F121/F125

  • 惯导定高带夜航灯版穿越机金蛉子F121/F125
  • 金蛉子F121测评

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/927088.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb——Maven高级

11.1. 分模块设计与开发 将项目按照功能拆分成若干个子模块,方便项目的管理维护、扩展,也方便模块之间的互相调用,资源共享。 11.2. 继承与聚合 11.2.1. 继承 父工程的的打包方式必须为pom 实现步骤 11.2.2. 版本锁定 dependencyManagemen…

Python中的实用工具JSON解析

对于Python不熟悉的同学,建议从本专栏第一篇开始观看 https://blog.csdn.net/qq_20330595/category_12844705.html 先上效果图 代码 import threading import tkinter as tk import json from tkinter import scrolledtext import tkinter.filedialog as filedialo…

医学临床机器学习中算法公平性与偏差控制简析

摘要 随着医疗领域中数据的不断积累和计算能力的提升,临床机器学习技术发展迅速,但算法不公平性和偏差问题凸显。本文深入探讨了临床机器学习算法公平性的重要性、概念与定义、在临床应用中的影响、偏差来源、降低偏差方法及提升公平性策略。通过对不同…

【数据结构】二叉搜索树(二叉排序树)

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:数据结构 目录 前言 一、什么是二叉搜索树 二、二叉搜索树的实现 节点 属性和接口的声明 插入 查找 删除 拷贝构造 析构 中序遍历 三、二叉搜索树的…

如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?

目前市面上主流播放RTSP视频流的方式是用服务器转码方案,这种方案的好处是兼容性更强,可以用于不同的平台,比如:Windows、Linux或者手机端,但是缺点也很明显:延迟高、播放高清或者同时播放多路视频视频容易…

乘积求导法则、除法求导法则和链式求导法则

乘积求导法则、除法求导法则和链式求导法则 1. Constant multiples of functions (函数的常数倍)2. Sums and differences of functions (函数和与函数差)3. Products of functions via the product rule (通过乘积法则求积函数的导数)4. Quotients of functions via the quoti…

2个GitHub上最近比较火的Java开源项目

1. SpringBlade 微服务架构 标题 SpringBlade 微服务架构 摘要 SpringBlade 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 3.2、Spring Cloud 2023等核心技术构建,遵循阿里巴巴编码规范,提供基于React和Vue的两个前端框架&am…

Ubuntu 安装 MariaDB

安装 MariaDB具体步骤 1、更新软件包索引: sudo apt update2、安装 MariaDB 服务器: sudo apt install mariadb-server3、启动 MariaDB 服务(如果未自动启动): sudo systemctl start mariadb4、设置 MariaDB 开机启…

一体化数据安全平台uDSP 入选【年度创新安全产品 TOP10】榜单

近日,由 FreeBuf 主办的 FCIS 2024 网络安全创新大会在上海隆重举行。大会现场揭晓了第十届 WitAwards 中国网络安全行业年度评选获奖名单,该评选自 2015 年举办以来一直饱受赞誉,备受关注,评选旨在以最专业的角度和最公正的态度&…

相同的二叉树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入:p [1,2,3], q [1,2,3] 输出:true示例 2&…

百度地图JSAPI WebGL v1.0类参考

百度地图JSAPI WebGL v1.0类参考 核心类 Map 此类是地图API的核心类,用来实例化一个地图。请注意WebGL版本的地图API的命名空间是BMapGL。 示例:const map new BMapGL.Map(container); 构造函数描述Map(container: String | HTMLElement, opts: Map…

【k8s】监控metrics-server

metrics-server介绍 Metrics Server是一个集群范围的资源使用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上KubeletAPI收集指标,通过Kubernetes聚合器注册在Master APIServer中。为集群提供Node、Pods资源利用率指标。 就像Linux 系统一样…

AI 声音:数字音频、语音识别、TTS 简介与使用示例

在现代 AI 技术的推动下,声音处理领域取得了巨大进展。从语音识别(ASR)到文本转语音(TTS),再到个性化声音克隆,这些技术已经深入到我们的日常生活中:语音助手、自动字幕生成、语音导…

ARM CCA机密计算安全模型之硬件强制安全

安全之安全(security)博客目录导读 [要求 R0004] Arm 强烈建议所有 CCA 实现都使用硬件强制的安全(CCA HES)。本文件其余部分假设系统启用了 CCA HES。 CCA HES 是一个可信子系统的租户——一个 CCA HES 主机(Host),见下图所示。它将以下监控安全域服务从应用处理元件(P…

matlab显示sin二维图

1,新建脚本 2、保存脚本 3、脚本命令:clc 清除 脚本命令的信息 clrear all 清除全部 4工作区内容:变量啥的 x0:0.001:2*pi%% 开始 精度 中值 ysin(x) y1cos(x) figure%%产生一个屏幕 plot(x,y)%%打印坐标 title(ysin(x))%%标题 xlabel(…

一万台服务器用saltstack还是ansible?

一万台服务器用saltstack还是ansible? 选择使用 SaltStack 还是 Ansible 来管理一万台服务器,取决于几个关键因素,如性能、扩展性、易用性、配置管理需求和团队的熟悉度。以下是两者的对比分析,帮助你做出决策: SaltStack&…

Flutter 1.2:flutter配置gradle环境

1、在android的模块中进行gradle环境配置 ①在 gradle-wrapper.properties文件中将url配置为阿里云镜像,因为gradle的服务器在国外,国内下载非常慢,也可在官网进行下载 gradle版本下载 gradle版本匹配 阿里云镜像gradle下载 可以通过复制链…

vue 2 父组件根据注册事件,控制相关按钮显隐

目标效果 我不注册事件,那么就不显示相关的按钮 注册了事件,才会显示相关内容 实现思路 组件在 mounted 的时候可以拿到父组件注册监听的方法 拿到这个就可以做事情了 mounted() {console.log(this.$listeners, this.$listeners);this.show.search !…

Vue+Elementui el-tree树只能选择子节点并且支持检索

效果&#xff1a; 只能选择子节点 添加配置添加检索代码 源码&#xff1a; <template><div><el-button size"small" type"primary" clearable :disabled"disabled" click"showSign">危险点评估</el-button>…

PhPMyadmin-漏洞复现

前情条件是&#xff1a;首先将我们的PHP版本设置在5.5以上 注&#xff1a;禁止用于未授权的测试! 首先搭建环境&#xff0c;登录后台 点击》》SQL 查看当前的日志状态 SHOW VARIABLES LIKE general%;因为之前我原来做过所以general_log 是开启的&#xff0c;如果vlau 是OF…