移動機器人中的現代控制理論之狀態空間表示式

zhangrelay發表於2019-02-28

狀態空間表示式一般是現代控制理論的第一章,關於課程可以詳細檢視:

https://zhangrelay.blog.csdn.net/article/category/6161998

所有課程相關資料連結如下:

https://zhangrelay.blog.csdn.net/article/details/51195007


在講述課程時,發現部分學生對於狀態空間模型概念並沒有非常形象的認知,機械的記憶公式,從而失去學習課程的樂趣,探索控制理論的熱情。其實,現代控制理論非常簡單,整本書都圍繞如下這個公式展開:

$$\left\{\begin{matrix}
\dot{x}=Ax+Bu
\\ 
y=Cx+Du
\end{matrix}\right.$$

然後,一般而言,教材會有R-L-C電路或者帶彈簧阻尼的機械運動模型,刷一波上述公式,嗯,沒辦法都是這樣的。

放個圖,大家感受一下:

 然後,經過一系列推導,得到如下公式:

對應公式:$$ \dot{x}=Ax+Bu $$

想要了解更多資訊,參考如下連結:

http://www.mbstudent.com/control-theory-state-space-representation-RLC-circuit-example-1.html


但是,不生動不形象啊~講的人痛苦,聽的人無趣。索性換一個例子吧:

兩輪差動模型的機器人模擬環境

上圖中有兩個機器人,相對座標系等先不講,此處只關注單個機器人在地面上的運動特性。

機器人左輪和右輪的運動使得機器人在環境空間狀態發生變化。大部分低成本平地兩輪機器人都是類似的模型,如掃地機器人,巡邏機器人等。

輸入----系統----輸出(機器人與環境互動)

 

 

具體公式推導,可以參考:

http://planning.cs.uiuc.edu/node659.html

更具體過程稍後補充:

第一種(全域性座標系):

$$\begin{pmatrix}
\dot{x}
\\
\dot{y} 
\\ 
\dot{\theta} 
\end{pmatrix}
=
\begin{pmatrix}
\cos \theta  & 0 \\ 
\sin \theta  & 0\\ 
0 & 1 
\end{pmatrix}
\begin{pmatrix}
\upsilon \\ 
\omega 
\end{pmatrix}$$

第二種(機器人座標系):

$$\begin{pmatrix}
\upsilon _{x}
\\
\upsilon _{y} 
\\ 
\dot{\theta} 
\end{pmatrix}
=
\begin{pmatrix}
r/2  & r/2 \\ 
0  & 0\\ 
-r/L & r/L 
\end{pmatrix}
\begin{pmatrix}
\omega _{l}\\ 
\omega _{r} 
\end{pmatrix}$$

 

上述圖片為引用。

這時候會發現?說好的狀態空間模型怎麼不對勁呢???只有:$$ \dot{x}= Bu $$


這是分割線


思考一下,機器人難道沒有慣性嗎?當停止電機供電,機器人是立刻停止,還是需要滑行一小段距離?

上述模型是運動學模型,是經過簡化的,更真實的模型如下:

$$\left\{\begin{matrix}
\dot{x}=Ax+Bu
\\ 
y=Cx
\end{matrix}\right.$$

其中:

$$A=\begin{bmatrix}
a _{1} & 0 & 0\\ 
0 & 0 & 1\\ 
0 & 0 & a _{2}
\end{bmatrix} $$

$$B=\begin{bmatrix}
b _{1} & b _{1}\\ 
0 & 0\\ 
b _{2} & -b _{2}
\end{bmatrix}$$

$$C=\begin{bmatrix}
1 & 0 & 0\\ 
0 & 1 & 0
\end{bmatrix}$$

$$a_{1}=-2c/(Mr^{2}+2I_{\omega }), a_{2}=-2cl^{2}/(I_{\upsilon }r^{2}+2I_{\omega }l^2)$$

$$b_{1}=kr/(Mr^{2}+2I_{\omega }), b_{2}=krl/(I_{\upsilon }r^{2}+2I_{\omega }l^2)$$

各變數具體含義:

Iv 機器人重心的轉動慣量 Moment of inertia around the C.G. of robot

M 機器人質量 Mass of the robot

l 左右輪與機器人重心之間的距離 Distance between left and right wheel and the c.g. of robot

Iw 車輪轉動慣量 Moment of inertia of wheel

c 粘滯摩擦係數 Viscous friction factor

r 車輪半徑 Radius of wheel

k 驅動增益係數 Driving gain factor


思考:為何A為系統矩陣,B為控制(輸入)矩陣,C為輸出(感知)矩陣?

 

此文目前為草稿,待後續完善。


 

相關文章