原标题:大学生智能车竞赛之直立车控制,我之初见(四)

直立车控制之转向环

我认为转向环的控制是智能车控制的核心,前文也有提到,直立环和速度环其实可以并为一个环的控制而且控制的方法基本就是 P、 D 或者速度环里面多一个积分系数 I 的调节。 控制框架也相对统一,难点或核心在于角度波形的滤波融合,这一点注意好了,小车站稳和跑起来就不难了。

转向控制的前提是偏差的获得, 对于偏差的获取也是有讲究的,就今年的电磁直立车而言,其传感器为电感, 很多人都在纠结电感个数,有用四个、五个、六个甚至七八个的,其实我认为对于没有直角元素的赛道,两个或三个电感就以足够。这一点也在实际操作中得到了验证,比如这一届全国第三的湖北工程用的就是两个电感,全国第八的东北电力大学和全国第一的中南大学用的是三个电感。 因此不要盲目追求电感的个数, 不仅算法累赘还会造成机械上的负担。

在我和车友交流的过程中,关于对小车的转向控制我认为有些人是走进误区了——从四轮到两轮,总有车友希望借助传感器的输入量解算出小车此时在赛道中的位置,然后再对小车进行转向控制;还有车友将赛道各个元素的传感器信息记录下来,分段对赛道元素进行处理,最后拟合成一个完整的赛道。其实我认为这些是没必要的,这也是我和其他很多车友交流的结果。 因为位置解算的难度比较大,往往结算效果很不理想从而造成误判,当然,并不是说这个方法一定就不可行,中南大学的车友就觉得这是个好方法,他认为就算解算存在误差,但只要趋势是对的就没多大问题, 因此这种方法也是可以尝试的,但实际效果怎么样还是需要自己的尝试和验证。而对于而赛道元素的拟合的方法我认为其适应性太差,赛道元素变化或者信号源的变化都将使其控制效果变得十分不理想。在我看来只要你的偏差输入是可靠的,就能作为可靠的转向控制的输入量。

获得可靠的偏差后,实现转向控制的方法就相对说来灵活多变了。从最基本的 P、 D 调节到和速度相关的动态 P、 D 控制或者分段 P、 D 控制或更高级的模糊控制。 最基本也是最简单的的转向控制就是在某一特定速度下调得一组 P、 D 参数,使其能够满足转向要求,但是其缺点就是适应性较差,也就是鲁棒性不好,表现为速度快了转向打角不及时,速度慢了打角过早容易内切,甚至不能完成基本的转向要求。 和速度相关的动态 P、 D 控制就是利用函数关系式将转向参数与速度关联起来,这样就能有较好的控制效果,但也不是最理想的。而分段 P、 D 控制就是通过判断速度在什么样的速度区间,然后给定特定的 P、 D 参数,如今年的全国第三湖北工程采用的就是这种控制思想。而模糊控制,或与模糊控制相近的专家控制方法一般说来是比较理想的控制方法了,这种控制方法鲁棒性强,具有很好的控制效果。如去年(第十届)的全国第一重庆大学不慢队用的就是模糊的转向控制方法。今年中南用的也是类似的方法。

今年我们组的转向控制室利用了一个简单的数学关系式即将转向参数与速度作了简单的关联,虽然有一定的效果,但并不理想,因为小车的实际速度变化较大时,转向控制就会不稳定。对于转向控制的建议,中南车友给我的建议是如果想往更高的水平冲击,可以尝试利用模糊控制去实现对小车转向的控制。这个更高的水平就今年(第十一届)的电磁直立小车而言保守估计是 2.6+m/s 的速度吧。就 2.6 以下的速度说来,只要机械不拖后腿,转向控制与速度稍作关联应该是能满足的。因为湖北工程利用分段 P、 D 控制在决赛跑出了 2.68m/s的好成绩。当然这也和他们合理的机械分不开,这也是他们组车友经常和我强调的。

转向控制参考代码(双电感差比和):

而对于三个电感的算法(双电感差比和的改良版),只需做稍微的改动即可:

转向变量的赋值:

转向控制的基本思想说到这差不多就结束了,不过值得注意的是,转向环的控制中速度快了也许会出现“跳轮”的情况,也就是一侧轮胎抬起,导致这个的原因有多种,如小车重心过高,转向控制本身不平滑等,如果出现“跳轮”,跳起一侧的轮胎会因为悬空而失速疯转,这样的话对于小车的控制是极其不利的,因为如果不做处理,编码器采集到疯转的小轮脉冲后对小车实际速度失去了判断,因此我们需要对“跳轮”的现象做出处理, 使小车测的速度与实际速度尽量吻合, 以降低系统的不稳定性。

如何处理“跳轮” 呢?一般方法有如下几种:

1.对脉冲最高输入做出限制,如一旦编码器测得超过 3m/s 或以上的脉冲即限制它为某一最大的数值。

2.对脉冲的变化率做出限制,其实通过对小车加速度的大致计算我们可以推出每个测速周期内脉冲的最大变化范围,一旦超过这个范围我们即可做出限制。

3.通过未抬起车轮计算抬起车轮的实际速度,如何计算呢?正如中南大学的设计报告里提到的,通过同心圆的原理即可算得,具体理论不再多说,请自行推导。

也许到这里有人还会惦记着电磁传感器的安装也就是电感的安装,在我看来,同时也结合很多优秀队伍的经验来说,对于没有直角元素的赛道,电感水平或者小斜度(小于 10° )安装即可,对于有直角的的赛道,可以尝试使用斜电感,斜度为 20°左右。不过,对于大斜度的电感安装,差比和的方法会出现十字较大的抖动现象,这个时候要想控制的好的话上就需要尝试其他的算法了,一般说来有直角的赛道推荐至少使用三个电感,并利用中间电感获得原始偏差,实验证明能取得不错的效果。不过此算法更适合四轮车,因为其传感器高度相对固定。

再说说运放的选择,其实说实话,就电磁车的控制来说, LM386 或者 LMV358 基本都能满足要求,只是其带宽较小,单级放大倍数也许不能满足需要,所以一般采用双级放大设计。第十届的电磁双车全国第五的广技师车队采用的就是 LMV358。当然,要想获得更高的单级放大倍数,就可以选择其他系列的运放,如 TLV2462、 OPA2350 等。至于这些电路的设计就不用多说了,论坛或者设计报告里原理图还是很多的。

最后再给点电磁传感器的安装建议,首先, 6.8nf校正电容应焊接在最靠近电感的位置,一充分发挥其作用。 第二,传感器的连线线型选择大家一直也比较关心,我认为漆包线就能有很好的效果,今年中南也是采用漆包线(0.4mm 左右直径的线应该是比较合适的,我们的是 0.3、中南的 0.5)做的连接, 漆包线最好先对绞(两根线拧麻花一样)再使用。当然也有网线,网线当然效果不错,不过我认为网线太重,对直立车的机械来说影响较大所以不推荐。

转向环基本上就讲到这里了, 明天再和大家说说机械吧。想了解更多详细内容的可以关注“蓝宙论坛”!

作者:海南大学-越努力越幸运返回搜狐,查看更多

责任编辑:

直立车各环的调试_大学生智能车竞赛之直立车控制,我之初见(四)相关推荐

  1. 直立车各环的调试_平衡小车调试指南(直立环 速度环)

    平衡小车之家出品 1 平衡小车调试指南 接下来将和大家一起以工程的思想去完成一个平衡小车的调试, 包括平衡小 车的直立环.速度环.转向环,一般我们是先调试直立环,再调试速度环,最好 调试转向环.另外需 ...

  2. 直立车各环的调试_平衡小车调试指南 直立环 速度环

    平衡小车之家出品 1 平衡小车调试指南 接下来将和大家一起以工程的思想去完成一个平衡小车的调试, 包括平衡小 车的直立环.速度环.转向环,一般我们是先调试直立环,再调试速度环,最好 调试转向环.另外需 ...

  3. 全国大学生智能汽车竞赛图像采集处理上位机开源!

    打算开源了,因为淋过雨,就为大家摘片荷叶吧,别的不强求,希望github上点个star,让我感受下和多少人击掌而过的感受吧. 后续会逐渐开源本人的软件,先在这里放个简单的帖子,后续回来为大家讲解一下. ...

  4. 智能车大赛信标组_第十五届全国大学生智能汽车竞赛在南京信息工程大学圆满闭幕...

    未来网高校频道8月31日讯(记者 杨子健 通讯员 唐翠梅 张峰)8月26日,由中国自动化学会主办,南京信息工程大学承办的第十五届全国大学生智能汽车竞赛创意组总决赛.华东赛场预决赛在该校东苑体育馆圆满闭 ...

  5. 第十八届全国大学生智能汽车竞赛 航天智慧物流创意组-线上赛多车协同侦察

    第十八届全国大学生智能汽车竞赛 航天智慧物流创意组-线上赛多车协同侦察 1.任务综述   使用Gazebo环境搭建出模拟模式军事仿真环境,环境中包含建筑物.道路.特殊军事标识.特殊物体等物品.使用三辆 ...

  6. 第十七届全国大学生智能汽车竞赛,我们来了

    北京科技大学天津学院 第六届智能车校内赛 总决赛完美落幕     2021年11月27日16时,北京科技大学天津学院第六届智能车校内赛总决赛在我院众创空间二楼智能车创新实践平台举办.本届校内赛总决赛分 ...

  7. 第十三届全国大学生智能汽车竞赛 裁判系统使用说明

    第十三届全国大学生智能汽车竞赛 裁判系统使用说明 (竞赛秘书处 2018-7-1)   本文档介绍了第十三届大学生智能汽车竞赛的硬件.软件的使用方法.   参考文档: <第十三届届全国大学生智能 ...

  8. 直播预告 | 全国大学生智能汽车竞赛全向行进组——基础培训

    ▌直播嘉宾 ★ 陶玉凯 沁恒微电子 资深FAE :曾参加第九届.第十届全国大学生智能汽车竞赛.现担任沁恒微电子FAE,从事 RISC-V系列MCU技术支持和生态应用建设等工作.拥有丰富的嵌入式开发经验 ...

  9. 第十五届全国大学生智能汽车竞赛华南赛区成绩总结

    ■ 华南赛区简介 第十五届全国大学生智能汽车竞赛华南赛区比赛采用了 线上(云)比赛的方式 .总共有 十三组高校组合 从8月15号到20号根据 线上比赛规范 完成了线上比赛.下面给出了华南赛区学校队伍信 ...

最新文章

  1. Java如何执行操作系统的CMD命令行
  2. layui遍历json数组_Python列表边遍历边删除,怎么用才不报越界错误呢?
  3. linux shell 字符串作变量名 间接变量引用
  4. GIF Movie Gear V4.2.3 破解版
  5. Day004_Linux基础命令之特殊符号与正则表达式通配符
  6. 【小项目关键技术六】控制北斗 GPS 定位 / UWB 室内定位
  7. 【C++】构建栈 进栈和出栈
  8. OpenCV收集对象及其分割蒙版的数据集的实例(附完整代码)
  9. [Qt教程] 第20篇 2D绘图(十)图形视图框架(下)
  10. cas 单点登录_47 使用cas完成单点登录-02 搭建cas client完成单点登录
  11. 利用VMware Infrastructure SDK编程控制虚拟机集群(3)
  12. Flowmill :为分布式应用程序世界构建的网络可观察性解决方案
  13. 使用Python开发SQLite代理服务器
  14. 主机连接虚拟机 web服务
  15. c++实验总结_高考化学选三简答题总结6——配位化合物、配位键、配位数
  16. webpack-Hot Module Replacement(热更新)
  17. python3 相对路径导入_Python中相对路径(导入)和绝对路径(导入)的区别
  18. BufferedImage修改图片大小
  19. 主机Ping不通虚拟机
  20. mini2440硬件篇之IIC

热门文章

  1. 如何让绘画灵气十足-张聪-专题视频课程
  2. MHT: Basic Methods for Data Association(二)Track Score Function
  3. 打破电动车定义,星越L Hi·P雷神增程电动SUV上市
  4. 运行jar文件时,ClassPathResource无法读取到资源文件的问题
  5. 计算机上应用锁,电脑怎么设置软件锁
  6. 00_抓取猫眼电影排行TOP100
  7. 2019-07-17_The error may involve XXX(包)-Inline The error occurred while setting parameters
  8. MySQL事务相关知识
  9. 人工神经网络设计选择题,人工神经网络设计原则
  10. ORA-28000 帐户已被锁定问题处理