Ardupilot开源代码之ExpressLRS性能实测方法
Ardupilot开源代码之ExpressLRS性能实测方法
- 1. 源由
- 2. 测试效果
- 3. 测试配置
- 4. 总结
- 5. 参考资料
- 6. 补充
1. 源由
之前一直在讨论ExpressLRS性能的问题,有理论、模拟、实测。
始终缺乏完整的同一次测试的测试数据集,本章节将介绍如何在Ardupilot上进行获取到完整的测试数据集。
- AP_OSD: Add CRSF link stats display fields #25844
- Backport OSD extended link stats to 4.5.x #26912
2. 测试效果
上测试效果,有视频有真相,呵呵!
Ardupilot 4.5.4 ELRS Signal Test in Real Flight
3. 测试配置
- 【CRSF】RC_LQ:CRSF Link Quality
- 【CRSF】RC_ANT:CRSF天线数量
- 【CRSF】RC_SNR:CRSF链路信噪比
- 【CRSF】RSSIDBM:CRSF链路RSSI dBm值
- 【接收机】RSSI:接收机链路RSSI百分比值
- 【接收机】LINK_Q:接收机链路质量
测试ExpressLRS性能时,尽量选择:RC_LQ、RC_ANT、RC_SNR、RSSIDBM、RSSI;LINK_Q与RC_LQ重复,且RC_LQ还有RF模式前缀。

实际配置好后效果如下:

4. 总结
以上,简单试飞了一圈,可以看到RC_LQ、RC_ANT、RC_SNR、RSSIDBM、RSSI都有不同程度的变化。
通过以下工作:
- 远航拉距打点测试[可视直线距离+RC_LQ、RC_ANT、RC_SNR、RSSIDBM、RSSI]
- 衰减器标定重新校准远航测试数据
就可以给出测试图谱,结合数据,可以更加直观的理解整个性能变化。
相关参考代码详见:Code: Ardupilot 4.5.4 + PR#26912
5. 参考资料
【1】ExpressLRS开源之RC链路性能测试
【2】ExpressLRS开源代码之功能&性能测试
【3】ExpressLRS硬件实测性能分析
6. 补充
有机会的话,笔者出去再拉一次,不过要找个安全的地方,避免不必要的炸机。
相关文章:
Ardupilot开源代码之ExpressLRS性能实测方法
Ardupilot开源代码之ExpressLRS性能实测方法 1. 源由2. 测试效果3. 测试配置4. 总结5. 参考资料6. 补充 1. 源由 之前一直在讨论ExpressLRS性能的问题,有理论、模拟、实测。 始终缺乏完整的同一次测试的测试数据集,本章节将介绍如何在Ardupilot上进行获…...
Transformers是SSMs:通过结构化状态空间对偶性的广义模型和高效算法(二)
文章目录 6、针对SSD模型的硬件高效算法6.1、对角块6.2、低秩块6.3、计算成本 7、Mamba-2 架构7.1、块设计7.2、序列变换的多头模式7.3、线性注意力驱动的SSD扩展8、系统优化对于SSMs8.1、张量并行8.2、序列并行性8.3、可变长度 9、实证验证9.1、合成任务:联想记忆9…...
Segment any Text:优质文本分割是高质量RAG的必由之路
AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…...
IDEA 学习之 编译内存问题
目录 1. 正常的 IDEA build 日志2. 编译工具内存不足日志 (内存从小变大)2.1. 干脆无法启动2.2. Ant 任务执行报错2.3. 内存溢出:超出 GC 上限2.4. 内存溢出:超出 GC 上限,编译报错2.5. 内存溢出: 堆空间2.…...
如何将本地项目推送到gitee仓库
目录 为何用gitee管理自己项目: 如何将自己的项目推送到gitee仓库,步骤如下: 1.下载git 2.生成公钥 3.在gitee上添加公钥 4.在gitee上创建仓库 5.将本地项目推送到gitee仓库 为何用gitee管理自己项目: 1.可以使用多台电脑…...
产品经理基础入门
一、产品基础(需求收集、需求管理、需求分析、结构图、流程图、原型、PRD文档、用户画像、后台的角色管理) 产品经理定义: 1.市场分析:找准市场方向,确定哪个市场是值得进入的。 2.用户分析:针对目标市场…...
五子棋纯python手写,需要的拿去
import pygame,sys from pygame import * pygame.init()game pygame.display.set_mode((600,600)) gameover False circlebox [] # 棋盘坐标点存储 box [] def xy():for x in range(0,800//40): for y in range(0,800//40): box.append((x*40,y*40)) xy() defaultColor wh…...
C# Winform按钮避免重复点击以及解决WinForm中设置Enabled=False为什么还会响应Click事件
1、C# Winform按钮避免重复点击 代码如下 btn.Enablefalse; //执行任务的函数或代码 btn.Enabletrue; 在btn.Enabletrue前添加Application.DoEvents(); 就是让应用程序的消息队列自动走完(即在按钮为Ture前清空消息队列)。 2、解决WinForm中设置Enabl…...
谷歌SEO是什么意思?
谷歌SEO(Search Engine Optimization)是通过优化网站内容和结构,使其在谷歌搜索引擎中排名更高的策略和技术。这不仅仅是提高网站排名,更是吸引目标受众、增加流量并最终提升业务转化的关键方法之一。谷歌搜索引擎优化(…...
IPFoxy Tips:匿名海外代理IP的使用方法及注意事项
在互联网上,隐私和安全问题一直备受关注。为了保护个人隐私和数据安全,使用匿名代理IP是一种常用的方法。匿名代理IP可以隐藏用户的真实IP地址,使用户在访问网站时更加隐秘和安全。 本文将介绍匿名代理IP的基本原理和核心功能。 基本原则 匿…...
【MySQL进阶之路 | 小结篇】MySQL键约束KEY与索引INDEX
1. 键约束 关键字key 比如UNIQUE KEY就是一个唯一性约束,用于确保表中的某一列或多列的组合具有唯一性,不允许有重复值.当定义一个唯一性约束的时候,会自动创建一个唯一性索引来支持这一约束,这意味着它同时也起到了索引的作用.…...
【中学教资科目二】02中学课程
02中学课程 第一节 课程概述1.1 课程的分类 第二节 课程组织2.1 课程内容的文本表现形式2.2 课程评价 第三节 基础教育课程改革3.1 基础教育改革的目标3.2 新课改的课程结构 第一节 课程概述 1.1 课程的分类 学校课程有多种类型,其中最利于学生系统掌握人类所取得的…...
Stable Diffusion 亲测这几个SDXL大模型,真的非常好用!
大家好我是极客菌,前两周Stable Diffusion WebUI1.6.0发布了,新增了很多对SDXL生态的支持。 而ControlNET也对SDXL的支持也逐渐稳定。 SDXL的生态终于有一点起色了,我也觉得是时候,可以来写一篇SDXL的大模型推荐了。 在推荐之前…...
DLS策略洞察:如何应对AI数据中心网络交换机市场的爆发式增长?
摘要: 随着AI技术的发展和应用,AI数据中心对网络交换机的需求日益增加。摩根士丹利预计,2023-2026年间,AI数据中心网络交换机的收入复合年增长率(CAGR)将达到55%。本文将详细分析AI数据中心网络交换机市场…...
数据仓库架构设计
数据仓库架构设计是为了有效地收集、存储、处理和分析大规模数据,从而支持商业智能和数据分析活动。一个良好的数据仓库架构需要考虑数据源的多样性、数据存储的结构化、数据处理的高效性和数据分析的灵活性。以下是数据仓库架构设计的详细介绍。 数据仓库架构的层…...
EasyExcel动态表头多sheet录入,单元格操作样式,自动修改单元格格式
EasyExcel动态表头多sheet录入,单元格操作样式,自动修改单元格格式 说明 EasyExcel是一款开源的Java库,用于读取、写入和操作Excel文件。它是阿里巴巴集团开发的一款高效、功能丰富且易于使用的Excel操作工具。 EasyExcel提供了简洁的API,使得读写Excel…...
Linux的设备模型
在设备模型出现以前,Linux的驱动存在以下问题: 1,设备和驱动没有分离。也就是说设备的信息是硬编码在驱动代码中的,这给驱动程序造成了极大的限制。如果硬件有所改动,那么必然要修改驱动代码。比如LED如果修改了管脚,那么就必然要修改驱动程序。这样就导致驱动的通用性很…...
初始化一个Android项目时,Android Studio会自动生成一些文件和目录结构,以帮助你快速上手开发
当你初始化一个Android项目时,Android Studio会自动生成一些文件和目录结构,以帮助你快速上手开发。这些文件和目录各自有其特定的功能和用途。下面我为你解释一下这些自动生成的内容: 1. app 目录 这是你的应用模块的根目录,包…...
社区团购小程序开发
在快节奏的现代生活中,人们越来越追求便利与效率。社区团购小程序应运而生,以其独特的优势成为连接社区居民与优质商品的重要桥梁。本文将探讨社区团购小程序的特点、优势以及未来发展趋势,为大家揭示这一新型购物模式的魅力。 社区团购小程序…...
数据分析python基础实战分析
数据分析python基础实战分析 安装python,建议安装Anaconda 【Anaconda下载链接】https://repo.anaconda.com/archive/ 记得勾选上这个框框 安装完后,然后把这两个框框给取消掉再点完成 在电脑搜索框输入"Jupyter",牛马启动&am…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
