智能车制作

标题: 智能车—给新手来点干货 [打印本页]

作者: 浮游    时间: 2017-10-13 22:08
标题: 智能车—给新手来点干货
伴随着国庆节的喜悦,我闲来无事,突然上了智能车论坛,看着各位车友分享自己的感悟和总结,看着中南和成信的智能车视频,耳畔的电机响声、齿轮转动声,迟迟不能停息。脑海中闪过无数画面,睡过无数次的赛道,吃过无数次的夜宵,翻车无数次的直立车,队友可爱的笑容。鼻息不禁一酸,总觉得要做点什么,于是我写下这篇文章,分享一些我做直立车两年的经验,算是对自己的一些总结,希望可以对一些新车友们有一些帮助,让你们少走一些弯路。
直立车相对于其他组别需要考虑的东西有不同,除了你的软件代码,机械结构也非常重要,因为直立车可以放板子的位置不多,所以对电路设计有很大的要求(越小越好),我参加比赛的时候都是用的主控驱动一体板子,但是,我希望大家不要把重点转移,软件依然是取得优势的关键,因为硬件和结构只能帮助你有一个好的平台要是想把速度提上去还得靠软件代码,打个比方说:你拿着枪,别人用刀,别人练得好一样可以取胜,你拿着枪照样可能不行。我要强调的是,机械硬件做一次性就做到最好,然后把大部分时间花在软件的优化上,很多同学走入误区一心修改结构和板子最后发现改来改去速度还是没有本质的提升,下面我分别从软件和硬件两个方面谈一谈我的心得。
软件方面--软件是王道,决定胜负
直立环:
直立环言简意赅的说就是让直立车站起来,首先我想说两个概念:机械零位和姿态传感器角度,把这两个搞清楚你就可以搞清楚怎么站起来。机械零位:就是小车在不借助外力和系统内力的前提下,自己能够站起来,这个时候小车姿态相对于空间的位置状态就是它的机械零位;姿态传感器:是陀螺仪和加速度计集合的模块,陀螺仪可以读出角度,加速度计可以得出角速度,我们一般将两个值合起来滤波之后得出角度值,为什么呢?因为:加速度计对四轴或小车的加速度比较敏感,取瞬时值计算倾角误差比较大;而陀螺仪积分得到的角度不受小车加速度的影响,但是随着时间的增加积分漂移和温度漂移带来的误差比较大。所以这两个传感器正好可以弥补相互的缺点。依据机械零点,小车已经可以站立但这是不够的,因为外力会破坏这个平衡状态,这时你就需要用姿态传感器读出小车的角度,然后利用小车的向前或者向后加速来让小车回复到原先角度从而恢复平衡。
调试方法:首先用上位机看滤波的波形的跟随性以及准确性,很多新手拿到传承的代码就开始调参数,结果怎么也站不起来,波形不对当然站不起来,波形调对后,就可以开始调PD值了,先不用D,调P让小车能够站起来但是小车会来回运动保持平衡,然后开始慢慢加D,D的效果会使直立更硬。
速度环
速度环原理方面,主要是PI控制,I的作用是用来消除稳态误差,但是I大了引起震荡,小了加速反应慢,而且用 I 就容易引起超调,所以必须要用积分分离每二十次清零一次I。
    调试方法:将速度设置为零,然后调PD值,直到直立车可以到原地站住并且可以在外力干扰的情况下能在较短时间站住。(具体调试方法可以搜索卓晴老师的直立车教学视频)
转向环:
转向环是车的关键所在,如果一个弯道,车用1m/s的速度能过去,用3m/s的速度能过去,说明你的车调的差不多了。摄像头转向是用的图像循迹(具体图像处理算法我会添加在附件中),大体思路是先从中间往两边搜线,在搜到线之后,沿着边界搜线,另外赛道的特殊元素十字和圆环必须特殊处理,我们采用处理十字的方式是:使用全白行识别,用误差等于全白列所在列数处理全白列数补线处理,处理圆环的方式是:用全白列识别,用直接给固定误差处理。
    调试方法:转向依然是采用的PD控制,比例控制参数可以使得车模方向恢复正确位置。当该参数逐步增加时,车模方向回复速度逐步加快。当比例参数增加到一定数值之后,车模的方向回复由于过快,会出现方向过冲现象。此时通过增加微分控制参数可以抑制这种方向过冲的现象。通过几次组合测试,可以选择一组合适的比例控制和微分控制参数使得车模方向控制即迅速又不会出现过冲现象。
我的小车最后用的模糊控制,模糊控制主要是用代码实现误差大的时候注重误差误差小的时候注重误差变化,智能车一定要上模糊控制,模糊控制会提高转向实时性,有效解决小车过弯不流畅的问题,附加中我会添加一段模糊的代码。
硬件方面—必须一次做到最好
正如我前面所说,直立车的硬件越小越简单越好,我希望所有参加智能车的同学,能够在画第一版的板子的时候就将板子尽量画到完美,很多同学画好板子之后就直接发了,其实画完的时候已经觉得自己重新画一遍肯定能画的更好,但是一想线已经布完了改起来麻烦就不改了,这种方法是及其错误的,我每次画板子布线都是修改好几遍之后(而且每次修改我几乎所有的线都改掉)才发的,因为只有你一遍一遍布线之后,你才知道怎么能将线布好板子布小。下面是我的板子的布局图(图太大放不了不好意思)
PCB所有原理图(包括:MOS管驱动,BTN驱动,12v,3.3v,5v稳压电路)我会添加在附件中。


好了,我想再bb几句可以不,我想谈谈情怀
情怀:
第一年我是大二参加十一届的智能车大赛,我们做的是电磁直立,当时车速到达了2.3m/s,但是决赛没抛下来没能进国赛(当年西部赛区进国赛的最后一位车速要比我们慢一点)。
因此我们不甘心所以参加第十二届,做的是摄像头直立,并和前一年做光电四轮的一起组了队,我们在预赛车速达到了2.7m/s,但是了解的人知道,这年的西部赛区赛道障碍摆的太变态,导致没能完成决赛(只有四个队完成了比赛),导致我们排名输给了本校的摄像头四轮无缘全国赛(按照排名是可以进国赛的,但是新的比赛规定光电类组别只能进一组国赛)
后来我们参加电子设计大赛获得了全国二等奖。
我和队友参加过无数次比赛,取得满意成果的不多,讲真,遇到问题一定要冷静。在比赛的前一周,我们的车轮胎坏了,轮毂断裂,当时磨的很好一副轮胎没了,有备份,但是备份的轮胎长时间不用,老化,摩擦力不够等等,我们只好从新开始磨新轮胎。还有西部赛区的时候,摄像头由于搬运,出现了一个CMOS坏点,由于摄像头固定牢固,我们从软件上屏蔽了该坏点。在第十一届的时候,由于试车时间比较长,忘记更换电池,导致电压不够,未能完成比赛。
另外对于对于连续做了两年的智能车老司机来说,没有进入国赛,太难以接受了,连国赛都去不了,不说丢人,颜面何存!
但是仅仅过了两天,我们立马投入电设的备战中,终于得了电设的国家奖。
所以要拿得起,放得下!
我们一路前行,即使我们会失败,但我们不能退缩和胆怯。
长路漫漫任你闯,天不生人上人与人下人!
祝那些与我一起奋斗的人,拥抱美好的未来!
预祝第十三届各位车友取得成功~~~~~~
新手有什么问题可以到下面评论,简单的问题我会直接回复,复杂的问题可以加我的QQ3089768803我们一起讨论



作者: 星空_xALOC    时间: 2017-10-13 22:47
膜拜大佬。
作者: Frankhaha    时间: 2017-10-14 10:30
说的有道理!很real
作者: cankun1314    时间: 2017-10-14 10:34
为何重复发帖诶??
作者: tang999    时间: 2017-10-14 20:17
可以 很干货
作者: じ~凝眸处    时间: 2017-10-16 07:33
:lo l:lol:lol:lol
作者: Frankhaha    时间: 2017-10-16 21:42
cankun1314 发表于 2017-10-14 10:34
为何重复发帖诶??

两个不同地方发的


作者: 小能手    时间: 2017-10-18 22:03
做车到最后机械结构还有硬件结构才是关键
作者: 浮游    时间: 2017-10-19 17:57
小能手 发表于 2017-10-18 22:03
做车到最后机械结构还有硬件结构才是关键

最后运气才是关键!

作者: dxa572862121    时间: 2017-10-19 20:54
顶一波,老铁,举高高
作者: 小能手    时间: 2017-10-27 16:16
浮游 发表于 2017-10-19 17:57
最后运气才是关键!

我赞同,估计我俩境遇差不多吧

作者: 飞行员舒克    时间: 2018-1-10 20:24
想问一下,光电组判断不同曲率和大小的弯道有什么更高效的方法吗?中线的提取遇到九十度弯道会偏离,应该怎么办?我是新人,问题可能有点小儿科,但真心求解。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2