第三部分的自适应控制学习,对应前两部分的强化。为为弹簧系统设计控制器满足弹性系数未知的情况下通过控制输入u使得系统到达指定位置

其一:Advance控制理论简单的反步控制器设计

其二:从零学使用Lypunov直接法设计自适应控制器

其三:在弹性系数未知的情况下设计自适应控制器

系统方程为:$m\ddot{x}+\partial x}^{3}}=F\text{ }(1)$​

一个奇怪的bug?Avoid clicking here.

由于博客对lateX容忍度不高,即便我开启了数学公式解析,所以想更舒服的观看的点击这里

其中$m$为方块的质量,$x$为方块的位移,$\partial $为未知弹性系数,$F$为输入量。

转换为动态方程为:

懒得描述啦,看结果吧

调节不同的k1,k2,k3应该会让效果更好,可以动手试一下

源码如下

function [u, e, aph_hat, x3r, ddotx1] = fcn(m, aph, x1, dotx1, x1d, dotx1d, ddotx1d, int_x3r, k1, k2, k3)

e = x1d - x1;
x2d = dotx1d + k1*e;
r = x2d - dotx1;
x3r = x1^3*r;
aph_hat = k3*(1/m)*int_x3r;

u = m*e + m*ddotx1d + m*k1*(dotx1d - dotx1) + x1^3*aph_hat + k2*r;
ddotx1 = -(aph/m)*x1^3 + (1/m)*u;