飞思卡尔软件注意事项

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

飞思卡尔些许经验之软件设计

------循迹基于电磁传感器,方向以及舵机调控基于B车模(仅供参考) 1、电感排布

先说下各种排布类型电感的特点:

左右竖直电感:对直角弯道十分敏感,可以清楚分辨出来十字弯与直角弯,但是对于曲率较大的S弯道会造成与直角弯道混淆。在直角弯的时候左右电感差异非常大,可以较早判别出直角弯道,与左右水平电感结合可排除竖直电感对直角弯与大曲率S弯的误判

左右水平电感:很适合判断直道以及小曲率弯道车子处在中心线的位置,但是对于曲率较大的S弯道与直角弯可能会造成左右判断相反的情况(即明明车子左偏赛道,但是根据电感差值却得出车子右偏赛道的结论),此时应该结合竖直电感或者斜电感来融合判断。

左右斜电感:对直角弯以及一切曲率的弯道敏感,缺点是过于敏感,若使用此电感差值作为误差偏移量会导致车子严重内切弯道,建议加入其余电感的权重,总体上不建议使用左右斜电感差值作为误差偏移量,但是作为一切弯道以及直道还有直角弯的方向判断是非常适合的。另外应该注意的是此电感排布对于十字弯道会误判,这是由于十字弯道磁场排布的影响,但是可以与左右水平电感或左右竖直电感结合排除对十字弯道的误判。

中间水平电感:此电感非常适合用于误差偏移量的计算,即误差量=直道中心线值-实时值;用此方法得到的差值在弯道的时候只用稍稍加以处理就可平滑的咬中线过弯。

电感的排布基本上就这几种方式了,下边要说的是车子电感排布选择左右竖直电感加左右水平电感:本次比赛太原理工大学的电感排布,个人感觉过弯时对赛道误差偏移量的处理有较高要求,处理不好很有可能让车子严重内切赛道导致出界。

左右竖直电感加左右水平电感加中心水平电感:用中心水平电感获取赛道误差偏移量,方法参考上面的描述。弯道方向判断用左右竖直电感。直道方向判断用左右水平电感,直角预判用竖直电感,具体是若竖直电感左右差值达到一定程度了就看左右水平电感,若左右水平电感差值较小且左右电感值都较大,说明快要进入直角弯,否则说明在大曲率的S弯。

左右斜电感加左右水平电感加中间水平电感:用中心水平电感获取赛道误差偏移量,方法参考上面的描述。斜电感判断弯道以及直角弯方向。区分十字与直角的方法是看左右水平电感与左右斜电感算出来的方向是否相反,若相反且左右水平电感差值较小且单个水平电感值较大,说明进入了十字区,方向判断应该用左右水平电感。进入直角弯前左右水平电感值会比直道上值稍小且差值较小,且中间水平电感值比处在中心线的时候稍小且左右斜电感差值较,此时基本可以判定是即将进入直角弯道了。

左右水平电感加中心水平电感:个人没有使用过,不过本次比赛有人用并且上届学长也有人用,并且还跑出了不错的成绩,这个排布方式下方向还有赛道误差偏移量的选取可结合上述方法以及自己开拓。

电感越多控制流程越复杂,但是对于电感值不需要过多的处理就可以得到想要的结果,电感越少控制流程越简单,但是对于电感值要进行多方处理才能得到正确的结果。

2、电机PID的调试

步骤一:粗调

在轮子空转状态下先将ID置零,调节P,直道车轮转动时停顿感较小,之后增大I,逐渐可以发现轮子转动时声音很小,停顿感逐渐消失。

步骤二:细调

使用波形显示工具显示PID调节时速度的变化,逐渐增大D值,直到响应速度最快,速度波动最小为止

3、舵机PD调试

遵循的原则是直道舵机小幅度调节,弯道舵机较大幅度且快速调节

4、方向控制

方向判断见上面不同电感排布时对应的不同判断方法。方向控制建议采用分段的舵机PD控制,若将分段的舵机PD调节好了,会得到非常好的过弯以及出弯回正效果。舵机调节的以及差不多的标志是,直道上舵机轻微调节,弯道随曲率的增大快速大幅度调节,并且舵机在赛道任何位置不会产生抖动,即不确定性。舵机调节的幅度以及速度与车子行进速度还有赛道误差偏移量有关,速度越快,舵机反应要越迅速,赛道偏移量越大,舵机反应幅度要越大(即PD值越大,反之PD值越小)。如果可以清晰的判断各种路况,那么建议舵机PD在各种路况下都有各自对应的PD值,并且在不同PD值转换下要实现无缝衔接,即舵机不抖动。若不能明确的区分各种路况,那么建议取不同段的赛道误差偏移量,每段对应一个舵机PD值,分个五六段即可。方向控制已经调的差不多的表现是:直道上车子运行平稳,不晃动,弯道路径较好不会甩尾,稍微内切,出弯的时候肉眼基本看不出来有抖动调整期,基本就是出弯直接就舵机回正,没有任何抖动。要达到这种效果就要耐心的不断的调试各个误差段PD值,直到达到最好的效果为止。

另外:测试路径是否达到较为理想的状态可以只开舵机,用手推着车跑,在直道上基本直行,弯道内切到大概一个轮子或者两个轮子出界即可,直角弯要在前瞻最前方将要到达或者刚刚到达直角弯的时候就开始大幅度拐角。5、速度控制

速度主要是与赛道误差偏移量以及路况有关,快要进入直角弯的时候速度最好用PID调节猛减到0,直到直角弯标志位消失,当然一定要明确的判断出这就是直角弯才能猛减速。十字区以正常的速度过去,弯道在舵机PD调节的很好的状态下可以稍稍的减速即可,同舵机PD一样,最好在非特殊情况下速度不要间断(如直角弯),实现无缝衔接。速度大小可以根据赛道误差偏移量进行分段,道理同舵机PD。也可以使用二次函数得到,将赛道误差偏移量作为自变量X,Y经过稍加处理之后作为得到的速度大小

6、程序结构

AD采集与电机PID调节最好放在中断里面,舵机调节周期较长可以在中断里也可在主程序while循环里面,看个人选择。AD采集频率大概2ms更新一次采集值,

7、赛道维护

赛道一定要定期擦拭,保持赛道整洁,平整无凹凸,一定要保证赛道维

持在最佳状态。车轮常擦,赛道与车轮不要留有灰尘,这是非常重要的一点。不要嫌麻烦,因为赛区赛赛道很整洁,并且到时候车轮也会擦干净,如果平时就满地灰尘的乱跑,那程序里一些标志位啊啥的在赛区赛时会让你非常吃亏的。

8、调试工具选择

IAR:调试功能强大,界面略显单调,不过在线调试功能真的很强大,配套软件可以在这里找到/forum.php?mod=collection&op=all

Keil:界面好看,功能也很强大,编译代码可能不如IAR,不过操作相对IAR简单点,并且更熟悉,毕竟对keil的界面以及一些设定已经很熟悉了。智能车调试助手:包括串口调试,CCD,摄像头以及电磁的调试工具,下载地址见上面网址PS:主控芯片为K60

最后,虽然这一大篇看起来都是字,可能会感觉没图你说个屁啊,我确实没图,但是要认真看下来的话你会发现跟网上的一些技术报告还是有区别的,区别在于一些细节,掌握这些细节,调车就会很方便了。但是全篇文字真的很难看下来,所以要耐心点

列出比较重要的部分:方向控制里面的舵机PD分段,速度控制,电感排布选择

参考资料网址:

智能车论坛:/forum.php

山外论坛:/forum.php?mod=forumdisplay&fid=69

智能车官网:/

调试过程中可能遇到的问题以及原因:

车子甩尾严重:

1、舵机PD没分好

2、赛道或者轮子或者二者都脏了,需要定期擦拭

3、速度分配不合理,尤其是过大曲率的弯道的时候,入弯减速,出弯稍

加速

车子直道行驶摆动严重:

1、舵机PD没调好

直道行驶不咬中线:

1、电感排布不对称

2、赛道误差偏移量没处理好

3、放大倍数没调整好(放大倍数调整要求对称的两个电感值差不多大,

并且变化都较为灵敏,且大致的放大曲线趋势以及比例一致)弯道严重内切:

1、电感使用不当

2、误差值区间取用不合适

3、舵机PD过大过于灵敏

过弯道的时候过到一半往反方向打角:

1、未设置电感值调节死区

相关文档
最新文档