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

本文介绍了树莓派智能车AlphaBot如何使用红外循迹,重点在于PID算法的应用。通过模拟输出型传感器,结合PID算法实现更精确的循迹效果。算法包括归一化校准、加权平均和PID控制三个步骤,详细解析了每个步骤的数学原理和代码实现。最后,提到了树莓派上的Python程序与Arduino程序的相似之处。
摘要由CSDN通过智能技术生成

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

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

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

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

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

算法分析

第一部分:归一化校准

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值