MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)
之前隻是用Matlab做一些算法的仿真,資料的計算分析處理,知道MATLAB中包含有Simulink,隻知道Simulink用于控制一類的仿真,最近深入接觸了一下Simulink,發現這個工具實在是太強大了。如果說僅僅把MATLAB/Simulink想象成一個仿真計算的工具,那實在是太落伍了。
目前MATLAB/Simulink更多的是在産品的實作階段發揮更重要的作用,例如之前我要開發一個機器人産品原型,我要去實作産品,需要做什麼:
- 硬體設計及生産;
- 根據實際硬體,不斷調試軟硬體接口、驅動;
- 算法仿真;
-
針對硬體進行算法編碼,部署到硬體上更改算法的各項參數
事實上傳統模式花費功夫最大的是硬體及軟體編碼,而産品最重要的算法設計往往精力配置設定不夠。
下面一段話是本文的中心思想,也是做這個項目的目的:
MATLAB/Simulink不光用來做仿真、資料處理,可以直接完成軟硬體內建、調試、測試、報告等過程,實作産品數字化、自動化設計過程,人花費精力最大是産品的設計過程,而産品的實作和測試由Simulink工具完成。這也就是基于模型的設計(MBD)的概念,成為當今産品研發的主流模式。在汽車行業,要講究開發效率和可靠性,是以幾乎所有的軟體都以這種模式進行開發,逐漸成為一個行業标準。
歡迎大家添加我們的公衆号,基于模型的智能系統研發。會在公衆号中分享更多基于模型的開發案例,包括一些低成本硬體如STM32、ARM、樹莓派等,并提供最前沿的MATLAB技術發展咨詢。
下面就以平衡機器人的開發為例,進行介紹,做這個東西,搭樂高機器人用了半天時間,調試開發環境和模型用了兩天,是以公用兩天半完成平衡機器人的原型開發。
基于模型的開發,你可以直接找成熟的硬體,MATLAB/Simulink包含有相關的硬體驅動,可以直接在Simulink環境中完成資料的讀取、裝置的控制,并将算法直接生成代碼下載下傳到硬體當中。本項目MATLAB/Simulink通過WiFi與樂高EV3機器人相連接配接,通過Simulink對EV3控制系統進行模組化,模型自動生成代碼下載下傳到EV3中運作,并生成報告,将傳感器資料實時采集到模型中進行仿真并顯示。
目錄
- MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)
-
- 目錄
- 樂高機器人
- MATLAB與樂高
- 1 開發環境
- 2 開發過程
- 3 調試注意事項
- 4 基于模型的開發帶來的好處
-
樂高機器人
- 樂高機器人被廣泛用于程式設計、機器人設計、控制設計等領域的入門教學。在美國和日本,樂高機器人被廣泛用于學生和愛好者的競賽當中。在中國,我們也發現越來越多的少兒教育中,開始引入這些低成本的教學平台,用于激發學生的學習興趣,同時也幫助提高學生的動手能力。
- 如果用傳統的方式學習制作機器人,我們得先學習電腦基本概論,接着要了解電子電路、數位邏輯和微處理器,才能制作出基本的微電腦控制電路。然後還要學習彙編語言(Assembly)或C語言,撰寫微處理器的程式…對了,也許最麻煩的是機械結構,我們得決定要用步進馬達還是一般的直流馬達,不同的驅動形式,信号的驅動和回饋處理方式也不一樣;而且即便是采用最單純的輪胎或履帶作為行走方式,也可能要搭配各種齒輪來調配扭力和速度。想到要學習、DIY這麼多東西,很多對自制機器人懷抱憧憬的業餘玩家,滿腔熱血到此就涼了大半截。
- 最新一代的LEGO頭腦風暴系列的主要–EV3。它的按鈕可以發光,根據光的顔色可看出EV3的狀态.更高的分辨率的黑白顯示器,内置揚聲器,USB端口,一個迷你SD讀卡器,四個輸入端口和四個輸出端口。支援USB2.0,藍牙和WiFi與電腦通訊。還有一個程式設計接口用于程式設計和資料日志上傳和下載下傳。相容與移動裝置,(安卓、IOS)由AA電池或EV3充電直流電池供電。
MATLAB與樂高
通過安裝在MATLAB上的樂高硬體支援包,你可以通過Simulink程式設計,并用USB線、藍牙、WiFi、網線來控制樂高Mindstorms機器人,進而:
- 不需要任何其他工具箱就可以直接開始程式設計
- 在MATLAB工作環境中互動式地開發調試和排除故障
- 開發自定義的圖像使用者界面來用于控制機器人
- *使用MATLAB來分析傳感資料并使其可視化
1 開發環境
Simulink 樂高EV3
項目 | 版本 | 備注 |
---|---|---|
計算機 | Win10 64位 | 帶WiFi、藍牙子產品 |
MATLAB/Simulink | 2018a | 安裝樂高硬體支援包 |
LEGO EV3 | 45544,固件:V1.08E | 配件: WiFi子產品、USB線,EV3自帶藍牙,産品ID:001653****** |
2 開發過程
1) 組裝樂高機器人:
組裝過程見http://robotsquare.com/2013/10/01/education-ev3-45544-instruction/
2) 建構MATLAB/Simulink控制系統模型
打開GyroBoy模型,相關模型下載下傳見公衆号
平衡車系統模型:
硬體驅動部分:
在模型界面點選Tools- Run on Hardware – Options, 在Harware Implementation中,選擇EV3,設定為WiFi模式,填入相應的ID和IP位址,點選OK。
Simulink與樂高通訊相關設定:
然後在主界面中,确認仿真模式為External模式,點選運作按鈕, 等待30s-60s,會彈出報告生成界面,
通過Simulink模型自動生成平衡車代碼,相關報告:
平衡車上的傳感器資料實時采集傳回到Simulink中,并在模型中完成參數實時更改調試:
運作效果圖:
相關視訊見:
http://www.56.com/u52/v_MTUxNjEwNjY1.html
3 調試注意事項
對EV3的1.09版本相容性不夠,需要對EV3版本進行确認,最好使用1.03-1.08版本。固件更改可通過下載下傳樂高官方軟體進行固件更新,參考樂高官方檔案。目前采用WiFi模式,如果調試有問題,請确認各項設定是否正确,多試幾次。對于USB、藍牙等模式還在調試當中。
4 基于模型的開發帶來的好處
核心控制器軟體的開發僅需一名工程師,使用MATLAB和Simulink,設計師不再親自為控制器編寫一個控制算法及底層驅動代碼,無需要擔心低層次細節,如指針、記憶體配置設定、類型聲明、預處理、編譯或連結等,是以有更多的時間去探索實際的程式設計概念和實踐。在将後續進行産品化時,使用Embedded Coder針對嵌入式處理器,從現有的控制器模型直接生成代碼,大大縮減開發時間。
歡迎大家關注公衆号,分享更多MATLAB/Simulink前沿技術幹貨,及更多工程實踐。