智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: c767831092
打印 上一主题 下一主题

Butter-Fly队光电直立总结

    [复制链接]

4

主题

24

帖子

0

精华

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

4

主题

24

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2377
QQ
威望
1198
贡献
769
兑换币
779
注册时间
2015-8-12
在线时间
205 小时
毕业学校
成都信息工程大学
2#
 楼主| 发表于 2017-9-18 01:37:53 | 显示全部楼层
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2377
QQ
威望
1198
贡献
769
兑换币
779
注册时间
2015-8-12
在线时间
205 小时
毕业学校
成都信息工程大学
3#
 楼主| 发表于 2017-9-18 13:26:06 | 显示全部楼层
luckner 发表于 2017-9-18 09:17
然而我还是觉得速度控制是最重要的
不过你已经看破了速度控制
那么转向就是你的point了吧

今年速度做的最好的还是中南,没有保留机械零点,全程都是加速状态,减速全靠转向。要提高速度的响应,只能牺牲稳定性提高重心
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2377
QQ
威望
1198
贡献
769
兑换币
779
注册时间
2015-8-12
在线时间
205 小时
毕业学校
成都信息工程大学
4#
 楼主| 发表于 2017-9-18 13:28:31 | 显示全部楼层
cleverhorse 发表于 2017-9-18 10:02
赞一个,小车想要跑稳确实需要用到mpu6050来辅助转向

我的方案里陀螺仪已经不是转向的辅助了,是转向的核心,内环就一个单纯的角速度
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2377
QQ
威望
1198
贡献
769
兑换币
779
注册时间
2015-8-12
在线时间
205 小时
毕业学校
成都信息工程大学
5#
 楼主| 发表于 2017-9-19 18:50:56 | 显示全部楼层
竹鱼。 发表于 2017-9-19 12:22
中南的车是有机械零点的,只在直道上进行速度控制

我亲手试了的,把他的车躺着放地上就能自己立起来然后趴下去,辉哥也说了是全程加速的,只在坡道做了角度保护
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2377
QQ
威望
1198
贡献
769
兑换币
779
注册时间
2015-8-12
在线时间
205 小时
毕业学校
成都信息工程大学
6#
 楼主| 发表于 2017-9-21 14:03:44 | 显示全部楼层
阳关西 发表于 2017-9-20 19:51
这部分能讲解一下吗?我也是17年做直立车的,直立速度控制都还好,就是转向环控制不好,换了好多种算法, ...

可以在逐飞群里交流
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2377
QQ
威望
1198
贡献
769
兑换币
779
注册时间
2015-8-12
在线时间
205 小时
毕业学校
成都信息工程大学
7#
 楼主| 发表于 2017-9-27 20:04:32 | 显示全部楼层
王特酮 发表于 2017-9-27 15:39
提供  一下逐飞群 号

欢迎加入逐飞科技__智能车部落,群号码:179029047
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-19 00:28 , Processed in 0.064961 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表