天天看點

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

之前隻是用Matlab做一些算法的仿真,資料的計算分析處理,知道MATLAB中包含有Simulink,隻知道Simulink用于控制一類的仿真,最近深入接觸了一下Simulink,發現這個工具實在是太強大了。如果說僅僅把MATLAB/Simulink想象成一個仿真計算的工具,那實在是太落伍了。

目前MATLAB/Simulink更多的是在産品的實作階段發揮更重要的作用,例如之前我要開發一個機器人産品原型,我要去實作産品,需要做什麼:

  • 硬體設計及生産;
  • 根據實際硬體,不斷調試軟硬體接口、驅動;
  • 算法仿真;
  • 針對硬體進行算法編碼,部署到硬體上更改算法的各項參數

    事實上傳統模式花費功夫最大的是硬體及軟體編碼,而産品最重要的算法設計往往精力配置設定不夠。

下面一段話是本文的中心思想,也是做這個項目的目的:

MATLAB/Simulink不光用來做仿真、資料處理,可以直接完成軟硬體內建、調試、測試、報告等過程,實作産品數字化、自動化設計過程,人花費精力最大是産品的設計過程,而産品的實作和測試由Simulink工具完成。這也就是基于模型的設計(MBD)的概念,成為當今産品研發的主流模式。在汽車行業,要講究開發效率和可靠性,是以幾乎所有的軟體都以這種模式進行開發,逐漸成為一個行業标準。

歡迎大家添加我們的公衆号,基于模型的智能系統研發。會在公衆号中分享更多基于模型的開發案例,包括一些低成本硬體如STM32、ARM、樹莓派等,并提供最前沿的MATLAB技術發展咨詢。

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

下面就以平衡機器人的開發為例,進行介紹,做這個東西,搭樂高機器人用了半天時間,調試開發環境和模型用了兩天,是以公用兩天半完成平衡機器人的原型開發。

基于模型的開發,你可以直接找成熟的硬體,MATLAB/Simulink包含有相關的硬體驅動,可以直接在Simulink環境中完成資料的讀取、裝置的控制,并将算法直接生成代碼下載下傳到硬體當中。本項目MATLAB/Simulink通過WiFi與樂高EV3機器人相連接配接,通過Simulink對EV3控制系統進行模組化,模型自動生成代碼下載下傳到EV3中運作,并生成報告,将傳感器資料實時采集到模型中進行仿真并顯示。

目錄

  • MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)
      • 目錄
      • 樂高機器人
      • MATLAB與樂高
      • 1 開發環境
      • 2 開發過程
      • 3 調試注意事項
      • 4 基于模型的開發帶來的好處

樂高機器人

  • 樂高機器人被廣泛用于程式設計、機器人設計、控制設計等領域的入門教學。在美國和日本,樂高機器人被廣泛用于學生和愛好者的競賽當中。在中國,我們也發現越來越多的少兒教育中,開始引入這些低成本的教學平台,用于激發學生的學習興趣,同時也幫助提高學生的動手能力。
  • 如果用傳統的方式學習制作機器人,我們得先學習電腦基本概論,接着要了解電子電路、數位邏輯和微處理器,才能制作出基本的微電腦控制電路。然後還要學習彙編語言(Assembly)或C語言,撰寫微處理器的程式…對了,也許最麻煩的是機械結構,我們得決定要用步進馬達還是一般的直流馬達,不同的驅動形式,信号的驅動和回饋處理方式也不一樣;而且即便是采用最單純的輪胎或履帶作為行走方式,也可能要搭配各種齒輪來調配扭力和速度。想到要學習、DIY這麼多東西,很多對自制機器人懷抱憧憬的業餘玩家,滿腔熱血到此就涼了大半截。
    MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)
  • 最新一代的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/

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

2) 建構MATLAB/Simulink控制系統模型

打開GyroBoy模型,相關模型下載下傳見公衆号

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

平衡車系統模型:

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)
MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)
MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

硬體驅動部分:

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

在模型界面點選Tools- Run on Hardware – Options, 在Harware Implementation中,選擇EV3,設定為WiFi模式,填入相應的ID和IP位址,點選OK。

Simulink與樂高通訊相關設定:

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

然後在主界面中,确認仿真模式為External模式,點選運作按鈕, 等待30s-60s,會彈出報告生成界面,

通過Simulink模型自動生成平衡車代碼,相關報告:

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

平衡車上的傳感器資料實時采集傳回到Simulink中,并在模型中完成參數實時更改調試:

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

運作效果圖:

MATLAB/Simulink模型開發樂高EV3 雙足平衡機器人MATLAB/Simulink 2018a 模型開發樂高EV3 雙足平衡機器人(含視訊)

相關視訊見:

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前沿技術幹貨,及更多工程實踐。

繼續閱讀