2012-10-19 71 views
1

我試圖實現在MATLAB(M文件)以下系統:Vision based lane keeping control system如何給從傳感器輸入到PID在MATLAB(M文件)

我的系統具有兩個部分的圖像處理(傳感器)&控制系統。的代碼段是:

clear,close 
%your model and its input output 
mot=tf(1,[1 1]), 
model=ss(mot); 
[F,h,c,d]=ssdata(model); 
%your pid controller 
r=pid(5,1/0.05,10) 
sys.inputname='u' 
sys.outputname='y' 
Ci.inputname='e'; 
Ci.outputname='u'; 
som1 = sumblk('e = r - y'); 
%global model with all conneection 
modelg=connect(som1,r,model,'r','y') 
%simulation 
step(modelg) 

以上代碼是表示PID然後狀態空間和模型然後其作爲反饋輸出,但 我不得不從我的傳感器(圖像處理部分例如3)得到輸入,並將其與比較我的參考價值。我需要知道這個代碼中輸入值將被調整的位置。任何指導將不勝感激。

回答

0

系統的模擬輸出是'y',所以你要做的就是比較這個'y'和你的傳感器的輸出。這將用於得到e,即實際的錯誤。你這樣做是爲了獲得更多關於'y'的知識,因爲系統描述從來都不是完美的。我想這更多的是一個控制系統相關的問題,而不是一個實際的matlab問題,或者我有什麼問題?

+0

是的,這是一個控制系統的問題,但我有語法問題。假設我有一個輸出形式傳感器y1。我想將y1和y(控制系統的輸出)的平均值取爲(y + y1)/ 2。如何在我的代碼中包含這個平均值。 –

+0

抱歉,沒有得到。我從來沒有使用過這些命令,但通過閱讀「連接」的幫助,我想說你需要另一個塊SYS2,然後將y和傳感器數據作爲輸入,並且您可以輕鬆獲取您的反饋。只需檢查幫助連接。對不起,我不能告訴你更多。 – Danny

相關問題