PID算法控制平衡小车速度

1.平衡小车速度控制:

平衡小车在平衡的前提下,应该想办法让他直立行走,也就是下面要讲的在直立控制下给予小车速度达到速度控制

速度控制应该控制的是倾斜角从而触发直立控制达到移动的目的,小车运动的速度和倾斜角成正比,向前运动时车身往前倾斜,角度越大速度越大。

(1)我们设置小车的目标速度为0,先关闭之前调试好的直立控制

(2)积分项的偏差由积分得到,所以积分控制和比例控制的极性相同,查阅资料显示,在不同的系统中,PID参数互相之间会有一定的比例关系,在平衡小车中,我们可以把KI值设置为KI = KP/200.

(3)通过查看数据,我们发现两路编码器相加最大值在160左右,我们速度偏差达到最大速度50%的时候,系统输出电机的最快速度,再7200代表占空比100% KP最大值 = 7200/(160*50%) = 90.

(4)确定速度控制的极性: 设置KP值为-负50,KI值为-负0.2 ,这时我们旋转左边轮胎时,发现右边轮胎是往相反方向旋转的。 查阅资料得知:偏差 = 测量值 - 目标值 偏差= (左轮编码器 +右轮编码器)- 0 趋于0 后 前 所以确定极性是-负的。

(5)我们设置KP值为+正的50,KI值为正的0.2,这时我们旋转左轮胎,发现两边的轮胎顺着旋转的方向,速度越来越快。所以我们确定极性是+正的。

(6)我们打开直立控制环,确定KP,KI值的大小。 调试 的结果是:小车直立的同时速度接近于0.

(7)置KP=40,KI=0.2. 看到小车的速度控制不是我们打开直立控制环,不是很理想。

(8)我们增大KP值,KP=60,KI=0.3 发现小车的可以直立,不抖了。但是整体性能还不是很好。

(9)我们把KP值改为80,KI=0.4 。小车整体性能好。

(10)我们尝试增大KP值,KP=100,KI=0.5 发现小车开始抖动,抗干扰能力下降,所以我们选择KP=80,KI=0.4. 我们尝试KP=-80,KI=-0.4. 小车向前倒下。我们确定KP=80,KI=0.4.

经验分享 程序员 微信小程序 职场和发展