树莓派循迹小车python程序pid_树莓派智能车AlphaBot教程5:红外循迹

循迹从来都是智能小车中一个重要的功能。有红外循迹,摄像头循迹,电磁循迹,激光循迹等。

常见红外循迹的有两路,三路,四路,五路怎么七路,九路循迹。多少路表示传感器的数量。

又分为数字输出型和模拟输出型,比较常用的是数字输出型。即每个传感器只能输出高低电平,检测该点,是否有黑线,不能判断黑线的远近。而模拟输出型输出的是模拟量通过模拟电压可以反映出黑线的远近,结合PID算法。模拟输出循迹效果更好。

以上为循迹传感器部分的原理图,IR1~IR5端为模拟输出,模拟量输出和距离,物体颜色有关。红外反射越强(白色)时,输出越大,红外放射越弱(黑色),输出越小。探测器离黑色线越近输出越小,由此可以通过输出模拟量判断黑线的距离远近。数值越小的传感器离黑线越近。而数字型输出则将输出的模拟值经过比较器得到数字量。由此可知通过5路模拟输出获得相对五路数字输出更高的精度。

而模拟输出循迹算法根据复杂,下面详细讲一下算法部分。算法可以分为3部分。

算法分析

第一部分:归一化校准

相同的颜色,距离,不同的探测器输出会有所不同,而且不同环境输出的模拟量范围也不一样。如果采用10AD采集。理论上输出范围会在0~1023之间。但是实际上输出最小Min会大于0,最大值Max会比1023小。由此为了减少传感器自身以及环境的影响,作归一化处理,归一化处理实际上就是将Min~Max的数值范围转为 0~1范围线性转换如下:

y=(x-Min)/(Max-Min)

(其中x为探测器输出值,

你可能感兴趣的:(树莓派循迹小车python程序pid_树莓派智能车AlphaBot教程5:红外循迹)