快捷搜索:  汽车  科技

乐高ev3编程流程图(乐高EV3的PID巡线)

乐高ev3编程流程图(乐高EV3的PID巡线)黄色圆形代表传感器位置,黑色代表我们要巡的线。假设在左侧情况下反光值为50,右侧反光值为10,那么中间的反光值就大约等于30.如果传感器检测到反光值大于30,车体左偏,需要向右转;如果传感器检测到反光值小于30,车体右偏,需要向左转;如果传感器检测到反射光值等于30,直行。光感三种状态I-积分(integral的首字母)D-导数(derivative的首字母)2. 单光巡线原理

乐高ev3编程流程图(乐高EV3的PID巡线)(1)

对于乐高的单光感巡线 有很多方案.其中有一种方案会达到相对理想的状态 就是大家听说的PID巡线方案。

在我们开始程序之前,我们首先了解如下项目:

1. PID的意义:

P-比例(proportion的首字母)

I-积分(integral的首字母)

D-导数(derivative的首字母)

2. 单光巡线原理

乐高ev3编程流程图(乐高EV3的PID巡线)(2)

光感三种状态

黄色圆形代表传感器位置,黑色代表我们要巡的线。假设在左侧情况下反光值为50,右侧反光值为10,那么中间的反光值就大约等于30.如果传感器检测到反光值大于30,车体左偏,需要向右转;如果传感器检测到反光值小于30,车体右偏,需要向左转;如果传感器检测到反射光值等于30,直行。

  • 比例P

  • 调节速率和偏差成比例,偏移越大调整越大。但是比例系数要适当,太小起不到作用,太大又容易摆动过大。

    • 积分I

    积分反应的是累计的偏差,通过累计的偏差来调整车的转向。

    • 微分D

    微分反应偏差的变化率,可以提前校正车的转向,增强稳定性。

    但是微分和积分都不能单独起作用,都需要有P的基础,也就是实际会有四种控制方式,即:P PI PD PID.

    下面就给大家讲解一下如何用MINDSTOMS EV3软件做PID程序

    首先,我们颜色传感器的端口是1,中间值30,巡左侧,电机是左A右B,用移动槽控制车转向。

    接下来跟着如下步骤,我们把程序完成:

    1. 用一个线程来定义如下变量

    乐高ev3编程流程图(乐高EV3的PID巡线)(3)



    其中:Kp-比例系数,Ki-积分系数,Kd-微分系数,I-积分,D-微分,E-误差,LE-上一次误差

    2. 用另外一个线程先做出E

    乐高ev3编程流程图(乐高EV3的PID巡线)(4)

    此处颜色传感器检测反射光强度,与30做差,算出误差值

    3. 继续做出I

    乐高ev3编程流程图(乐高EV3的PID巡线)(5)

    此处将I和E做和再赋值给I,实现每次循环误差的累加

    4. 继续做出D

    乐高ev3编程流程图(乐高EV3的PID巡线)(6)

    此处用本次误差-上次误差赋值给D

    5. 各个部分分别乘以比例系数,相加赋值给移动转向的转向值

    乐高ev3编程流程图(乐高EV3的PID巡线)(7)

    乐高ev3编程流程图(乐高EV3的PID巡线)(8)

    乐高ev3编程流程图(乐高EV3的PID巡线)(9)

    第三图为完整图,前两图为了让大家看得更清晰

    6.在移动转向的后面将E赋值给LE

    乐高ev3编程流程图(乐高EV3的PID巡线)(10)

    至此,我们PID的巡线程序就都完成了,剩下的工作就是仔细调整Kp Ki Kd的值,使小车达到理想的巡线状态了

    猜您喜欢: