30/4 看了华侨车友的转向代码和视频后分析,发现其对转向差比和进行了限幅,同时用差比和的现值和前值比对进行增量限制,个人认为能有效解决转向过冲,最终目标是转向时能在高速下平滑流畅地过去。同时应先把根值法去了用三电感法
个人认为先把转向环优化,过弯减速较不重要,原来根值法和三电感融和之后转向环变得很差,现在双电感好多了
其过弯逻辑没法模仿,但其输出是用的直接控制PWM输出来强行入环 。我接下来测试的方式:(1)竖直电感差比和法
1/5 今天我花了一上午,同样的程序和参数,结果跑起来就大摆,一直往右转,以为是轮胎,搞了一上午轮胎,然后没有电磁线时右轮疯转而左轮不动,以为是程序问题,下午去赛场跑了后又没问题,但还是往右转,我一直以为是右轮摩擦大,浩哥过十字时往右大转而出赛道,其发现过十字时右边电感明显是左边的两倍才造成,通过观察波形,发现最左右电感垂直时值正常,而平行于导线时居然值很大且两遍差值较大,后来发现是由于增加的垂直电感与左右平行电感相接触而对其造成影响,把接触分开就解决了。
2/5今天上午调了半小时,把PWM变化率和最大最小进行了限幅后发现效果反而不好,车大抖动。下午调了45分钟发现车跑到一半就停,增加角度和速度都毫无用处,跑步时都一直没想明白,后来发现是把速度环屏蔽了,看来以后有问题得先从最简单的地方想,但现在把平衡角度调到14°并给100的速度还是走到一半就停,且每次发车时倾角都很大,然后速度给到150,角度14.5°时过蛇形弯倒地,我现在猜测还是因为速度控制和角度控制之间,乃至转向环之间出了问题,转向环D减小了后车不太抖了,但电压降低后反而要增加转向环D,但跑起来时发现一直有低头抬头的倾向而对转向环造成影响,个人认为直立环还不够硬。
由于时间有限,我得吸取浩哥方法:(1)直立环——速度环海南大学串级,(2)转向环对差比和限幅,可以考虑不使用陀螺仪。(3)PWM输出我是对左右轮变化和最大进行限幅,发现大抖,而且还要采集过弯值很不精确。浩哥是对差值进行限幅,并且我转向环输出很离谱,本不应该超过500,明天再观察,同时对转向环进行点刹而不限制差比和也可尝试
3/5 由于时间有限,现在必须换浩哥方案,但抑制不住调三级串级:(1)
4/5 今天花了大把时间调三环,一直不知道问题所在,经过3个小时的奋斗,最终确定是因为速度环和转向环的控制周期没有修改,转向环输出不是十份而是二份,结果过弯过冲,速度环也是分配到10份而不是50份,结果跑着就倒地,修改为10ms转向和50ms速度控制后全程还好,就是长直道过弯往外飘到路肩,转向环还是不够流畅,且有过冲造成甩尾。可以试试:增大控制周期,转向环从10ms——>15ms,增大转向P和D,如果不行则最后试试点刹,今天因为太多问题无法检测点刹,可是试试零占空比或改控制周期,同时大部分时间放在圆环
2018年5月5日
8:43
水平电感:
直线上:(fLeft+fRight)/2.0=330;
环岛中央:fLeft=545, fRight=548,(fLeft+fRight)/2.0=546 经过数据分析可知,通过左右电感来丢直线不可行
垂直电感:
直线上:fLeft=2,fRight=0;(fLeft+fRight)/2.0=1;
环岛中央:fLeft=21,fRight=54,(fLeft+fRight)/2.0=37;
水平电感过一般类似环岛一样弧度的右转弯道时fLeft=260,fRight=280,便有向右拐的趋势
垂直电感进环岛:无法自动进入,但人为能够轻松掰动,且进入环岛后大幅摆动而倒下。针对此现象我的检测方法为:
1. 只用垂直电感过普通圆环来检测过环效果,以确定差比和是否要进行补偿
2.大幅摆动是因为转向环控制和圆环控制之间存在某种与控制周期有关的冲突,
3.垂直电感如环岛的缺点在于:如果去除中间电感的判断,会出现误判,从出口处入环,显然要想办法把这个调好
4.垂直电感缺点在于入环后差比和几乎为0故必须得想办法切回垂直电感
固定打角法:打角到不会回到直线后自由巡线。归一化的目的:
6/5 梦寐以求的中间电感差值法出现了问题:(1)主控刚开启,且中间电感未超过900,但Up_Flag=1,经查询静态局部变量掉电后开启需要重新定义,应该是没错,暂且不管他,再去想办法验证一下其他问题:在nCenter<900的时候为何Up_Flag==1?猜测刚上电瞬间nCenter>900,只是肉眼观察不到,经验证静态局部变量即使我初始化为0它还是1。经发现uint8即char类型在IAR中不能作为flag来判断,即使初始化为0,但判断的时候是非零,而ASCII里是NULL,实际上不适用于此。浩哥的固定打角法,浩哥必然在想办法克制50到100之间的问题,它又不傻,但是这种调参需要车本身没有太多机械改变,不然是适应不了的,而我的方法能克服高速情况吗?很难说,但我觉得浩哥更加难以克服,至少目前不觉得比我好,理想很丰满,但现实当头一棒,为何电感过切点后左边值比右边大且右边为0,最大的问题并不在程序而是机械
7/5 校赛在即,电感已不是最主要解决的问题,算法才是关键,想用中间电感与左右的差比和,可你必须解决如昨天一样的大摆倒地,暂时不想思考他,因为那种方法进入深度无法确定
打角:
丢直线:问题在于如何解决过环岛时直线单独的电感值<——拟合出某电感与距离的函数<——检测出高度
8/5 先总结一下昨晚调三环的经验,大湾冲出去是因为转向环P不够,跑动时抖动是因为D不够,然而P大D大时过弯缓慢,故PD都要合适,加了不延时的点刹后效果不错,现在发现转向环差比和限幅有点太小,应大一点。对于环岛,想用k=f(speed)显然是做不到的,脉冲跳变太大,没法弄,暂时碰到死路了。现在过环岛特别不稳定,大摆,估计是转向环参数还得调
垂直电感差比和证明是可以用,只要不会在切点提前预判,就不会大摆,现在的题是速度适应不强,甚至出环后不执行进环程序,目前进环后抖动的效果小了,已经在可用范围。
(1)速度适应:先调参数,现在可能是过弯参数不够强
(2)出环后不入环是因为中间电感问题,增加左右电感作为判断或者把中间电感阈值降低
11/5 现在转向环怎么调节都调节不好,目前感觉回复远不够快,难受,感觉怎么调转向环,偏差微分从100~-100,一点都没有切内环,感觉毫无效果。(1)现在把直立角度从8.5改到10.5后速度收不住,改回9.5好多了,但速度原来100时反而慢,给20反而快?(2)转向环增大P试试从3600——>3900,显然出现过冲,但依然会轮出跑道,通过把平衡角度从9.5——>9.0,效果不错,暂时不调,等着问浩哥。
我现在环岛的主要问题就在中间电感,该阈值难以设定,经常要改,我速度环控制不住,与陀螺仪多少有关。
为何把中间电感放车底盘就好:(1)速度快了过切点时无法打角后还会回来。经检验即使不清垂直电感差比和标志位,高速时还是不能进入,即已经开始打角了,但是已经错过了打角最佳位置,也许可以提前打角试试。
目前碰到了瓶颈,大概平常给80目标速度是进环极限速度,一旦超过,便会冲过打角点,我目前所能做的是增大参数,速度环增大P(0.05——>0.1,越大越快)后效果显著,速度控制相对较好,但长直道还是太快,故环岛几乎很难进,尤其是小环岛。需要:(1)降低速度(2)增大打角P(3)稍微提前预判
现在重点在于写出环程序:感觉对中间电感进行归一化只是把误差缩小,起不到什么作用。采集中间电感最大值后,对该阈值进行判断。。。。有点凉凉。我的目标就是要对每进一次环岛进行记录,我的切入点就是出环岛时不进入,但下一个环岛继续进入
12/5 今天卡在出环岛算法不会写,我想让左右(左或右)电感值过环岛的某个瞬间若等于某值,实际上就我目前来看,任何简单的标志位都无法让其出环,出环一定要用与传感器有关的方法。现在用ESP来实现高速入环,对于左圆环,切点前差比和=0.3,可以>0.45用左ESP,而右环岛,切点前差比和=0.3,可以<-0.2,效果好像看不出来,至少没有看到副作用就是,由于改程序给取消了,发现效果一般,可能有副作用或没调好
PWM限幅在200以下时进环岛会倒,故限幅在200,目前最大问题是转向环不好,其实速度控制已经不太差了,这速度能过环岛。
13/5 五天内要解决:(1)长直道转向出轮,尽量弄好转向环,退而求其次便是控速(2)环岛能否进三环(3)打角能否流畅,适应高速和低速(4)中间电感阈值是否会变,是否要及早稳定或处理(5)打角结束时的衔接问题不够流畅(6)进了一次环岛后还会进第二次环岛(7)进了第一个环岛后不进入第二个环岛(8)与上坡冲突
(2)打角延时时间问题,大了无法过两环,小了死在一个环,打算再仔细从灯观察发现问题能否解决。经观察发现在延时再60时低速下会死在大环,80比较满足,但进
(3)光调PD必然是不能同时满足高速和低速,适应性非常差,增加偏差微分,看看效果。要流畅必然还要想办法让其预判性好一点,故还需要采集不同环电感值进行比较看能否然打角再早一点,因为通过视频分析,就是因为打角稍晚并且甩头太快容易造成不稳定。
今天调试
(6)问题在于要么没检测到上升沿要么延时时间太长,对于延时时间问题可以进行正反跑,如果一个能一个不能则
(6)如果要是蓝灯亮后不亮绿灯那就可能重复环岛。延长时间出现过短问题不存在,不信。没检测到出环上升沿也不会执行打角。
(6)经检测发现出环岛的时候未亮红灯便进环了,而且也未亮黄灯,而亮了绿灯
(6)最终找到问题所在了,红灯在出环之前就已经出现了,故把出环阈值增大,出环之前之所以红灯是因为入环时车模角度变化导致环内出现阈值。
(7)当车出现中间电感不大于入环阈值时导致,特别是车模一定程度上偏离中线时
(7)现在反向走小环岛居然毫无反应,原因是入环阈值太大,总之要在两个大环之间周旋本身难度不小,特别是传感器缺陷
调车收获:(1)如果把中间电感装在陀螺仪附近,能解决因为中间电感阈值判断太晚以及偶然性不过环问题,不过实地检测发现中间电感距离导线1cm以内时双线或单线都是1368且无法增大,我想通过减小放大倍数来看看能不能单线和双线有明显区别
(2)右转减速,左转加速,不是转向环,明明就是陀螺仪右偏高,可以先看看浩哥的
(3)转向环暂时找不到方法
14/5 经过今天上午两小时的调试,从陀螺仪补偿, PD调软 ,控制周期从12ms——>6ms都不能解决加减速问题其实我本想取消陀螺仪转向,但就我的程序而言P必须大幅减小,然后便不能用了,我的偏差微分几乎没什么作用。真正的问题是陀螺仪吗
16/5 今天我觉得很重要的一点是写好出环,入环不进行转化,通过视频对比,出环到底是水平还是垂直造成的呢?目前认为是转化为水平后导致出去的,可以晚点.经试验确实是出环太早转化为水平电感造成的
17/5 昨天改了一下电感发现不再靠内而是寻中线且靠外,但打角一直较晚。我还能用此方案吗?要解决:(1)入环打角太晚,调大P只会过冲(2)出环冲出去(3)高速不适应性
我的解决步骤:(1)调整入环时机(2)通过实验对比确定环内是否纯垂直,进而确定出环切换点,也可以试试用水平电感确定出环点,但我目前根本不知道垂直出环会不会冲出去,一步步需分析
调试:P太大直接冲过头,P太小进不去。我必须得认识到一个问题,垂直无法在环里走一圈吗?到底是什么问题?????
问题找到了:垂直电感在环里能较好地寻中线,而入环时预判性已经足够,P小了出去,大了过头,总之参数如何调都不能改善入环巡线的根本问题。出环时无论垂直还是水平必然会甚至打角都不能改善冲出路肩,而必须辅助出环打角。
不得不承认现在确实很沮丧,但我必须这么做,今天要是做不出来怎么办,换打角。
18/5 今天发现了机械上垂直电感的上下微调能极大地改变环岛效果,在调参前我想再改改电感位置来试出最合适的效果。光调参数无法解决矛盾:P大了入环打角过冲进而撞到内路肩,陀螺仪D大了无法掐住内环进而造成出环误判+斜冲出直道,偏差D小了完全不。
因为机械结构杆子左高右低且电感左高右低造成全程都能跑好。我想一下,现在程序参数不太需要改,主要是机械调试到最优结构确定后固定,然后考虑(1)提速问题 (2)误判问题(3)电池电压问题(4)全程稳定问题
现在碰到了最大的问题,也就是非参数问题,还是电感高低问题,且高度略微变化影响极大,总之最大问题就在于杆和电感位置,今天5月18了,这方法必须辅助最好的机械。我必须想一个办法控制好电感位置,要有良好的记录,不然和浪费时间有何区别,要么就是杆子在肉眼范围内不倾斜,电感也平行的情况下调参。最终迎来了暂时放弃,赶快写打角才是,偶尔花点时间调参数。你现在即使熬夜可能也出不了校赛,总之非理性无法解决问题。你要么把全部希望押在垂直电感或斜电感,显然刚刚的安装从肉眼看已经很垂直了,你要么瞎掰电感直到最好效果,要么
25/5 今天又从新开始做车,针对前二十天做一个总结。浩哥的串级直立和速度环效果特别好,全程没有加减速现象,这也来源于转向未用陀螺仪,但是速度上不了2米,因为2m/s过长直道后容易倒地,转向还是需要特殊处理,但当务之急是提速的前提是保证能入环。对于入环的方法,在杆子相对完美而不用每天调节的前提下,浩哥的打角,我的垂直电感差比和。显然就这两种方法,但我的方法一个缺陷在于换了赛道后环岛铺设的必然不同,到时候调节起来就会很麻烦,可以稍微再试试,但目前认为前景不太好。我应该在浩哥的基础上把程序的判断再简化一些减小误判。
对于计算距离入环的方法还是很可行的,辅之以MPU6050判断上坡,因为比赛的坡道长度未规定,无法计算距离,程序再尽量简单一点,减少误判。但是电感值的判断没法去除
26/5 换上新板子后转向出了问题,现在电感值调好了,差比和斜率也正常(正常吗?),那暂时认为是程序中其他地方有问题,通过排除,目前猜测是环岛打角造成的
30/5这几天一直没有进展,主要是花了两天时间用浩哥曾经的打角,发现又得改参数,适应性很差,现在我又换成垂差,出现了环岛内垂差太大,太过偏内。需要(1)限幅,(2)减小参数
问题太多,首当其冲解决上坡误判,自己摆的过程中上坡参数不会大于180,但自己跑时远大于180,感觉好像穷途末路了,加速度和陀螺仪都不能作为上坡判断条件,两垂直电感差值
1/6经试验发现环岛PID效果不错,但是由于目标值是动态而不是静态,入环太早时打过,稍晚时打不够。能不能拟合一个动态中线呢?经验证,开始打角的值应该大一点,然后环内小一点直到0,故不应该为二次函数,先试一次函数,由于延时太短进不去,有方法(1)限制递减最低值为0.2(2)增大延时
经过分析,直线法不太好用,还不如二次函数,小了打角小,大了内切但是过冲。可能问题出在打角时间,原来用20计数,后面变成1500了,但现在效果依然过冲,入环时外切,环内突然急内切