最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

如何用S函數(shù)實(shí)現(xiàn)積分運(yùn)算

2023-05-01 23:52 作者:幽影微光  | 我要投稿

在對(duì)多自由度機(jī)器人臂進(jìn)行控制時(shí),關(guān)節(jié)的行程和行程速度從多體模塊是可以直接導(dǎo)出的,在常規(guī)PD控制中,只需要針對(duì)上面兩個(gè)控制量給定目標(biāo)值,然后做閉環(huán)控制就可以了。S-Function可以很好地執(zhí)行該算法。但如果要把PD做成PID該如何利用S-Function進(jìn)行運(yùn)算?

?在已知初始狀態(tài)的情況下,確實(shí)是可以使用S-Function進(jìn)行積分運(yùn)算的。比如:

測(cè)試sim模型

S-Function代碼:

function [sys,x0,str,ts] = spacemodel(t,x,u,flag)

?

switch flag,

case 0,

[sys,x0,str,ts]=mdlInitializeSizes;

case 1,

sys=mdlDerivatives(t,x,u);

case 3,

sys=mdlOutputs(t,x,u);

case {2,4,9}

sys=[];

otherwise

error(['Unhandled flag = ',num2str(flag)]);

end

?

function [sys,x0,str,ts]=mdlInitializeSizes

sizes = simsizes;

sizes.NumContStates = 1;

sizes.NumDiscStates = 0;

sizes.NumOutputs = 1;

sizes.NumInputs = 1;

sizes.DirFeedthrough = 0;

sizes.NumSampleTimes = 1;

sys = simsizes(sizes);

x0 = [0];

str = [];

ts = [0 0];

?

function sys=mdlDerivatives(t,x,u)

e1 = u(1);

sys = e1;

function sys=mdlOutputs(t,x,u)

ie1 = x(1);

sys = ie1 ;

原理很明顯,就是將e1的積分賦值狀態(tài)量x,由于用到了mdlDerivatives,需要給定初始狀態(tài)x0,仿真結(jié)果如下:

仿真結(jié)果

結(jié)論:如果這個(gè)方法幫到了你,我感到很高興。如果需要轉(zhuǎn)載此文章,請(qǐng)尊重我的勞動(dòng)成果,注明出處。如果你有更好的方法,請(qǐng)告訴我讓我也學(xué)習(xí)一下,謝謝。?

如何用S函數(shù)實(shí)現(xiàn)積分運(yùn)算的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
滕州市| 广饶县| 郁南县| 全椒县| 五寨县| 新化县| 苏尼特左旗| 泾川县| 亳州市| 梁河县| 大庆市| 玉林市| 满城县| 常德市| 永靖县| 宝清县| 资兴市| 阳曲县| 信丰县| 巴东县| 班戈县| 南皮县| 西乌| 鹤岗市| 洪雅县| 元朗区| 太谷县| 遂昌县| 莱阳市| 宜黄县| 高阳县| 上高县| 许昌县| 偃师市| 古丈县| 平罗县| 城步| 丰原市| 丰台区| 民勤县| 随州市|