解决TIVA飞控玄学类问题的通解,用魔法打败魔法

news2024/12/25 9:22:04

问题:我遭遇了玄学问题,出现飞机在起降过程中,位置晃动,突然出现的,昨天还好好的,位置地点都没换,今天中午测试了5、6次每次都这样,现在茫然无措,小哥救我?

这里给出玄学问题的通用解决路径,首先我们举例说明哪一类问题属于玄学,在本例中用户的无人机前后表现不一,后面的表现是无人机基本属于临界崩盘状态,根据视频显示无人机在原地起飞的过程中,无人机的水平位置出现了缓慢钟摆式的来回晃动,根据以往经验主要考虑是控制参数、动力不足、电调行程不一致、机架水平校准误差大或者雷达建图部分等问题,但是按照客户反馈,前后什么都没干,客户给的结论就是东西放一晚上就崩了

这里我们可以总结出此类玄学问题:我自认为没做错什么,所有的操作都是合规的,但是东西就是莫名奇妙的出故障了。

回到本例中来看,考虑当时电赛已经非常紧急,所以首选的方案是先下载我们提供的原始程序,恢复出厂设置后,进行一系列的校准,如电调行程校准、机架水平校准、遥控器行程校准

  • 之所以要恢复出厂设置是排除掉控制参数问题,客户自组飞机动力参数基本和样机一致,故即使使用默认参数就不会出现视频中的摇摆现象,有可能是客户不经意间将参数写错了或者是换了一块别人用过的核心板,旧的核心板里面的控制参数并不是合适的,用户认为下载了程序就行,实际用的参数还是原来核心板中eeprom的参数
  • 其次恢复出厂设置后,对电调行程校准,这点可以有效解决电调行程不一致问题
  • 同时在校准机架水平/加速度计操作过程中,正确的规范的操作下能解决机架水平校准误差大的问题
  • 再者用户在恢复出厂设置后的整个校准过程中,能验证硬件是否有故障或者飞控的某些设置是否不正确。

本例中用户在恢复出厂设置并校准完成飞控设置后,客户反馈无人机能够重新复活。虽然我们并没有排除出之前出问题具体到底是上面列举出的哪一项或哪几项,亦或者还有其他的未知可能,原因似乎变得没那么重要了。考虑用户是临时自己装了新机出现的问题,所以较大的可能是该用户用了一块旧的TIVA核心板,并且eeprom没有清空的原因。

最后我们总结出此类玄学问题的通解是

  1. 下载原始出厂代码,飞控恢复出厂设置,凡是更新了代码版本更换了飞控硬件都需要恢复出厂设置;
  2. 高标准、高规范的完成一系列校准,检查对地测距传感器型号、室内定位传感器类型是否设置正确;
  3. 排查是否存在硬件故障,如电机、电调是否能正常工作;
  4. 观察传感器数据如加速度计、陀螺仪、气压计、对地测距传感器、SLAM定位、机器视觉传感器数据是否正常;
  5. 手动操作遥控器,验证无人机是否能实现基本的定高、定点飞行,目的是确认你的无人机基本的飞行功能;
  6. 验证SDK自主飞行,以SDK任务中case 0自定义轨迹飞行任务为例;

    以不变应万变,玄学并不可怕,相信自己能解决玄学问题,有时逐一排查定位很难且耗时,没有捷径的时候要用笨功夫可将各路牛鬼蛇神一网打尽

    虽然最后问题得以解决,但是问题的根源还是没有明确地定位到,答案依然还是“玄学”,实乃用魔法打败魔法。

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

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

相关文章

手写 轮播效果

此处只做了手动点击的效果,未处理自动轮播,基于vue2书写 , 逻辑: 点击左边的图标,进行上一个处理,若此时在第一项,则return,否则将当前所在数据-1;点击右边的图标,进行下一个处理,若此时在最后一项,则return,否则将所在数据1;当单独点击某数据时,若当前就是点击项,则return,否…

与 Apollo 共创生态:探索智能驾驶新时代

前言 随着百度Apollo的七周年大会在北京车展前夕成功举办,我们迎来了一场关于智能汽车未来的思想盛宴。在这次主题为“破晓•拥抱智变时刻”的盛会上,百度Apollo发布了一系列令人振奋的智能驾驶产品,从领航辅助驾驶到智能座舱,再到…

[C++][算法基础]区间覆盖(贪心 + 区间问题4)

给定 𝑁 个闭区间 [𝑎𝑖,𝑏𝑖] 以及一个线段区间 [𝑠,𝑡],请你选择尽量少的区间,将指定线段区间完全覆盖。 输出最少区间数,如果无法完全覆盖则输出 −1。 …

界面组件DevExpress中文教程 - 如何在Node.js应用中创建报表?

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。 获取DevExpress Reporting最新正式版下载(Q技术…

电商日志项目(一)

电商日志项目 一、项目体系架构设计1. 项目系统架构2. 项目数据流程二、环境搭建1. NginxLog文件服务1.1. 上传,解压1.2. 编译安装1.3. 启动验证2. Flume-ng2.1. 上传解压2.2. 修改配置文件2.3. 修改环境变量2.4. 验证3. Sqoop3.1. 上传解压3.2. 配置环境变量3.3. 修改配置文件…

「玻尔曾孙」领衔!超辐射原子,重塑全球精准测时——

超辐射原子能够帮助我们以前所未有的精度测量时间。在哥本哈根大学最近的一项研究中,研究人员开发了一种新的测量时间间隔(秒)的方法,这种方法克服了目前最先进原子钟面临的一些限制。 这一成就有望在多个领域产生深远影响&#x…

el-date-picker 禁用时分秒选择(包括禁用下拉框展示)

2024.04.26今天我学习了对el-date-picker进行禁用时分秒, 在使用el-date-picker组件的时候,我们有可能遇到需要把时分秒的时间固定,然后并且不能让他修改: 1714120999296 比如右上角的这个时间,我们要给它固定是‘08:…

Flask模版详解

Flask模版详解 概述Jinja2模板引擎渲染模版的步骤变量控制结构自定义错误页面链接静态文件 概述 模板是一个包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体值只在请求的上下文中才能知道。使用真实值替换变量,再返回最终得到的…

Android4.4真机移植过程笔记(三)

如果文章字体看得不是很清楚,大家可以下载pdf文档查看,文档已上传~oo~ 7、安装加密APK 需要修改文件如下: 相对Android4.2改动还是蛮大的,有些文件连路径都变了: //Android4.2 1、frameworks/native/libs…

如何运用结构化思维来规划个人发展

结构化思维不仅在工作中非常有用,在日常生活中同样可以发挥巨大作用。无论是解决家庭琐事、规划个人发展,还是做出重要决策,结构化思维都能帮助我们更有条理地思考和行动。 一、解决生活中的问题 生活中总会遇到各种各样的问题&#xff0…

Unity+Shader入门精要-1. 入门shader

今天开始正式整合学习的shader内容。 Simple Shader 主要介绍了大概的shader格式。 Shader "Unity Sgaders Book/Chapter 5/Simple Shader" //shader名 {Properties{//声明color类型的属性_Color("Color Tint", Color) (1.0,1.0,1.0,1.0)}SubShader{Pa…

【SpringBoot】数据脱敏

文章目录 什么是数据脱敏JsonSerialize自定义Jackson注解定制脱敏策略定制JSON序列化实现脱敏工具类 定义Person类,对其数据脱敏模拟接口测试总结 什么是数据脱敏 数据脱敏,也称为数据的去隐私化或数据变形,是一种技术手段,用于对…

tcp inflight 守恒算法的自动收敛

inflight 守恒算法看起来只描述理想情况,现实很难满足,是这样吗? 从 reno 到 bbr,无论哪个算法都在描述理想情况,以 reno 和 bbr 两个极端为例,它们分别描述两种理想管道,reno 将 buffer 从恰好…

【C++庖丁解牛】C++11---新的类的功能 | 可变参数模板

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1.新的类功能1.1 默认成员…

浏览器预加载器如何使页面加载速度更快

预加载器(也称为推测或前瞻预解析器)可能是浏览器性能有史以来最大的改进。 那么什么是预加载器以及它如何提高性能呢? 浏览器如何加载网页 网页充满了依赖关系——在下载相关的CSS之前页面无法开始渲染,然后当遇到脚本时HTML解…

零基础该如何自学linux运维?

零基础该如何自学linux运维?以下是建议帮助你入门Linux运维的一些建议。 一、自学建议: 理解基础概念:首先,你需要对Linux操作系统的基本概念有所了解,包括文件系统、用户权限、进程管理等。安装Linux系统&#xff1…

若依前后端部署系统--详细附图

一、后端部署 1、在ruoyi项目的Maven中的生命周期下双击package.bat打包Web工程,生成jar包文件。 提示打包成功 2、多模块版本会生成在ruoyi/ruoyi-admin模块下target文件夹,我们打开目录ruoyi-admin/taget,打开cmd,运行java -jar jar包名称…

【C语言进阶】程序编译中的预处理操作

📚作者简介:爱编程的小马,正在学习C/C,Linux及MySQL.. 📚以后会将数据结构收录为一个系列,敬请期待 ● 本期内容讲解C语言中程序预处理要做的事情 目录 1.1 预处理符号 1.2 #define 1.2.1 #define定义标识…

【Docker学习】docker stats

命令: docker container stats 描述: 显示容器资源使用的状态(实时) 用法: docker container stats [OPTIONS] [CONTAINER...] 别名: docker stats(docker的一些命令可以简写,docker stats就等同…

Odoo17开发环境搭建

1.先下载godoo17_20240227_02.zip压缩包,里面包含了项目用到的所有的插件了,直接使用这个包即可。 下载地址:https://download.csdn.net/download/java173842219/89242257 2.解压该压缩包,目录如下: 3.下载pycharm并…