关于电赛飞行器组要求中的不得有“无线通信及遥控”的思考与解决思路

本文主要是介绍关于电赛飞行器组要求中的不得有“无线通信及遥控”的思考与解决思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        飞控类型没有明确限制,和2019年国赛标准一致,依据往届经验,肯定更推荐用TI芯片方案,对携带遥控器、无线数传等设备有可能造成的违规作弊行为予以严令禁止,,有且进允许通过按键启动,这一点规定更加明确、清晰,避免去年国赛不同赛区对此要求认定模糊不清。

 

 

关键问题讨论:

下面给出无名创新提出的一种最简单又行之有效的与以往遥控器操作完全兼容的通过按键一件启动方案,这里拿出来和大家探讨在实际比赛中的实际操作可能性。

1、首先比赛限制使用"无线通讯及遥控”的初衷非常清楚,目的是避免飞行器在运行过程中参赛选手手动“微操”飞行器、或者其它第二现场比如隔壁教室、走廊等异地操控(第一现场选手有无线视频传输功能将现长实时传输到第二现场),明显违背比赛的自主飞行要求,现场评判的老师很难判断是否作弊。为了杜绝此类现象,赛题干脆利落的禁止"无线通讯及遥控”设备,保证竞赛的绝对公平性。

 

2、与之同时带来的问题更多,参赛选手在无人机调试时,需要频繁的修改代码,修改的代码往往不能行之有效的一次性成功执行,因此无人机在“脱控”(脱离遥控)下的全自主飞行行为具有非常大的不确定性。不是每个实验室都有足够的经费承担因为“失误”带来的频繁炸鸡损失。对于无人机保护性不好的学校,在调试时发生流血伤人情况很难避免。如果此时有遥控器那么直接切到手动控制模式下,安全降落后在排查问题。这点是实际调试时最大的痛点。

 

3、既然比赛要求的是无人机不能带有"无线通讯及遥控”,主要指的是无线数传、具有无线通讯功能的遥控器。数传和遥控一样存在无线作弊操作的可能。为了说清楚遥控这个问题,我们不妨看下遥控器的定义,直接贴上百度的图如下:

 

 

         作为遥控最最明确的一点遥控器是远距离对被控对象进行操控,对于常见的航模遥控而言,是遥控器上面的电位器、开关量等信息编码之后,通过无线射频芯片如A7105、NRF24L01、915、433等设备无线传输到接收机端,接收机端解码后再编码成PPM、SBUS、PWM、DSM2信号等给飞控,重而实现遥控器对无人机的远程操控。

        那么假设存在这样一种装置,不带任何无线射频芯片,无法将自身的模拟量、开关按键量等状态信息以无线射频编码的方式发送到其它接收端,有且仅仅只能通过“有线”连接,直接传输数据给飞控,无人机起飞前的功能模式设置后,拔掉该有线连接,后续由飞行器在无任何遥控设备的连接下完成其自主飞行操作。

        讲到这里,玩过飞行模拟器中的朋友很容易想到这样的设备:

 

 

        注意虽然看着像是遥控器,但是思考下我们前文所述遥控器的定义,上述设备即不带任何无线设备,因此我们把它叫做"模拟(遥控)器",模拟器能用过有线的方式,将模拟器上的按键开关量、电位器量以PPM信号的形式输出来。我们可以将该信号直接接上飞控PPM信号,实现无人机的有线控制。

       试想一下用此款模拟器有线连接的方式,采用模拟器上的按键开关直接一件启动无人机的操作和采用矩阵键盘的按键开关一件启动的方式,本质上是不是不存在任何差别。

 

 

 

 

 

        感兴趣的同学会发现,基本上市面上所有的遥控器都具有不依赖于接收机,直接输出PPM信号的功能,

 

 

 

 

        上面两款遥控器带模拟器的功能,但是满足不了比赛要求的"无线通讯及遥控”,除非你自己把遥控器里面的无线射频模块拆掉,这点没有实操性。

 

 

​         无名创新开源遥控器介绍https://www.bilibili.com/read/cv7671341

        对于使用无名创新开源遥控器同学,可以直接将无线射频芯片NRF24L01模块拔掉,用AUDIO口输出的PPM信号接飞控PPM接口,即可实现无名创新多功能模拟器对无人机有线操控,完全满足竞赛的禁止使用"无线通讯及遥控”,只能通过按键一键启动的要求

        有了无名创新上面对"无线通讯及遥控”限定的分析,为了保证无人机在实际调试中失控危害,用户在实验室前期实际调试时,仍然可采用普通遥控器+接收机的控制方式,减少不必要的损失,在飞行器调试稳定已经实际比赛中,可以采用模拟器有线连接的方式操作无人机,操作完毕后拔掉模拟器与飞控的连接线,实现比赛要求的一键启动后的全自主飞行。

        上述方法还有一个最大的好处,参赛选手不需要写两套代码,单独按键起飞+遥控器控制起飞,只需要写普通遥控器控制起飞的方式就行,这个也是最直接的方式,比赛时换上模拟器,也是同样的操作,因为不管是接收机、还是模拟器的方式,最终给到飞控的是同一信号即PPM信号,只要将调试时的模式开关与模拟器的通道开关对应就行,从而实现遥控器+接收机到模拟器的无缝对接。

这篇关于关于电赛飞行器组要求中的不得有“无线通信及遥控”的思考与解决思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081203

相关文章

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

关于如何更好管理好数据库的一点思考

本文尝试从数据库设计理论、ER图简介、性能优化、避免过度设计及权限管理方面进行思考阐述。 一、数据库范式 以下通过详细的示例说明数据库范式的概念,将逐步规范化一个例子,逐级说明每个范式的要求和变换过程。 示例:学生课程登记系统 初始表格如下: 学生ID学生姓名课程ID课程名称教师教师办公室1张三101数学王老师101室2李四102英语李老师102室3王五101数学王老师101室4赵六103物理陈

vue同页面多路由懒加载-及可能存在问题的解决方式

先上图,再解释 图一是多路由页面,图二是路由文件。从图一可以看出每个router-view对应的name都不一样。从图二可以看出层路由对应的组件加载方式要跟图一中的name相对应,并且图二的路由层在跟图一对应的页面中要加上components层,多一个s结尾,里面的的方法名就是图一路由的name值,里面还可以照样用懒加载的方式。 页面上其他的路由在路由文件中也跟图二是一样的写法。 附送可能存在

vue+elementui分页输入框回车与页面中@keyup.enter事件冲突解决

解决这个问题的思路只要判断事件源是哪个就好。el分页的回车触发事件是在按下时,抬起并不会再触发。而keyup.enter事件是在抬起时触发。 so,找不到分页的回车事件那就拿keyup.enter事件搞事情。只要判断这个抬起事件的$event中的锚点样式判断不等于分页特有的样式就可以了 @keyup.enter="allKeyup($event)" //页面上的//js中allKeyup(e

vue+elementui--$message提示框被dialog遮罩层挡住问题解决

最近碰到一个先执行this.$message提示内容,然后接着弹出dialog带遮罩层弹框。那么问题来了,message提示框会默认被dialog遮罩层挡住,现在就是要解决这个问题。 由于都是弹框,问题肯定是出在z-index比重问题。由于用$message方式是写在js中而不是写在html中所以不是很好直接去改样式。 不过好在message组件中提供了customClass 属性,我们可以利用

Pycharm配置conda环境(解决新版本无法识别可执行文件问题)

引言: 很多小伙伴在下载最新版本的pycharm或者更新到最新版本后为项目配置conda环境的时候,发现文件夹目录中无法显示可执行文件(一般为python.exe),以下就是本人遇到该问题后试验和解决该问题的一些方法和思路。 一般遇到该问题的人群有两种,一种是刚入门对pycharm进行conda环境配置的小白(例如我),不熟悉相关环境配置的操作和过程,还有一种是入坑pycharm有段时间的老手

青龙面板之Ninja无法安装无法拉库问题解决

因为之前的Ninja库已经不能用了,甚至新找到的库也不能用了,好尴尬,这里使用线下版本进行安装。 ninja安装新方法,其是方法还是原来的,只不过Ninja的库原作者删了,没法直接git了,但是我找到了源码包,我们可以直接通过宝塔面板拖进去。 源码包地址: https://download.csdn.net/download/u012134073/24813485 备用地址: 链接: h

tomcat端口被占用如何解决

转载:https://www.cnblogs.com/demon09/p/9248445.html

# bash: chkconfig: command not found 解决方法

bash: chkconfig: command not found 解决方法 一、chkconfig 错误描述: 这个错误表明在 Bash 环境下,尝试执行 chkconfig 命令,但是系统找不到这个命令。chkconfig 命令是一个用于管理 Linux 系统中服务的启动和停止的工具,通常它是 initscripts 包的一部分,但在最新的 Linux 发行版中可能已经被 syste

ScrollView 往上滑动,里面的一个View停在某个位置的思路

1.scrollView的contentoffset 为view的左上角,减去此时scrollView的左上角 2.而且还不需要让那个红色的view removeFromSuperView ,直接self.view AddSubView 就会自动从原来的那个View脱离开来 3.以后遇到问题的思路。当发现UIView很许多奇特的效果的时候,思考它是不是在不断的改变父控件。 #pragma m