智能车心得分享(四)-- 电磁循迹

这一次,我们开始正式进入了,车辆的控制

大致可以分成一下部分:
智能车心得分享(四)-- 电磁循迹_第1张图片
循迹,需要电磁传感器,或者摄像头。这两个应该是智能车最有可能使用的传感器了,其他的就算是另辟蹊径了。然后我主要使用的是电磁。

智能车心得分享(四)-- 电磁循迹_第2张图片
这是我最终的电磁排列方案,在华南赛中使用的,但是在校赛的是另一套,华南赛的代码会开源部分,校赛代码完全开源(虽然写的不好看,但是入门还是蛮简单的)。所以可能会和这个图有冲突。

但是现在讲的是思想,没有太大问题,只有元素判断上有些影响。在这篇文中讲解只用上了Hor_L和Hor_R的两个电感(即两个横电感,下简称“L、R”)

使用电磁的步骤 :

  1. 通过电位器调节电感值
    通过adc采集的函数uint16 adc_mean_filter(ADCN_enum adc, ADCCH_enum ch, uint8 count);我们确定了用哪个通道,和采集次数,采样率一般是固定的,也可以自己改,我的电感采集是12位,也就是0~4096,但是在实际赛道上采样的值不会超过3600,一定要注意不要将原始的值调到满幅值。这里推荐的方法是:第一步,将车放到环岛四条线交叉(或者环岛两条(因为今年是铺了两圈)),调节电磁(与四条线垂直的地方)在此时稍微调小电位器,电磁值会有减小,调大值几乎不变(即几乎为最大值),左右横电感都是这样,粗调结束(记录此时的最大值);第二步,将电感放在直赛道上,将电感和电磁线垂直放置,此时最大值为之前最大值的90%以下,要是不到的话就调小,然后把车放在赛道上,保证在赛道最中间(此时电磁线是在两横电感连线中线上),将一侧作为基准,调节另一侧使值相差在(最大值-0)的千分之一内(这样是最好的,但是和你的精度有关,我最大是3600左右,两边值的原始差在5左右)。这样横电感的调节结束;向外的v形电感,在环岛处的较易获得的值是其他元素最大时都无法达到的值即可(就是你在环岛那从预环岛开始稍微转车,或者接近环岛时车即使有些偏移也可以得到的值,但是其他元素这么转都很难得到的值)。内v形电感和水平电感处理类似。具体原因的话,我在元素判断中解释。

  2. 归一化
    就是用第一步采集的最大值(左右对称的电感用同一个),用adc采集的值ADC_value。进行 ADC_value/max*100,将值变道0~100的区间内。这样做的好处是,1、可以方便自己对数据的感知,在普通元素和特殊元素间;2、在赛道更换后,测新的赛道的最大值,改变max的值即可,有较强的适应性。3、方便数据处理。

  3. 差比和
    首先我们不去了解电感具体原理,我们会知道,当靠近电磁线时,电磁值就会变大,远离就会减小。那么如果用L-R,若值为,说明车向右侧偏;反之,向左,这样我们就可以知道车的偏向了。那么差比和(L-R)/(L+R)的作用就是使得到的曲线L-R曲线变得平滑,理论上平滑曲线会使得车的控制效果更好,但是我因为能力有限没有去关注它(可以去看下卓大的文章,里面是有相关的介绍的。“差比和差”那一篇)。

  4. 小车模型
    接下来我们就要让小车巡线了,假设我在理想情况下,左右轮的期望速度都是450(这只是个值,看上一篇我对编码器值的理解),且左右实际都是450,那么理论上这个时候小车是直线运动的。但是要是向右偏了,那么就会期望我们左轮速度比右侧的速度慢,就可以慢慢向左转,车就会回正。此时我们L-R为正(假设是10),通过PID变化得到一个和速度有关的值exp_turn(仍为正),那么左侧的期望速度就是: 期望值(450)- 转向值(exp_turn);右侧期望速度: 期望值(450)+ 转向值(exp_turn)。也就是左减右加(当然这和你的实际模型相关)。当然,如果你是将差比和的值和期望的位置(即L-R=0)处做PID处理(这个时候有可能是一个负值),也有可能是左加右减。

以下是我的小车模型,当然很不精确,可以参考下两轮模型的资料来优化

/*
@par velocity 为期望速度 turn期望转向速度
*/
void Kinematic_Analysis(float velocity,float turn)
{
    float  x=-exp_turn_KP;
    float temp_velocity;
    temp_velocity=x*GFP_abs(err*100)+velocity;//减速处理
    Target_A=(temp_velocity-turn);//(左侧期望速度)
    Target_B=(temp_velocity+turn);//(右期望速度)
}

这样就可以完成循迹了

参考:
两轮差速移动机器人运动分析、建模和控制
智能车电感差比和差加权算法研究

你可能感兴趣的:(智能车,单片机,stm32)