移動機器人中的現代控制理論之狀態空間表示式
狀態空間表示式一般是現代控制理論的第一章,關於課程可以詳細檢視:
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為輸出(感知)矩陣?
此文目前為草稿,待後續完善。
相關文章
- 機器人系統的方程求解(現代控制理論2)機器人
- 順序控制和狀態機之間的差別
- 重建控制檔案之後,只讀表空間的狀態變化
- 在資料庫之間移動表空間資料庫
- [C# Expression] 之動態建立表示式C#Express
- Python動態引數、名稱空間、函式巢狀、global和nonlocalPython函式巢狀
- 如何控制手機網站控制狀態列顯示樣式網站
- 表空間的狀態(二) - read/write
- readwrite狀態下實現可傳輸表空間
- 移動表空間的指令碼指令碼
- Spring Security實現基於RBAC的許可權表示式動態訪問控制Spring
- C++ 接受狀態變數的lambda表示式C++變數
- 動態拼接表示式——ExpressionExpress
- 演算法~簡單的計算器(驗證數學表示式是否合法~“狀態機思想”)演算法
- Oracle表移動表空間Oracle
- oracle 表移動表空間Oracle
- 國防機器人中的精密微電機機器人
- 動態移動控制元件 (轉)控制元件
- 使用有限狀態自動機實現C語言的宣告解析器C語言
- 笛卡爾空間力反饋的關節速度控制之機器人運動學庫KDL安裝及使用機器人
- 名稱空間與巢狀命名中的處理巢狀
- 圖靈機狀態轉移函式為什麼是部分函式?圖靈函式
- 現代 ABAP 程式語言中的正規表示式
- 12c 聯機狀態移動資料檔案
- 個人中心釋出狀態無法同步到QQ
- 資料檔案,表空間的移動
- 5 個處理狀態列的函式函式
- Ubuntu 20.04.2 KVM虛擬機器動態遷移實現(下)Ubuntu虛擬機
- Ubuntu 20.04.2 KVM虛擬機器動態遷移實現(上)Ubuntu虛擬機
- 移動應用“好”的本質在空白狀態上體現
- 數字樣機:飛行器狀態控制系統模擬
- 橫版遊戲的攝像機移動理論與實踐(上)遊戲
- 計算機系統3-> 現代計算機基石 | 圖靈機理論計算機圖靈
- Telegram 聊天機器人中獲取照片機器人
- C語言malloc()函式:動態分配記憶體空間C語言函式記憶體
- Oracle查詢表佔磁碟空間大小及移動表空間Oracle
- 給虛擬機器的增加空間虛擬機
- 利用PLSQL實現表空間的遷移(一)SQL