2018 年天津科技大学电子设计竞赛:审题与选题

一年一度的新电杯又再度拉开帷幕,每年的新电杯题目都是给大一的新生量身定做的,所以希望17级新生能够在比赛中收获知识与智慧,并且获得好成绩。

针对于这次比赛,我特地为此写了3个博客,一篇就是当前这个,还有另外两篇,每天都会在原网址更新内容。

以下是三篇博客的网址:

2018 年天津科技大学电子设计竞赛:审题与选题

2018 年天津科技大学电子设计竞赛:题目问题解答

2018 年天津科技大学电子设计竞赛:算法与策略

更多比赛内容和消息,请添加微信公众号:新电社


首先,我认为A题和B题更加适合新入门的同学去选择,解释下C题为什么不适合新手选:
我们抛开题目不说,如果说想要做题,那么我们首先必须掌握下面的知识,以下的知识如果你现在都不了解,你选了这道题,这一个礼拜能把下面这些看懂就不错了。

首先,社团提供一台无人机,所以无人机的框架就不需要制作了。正题开始前,先科普一下四旋翼的原理:               

     图自己画的,首先要明白基础的多旋翼无人机最基本的几个部分:1,自身姿态数据获取  2,自身姿态控制  3,遥控通信   4,附加功能  ◆1)要获取自身姿态数据,需要依靠4个传感器: 加速度传感器:可以告诉你重力G的矢量方向。缺点:由于惯性在运功过程中趋向不稳定,在静态状态下趋向稳定。陀螺仪传感器:可以告诉你当前时间的角速度。缺点:由于敏感度高和传感器自身素质的缘故,在运动过程中趋向稳定,在静态状态下倾向漂移。(可理解为在静止状态下,由于传感器误差,会持续显示角速度为极小的某一值,一定时间的条件下会形成误差积累影响姿态角获取)。磁场传感器:可以告诉你地磁场方向。大气压传感器:可以告诉你当前海拔。这四个传感器一共可以提供10个数据源(三轴加速度,三轴角速度,三轴磁场角,气压)。通过滤波以及平衡(主要在于建立加速度传感器和角速度传感器之间的互补关系),可以构建成比较稳定可靠的自身姿态数据来源。(互补平衡是这一部分的重点)有一种模块叫做10dof,10 degrees of freedom,它上面同时整合了上述四个模块,可以采购来作为IMU(inertia measurement unit)的数据来源。  ◆2)实现自身姿态控制,基础方式为PID控制,笔者尝试了单级PID,控制效果并不理想,串级PID的效果十分明显。PID就是 比例-积分-微分控制。比例项产生目标,积分项平衡系统误差,微分项提高响应精度。串级PID中,内环P是角速度差x参考值Kp,负责修正值的主要输出,举例说,你的四轴正在以1度/秒的速度偏移,此时你的遥控器告诉四轴我想要你以-2度/秒的速度反向偏移,此时P项的输出量就是: (差值error = 3) x Kp,Kp需要在调试中确定具体数值。在其后是内环I,也就是积分项。举例说,如果答主四轴有一个电机出厂有瑕疵,转速比其他电机稍微慢一点点,导致系统在P基础上自行修正总是无法到达目标值,此时差量就会不断积累,并且最终乘以对应的Ki之后,作为输出值的一部分输出。在若干次修正过后,就会一直有一个值附加在这个不太好的电机上,由于输出值变高了,所以这个电机的转速也就变快了,从而平衡掉之前的瑕疵。最后是内环D。在系统自动平衡的过程中,很多时候会过度修正,导致系统在目标值附近震荡,有时还会离散,这时D的作用就体现出来了。它存在的意义是感知当前角速度的变化率,并且在之前P和I的基础上,减小输出,起到阻尼的作用。在调试PID参数时注意观察就会发现它的作用。当内环的PID设置完毕后,可以看到系统会有比较强的自稳能力,表现在用手施加干扰以后可以很快回到近似的初始位置,但是由于没有外环P,此时的内环并不能感知当前四轴的姿态。外环P的意义就是把当前的角度差折算成预期角速度输出给内环PID,例如角度偏差5度,此时如果想让四轴保持水平,那么角度差是5度,乘以外环Kp以后,就可以把此值输出给内环PID进行计算了,而当姿态趋近平衡位置时,输出也趋近于零,内环PID便会尝试把角速度稳定在0度/秒。以上就是四轴PID计算的基本原理。当得到PID系统给出的修正值后,该数值就可以用于无人机自身姿态角的平衡。在该系统中,误差等于目标姿态(也就是遥控器给出的当前姿态要求,如前倾5度并同时左倾2度并同时以0.5度每秒左旋)和当前姿态的差值,修正值用于附加在各个螺旋桨电机的输出值,从而完成姿态控制。  ◆3)遥控通信相对而言简单一些,可以通过各种模块,各种方式来完成,这里笔者选用的两枚2.4ghz带放大器的arduino通讯模块,有效稳定遥控距离在开阔场地测试过的可以达到500米,也可在航模店购买更专业的设备。  ◆4)目前多旋翼的主流功能就是航拍了。但是在成熟的控制和通讯系统下,多旋翼的功能可以有很多很多。具体功能的实现,完全取决于你所匹配的“吊舱”的功能和你的数据链“带宽”。 

其次,再简要说下下A题和B题,A题侧重算法,B题侧重传感器的精确采集。
A题可能让大家认为比较复杂,所以我先分析下这道题:
A题提供的传感器有:color sensor模块、步进电机、激光。可见这道题使用的模块非常的少,其中激光可以直接正负极供电就可以使用了,而本道题关键部分在于"腿"~步进电机的精度和控制算法,可能会用到一些比较简单的C语言知识,而本道题难在发挥部分所以预测,基础部分是非常简单的,发挥部分会对C语言有些要求。
建议:C语言基础比较好、对算法感兴趣的队伍可以报名。
最后,分析下B题,B题大家可能一眼都看出来是传感器的题目。那么,这道题真的如此简单吗?下面我们来分析下这道题吧。
B题使用的有:温度传感器、湿度传感器、红外遥控、水泵、蜂鸣器、LED、测速模块、显示模块(OLED、LCD、数码管等)、直流电机、电流检测模块等,首先如果认为提供的不好使,可以尽早自己购买。
那么言归正传,首先我问下大家,这些模块你都能驱出来吗?你驱出来过吗?大家可能说我有32库,据我所知,一般的32库中只有写了一个通道。比如:ADC部分,我所接触到的例程中只写了一个,而本道题用了若干个ADC,所以,还是需要你真正的会这些知识,不要因小失大。其次,精度问题。1.采集的数据中可能会有些无效的数据,你如何将这些数据除去,所以这里可能需要大家会一些滤波算法。2.如果保证数据准确....等等很多问题。
所以,综上所述,选无人机的同学,如果你没有掌握那些知识,那么你无法做出一道题。A题侧重算法,B题侧重传感器的精确采集。
以上仅代表个人看法,请大家根据自己的实际情况来选题,最后希望大家取得好成绩!

猜你喜欢

转载自blog.csdn.net/qq_38351824/article/details/80266128
今日推荐