智能车制作

标题: Butter-Fly队光电直立总结 [打印本页]

作者: c767831092    时间: 2017-9-18 01:35
标题: Butter-Fly队光电直立总结
两年的智能车生涯结束了,虽然运气不佳没能靠自己的能力进国赛,但最后混到四轮队伍里还是蹭了个国一。
忍不住还是想写点什么,也算是给大家一些启发吧
        卓晴老师公开的直立车方案是众多司机的入门教程,但直立车已经出现很多届了,控制方案也演变的多种多样,传统方案和新出现的方案相比已经略显吃力,简单介绍一下我使用的方案。
    直立控制使用串级PID,外环角度,内环角速度,只需要通过传感器采集一个轴的数据即可。角度环10ms进行一次控制,角速度环2ms控制一次,外环输出先加一个限幅才传给内环,实测效果非常稳定,不会震荡,也不会出现明显的反应滞后。很多人问过我单环和串级的区别在哪里,我不是控制相关专业,也没有学过相关课程,只是凭我实际调试的效果感觉,串级和单环应该是殊途同归的,只是串级的参数更容易整定,且串级在每一级之间都可以做限幅或者其他特殊处理,串级PID几乎已经成了现在四轴飞行器的标配。
    速度控制是传统方案最难搞的一部分,直立车不同于四轮,四轮的速度控制为负反馈调节,符合正常人的程序控制思路,但直立车的速度控制为正反馈调节,不能用通用的方式来控制。直立车的速度控制要通过调整车子的角度来改变,车身前倾,重心靠前,车子要保持平衡必然会加快电机转动,如果在平衡状态下要主动完成前倾的过程,就需要先让电机略微的减速,也就是说要加速,先减速。减速也是同理,要减速,先加速。传统方案就会出现直立环和速度环孰强孰弱的纠结问题,速度控制对于直立控制是一个干扰。
    速度环采用串级PID将完全避免了这种问题,只需要将速度环的结果叠加在平衡角度上即可,速度差直接对应了一个平衡角度,不需要再考虑复杂的正反馈过程,傻瓜式操作一步到位,简单又好用。
    转向控制,曾经有大神在论坛上开帖子说直立车的转向才是它的核心,我越来越表示同意。卓老师的传统方案中仅用简单的比例来控制转向,慢速的时候也就凑合用吧,一旦速度上来以后就会发现太难调了,速度、电池电压、角度全都会影响转向效果,要想更好的控制转向只能另寻他法。
    动态前瞻、动态PID、模糊控制、棒棒法结合PID,各种各样的方法都有,我则想出了一种技术报告上从未出现过的方案,而我这个方案在最开始提出的时候被很多人否定过,我第一次在逐飞群里说的时候被北科大佬否定了,被诸葛大神也否定过,跟自己的老学长们说了,最后被怼的是体无完肤,被所有学长持统一意见的全盘否定。。。。。。但我最终坚持了自己的想法并且取得了成功,应该是一开始我没能给学长们表达清我的意思吧。直接使用陀螺仪控制转向。如果使用传统方案控制转向,假设摄像头采集并处理完一帧图像用时20ms,那么控制频率就是50Hz,个人感觉这个频率太低了,而使用陀螺仪的角速度进行转向,我就可以做到500Hz甚至1KHz,转向的连贯性和柔和性将大大提升。使用传感器数据作为外环,陀螺仪Z轴角速度作为内环可以明显的提升转向效果,响应速度也比传统方案快很多,几乎不需要做任何的特殊处理。
       最后说下MPU6050,这款陀螺仪在第十二届才被允许使用,其自带了DMP,最高频率200Hz,足够我们的直立控制,也可以选择自己读取原始数据再做姿态解算。测试了几种常用的姿态解算算法,发现均会不同程度的受快速加减速的影响,而自带的DMP变现优异,在快速加减速的时候角度仍非常稳定正确,最后使用了DMP直接读取角度。但发现一个问题一直未能搞明白,一旦开启DMP以后,无论如何设置频率和低通滤波,输出的角速度都跟不使用DMP时不太一样,同样的参数无法使用,只能重新调参,网上也没有找到合理的解答,且DMP库不开源,暂且认为DMP会强制开启什么内部的滤波吧。
http://player.youku.com/player.php/sid/XMzAyOTUzNTg3Ng==/v.swf

作者: c767831092    时间: 2017-9-18 01:37
http://v.youku.com/v_show/id_XMz ... j.8428770.3416059.1
作者: 深水i    时间: 2017-9-18 07:32
赞一个
作者: じ~凝眸处    时间: 2017-9-18 07:47
赞一个,  干货多多
作者: じ~凝眸处    时间: 2017-9-18 07:54
6666666  四分之三处有高能~~~~~~~~!!!!!!!!
作者: luckner    时间: 2017-9-18 09:17
然而我还是觉得速度控制是最重要的
不过你已经看破了速度控制
那么转向就是你的point了吧
作者: fbhsy    时间: 2017-9-18 09:27
luckner 发表于 2017-9-18 09:17
然而我还是觉得速度控制是最重要的
不过你已经看破了速度控制
那么转向就是你的point了吧

你是冠军,你说什么都对

作者: fbhsy    时间: 2017-9-18 09:31
常大法满满的收获,新一代成信智能车第一人,666,看完通篇发现还提到逐飞的智能车群,希望常神能继续在群里活跃,为新一届入门选手排忧解难,营造良好的技术讨论氛围,原常神常在!
作者: cleverhorse    时间: 2017-9-18 10:02
赞一个,小车想要跑稳确实需要用到mpu6050来辅助转向
作者: lxj1997    时间: 2017-9-18 12:38
大神发言,不同凡响
作者: c767831092    时间: 2017-9-18 13:26
luckner 发表于 2017-9-18 09:17
然而我还是觉得速度控制是最重要的
不过你已经看破了速度控制
那么转向就是你的point了吧

今年速度做的最好的还是中南,没有保留机械零点,全程都是加速状态,减速全靠转向。要提高速度的响应,只能牺牲稳定性提高重心
作者: c767831092    时间: 2017-9-18 13:28
cleverhorse 发表于 2017-9-18 10:02
赞一个,小车想要跑稳确实需要用到mpu6050来辅助转向

我的方案里陀螺仪已经不是转向的辅助了,是转向的核心,内环就一个单纯的角速度
作者: chenhong9510    时间: 2017-9-18 15:25
666666
作者: cankun1314    时间: 2017-9-18 19:58
原来是常神啊   失敬失敬
作者: 萝莉man    时间: 2017-9-18 20:58
赞一个!
作者: lzw12138    时间: 2017-9-18 21:31
常神666 在群里怒撕奖状的壮举还在我们心中流传
作者: 竹鱼。    时间: 2017-9-19 12:22
c767831092 发表于 2017-9-18 13:26
今年速度做的最好的还是中南,没有保留机械零点,全程都是加速状态,减速全靠转向。要提高速度的响应,只 ...

中南的车是有机械零点的,只在直道上进行速度控制
作者: c767831092    时间: 2017-9-19 18:50
竹鱼。 发表于 2017-9-19 12:22
中南的车是有机械零点的,只在直道上进行速度控制

我亲手试了的,把他的车躺着放地上就能自己立起来然后趴下去,辉哥也说了是全程加速的,只在坡道做了角度保护
作者: 阳关西    时间: 2017-9-20 19:51
c767831092 发表于 2017-9-18 13:28
我的方案里陀螺仪已经不是转向的辅助了,是转向的核心,内环就一个单纯的角速度

这部分能讲解一下吗?我也是17年做直立车的,直立速度控制都还好,就是转向环控制不好,换了好多种算法,没有很明显的的改变!
作者: 大逗比    时间: 2017-9-21 09:30
常大法好身手
作者: c767831092    时间: 2017-9-21 14:03
阳关西 发表于 2017-9-20 19:51
这部分能讲解一下吗?我也是17年做直立车的,直立速度控制都还好,就是转向环控制不好,换了好多种算法, ...

可以在逐飞群里交流
作者: gxy365    时间: 2017-9-22 11:14
常神666
作者: 王特酮    时间: 2017-9-27 15:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 王特酮    时间: 2017-9-27 15:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: c767831092    时间: 2017-9-27 20:04
王特酮 发表于 2017-9-27 15:39
提供  一下逐飞群 号

欢迎加入逐飞科技__智能车部落,群号码:179029047

作者: 吃出来的胖子    时间: 2017-12-1 20:54
大佬,有mpu6050程序吗

作者: 想搞车的菜鸟    时间: 2017-12-1 21:42
mpu6050的dmp怎么处理啊
作者: 枫海大神    时间: 2017-12-7 04:20
你好,你能加一下我的qq,教我一些dmp的相关知识吗?我今年做直立,我想使用dpmQQ是1062352832,非常的感谢你
作者: 小5174    时间: 2018-4-20 14:23
请问楼主有角度和角速度串级PID的程序吗


作者: 小5174    时间: 2018-4-20 14:25
请问楼主有角度和角速度的串级PID程序吗
作者: 小5174    时间: 2018-4-20 14:26
请问楼主有角度和角速度的串级PID程序吗
作者: 小5174    时间: 2018-4-20 21:46
请问能把你的程序发一份给我吗
作者: 528702830    时间: 2018-6-11 10:47
我想问下,串级pid怎么调
作者: 767124048    时间: 2018-7-11 20:43
想问下大佬的说的Z轴,陀螺仪是怎么放的  Z轴测的哪个数据


作者: 雨川    时间: 2018-7-18 13:49
想学直立

作者: haoahao    时间: 2018-7-21 15:05
十分感谢,这个很有帮助
作者: hzt    时间: 2018-7-21 19:21
赞一个
作者: 张嘉    时间: 2018-7-28 15:25
厉害!!!
作者: ivan688    时间: 2018-9-4 15:59
学习了

作者: shucaixiaozi    时间: 2019-3-24 23:06
767124048 发表于 2018-7-11 20:43
想问下大佬的说的Z轴,陀螺仪是怎么放的  Z轴测的哪个数据

平放

作者: 氵巨木    时间: 2019-4-6 10:18
赞一个
作者: 好好学    时间: 2019-5-9 19:42
看着很震撼





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