什么是归一化
归一化就是将所有数据都变成0-1之间的数,将数据映射到0~1范围之内处理,使数据观察更便捷快速。
在电磁车行驶过程中,由于需要通过分析各个电感采集值的情况来判定前方为何种路段。
所以更要求这些采集值有迹可循,归一化便是一种很好的方法,先将所有采集到的值缩小到0-1范围内,再适当放大(常见的放大倍数为100)。
这样既能更容易的由电磁值分析出路况,又不会因为数据过小而失真。
归一化的代码实现
归一化的公式如下:(x-Min)/(Max-Min)。
其中,x为实时检测到的变量,Min与Max为标定的电感采集最小与最大值。
具体代码如下:
AD_M_Left[0] =(uint16)(99*(LeftAverage[0]-M_Left_min)/(M_Left_max[0]-M_Left_min)+1);
PID控制
在介绍PID算法前,我们可以试想一下,如果没有某些特殊的算法,那么我们会如何控制舵机打角和电机转速?
就舵机而言,其结论可能是,设定一个特定的值,当左右电感的电磁值之差达到这个设定的值时。
便控制舵机向左或向右打一定的角度(或者多设值,分不同情况多段打角)。
实际上这也是我在刚接触智能车时用的算法,这种算法虽然能够让赛车在赛道上行驶,但打角不够顺滑,反应也不够灵敏。
这时我们便需要将这个差值代入某个算法,令其与舵机打角关联起来,这样便可以得到一个较为连贯与精确的舵机输出值。
有利于赛车更完美的运行,而这种将差值与最后输出值关联起来的算法便是我们常说的PID控制算法。
什么是PID控制
比例(P)积分(I)微分(D)控制(PID控制),是应用最为广泛的一种自动控制器。
它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点。
PID控制分为很多种,而智能车中常用增量式和位置式两种算法对车身进行控制,以保证赛车在赛道上完美运行。
-
电磁
+关注
关注
15文章
1073浏览量
51652 -
检测
+关注
关注
5文章
4407浏览量
91290 -
控制算法
+关注
关注
4文章
165浏览量
21663
发布评论请先 登录
相关推荐
评论