【智能车学习】电磁车算法优化总结

本文总结了智能车电磁算法的优化,包括电感排布方案、舵机算法修正、电机控制策略、特殊元素处理以及辅助结构的设计。电感排布采用水平和八字结合的方式,舵机控制使用分段式PD算法,电机控制根据路况动态调整目标速度。环岛处理通过降低目标速度和切换循迹方式提高稳定性,防坡道误判则依赖电感值的综合判断。此外,还介绍了屏幕显示和按键控制等辅助功能,以提升赛场表现。
摘要由CSDN通过智能技术生成

前言

随着省赛的落幕,近一年的智能车的生涯也就此画上了句号,虽然结果没有那么耀眼,但也算对得起三个大一萌新这么久以来不分昼夜所付出的心血。
在此我想对电磁车中的算法和赛场上一些的状况作进一步总结,也算是给自己一个交代。

电感排布方案

我们知道,电感的基本排布分为水平,竖直和八字几种方案,而电感摆放位置的不同,可能会影响车体循迹的姿态。
通过实测我们发现:水平电感有助于直道循迹,八字电感,则有赛车助于过弯,竖直电感在普通赛道上值几乎很小,只有在某些特殊元素(如环岛)才会突增。
我们采用的是水平和八字电感共同循迹的方式,即在左右两端分别放上八字和水平电感,在电磁杆的中间和靠近赛车的中心位置各放置一个水平电感,用于特殊元素判断。具体排布可参考下图。
另外,为了更精确的采集赛道电磁值以至于不失真,需将电磁前瞻的高度稍微降低。
前瞻方案

舵机算法修正

基本的舵机控制算法在上篇文章中已经提过,这里对其部分优化方案进行说明。

分段式PD算法

而在PD参数中,P参数控制响应速度,D参数消除稳差,那么可以想到,如果全局使用同一个PD参数,则会出现无法控制既在直道上平稳运行,又能很好的过各种弯道的局面。这时候就需要我们对PD参数进行分段控制。
而由于电磁车只能依靠电感传回的电磁信号判断赛道路况,所以可以将左右两边的电感值差作为分段控制的依据。
具体代码如下:

    /* * * 分段PD * * */
    if(backup<=15)    angle_P=60;
    else              angle_P=95;

其中backup即为左右电感求得的偏差值,backup的值可以根据具体赛道及电感情况进行缩放处理。

使用函数曲线整定PD参数

上述的分段PD的办法是对其参数进行直接赋值,这种方法虽然可行,却不能达到很好的连续性效果,对此可以想到一种函数曲线的方法,将P的值关联backup,利用函数曲线对P值进行输出,从而更好的控制赛车在各个赛道元素上行驶的状态。
以下提供两种方案:

    /* * * 舵机算法1 * * */
    if(backup<=15)    angle_P=63+backup*2;
    if(15<backup<22)  angle_P=33+backup*4;
    if(22<backup<=30) angle_P=backup*5.5;
	int k;
	angle_P=22+(int)(n*n*k);

电机控制

目标速度的确定

上篇文章的末尾提到了目标速度的确定,由于不同路况赛车的最高速度不同,需要对不同路况分别设置目标速度,具体代码如下:

	set_speed_L=90+(int)((30-backup)*1.2);   //弯道最低+直道加速

差速控制算法

利用舵机控制赛车转向的同时,我们也可以利用差速对其进行辅助。同样根据backup的值对赛道路况进行判断,分别控制对赛车的两个轮子进行控制,达到差速的效果。程序设计上可以将上述set_speed_L计算公式中的90改为动态的bend_L/bend_R,再在具体bend_L/bend_R的计算中控制差速。
具体代码如下:

      bend_L=(int)(90*cs_L);
      bend_R=(int)(90*cs_R);

      set_speed_L=bend_L+(int)((30-backup)*1.2);    
      set_speed_R
  • 126
    点赞
  • 1093
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carry_qing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值