欢迎光临散文网 会员登陆 & 注册

个人学习笔记——事件触发再再认识2

2023-04-04 15:10 作者:WWW68y  | 我要投稿

详细见再再认识1

假设一个系统

dotx=Ax+Bu.

假设控制器:u=Kx.

事件触发条件为f。且f是e(状态x误差差)的函数

这个系统加入事件触发的运行状态如下

1,赋初值x=x(0);

2,求控制器u=u(0)=Kx(0);(积分器后)

3,计算dotx=dotx(0)=Ax(0)+Bu(0);此时的dotx可以定义为dotx(0)或dotx(1),假设定为dotx(0);(积分器前)

4,计算x=x(1)=dotx(0)*dt+x(0);(通过积分器)

☆☆☆☆☆加入事件触发判断

计算e=x(1)-x(0)→计算f→判断

若不满足,不触发,控制器接受的状态不更新

5,求控制器u=u(1)=u(0)=Kx(0); (积分器后)此处是x(0),因为不触发,也就是不通信。

6,计算dotx=dotx(1)=Ax(1)+Bu(1); (积分器前)

7,计算x=x(2)=dotx(1)*dt+x(1); (通过积分器)

2-7步,控制器不变。

若满足,则触发,更新状态

5,求控制器u=u(1)=Kx(1); (积分器后)此处是x(1),因为触发,注意与上5区别。

6,计算dotx=dotx(1)=Ax(1)+Bu(1);(积分器前)

7,计算x=x(2)=dotx(1)*dt+x(1); (通过积分器)

2-7步,控制器发生变化。

☆☆☆☆☆以上第7步之后继续加入事件触发判断

计算e=x(2)-x(1)→计算f→判断

☆☆☆若不满足,不触发,控制器中的状态不更新

8,求控制器u=u(2)=u(1)=Kx; (积分器后)此处是x,因为不触发,也就是不通信。注意,此处的U(1)是上面两个u(1)中的1个,根据上一阶段是否触发,若上一阶段不触发,那u就等于上一次阶段的u也等于上上一次的u,因为上一阶段不触发,上一阶段的u等于上上一阶段的u。

9,计算dotx=dotx(2)=Ax(2)+Bu(2);(积分器前)

10,计算x=x(3)=dotx(2)*dt+x(2); (通过积分器)

若满足,则触发,更新状态

8,求控制器u=u(2)=Kx(2);此处是x(2),因为本次触发,控制器更新接受上一阶段的新状态x(2),无论上一状态x(2)是怎么求出来的,因为x(2)是5-7求出的,而5-7可能触发了也可能没触发。

9,计算dotx=dotx(2)=Ax(2)+BU(2); (积分器前)

10,计算x=x(3)=dotx(2)*dt+x(2); (通过积分器)

☆☆☆☆☆以上第10步之后继续加入事件触发判断

计算e=x(3)-x(2)→计算f→判断

循环下去

2023.4.4


个人学习笔记——事件触发再再认识2的评论 (共 条)

分享到微博请遵守国家法律