(25)(25.1) 光学流量传感器的测试和设置

news2024/12/24 8:16:00

文章目录

25.1.1 测试传感器

25.1.2 校准传感器

25.1.3 测距传感器检查

25.1.4 预解锁检查

25.1.5 首次飞行

25.1.6 第二次飞行

25.1.7 正常操作设置

25.1.8 视频示例(Copter-3.4)

25.1.9 空中校准


25.1.1 测试传感器

将传感器连接至自动驾驶仪后,使用 Mission Planner 连接至自动驾驶仪并打开"飞行数据"屏幕的"状态"选项卡。如果传感器正在运行,你将看到 opt_m_xopt_m_yopt_qua 值均不为零。

25.1.2 校准传感器

1. 连接自动驾驶仪,并将 LOG_DISARMED 设置为 1,确保启用加锁时的日志记录功能。

2. 找一个表面有纹理、光线充足(自然光或强烈的白炽灯)的地方。

3. 拆除螺旋桨(安全第一)。

4. 接通飞行器电源,将水平仪放在远离身体和眼睛的位置。

5. 在大约一秒钟的时间内,围绕横滚轴的飞行器旋转 -15+15 度,然后再返回。重复 510 次。在旋转过程中,闭上一只眼睛,就能使传感器中心与背景保持静止。

6. 围绕飞行器俯仰轴重复。

7. 下载数据闪存日志,绘制 OF.flowXOF.bodyXIMU.GyrX 数据。它应该是这样的。

8. 如果 OF.flowX 大于或小于 OF.bodyX,则可以通过更改 FLOW_FXSCALER 参数来进行调整。

9. 如果 OF.bodyXIMU.GyrX 不相关或符号相反,则可能是 FLOW_ORIENT_YAW 参数设置错误或流量传感器未朝向下方。

10. 绘制 OF.flowYOF.bodyYbandIMU.GyrY 数据。它应该是这样的。

11. 如果 OF.flowY 大于或小于 OF.bodyY,则可以通过更改 FLOW_FYSCALER 参数进行调整。

12. 如果 OF.bodyYIMU.GyrY 不相关或符号相反,则 FLOW_ORIENT_YAW 参数可能设置错误,或者流量传感器没有朝下。

25.1.3 测距传感器检查

检查流量传感器校准测试闪存日志中的 EKF5.meaRng 信息。检查以下内容:

1. 可进行连续量程测量。

2. 它在地面上输出的距离是预期值的 10cm(请记住,在车辆横滚或俯仰时,测得的距离会增加,因为激光是在斜面上测量的)。

25.1.4 预解锁检查

要允许在没有 GPS 的情况下在 Loiter 解锁和起飞,应关闭 GPS 解锁检查,如下图所示。取消选中"全部"和"GPS",并选中所有其他选项。

由于启用光流时需要声纳/测距仪数据良好,因此需要执行额外的解锁前检查。

在飞行器加锁时,应将飞行器直升至至少 50cm 但不超过 2m 的高度(如果测距仪显示距离超过 2m,则需要重新启动自动驾驶仪)。

当解锁检查失败时,错误信息为"PreArm: check range finder(预解锁:检查测距仪)"。

可以通过取消选中"参数/声纳"解锁检查来禁用该检查。

25.1.5 首次飞行

1. 对于 EKF2,设置 EK2_GPS_TYPE = 0;对于 EKF3,设置 EK3_SRC1_VELXY = 0(我们不希望 EKF 在此阶段使用光流)。

2.50cm3m 的高度范围内,以小倾角在 STABILIZEAltHold 条件下悬停(旋翼),或在 QSTABILIZEQHOVER 条件下悬停(四旋固定翼)。

3. 下载闪存日志,并在 Mission Planner 中绘制以下内容。

4. EKF5.meaRng 应与飞行器高度变化相关联。

5. OF.flowXOF.flowY 应该是变化的。

6. OF.bodyXOF.bodyY 应与 IMU.GyrXIMU.GyrY 一致。

25.1.6 第二次飞行

Warning

要安全地完成这次飞行,飞行器周围至少需要 15m 的净空。如果光流速度估计不准确,你将几乎没有预警,飞行器可能会很快倾斜到最大倾斜角。

1. 对于 EKF2,设置 EK2_GPS_TYPE = 3;对于 EKF3,设置 EK3_SRC1_VELXY = 5EK3_SRC1_POSXY  = 0,以使 EKF 忽略 GPS 并使用流量传感器。

2. 确保发射机上有可用的 Loiter 和悬停模式。

3. 在地面控制站地图上设置"EKF 原点"。在 Mission Planner 中单击右键,选择"在此设置Home点",并选择设置"在此设置 EKF 原点"。

4.Loiter 状态下起飞,将旋翼飞机/四翼飞机升至约 1m 的高度。

5. 如果飞行器开始加速离开或出现不稳定的俯仰或横滚运动,则切换到悬停和着陆。你需要下载日志文件并在论坛(the forums)上分享,以了解原因。

6. 如果它能保持位置不变,那么恭喜你,你成功了,现在可以开始尝试改变高度,并在 Loiter 模式下移动它了。

25.1.7 正常操作设置

For EKF2

1. 验证 EK2_ENABLE = 1,启用 EKF2

2. 根据光学流量传感器设置 EK2_FLOW_DELAY

3. 要只使用光流量传感器而不使用 GPS,请将 EK2_GPS_TYPE 设置为 3;要与光流量传感器一起使用 GPS,请将其设置为 0

For EKF3

Note

ArduPilot 固件 4.1 及更高版本默认启用并使用 EKF3

1. 验证 EK3_ENABLE = 1,启用 EKF3

2. 设置 AHRS_EKF_TYPE = 3 以使用 EKF3

3. 设置 EK3_SRC_OPTIONS = 0 可禁用 FuseAllVelocities

4. 根据光学流量传感器设置 EK3_FLOW_DELAY

5. 设置 EK3_SRC1_POSXY = 3(来自 GPS 的主水平位置,设置为 0 时只使用光流量传感器)。

6. 设置 EK3_SRC1_VELXY = 5(来自 OpticalFlow 的主要水平速度)。

7. 设置 EK3_SRC1_POSZ = 1(来自气压计的主垂直位置)。

8. 设置 EK3_SRC1_VELZ = 0(无主垂直速度传感器)。

9. 设置 EK3_SRC1_YAW = 1(来自罗盘的主偏航/航向)。

  • 此外,GPS 还可以使用 EKF 光源切换功能与 OpticalFlow 协同工作。
  • 有关 EKF 信号源切换的信息,请参阅 GPS / Non-GPS Transitions。

Note

当旋翼飞机启用了光流传感器(以及测距仪)并将其指定为唯一的水平位置源(例如,`EK3_SRCx_VELXY``=OpticalFlow`EK3_SRCx_POSXY``=None),且飞行器以需要位置估计的飞行员控制模式飞行(即 LoiterPosHold)时,飞行器将不会爬升到测距仪在 `RNGFNDx_MAX_CM 中指定的最大高度之上。这是一种安全机制,否则当飞行器飞出测距仪范围时就会触发 EKF 故障安全。

25.1.8 视频示例(Copter-3.4)

25.1.9 空中校准

Copter-4.2.0 包含飞行校准程序:

1. 设置 RCx_OPTION = 158(光流校准)以允许从辅助开关(auxiliary switch)启动校准。

2.EKF3 设置为使用 GPS(默认值)。

  • EK3_SRC1_POSXY = 3 (GPS)
  • EK3_SRC1_POSZ = 1 (Baro)
  • EK3_SRC1_VELXY = 3 (GPS)
  • EK3_SRC1_VELZ = 3 (GPS)
  • EK3_SRC1_YAW = 1 (Compass)
  • EK3_SRC_OPTIONS = 0 (Disable FuseAllVelocities)

3.Loiter 模式下将飞行器飞行至少 10m(越高越好,但要在测距仪的限制范围内)。

4. 将辅助开关拉高以启动校准。

5. 使用横滚杆和俯仰杆来回摇摆飞行器的横滚和俯仰方向。

6. 检查 GCS "信息"选项卡是否有如下确认校准完成的输出结果。

FlowCal: Started

FlowCal: x:0% y:0%

FlowCal: x:66% y:6%

FlowCal: x:100% y:74%

FlowCal: samples collected

FlowCal: scalarx:0.976 fit: 0.10   <-- lower "fit" values are better

FlowCal: scalary:0.858 fit: 0.04

FlowCal: FLOW_FXSCALER=30.00000, FLOW_FYSCALER=171.0000

7. 降落飞行器并设置 EKF3 以使用 OpticalFlow

  • EK3_SRC1_POSXY = 0 (None)
  • EK3_SRC1_VELXY = 5 (Optical Flow)
  • EK3_SRC1_POSZ = 1 (Baro)
  • EK3_SRC1_VELZ = 0 (None)
  • EK3_SRC1_YAW = 1 (Compass)
  • EK3_SRC_OPTIONS = 0 (Disable FuseAllVelocities)

8. 再次试飞飞行器以检查性能。

另一种方法可以避免在校准和测试之间降落和更改 EKF3 参数,即设置 GPS/Non-GPS 转换(GPS/Non-GPS transitions),以便飞行员在飞行中手动在 GPS 和光流之间切换。假设飞行员使用遥控输入 82 位开关)启动校准,并使用遥控输入 93 位开关)在 GPS 和光流之间切换,则完整的参数列表如下:

  • RC8_OPTION = 158 (Optflow Calibration)
  • RC9_OPTION = 90 (EKF Pos Source) low is GPS, middle is OpticalFlow, high is unused
  • EK3_SRC1_POSXY = 3 (GPS)
  • EK3_SRC1_POSZ = 1 (Baro)
  • EK3_SRC1_VELXY = 3 (GPS)
  • EK3_SRC1_VELZ = 3 (GPS)
  • EK3_SRC1_YAW = 1 (Compass)
  • EK3_SRC2_POSXY = 0 (None)
  • EK3_SRC2_VELXY = 5 (Optical Flow)
  • EK3_SRC2_POSZ = 1 (Baro)
  • EK3_SRC2_VELZ = 0 (None)
  • EK3_SRC2_YAW = 1 (Compass)
  • EK3_SRC_OPTIONS = 0 (Disable FuseAllVelocities)

Note

要使用飞行校准,必须启用 EKF3。这是 ArduPilot 4.1 及更高版本的默认设置。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试官:Vue3.0里为什么要用 Proxy API 替代 defineProperty API ?

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 一、Object.defineProperty 为什么能实现响应式 小结 二、proxy 三、总结 一、Object.defineProperty 定义&am…

vue打印、vue-print-nb插件的基本使用

今天做项目碰到一个打印的需求&#xff0c;只打印一个表格&#xff0c;去网上找了些方法总结一下 打印的方法最常见的就是window.print(),这是浏览器自带的打印方法&#xff0c;方便快捷无需安装插件&#xff0c;但相应的自定义化也差无法打印页面局部&#xff0c;去网上查找资…

薄盒借周杰伦IP卖藏品 车翻在奈雪的茶

在瑞幸联名茅台、喜茶联名FENDI、茶百道联名米哈游后&#xff0c;奈雪的茶搭上了周杰伦。9月14日&#xff0c;在《范特西》专辑发行22周年之际&#xff0c;奈雪的茶推出“范特西音乐宇宙”主题的奶茶与周边。 周杰伦系IP加持&#xff0c;奈雪的茶卖爆了&#xff0c;范特西Styl…

淘宝天猫商品全网搜索接口,关键词搜索商品列表数据接口,淘宝API接口申请指南

淘宝搜索接口是一种提供更便捷的淘宝商品搜索服务的工具。通过该接口&#xff0c;用户可以更加快速地找到自己需要的商品&#xff0c;节省时间和精力。 淘宝关键字搜索接口主要用于以下几个方面的业务应用&#xff1a; 商品搜索。用户可以根据关键字搜索他们想要购买的商品。…

生信学院|09月20日《在线焊件建模——xFrame》

课程主题&#xff1a;在线焊件建模——xFrame 课程时间&#xff1a;2023年09月20日 14:00-14:30 主讲人&#xff1a;武旭 生信科技 售后服务工程师 1、3DEXPERIENCE设计平台介绍 2、xFrame设计工具使用 3、Q&A 请安装腾讯会议客户端或APP&#xff0c;微信扫描海报中的…

【深度学习】clip-interrogator clip docker 容器启动过程

文章目录 dockerfile备忘ENTRYPOINT ["bash", "/app/startProject.sh"]常用docker指令web服务脚本访问接口文件 给一张图片&#xff0c;输出图片描述。 dockerfile备忘 只有从dockerfile制作的镜像才有分层结构&#xff0c;加速传输&#xff0c;故第一步…

Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理

Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理 文章目录 Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理[TOC] 1\. 前文回顾2\. 从 CPU 角度看物理内存模型2.1 FLATMEM 平坦内存模型2.2 DISCONTIGMEM 非连续内存模型2.3 SPARSEMEM 稀疏内存模型2.3.1 物理内存热插…

MySQL常见面试题(一)

&#x1f600;前言 在数据库管理系统中&#xff0c;存储引擎起着核心的角色&#xff0c;它决定了数据管理和存储的方式。MySQL作为一个领先的开源关系型数据库管理系统&#xff0c;提供了多种存储引擎来满足不同的需求和优化不同的应用。除了选择合适的存储引擎&#xff0c;数据…

拉格朗日乘子法思路来源

核心思路:由果索因 一. 直观理解 1. 问题描述 对于如"图1"式(等式约束优化问题, 可行域是边界), 转化成拉格朗日乘子法的思路来源: 图1: 拉格朗日乘子法问题描述图 如"图2",f为曲面.c为平面, 黑色加粗线是f和c的交线.(约束就是限制自变量的变化范围). …

Llama2-Chinese项目:2.1-Atom-7B预训练

虽然Llama2的预训练数据相对于第一代LLaMA扩大了一倍&#xff0c;但是中文预训练数据的比例依然非常少&#xff0c;仅占0.13%&#xff0c;这也导致了原始Llama2的中文能力较弱。为了能够提升模型的中文能力&#xff0c;可以采用微调和预训练两种路径&#xff0c;其中&#xff1…

聚观早报|蔚来汽车首颗自研芯片;中式汉堡正打破“麦门永存”

【聚观365】9月19日消息 蔚来汽车首颗自研芯片 中式汉堡正在打破“麦门永存” 三星Galaxy S24系列入网 特斯拉电动皮卡预订量已超过200万辆 郭明錤称iPhone 15 Pro Max需求强劲 蔚来汽车首颗自研芯片 蔚来汽车正在进行自研芯片布局&#xff0c;蔚来汽车硬件副总裁白剑上个…

慢SQL治理经验总结

在过去两年的工作中&#xff0c;我们团队曾负责大淘宝技术的慢SQL治理工作&#xff0c;作为横向的数据安全治理平台&#xff0c;如何快速准确地发现部门内所有应用的慢SQL&#xff0c;并进行高效的推动治理&#xff0c;同时覆盖多个开发、生产环境&#xff0c;是一个很大的挑战…

机器人掀起“智能热潮”:揭秘中国机器人市场的新风貌

原创 | 文 BFT机器人 中国的机器人市场和自动化形势从未像今年这样令人兴奋。去年&#xff0c;全球超过一半的工业机器人在中国销售。2023年上半年&#xff0c;中国机器人需求趋势仍在继续上升&#xff0c;根据估算&#xff0c;在此期间销售的工业机器人数量约为14.5万台&…

用Python分析文本数据的词频并词云图可视化(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

广播风暴的分析和解决方法(STP配置)

目录 1.广播风暴 2.解决方法&#xff1a;配置STP 1.广播风暴 以下图为例 配置交换机LSW1 <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sysname LSW1 [LSW1]stp Sep 14 2023 05:35:15-08:00 LSW1 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.…

SAP中销售订单运达方导致销项税错误问题实例

近期财务同事反映SAP中一笔国内客户的销售发票会计凭证中显示码是X0&#xff0c;代出的销项税是0。 进一步检查销售发票billing&#xff0c;发现发票价格条件中销税税条件取值确实是0。 基于税码决定的系统逻辑&#xff0c;前面博客中也曾专门分析过。下面在追踪问题时就会按这…

九、蜂鸣器

九、蜂鸣器 蜂鸣器介绍蜂鸣器播放提示音 蜂鸣器介绍 音符频率对照表 蜂鸣器播放提示音 #include <REGX52.H> #include <INTRINS.H> //蜂鸣器端口&#xff1a; sbit BuzzerP1^5; void Buzzer_Delay500us() //12.000MHz {unsigned char i;_nop_();i 247;while (-…

【计算机组成原理】读书笔记第三期:内存和磁盘的关系

目录 写在开头 内存与磁盘的关系 基本关系 磁盘缓存 虚拟内存 节约内存的编程方法 通过DLL文件实现函数共有 通过调用_stdcall来降低文件程序的大小 磁盘的物理结构 结尾 写在开头 本文继续阅读总结《程序是怎样跑起来的》这本书&#xff08;作者&#xff1a;矢泽…

基于Java的流浪动物救助及领养管理设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…

机器人制作开源方案 | 随叫随到的智能垃圾桶

作者&#xff1a;卢智浩 尹宗岱 胡文珺 付文智 陈星 单位&#xff1a;江汉大学 指导老师&#xff1a;侍中楼 李巍 本作品围绕探索者场景和应用主题&#xff0c;基于当今时代“智能家”的快速发展&#xff0c;智慧生活成为未来的一大发展趋势&#xff0c;因此我们设计了此款可…