網路控制系統之被控物件離散化

2021-09-29 23:18:56 字數 2148 閱讀 8439

網路控制系統是引入網路的控制系統,即網路可能存在於控制系統的反饋通道和控制通道。在網路控制系統中,被控物件的數學模型當然是連續的(這個世界上還有離散的物理系統麼?)但是,由於網路控制系統不可能使用連續的訊號來控制被控物件,所以我們需要把被控物件的模型離散化。

例如:

尤拉法:

給定小車的模型為:

x ˙=

vcos

(θ)y

˙=vs

in(θ

)θ˙=

ω(1)

\dot=vcos(\theta)\\ \dot = vsin(\theta)\\ \dot = \omega \tag

x˙=vco

s(θ)

y˙​=

vsin

(θ)θ

˙=ω(

1)那麼離散化為:

x (k

+1)=

x(k)

+hv(

k)co

s(θ(

k))y

(k+1

)=y(

k)+h

v(k)

sin(

θ(k)

)θ(k

+1)=

θ(k)

+hω(2)

x(k+1) = x(k)+hv(k)cos(\theta(k)) \\ y(k+1) = y(k)+hv(k)sin(\theta(k)) \\ \theta(k+1) = \theta(k)+h\omega \tag

x(k+1)

=x(k

)+hv

(k)c

os(θ

(k))

y(k+

1)=y

(k)+

hv(k

)sin

(θ(k

))θ(

k+1)

=θ(k

)+hω

(2)接下來程式設計驗證一下使用尤拉法離散化好不好用:

matlab指令碼:test_******dynamiccar

% test_******dynamiccar

v =ones(1

,3000);

phi =

ones(1

,3000);

x =0

;y =0;

theta =0;

axis equal

for i =1:

3000

[x,y,theta]

=******dynamiccar

(x,y,theta,

v(i)

,phi

(i))

;plot

(x,y,

'.')

; hold on;

pause

(0.01

)end

matlab**:******dynamiccar函式

function [x,y,theta]

=******dynamiccar

(x,y,theta,v,phi_f)

h =0.01

;lw =

0.25

;x = x +

(v*(

cos(theta)

-tan

(phi_f)

*sin

(theta)

*0.5))

*h;y = y +

(v*(

sin(theta)

+tan

(phi_f)

*cos

(theta)

*0.5))

*h;theta = theta + v*

tan(phi_f)

/lw*h;

end

使用simulink模組同樣可以搭建乙個小車的模型(作為基準),來和尤拉離散做乙個對比。結果為下圖,紅色的為使用simulink的小車軌跡,藍色為使用**實現的小車軌跡。**時間為30秒。

可以看出,還是有偏差的,,,但是應該也夠用吧。

離散時間控制系統

對連續時間訊號進行週期性取樣得到離散時間序列。取樣訊號x t 加入到取樣開關的輸入端,如果取樣開關每隔時間 t 閉合一次,取樣開關為理想開關,那麼連續訊號f t 經過取樣就得到了一連串的脈衝序列x t 稱為衝激取樣器 i 理想取樣的數學描述 x t x t t x kt x kt t kt x t ...

常用的控制系統離散化方法

常用的控制系統離散化方法共有6種,分別是 1 前向差分法 2 後向差分法 3 雙線性變換法 4 脈衝響應不變法 5 階躍響應不變法 6 零極點匹配法 前三種方法比較簡單易用,已知對應的s域傳遞函式,可以通過簡單的代數變換求得對應的z變換 假設對應的傳遞函式為d s 1 rcs 1 前向差分法 s z...

版本控制系統之GIT

版本控制系統作用 記錄 管理和跟蹤整個 開發過程,確保不同開發人員之間的 同步。git 開發者 linux作者 奈斯.託瓦斯 特點 開源 免費 同類的還有svn,兩者為市場主要使用的版本控制系統,svn定位於企業級,區別主要為svn許可權較高,且為集中式版本控制系統,必須連上svn伺服器 git為分...