zl程序教程

您现在的位置是:首页 >  后端

当前栏目

骑摩托的蒙娜丽莎 - 曼妙风骚的花式慢跑算法

算法 花式
2023-09-11 14:15:18 时间

简 介: 你没有想到吧,在第十六届全国大学生智能车竞赛单车拉力组获得单车比赛全国冠军的队伍的单车控制算法居然是PID参数调整不当造成的振荡现象!没错,出乎所有人的意料。下面让我们看看来自上海海事大学单车组队员的分享。

关键词 智能车竞赛单车拉力骑摩托的蒙娜丽莎

01.花式慢跑
文章目录
02.算法分享
公众号留言:

 

§01 式慢跑


  推文 骑摩托的蒙娜丽莎 展示了 上海海事大学 参加第 十六届全国大学生智能车 单车拉力组全国总决赛的 “骑摩托的蒙娜丽莎”队伍比赛成绩以及比赛过程。很多队伍对于他们单车在慢车道上曼妙风骚的“花式慢跑”技术非常感谢兴趣。

  本文特别向该队伍建议将他们的慢车比赛算法及其实现专门成文分享给大家。

▲ 图1.1  骑摩托的蒙娜丽莎的妖娆风骚的花式慢跑

▲ 图1.1 骑摩托的蒙娜丽莎的妖娆风骚的花式慢跑

王老师( 王天真 ),您好。我看到参加智能车竞赛的的同学们对于 “骑摩托的蒙娜丽莎” 队伍在运行 慢车道比赛中的 “花式慢跑” 算法及其实现非常感兴趣,可否您让学生们对于这部分的内容专门写一个短文给大家分享一下呢?

  下面是他们队员 王云尧 发送过来的算法分享。再次感谢上海海事大学 骑摩托的蒙娜丽莎队员的技术分享。

 

§02 法分享


  家好,我是上海海事大学单车组“骑摩托的蒙娜丽莎”队员岑衎远,应卓大大邀请来分享一下我们的“花式”慢赛道跑法。

  首先分析一下咱们今年单车的规则。在往届比赛中,车模往往被要求尽快跑完全程,因此车模都是尽量按照已有的赛道路径去跑,甚至在过弯时切内弯以达到最短的行进路径。而今年的单车慢赛道,则正好相反,我们需要让小车以最慢的速度走过尽可能长的路程,同时,按照要求,车模在慢赛道上行进路线要满足简单闭合曲线的要求,即路线自身没有相交点。这样的规则要求之下,行进路线的选择几乎只剩下了S形前进。那么再加上后面对于车模偏离赛道的判定距离,两米,S形前进的范围也已经确定。那么理论存在实践开始

▲ 图2.1  电单车俯视图

▲ 图2.1 电单车俯视图

  第一步要解决的就是慢车的直立,慢车的直立思路其实跟快车完全相同,只是更改了PID 系数,需要注意的是,慢车的PID参数总体相比快车更大,这其实也与我们的生活实际体验相符:骑自行车的时候,想以慢的速度前进,我们就会以更大的幅度摆动车把。另外,慢车直立PID的调参对于舵机的损耗极大,我们在国赛的前一天就因为调了数天慢赛道,导致舵机出现故障,不受控制地抖动,不得已换了新舵机,对之前保存的所有快慢赛道程序进行参数微调。

  完成直立后的第二步就是让小车以S形巡线。这之前还要再提一下对于慢赛道的设计,最好的设计是简简单单的一个圆,就可以满足慢赛道S形巡线的需求,不会因为各种转弯角度的不同影响小车的稳定性,不过由于圆形铺设难度较大,我们采用了正十六边形的设计,也可以满足要求。

▲ 图2.1 正十六边形的慢车赛道

▲ 图2.1 正十六边形的慢车赛道

  对于S形巡线算法的问题,其实刚开始我们也没什么头绪,直到开始调巡线的时候才发现,减小小车巡线的PID控制中的比例项系数,可以让小车产生我们所想要的S形巡线的效果。所以说,在大家眼中我们单车的“花里胡哨”的巡线算法,本质上就是合理激发并利用了传统PID控制中参数调整不当所造成的振荡现象

  看到这里,你肯定想说,我看了这么半天,你就跟我说这是你们参数调节不当造成的?其实这其中还有相当重要的一环——对电磁信号的处理。在对电磁信号的处理中,我们最常用的就是归一化差比和

  这两种算法想必大家都相当熟悉,我就不再赘述。但是这两种算法仅仅是消除了换赛道时电磁值变化的影响,并未对丢线做任何处理。做过电磁车的都知道,电磁杆在偏离赛一定距离后,计算出的电磁偏差值会不增反减,而我们的车在S形巡线时,有时可能会偏离赛道一米以上,这个时候如果单单使用差比和或者归一化做减运算得到的偏差就会很小,小车就会没法儿拐回来。

  既然减运算不行,那就试试加运算,很显然,小车偏离赛道较远时,小车获得的左右电感值的和较小,而小车在赛道中心时左右电感值的和较大。那么我们在发车前寻找到赛道中心处电感和的最大值,再与车模运行时电感和作比较,不就可以获得一个理想偏差值了吗?

  然而并不是,这种方法得出的偏差值在电磁线附近时可能会出现跳变现象,而且在电磁线附近的偏差曲线也并不是我们理想中的平滑曲线,而是略有下凹。所以最后一步,我们将这种偏差计算方法与差比和相结合,即在一定范围内使用差比和算法计算偏差,超出范围后使用电感和的算法计算偏差。

  其实这种算法在慢赛道出现之前,我们就已经投入了使用,跑快赛道效果也相当不错,直角完全不需要处理,全程也只用了两个横电感就完成了巡线(是的,那两个竖电感只是摆设)。

▲ 图2.2 巡线电磁传感器

▲ 图2.2 巡线电磁传感器

  分享写到这里已经基本结束。今年的智能车比赛也可以说是一波三折,疫情的反弹更是将国赛逼回了线上。不过好在智能车的组委会相当认真负责,为我们定制了独特的比赛方案。卓大大更是在公众号上非常耐心地为我们答疑解惑,甚至还要听我们发牢骚。

  我本人是第二年做智能车,今年在天时地利人和之下有幸拿到了单车组的全国冠军,可以说是做车生涯了无遗憾了。不过明年我还是会继续做车的,毕竟我才大三,还没到可以做咸鱼的时候。

▲ 图2.3  没想到调坏了的PID参数居然也能拿到单车组全国冠军

▲ 图2.3 没想到调坏了的PID参数居然也能拿到单车组全国冠军


世界上最长的路
就是从想法到实现

上海海事大学-单车组-快车道第二次发车

上海海事大学-单车组-慢车道第二次发车


■ 相关文献链接:

● 相关图表链接:

◎ 公众号留言:

  • S.S :最后那个没想到,微微凡尔赛了
  • JIN :三分运气,六分努力,一分贵人扶持
  • Dérive :我只是凑数的
  • 文夕 :我们当时也想调s,也发现降p,甚至也重新写了丢线程序,但最后确实做的不够好没能达到预期的效果
  • Arjun :大道至简
  • 小马 :《关于我来智能车比赛凑数的那些日子》
  • 龄龙 :夺笋啊大佬,不如说自己调到极致
  • zbf :车的右边是电路板,左边是什么东东呀
  • 自信即是巅峰 :我们的车不一样,到后期我的车已经不能像一开始一样平衡转圈了,所以也没有了走这种路线的可能。
  • 大志²⁰²¹ :“我想邀你坐上我的野摩托”