平衡车pid调节顺序及现象

3268 2022-08-23 14:10

PID的作用、效果:

P比例调节,如果每次采样周期过来查看情况的时候只能加一次水,那么这个比例就是小明决定用一缸水一次,还是一桶水一次,还是一瓢水一次。 弹簧的力F = k(弹簧系数、劲度系数、倔强系数)x

D阻尼作用,振幅平缓减小的作用。

I消掉余差,当系统有余差(有的地方叫稳态误差、有的地方叫静态误差、有的地方叫暂态误差)。总之当有漏水的情况,才会用到。

P比例控制

当下,见风使舵,有什么样的瓷器活,选什么样的金刚钻。(现在

产生弹簧一样的拉力

    在直立环,如果俯仰角越大,那么拉力越大

    在速度环,如果速度差越大,那么拉力越大

 

I积分控制

产生一个小的俯仰角度,产生这个小角度下的一个速度,来抵消直立环小车处于稳定状态之后(俯仰角基本为零,俯仰角角速度为零),小车会产生一个速度,且这个速度会越来越大,直到俯仰角被探测到需要调整。

为了以减小稳态误差为目的,学者们提出了I积分控制。积分控制是叠加每个时刻的误差信号,因此它具有记忆功能(过去),可以反映一定的历史信息。超调,速度的积分是距离。
当误差有大幅增加时,积分器因为误差有很大的累计量,导致积分器的输出值有大幅的输出。表现在随着时间的增加,每次累积较大的误差,很容易造成积分饱和并产生较大的过冲,而且当误差变为负时,其过冲仍维持一段时间之后才恢复正常的情形。如下图所示:

 

在t1—t2时刻,当误差值为正时,积分作用导致输出值迅速增加;在t2时刻,到实际值达到设定值后,由于前期的积分积累作用,输出仍然继续增加;即使在t2—t3时刻,误差变为负值时,积分的输出值仍然会继续增加直到一个最高点,这样输出才慢慢下降,直到t3时刻才接近达到设定值。

 

 

积分项演示

D微分控制

产生水一样的阻力,把振子浸入水、油当中,会使恢复稳定的时间大大缩小

    在直立环中,抵消转动惯量

    在速度环中,不用此项

然而有些场合下,控制会出现一定超调量,如果不想让系统出现超调,可以添加D微分控制环节,微分控制可以反映未来的行为(将来预言家),假设当前系统输出快要到达目标给定,这个时候的误差斜率很大,如果不添加D控制,则会导致超调,但是加入了D控制环节,系统通过对误差微分的作用,可以求得当前时刻误差的降低速度,进而控制误差减小的增速来抑制超调发生。

微分项演示

微分体现在重量和动力上,不同的平衡车、无人机的重量和动力都不相同,所以在采样时间内,绝不会像无质量的物体能够迅速在采样周期内达到预定值。所以才会在上图中有微分的效果。如果一个无质量的飞行器或小车在pid上,那么根本看不到D的阻尼作用。

平衡车调节pid顺序:
1.先调内环(高频度)直立环,直立环中先调Kp,再调Kd。顺道估算机械中值
2.再调外环速度环,速度环中先调Kp,再调Ki。

直立环pd速度环pi,很多人理解的内外环和程序里的内外环都很混乱,我只能告诉你,速度环的输出给了直立环,程序里直立环是外环,pid理论图里,串联之后直立环是内环。希望新手不要纠结一些书里的错误教条。

 

正经得比例项是不加小车俯仰角的,正经的积分项是不考虑超调后积分变小的。所以现在市面上用到的串联pid都有猫腻。有的是真机灵,有的是真抄傻了。现象都不正常。还有人到处问为什么。

1.只调直立环:

目的:让轮子的速度跟上物体运动的速度,静止和匀速直线运动都说明可以直立了。

直立环Kp不够,小车从左手到右手、从右手到左手,感觉是扶不起的阿斗。Kp足够大,则小车顶部碰到弹性面后会有低频抖动。

小幅增加Kd,可以减少小车在停止前的低频抖动。

2.在直立环基础上增加速度环和角度环

目的:静止时的作用,让匀速直线运动的速度为0;运动时的作用,破坏平衡让物体前进后退。

速度环Ki太小小车将花更多时间回到原点。如果太大,可能造成小车俯仰角过大在起步和停止的时候容易失控。根据Ki逐步增加Kp,让小车停止抖动。

3.再次配合速度环调整直立环

调整好速度环后,如果推小车,小车在运动时会得瑟一下,说明直立环的Kd过小。增加即可让运动顺滑。

调整好后,如果小车遥控时出现来回摆动,可增加速度环的Kp,此功能可造成向前滑行的效果,避免来回摆动。(分析原因,因为pid中pd都是正向的,而i是阻尼的。但是这里,速度正好相反,速度让静止的物体运动由内力运动,让受外力产生的速度静止,所以先调大i,是为了破坏运动,调大p是为了让物体不得瑟)

 

pi的积分抗饱和需要限制i的最大值。

 PID的微分是关注于“误差”的将来,如果误差是减小的趋势,那么也减小输出,反之则增大,也就是根据未来的趋势做调整。而且是“提前反向”调整,所以在PID控制中,加入微分项相当于加入了阻尼,这个阻尼可有意思了,很多地方都讲不清楚,阻尼作用是在提前反向的时候才有的,也就是过线之后,超调之后,而在这之前,肯定都是促进作用,并不阻碍!,这样就可以使震荡快速衰减,变得稳定。那么为啥好多系统不需要D控制就可以呢,那是因为浙西系统本身就有足够的阻尼了,比如温度加热控制,本身温度就是一个大的滞后缓慢系统,但是有些系统就需要积分,比如单摆运动,如果没有微分,可能就要一直震荡下去了。

示例1:真●稳如老狗

示例2:一个减速电机的平衡小车

PID的数学推导:pdf

全部评论

·