智能车制作

标题: 电磁舵机PD算法求助 [打印本页]

作者: life雪梨    时间: 2020-10-18 23:29
标题: 电磁舵机PD算法求助
本菜鸡小白四轮,最开始用的是四水平电感,用的是找最大值和最小值分区间定位的方法。后来自己觉得这个算法精度不够改成了三水平电感算法,然后...调了快两个星期了,效果也不是很好,具体表现在当车一开始从偏离赛道地方发车时无法回到赛道中心线,抑或是拐弯后无法回到中心线呜呜呜。。。用的是增量式PD算法,调参也没有更好的结果。网上技术报告关于电感算法的大多是蜻蜓点水,没有看到完整的算法介绍。而且想问一下大家的PD输入都是电感差比和之后的值吗?之前好想看北科某位爷说过一定解算出具体偏移位置才能控制的很精确?可是我觉得归一化之后的电感差比和的值和偏移量的线性区应该足够吧,很迷茫呀现在。。。求助各位大侠。。。。。。。网上报告也看了很多很多了。





作者: life雪梨    时间: 2020-10-20 07:53
速度在1.3-1.7m/s之间吧。其实车从赛道正中心发车的话是可以在这个速度内走完除了环岛和车库之外的元素的。就是如果从车库发车的话由于控制不是特别精确,出完库后车就没法沿着赛道中心线走了。。。这个三电感算法好像有多个平衡点。三电感0 1和2中,我用的方案是0和2差比和,如果偏差非常严重的话再加上1和2的差比和(非常左偏)或者是0和1的差比和(非常右偏)。但这个算法似乎毛病挺大,想改进一下。
作者: life雪梨    时间: 2020-10-20 07:55
小车速度在1.3-1.7m/s之间吧。其实如果车从赛道正中心发车的话如果不走环岛和车库还是比较顺利的。就是从车库出来的话就走不了正中心了。
作者: 361369499    时间: 2020-10-24 15:50
随便一个差比和+合适的PID参数,关了电机用手推车都会回到赛道中心的。
如果说车确实是往一个位置收敛,但那个位置不是中心,那就得考虑差比和算法的偏移问题
如果说车是一直以某个线为中心,走大S,显然是P太大,D太小
至于你这个无法回到中心线,看看你的舵机打角对不对吧
作者: life雪梨    时间: 2020-10-24 22:05
361369499 发表于 2020-10-24 15:50
随便一个差比和+合适的PID参数,关了电机用手推车都会回到赛道中心的。
如果说车确实是往一个位置收敛,但 ...

你好!
最近几天重新调了一下,发现确实是PD参数的问题。不过改好之后也确实存在你说的问题:车子往不是赛道中心的位置收敛,会有一点偏差。此时我利用中间电感的值与处于赛道正中心时的最大值做差,以此偏差作为修正。这种情况下车子表现好了一点,但也不能完美走中线,想问一下你说的差比和算法的偏移问题具体是什么呢?这个和电磁运放电路的线性度关系大不大呢?我用的LMV358.。。

作者: life雪梨    时间: 2020-10-25 00:07
361369499 发表于 2020-10-24 15:50
随便一个差比和+合适的PID参数,关了电机用手推车都会回到赛道中心的。
如果说车确实是往一个位置收敛,但 ...

主要是发现车好像有很多个收敛区,或者不如说是线性区域不够吧。关了电机,让车从中线晃到最左,舵机往右转,嗯,符合预期。但是此刻再让车从最左移回中线,额,车就会在移回的途中舵机值就打回到中值了。等到车真正回到中线的时候,舵机反而往左打了。我觉得挺郁闷的。。。

作者: life雪梨    时间: 2020-10-25 00:13
这回复帖子还要审核的吗,管理员不得忙死。
作者: 361369499    时间: 2020-10-25 20:38
life雪梨 发表于 2020-10-24 22:05
你好!
最近几天重新调了一下,发现确实是PD参数的问题。不过改好之后也确实存在你说的问题:车子往不是 ...

比较简单的一个找差比和偏移的思路:直接用在赛道中间时左右电感差比和的值作为零偏即可。主要还是位置检测算法的问题,这个跟运放线性度应该关系不大,不过MV358确实有点老了,整点新的好用的运放吧

作者: life雪梨    时间: 2020-10-25 21:40
361369499 发表于 2020-10-25 20:38
比较简单的一个找差比和偏移的思路:直接用在赛道中间时左右电感差比和的值作为零偏即可。主要还是位置检 ...

你的意思是:以小车在正中心时左右两个对称电感的差比和的值作为舵机PD算法的理想偏差,即“零偏”是吗?
关于LMV358这款电路,有一天晚上去跑环岛的时候发现当车在环岛里头的时候,最靠外的那个水平电感的值有所抖动,而最里边的水平电感就不会,我的值都是归一化了的,在直道和普通弯道上感应到的值都挺稳定的,所以也不知道是电路硬件的问题还是在环岛里头磁场本身就那样。之前看卓大有人发文的电磁入环算法里说只要斜电感引导入环,用水平电感巡线,可是我的水平电感在环岛里头差比和算法不起作用呀,因为左减右/左加右这个表达式里头,“右”电感的值一直都是0,左电感的值也很固定,只能打固定转角而起不到巡线的作用了。。。。。老哥指点一下呗?

作者: life雪梨    时间: 2020-10-25 21:42
有一说一,你们前面电感都是用什么线和后边放大模块或主板模块连接在一起的?我觉得这杜邦线太硬了不太好用呀。。。
作者: life雪梨    时间: 2020-10-25 21:44
现在我的车从赛道正中心发车的话全程跑下来感觉也挺居中的,略微有点偏差。但是如果从偏离赛道中心一侧发车,车在直道上就只能收敛到不那么正中心的位置了。这样子对入环岛的时机影响很大。。。
作者: 361369499    时间: 2020-10-25 23:24
电感出来直接放大,再用线连给单片机。嫌杜邦线太重可以用FPC软排线。
我们那届还没有环岛,关于环岛我也给不了啥建议
作者: life雪梨    时间: 2020-10-26 19:46
361369499 发表于 2020-10-25 23:24
电感出来直接放大,再用线连给单片机。嫌杜邦线太重可以用FPC软排线。
我们那届还没有环岛,关于环岛我也 ...

好的好的谢谢老哥。主要是觉得杜邦线在接口那里可能不稳会导致读数有抖动。话说,我去细想了一下,我的车放在正中心的时候左右电感差比和的值基本上是0.1-0.5的偏差呀。感觉已经很接近理想偏差0了呀。老兄你说的那个检测差比和算法偏差的思路好像不会起到很大的改善作用呀?

作者: 越野小白    时间: 2020-10-29 22:52
环岛可以通过设置标志位,固定打脚进入环岛,大概需要三个标志位,而且pid与其余赛道参数不同。给个思路,可以看看左右水平电感和,还有两电感差。另外最大值和最小值的选取可以试试电感标定,比如在二十秒内采集两万次,用排序算法得出最大值存入flash,带入计算,可以参考参考前几届的技术报告,有这方面的讲解。
作者: life雪梨    时间: 2020-10-29 23:25
越野小白 发表于 2020-10-29 22:52
环岛可以通过设置标志位,固定打脚进入环岛,大概需要三个标志位,而且pid与其余赛道参数不同。给个思路, ...

老哥呀,环岛是十三届才有的吧(记不准确了,反正应该是最近几年才有的)。论坛里头也没有最近几届的报告呀。。在官网上能找到的13-14届的报告又特别的水,网络上一点头绪都没有呀。我现在参考的是卓老大公众号里头“电磁入环”那篇文章的思路去做的。流程就是检测标志位,然后编码器积分到入环处,打固定转角一段时间(角速度积分),最后采用水平电感正常寻线。关键问题是用水平电感寻线的时候,发现只有最靠圆心的那个电感才有值(而且值很固定)其他全都是零,要么就是最远离圆心的电感值会有不稳定的跳变,使得差比和算法让车左右乱晃,水平寻线不起作用呀。所以才想求助一下是硬件有问题还是环岛那里磁场本来就那样。。。。。。

作者: life雪梨    时间: 2020-10-31 22:32
这回复一次审核也太慢了吧。。。
作者: life雪梨    时间: 2020-10-31 22:34
我怀疑目前电磁模块有问题,环岛那里最远离圆心的水平电感值要么为0要么有抖动,搞得水平差比和舵机PD使得小车左右抖动,最靠近圆心的值的挺稳定的,不晓得是不是lmv358放大倍数太小了.
作者: life雪梨    时间: 2020-11-1 12:09
二更,怎么今天突然五个审核通过。。。谢谢版主谢谢版主
作者: chc123    时间: 2021-2-25 00:54
你的电感值为0应该是电路连接有问题,杜邦线连接肯定是不行的,那个太不稳定了,可以考虑一下用上面老哥说的FPC软排线或者那中XH2.54排线比较牢靠




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