我接觸到的一些學校或企業在用MATLAB/Simulink做機器人控制。MATLAB有機器人建模仿真和規劃控制的工具箱:Robotics System Toolbox(機器人系統工具箱)。詳細看了這個工具箱的介紹,對於初學者而言,也可以從這個工具箱入手學習機器人控制。
工具箱的介紹在這:
Robotics System Toolbox™ 提供了用於設計、仿真和測試操縱器、移動機器人及人形機器人的工具和演算法。對於操縱器和人形機器人,該工具箱包含了使用剛體樹表示形式的碰撞檢查、軌跡生成、正向和逆向運動學以及動力學演算法。對於移動機器人,該工具箱包含用於對映、定位、路徑規劃、路徑跟蹤和移動控制的演算法。該工具箱提供了常用工業機器人套用的參考範例。該工具箱還包含可以匯入、視覺化和仿真的商用工業機器人模型庫。
主要包含兩部份功能:機器人建模及仿真、機器人演算法。以下羅列一下官網的描述,可以看出來這個工具箱能做的事情還挺多。
機器人模型
構建您自己的機器人模型或使用常用機器人模型庫,為您的機器人套用快速建模。您可以匯入統一機器人描述格式 (URDF) 檔或 Simscape Multibody™ 模型,以建立自訂機器人模型和視覺幾何體。
移動建模和控制
對移動機器人和操縱器的基本運動學和動力學進行建模。對機器人運動進行視覺化和仿真,以驗證控制演算法。
3D 仿真
透過與 3D 物理仿真器進行介面通訊,在現實世界的仿真環境中驗證機器人模型。將 Simulink® 模型仿真與 Gazebo 仿真進行同步。
操縱演算法
使用剛體樹表示形式定義機器人模型。使用機器人模型構建高級運動控制器和介面,以完成機器人工作流程。對機器人模型執行碰撞檢查和逆向運動學與動力學計算。
移動機器人演算法
使用占據柵格建立環境地圖,在地圖中定位機器人,並為移動機器人開發路徑規劃和控制演算法。
基於上述工具箱,你可以實作自己的機器人控制演算法或者機器人模型。接下來你可以采用快速控制原型(RCP)和硬體在環仿真(HIL)的方式來進行測試驗證。
快速控制原型(RCP)
如果你開發好了Simulink控制演算法,需要去控制實際的機器人來驗證控制演算法, 此時你可能沒有自己的控制器硬體 ,這時候你可以采用快速控制原型(RCP)的方式來驗證,將你的控制演算法模型下載到RCP裝置中去控制你的機器人(如以下視訊)。
https://www.zhihu.com/video/1428013210402648064硬體在環仿真(HIL)
當你開發出了自己的機器人控制器(包含軟硬體),此時你可以直接去控制你的機器人,進行全實物的測試,但有些情況下,你可能不會直接用真實的機器人去做實驗:
1、你的機器人本體還沒做出來;
2、你要測試的有些工況比較危險,如果用機器人本體來做,有可能會造成人員損傷
3、你的控制器還沒經過完善的測試,如果直接用真實的機器人去做測試,可能會損傷你的機器人或者實驗人員
……
這時候你可以進行硬體在環仿真(HIL)來測試你的控制器,用一台仿真器執行你的機器人模型,讓你的控制器去控制這個仿真器(你的機器人控制器是無法辨識它正在控制一個真的機器人還是一個模擬機器人的仿真器)。這種方式安全、可靠、高效,而且對實驗條件要求低。
可以參見西門子做的硬體在環仿真測試: