ArduPilot开源代码之MatekSys Optical Flow 3901-L0X
ArduPilot开源代码之MatekSys Optical Flow 3901-L0X
- 1. 源由
- 2. 安装
- 3. 参数配置
- 3.1 配置光流定位
- 3.2 配置激光测距
- 3.3 辅助配置
- 4. 测试
- 4.1 光流数据测试
- 4.2 测距数据测试
- 4.3 飞行注意事项
- 4.4 实际飞行测试
- 5. 参考资料
1. 源由
之前介绍过MatekSys Optical Flow 3901-L0X模块:
【1】传感模块:MATEKSYS Optical Flow & LIDAR 3901-L0X
【2】iNavFlight之MSP v2 Sensor报文格式
当时主要是在inav固件上进行测试,整体感觉效果一般。
鉴于本次打算将电传模块换到VTOL飞机上去飞固定翼,
【1】Ardupilot开源飞控之VTOL之旅:配件规格
【2】Ardupilot开源飞控之VTOL之旅:配件试装
所以借着这个机会,将MatekSys Optical Flow 3901-L0X替换Mark4的电传,看下Ardupilot效果如何?
2. 安装
- 电源供电5V
- UART4_Tx/UART4_Rx用于通信
- 安装方法参考:传感模块:MATEKSYS Optical Flow & LIDAR 3901-L0X
3. 参数配置
3.1 配置光流定位
FLOW_TYPE = 7 (MSP)
FLOW_FXSCALER = -800
FLOW_FYSCALER = -800
SERIAL4_PROTOCOL = 32 (MSP)
SERIAL4_BAUD = 115 (115200 bps)
3.2 配置激光测距
RNGFND1_TYPE = 32 (MSP)
RNGFND1_MIN_CM = 8 to set range finder’s minimum range to 0.08m
RNGFND1_MAX_CM = 200 to set range finder’s maximum range to 2m
RNGFND1_ORIENT = 25 (Facing Down)
注:文档中不推荐使用这颗板载的激光测距传感,可能是测量距离太近(0~2m),或者数据的稳定性受到环境影响较大。
3.3 辅助配置
-
Loiter和PosHold飞行模式下,需要提供:光流+测距+GPS定位信息。
-
FlowHold飞行模式下,仅需提供:光流位置信息。
-
定位优化:(GPS/IMU/OpticalFlow在15cm距离以内,通常对性能没有影响);距离重心的位置;
Optical Flow
FLOW_POS_X, FLOW_POS_Y, FLOW_POS_Z
FLOW_POS_X = 0.05 set to 5 cm forward
FLOW_POS_Y = 0
FLOW_POS_Z = 0
IMU
INS_POS1_X, INS_POS1_Y, INS_POS1_Z
INS_POS2_X, INS_POS2_Y, INS_POS2_Z
INS_POS3_X, INS_POS3_Y, INS_POS3_Z
GPS
GPS_POS1_X, GPS_POS1_Y, GPS_POS1_Z
GPS_POS2_X, GPS_POS2_Y, GPS_POS2_Z
Range Finder (Sonar or Lidar)
RNGFND1_POS_X, RNGFND1_POS_Y, RNGFND1_POS_Z
RNGFND2_POS_X, RNGFND2_POS_Y, RNGFND2_POS_Z
Visual Odometry
VISO_POS_X, VISO_POS_Y, VISO_POS_Z
4. 测试
4.1 光流数据测试
opt_m_x
,opt_m_y
,opt_qua
显示非零值,持续跳动。
OF.flowX
,OF.bodyX
,IMU.GyrX
趋势和大小基本一致
OF.flowY
,OF.bodyY
,IMU.GyrY
趋势和大小基本一致
4.2 测距数据测试
状态栏 rangefinder1
不为零,且随着姿态、高度变化,数值缓慢线性变化。
4.3 飞行注意事项
- 飞行预检查,取消GPS检查项。
注:室内无GPS,若不取消,无法arm。
2. 第一次短距离STABILIZE 飞行(通常现在都是4.4.0以上的固件,所以大部分情况下采用的是EKF3算法)
EK3_SRC1_VELXY = 0 //we don’t want the optical flow being used by the EKF at this stage
短距离飞行后,下载日志检查:
OF.bodyX
,OF.bodyY
与IMU.GyrX
,IMU.GyrY
都有变化且趋势一致EKF5.meaRng
变化趋势和范围与实际飞机高度变化一致
注:检查日志数据EKF5.meaRng
,最新4.4.0固件XKF5.rng
。
- HereFlow calibration - what and where is EKF5.meaRng
- What happened to meaRng?
- 第二次飞行
室内FlowHold
起飞
EK3_SRC1_VELXY = 5 //OpticalFlow
EK3_SRC1_POSXY = 0 //不要GPS
室外Loiter
起飞
EK3_SRC1_VELXY = 5 //OpticalFlow
EK3_SRC1_POSXY = 3 //GPS
注:通常户外是有GPS的,所以Loiter 是可以正常起飞;但是室内没有GPS,此时就需要使用FlowHold。
参考:Prearm: Need Position Estimate
4.4 实际飞行测试
这里配置了第二次室内飞行参数,验证MatekSys Optical Flow 3901-L0X的使用效果。
Ardupilot 4.4.0 Mark4 + MatekSys Optical Flow 3901-L0X + FlowHold
对比iNav光流悬停,详见:传感模块:MATEKSYS Optical Flow & LIDAR 3901-L0X
iNav
5. 参考资料
【1】传感模块:MATEKSYS Optical Flow & LIDAR 3901-L0X
【2】iNavFlight之MSP v2 Sensor报文格式
【3】MatekSys Optical Flow 3901-L0X
相关文章:
ArduPilot开源代码之MatekSys Optical Flow 3901-L0X
ArduPilot开源代码之MatekSys Optical Flow 3901-L0X 1. 源由2. 安装3. 参数配置3.1 配置光流定位3.2 配置激光测距3.3 辅助配置 4. 测试4.1 光流数据测试4.2 测距数据测试4.3 飞行注意事项4.4 实际飞行测试 5. 参考资料 1. 源由 之前介绍过MatekSys Optical Flow 3901-L0X模块…...
【时钟】分布式时钟HLC|Logical Time|Vector Clock|True Time
目录 简略 详细 附录 1 分布式系统不能使用NTP的原因 简略 分布式系统中不同于单机系统不能使用NTP(网络时间协议(Network Time Protocol))来获取时间,所以我们需要一个特别的方式来获取分布式系统中的时间,mvcc也是使用time保证读…...
人工智能AI与3D视觉技术的结合正在引领新一代移动机器人的革新
随着科技的飞速发展,人工智能AI与3D视觉技术的结合正在引领新一代移动机器人的革新。富唯智能移动机器人,以其独特的3D视觉技术,赋予了移动机器人一双“智慧之眼”,从而为现代工业自动化带来了前所未有的突破。 富唯智能移动机器…...
NSSCTF 简单包含
开启环境: 使用POST传flag,flag目录/var/www/html/flag.php 先使用post来尝试读取该flag.php 没反应: 查看一下源码index.php,看有什么条件 base64解密: <?php$path $_POST["flag"];if (strlen(file_get_contents(php://input)) <…...
FlinkSQL处理Canal-JSON数据
背景信息 Canal是一个CDC(ChangeLog Data Capture,变更日志数据捕获)工具,可以实时地将MySQL变更传输到其他系统。Canal为变更日志提供了统一的数据格式,并支持使用JSON或protobuf序列化消息(Canal默认使用…...
玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— DevEco Studio下载与安装
一、下载DevEco Studio IDE开发工具 1. 登录鸿蒙官网 网址为: 华为HarmonyOS智能终端操作系统官网 | 应用设备分布式开发者生态 页面如下: 2. 搜索“DevEco Studio IDE” 点击右上角的“请输入关键词”,在其中搜索“DevEc…...
大模型上下文长度的超强扩展:从LongLora到LongQLora
前言 本文一开始是《七月论文审稿GPT第2版:从Meta Nougat、GPT4审稿到Mistral、LongLora Llama》中4.3节的内容,但考虑到 一方面,LongLora的实用性较高二方面,为了把LongLora和LongQLora更好的写清楚,而不至于受篇幅…...
pdf格式转换为txt格式
pdf文档转换为txt文档 首先在python3虚拟环境中安装PyPDF2 Python 3.6.8 (default, Jun 20 2023, 11:53:23) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux Type "help", "copyright", "credits" or "license" for more infor…...
scss使用for循环遍历,动态赋值类名并配置不同颜色
需求:后端要传入不同的等级,前端通过等级展示不同的字体颜色,通过scss遍历更有利于动态修改颜色或者增删等级 1.通过 for $i from 1 through 4 定义循环,索引值为i 2.nth($colors, $i) 取出对应的颜色 $colors: #ff0000, #00ff…...
GaussDB数据库使用COPY命令导数
目录 一、前言 二、GaussDB数据库使用COPY命令导数语法 1、语法COPY FROM 2、语法COPY TO 3、特别说明及参数示意 三、GaussDB数据库使用COPY命令导数示例 1、操作步骤 2、准备工作(示例) 3、把一个表的数据拷贝到一个文件(示例&…...
SunFMEA软件免费试用:FMEA的目标和限制是什么?
免费试用FMEA软件-免费版-SunFMEA FMEA,即故障模式与影响分析,是一种预防性的质量工具,旨在识别、评估和优先处理潜在的故障模式及其对系统性能的影响。其目标是提高产品和过程的可靠性和安全性,降低产品故障的风险,并…...
【Redis交响乐】Redis中的数据类型/内部编码/单线程模型
文章目录 一. Redis中的数据类型和内部编码二. Redis的单线程模型面试题: redis是单线程模型,为什么效率之高,速度之快呢? 在上一篇博客中我们讲述了Redis中的通用命令,本篇博客中我们将围绕每个数据结构来介绍相关命令. 一. Redis中的数据类型和内部编码 type命令实际返回的…...
APK 瘦身
APK 瘦身的主要原因是考虑应用的下载转化率和留存率,应用太大了,用户可能就不下载了。再者,因为手机空间问题,用户有可能会卸载一些占用空间比较大的应用,所以,应用的大小也会影响留存率。 1 APK 的结构 …...
GitHub上的15000个Go模块存储库易受劫持攻击
内容概要: 目前研究发现,GitHub上超过15000个Go模块存储库容易受到一种名为“重新劫持”的攻击。 由于GitHub用户名的更改会造成9000多个存储库容易被重新劫持,同时因为帐户删除,会对6000多个存储库造成重新劫持的危机。目前统计…...
避免3ds Max效果图渲染一片黑的4个正确解决方法
在进行3ds Max效果图渲染时,有时候会遇到渲染一片黑的情况,这给我们的工作带来了很大的困扰。为了解决这个问题,下面我将介绍4个正确的解决方法。 1.相机位置 首先需要考虑场景内的相机位置是否有问题。如果相机放在了模型的内部或者墙体的外…...
UI演示双视图立体匹配与重建
相关文章: PyQt5和Qt designer的详细安装教程:https://blog.csdn.net/qq_43811536/article/details/135185233?spm1001.2014.3001.5501Qt designer界面和所有组件功能的详细介绍:https://blog.csdn.net/qq_43811536/article/details/1351868…...
添加一个编辑的小功能(PHP的Laravel)
一个编辑的按钮可以弹出会话框修改断更天数 前台 加一个编辑按钮的样式,他的名字是固定好的 之前有人封装过直接用就好,但是一定放在class里面,不要放在id里面 看见不认识的方法一定要去看里面封装的是什么 之前就是没有看,所以…...
YOLOv8改进 | 主干篇 | ConvNeXtV2全卷积掩码自编码器网络
一、本文介绍 本文给大家带来的改进机制是ConvNeXtV2网络,ConvNeXt V2是一种新型的卷积神经网络架构,它融合了自监督学习技术和架构改进,特别是加入了全卷积掩码自编码器框架和全局响应归一化(GRN)层。我将其替换YOLOv8的特征提取网络,用于提取更有用的特征。经过我的实…...
elasticsearch7.17.9两节点集群改为单节点
需求 将数据从node-23-1节点中迁移到node-83-1节点。但是现在node-83-1并没有加入到集群中,因此首先将node-83-1加入到node-23-1的集群 解决方案 使用ES版本为7.17.9,最开始设置集群为一个节点,node-23-1的配置如下 cluster.name: my-app…...
二叉树的层序遍历,力扣
目录 题目地址: 题目: 我们直接看题解吧: 解题方法: 方法分析: 解题分析: 解题思路: 代码实现: 代码补充说明: 题目地址: 102. 二叉树的层序遍历 - 力扣&…...
构建Dockerfile报错/bin/sh: 1: cd: can‘t cd to /xxx/yyy问题记录
目录 关键的命令行 排查分析 原因 附:Dockerfile构建时打印命令输出的办法 关键的命令行 WORKDIR /app COPY record . RUN cd record && xxx 执行到RUN时报了错: /bin/sh: 1: cd: cant cd to /app/record 并且宿主机当前目录也准备好了re…...
Vue常用的修饰符详解(有哪些,怎么用)
文章目录 一、修饰符是什么二、修饰符的作用1.表单修饰符lazytrimnumber 2.事件修饰符stoppreventselfoncecapturepassivenative 3.鼠标按钮修饰符4.键盘修饰符5.v-bind修饰符asyncpropscamel 三、应用场景参考文献 一、修饰符是什么 在程序世界里,修饰符是用于限定…...
Linux C/C++ 获取CPUID
实现方式: INTEL CC 格式 AT^T CC 格式 GCC/C库 __cpuid 宏 大致讲义: AT^T 格式汇编很反人类,GCC可以改编译器选项为INTEL内嵌汇编,但一般在GCC还是按照默认的AT^T汇编来拽写把,不想用也可以让AI工具把INTEL内嵌…...
2023年“中银杯”安徽省网络安全B模块(部分解析)
前言 以下是2023年中银杯安徽省网络安全B模块题目,镜像可以私聊我 B模块安全事件响应/网络安全数据取证/应用安全(400 分) B-1:CMS网站渗透测试 任务环境说明: √服务器场景:Server2206(关…...
194.【2023年华为OD机试真题(C卷)】单行道汽车通行时间(迭代计算—JavaPythonC++JS实现)
请到本专栏顶置查阅最新的华为OD机试宝典 点击跳转到本专栏-算法之翼:华为OD机试 🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,深度掌握! 文章目录 【2023年华为OD机试真题(C卷)】单行道汽车通行时间(…...
第二证券机构策略:股指预计维持蓄势震荡格局 关注煤炭、电力等板块
第二证券以为,技能面看,在元旦节前资金抄底推进指数收回2900整数关口,并向着3000点渠道压力前进。沪指在底部均线位支撑摆放较强,调整空间估计不大,在3000点渠道下方调整就是再次优化低吸的时机。操作上,在…...
Go 泛型之泛型约束
Go 泛型之泛型约束 文章目录 Go 泛型之泛型约束一、引入二、最宽松的约束:any三、支持比较操作的内置约束:comparable四、自定义约束五、类型集合(type set)六、简化版的约束形式七、约束的类型推断八、小结 一、引入 虽然泛型是…...
【数据仓库与联机分析处理】数据仓库
目录 一、数据仓库的概念 二、数据仓库与操作性数据库的区别 三、发展前期 四、数据仓库的系统结构 五、建模划分 六、主要案例 一、数据仓库的概念 目前很难给数据仓库(Data Warehouse)一个严格的定义,不准确地说,数据仓库…...
机器学习:贝叶斯估计在新闻分类任务中的应用
文章摘要 随着互联网的普及和发展,大量的新闻信息涌入我们的生活。然而,这些新闻信息的质量参差不齐,有些甚至包含虚假或误导性的内容。因此,对新闻进行有效的分类和筛选,以便用户能够快速获取真实、有价值的信息&…...
[C#]基于deskew算法实现图像文本倾斜校正
【算法介绍】 让我们开始讨论Deskeweing算法的一般概念。我们的主要目标是将旋转的图像分成文本块,并确定它们的角度。为了让您详细了解我将使用的方法: 照常-将图像转换为灰度。应用轻微的模糊以减少图像中的噪点。现在,我们的目标是找到带…...
做网站后台运营这个工作怎么样/黑龙江头条今日新闻
很早就想试下Linux下的Postfix服务,也看了网上很多相关的教程,但是每当我看到那长长的篇幅就打退堂鼓了,但是有些东西在技术的道路上始终是要经历和面对的,这些天就一直在鼓捣着这东东,现在把自已的经历写出来…...
php创建网站/企业整站优化
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、Dart中函数定义内置函数自定义函数二、函数传参可选参数默认参数命名参数函数作为参数进行传递三、特别函数箭头函数自执行函数函数闭包总结前言 本篇是笔者…...
保定建网站需要多少钱/全网网站推广
php中在做文件下载的时候,其中要加上这么一些header信息: 1 2 3 4 header("Content-type: application/octet-stream"); header("Accept-Ranges: bytes"); header("Accept-Length:".$fileSize); //请用Content-Length he…...
青岛专业公司网站设计/阿里巴巴运营
偶数求和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 45797 Accepted Submission(s): 20016 Problem Description有一个长度为n(n<100)的数列,该数列定义为从2开始的递增有序偶数ÿ…...
js做网站登录界面/广告投放怎么做
Pytorch Note55 迁移学习实战猫狗分类 文章目录 Pytorch Note55 迁移学习实战猫狗分类加载数据集迁移学习网络定义训练模型的函数定义一个测试的函数1.AlexNet2.VGG163.ResNet184.DenseNet5.MobileNet V26.ShuffleNetV2总结全部笔记的汇总贴: Pytorch Note 快乐星球 在这一部…...
网站怎么做前台跟后台的接口/全网推广公司
两种注册类型的区别是: 1)第一种不是常驻型广播,也就是说广播跟随activity的生命周期。注意: 在activity结束前,移除广播接收器。 2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被…...