免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

如何使用MATLAB這把“利器”開發(fā)機器人

 臥龍小築 2016-01-23

機器人絕對是當前的一個熱門話題之一。從工業(yè)機器人到掃地機器人,從實驗室機器人到各種創(chuàng)新玩具機器人,機器人逐漸走進了大眾的視野,進入了普通人的生活。不管是技術發(fā)燒友還是普通消費者,都越來越多的把目光投向了機器人。隨著網絡眾籌的興起,技術創(chuàng)業(yè)的經濟門檻降低,一個又一個明星眾籌項目也激發(fā)了越來越多的技術愛好者從關注到實踐,紛紛投身機器人開發(fā)的懷抱。每個人都期待著自己開發(fā)的創(chuàng)新原型,能稱為下一個被投資人或公眾所矚目的焦點。

古人云,“工欲善其事,必先利其器?!?現(xiàn)在讓我們來看看如何使用MATLAB 這個“利器” 來幫助我們快速實現(xiàn)我們的創(chuàng)意。

MATLAB 平臺

MATLAB 是全球知名的數(shù)據(jù)分析和處理軟件,這個紅色的二次曲面 LOGO 幾乎出現(xiàn)在每一所大學的教科書里。

圖1 MATLAB LOGO

但事實上,它不再僅僅是那個我們在學生時代所認識的僅僅用于數(shù)據(jù)處理與畫圖的“超級計算器”,它在行業(yè)內的應用遠比教育領域更為廣泛和深入。從下圖的工具箱結構可以窺知一二??梢钥吹接覀鹊纳钏{色模塊,它也為各個專門的應用領域開發(fā)了一系列工具箱。

圖2 MATLAB 工具箱

MATLAB/Simulink 算法開發(fā)平臺也幾乎是汽車、軍工等行業(yè)進行控制算法設計的必備工具?;?Simulink模型的建模、仿真、測試驗證以及代碼生成,這種基于模型的設計理念 (MBD)也正在替代傳統(tǒng)的手寫 C 代碼的開發(fā)流程,成為算法開發(fā)的主流與未來的趨勢。

圖3 基于模型的設計

那么,這對于開發(fā)機器人意味著什么呢?這意味著,你不僅可以擺脫繁復的 C 代碼編程,還可以借助 MATLAB 強大的工具箱系列,通過仿真來幫助你測試算法、優(yōu)化參數(shù)等等。如果用戶購買了代碼生成工具箱,還可以提取所生成的嵌入式 C/C++ 算法函數(shù),集成到自己外部的工程項目中去,如圖4左側箭頭,這也是商業(yè)產品開發(fā)的主流選擇。

MATLAB/Simulink Support Package

我這里主要想介紹一下免費硬件支持包: MATLAB/Simulink Support Package。它相當于是 MATLAB 與各種低成本硬件之間的橋梁。

下載安裝官方免費的 MATLAB/Simulink Support package,簡單設置好對應的板卡后,Simulink 框圖或者 MATLAB腳本便可以一鍵編譯下載到硬件運行了,如下圖右側箭頭。這對于快速實現(xiàn)早期創(chuàng)意非常有用,尤其是對小的開發(fā)團隊來說,可以將注意力更多的放到算法設計與開發(fā)上,而不是基本的 C 代碼實現(xiàn)。

圖4 從模型到實現(xiàn)

MATLAB/Simulink Support Package為一系列所支持的板卡提供了基本的驅動模塊,只需要在軟件界面上進行簡單的配置,就可以將實現(xiàn)框圖式的算法模型一鍵下載到硬件板卡上去,有助于我們快速實現(xiàn)早期創(chuàng)意,縮短原型開發(fā)周期。

通過它,我們可以很容易實現(xiàn)與這些硬件通訊,讀取數(shù)據(jù)到 MATLAB 環(huán)境進行分析和處理,輕松下載 Simulink這種框圖式的算法來實現(xiàn)各種有創(chuàng)意的應用。

圖5 MATLAB\Simulink Support Package

案例介紹

下面,我們使用 Arduino MEGA 2560來演示如何實現(xiàn)將模型一鍵下載到硬件。這是一個非常簡單的例子:使用光敏電阻來控制LED燈的明暗。

硬件連線

簡單的說就是利用光敏電阻與固定電阻串聯(lián)形成分壓電路,并將分壓電壓讀入Arduino,然后用這個值來輸出控制發(fā)光二極管的明暗。將分壓電壓值讀入Arduino的A1 引腳;將發(fā)光二極管的正極連接PWM的第二個引腳,如下圖所示。其它的基本連線不再繁述。

圖6 硬件連線圖

軟件準備

通過 MATLAB 主界面上的 Add-Ons 的 Get Hardware Support Packages向導,選擇所需要安裝的支持包。

圖7 安裝包下載入口

選擇 Arduino,根據(jù)向導提示下載或安裝支持包。

圖8 下載安裝向導

安裝完成后,打開Simulink Library Browser 中的Simulink Support Package for Arduino Hardware庫,如下圖。我們可以看到為 Arduino提供的一系列驅動模塊,從模塊的示意圖以及端口的符號,我們可以大概推測它的作用:從各種類型的板卡接口讀取或輸出信號。

另外從左側樹狀圖可以看到,還提供了 Ethernet Shield 與 Wifi Shield 的驅動模塊。

圖9 Arduino 支持庫

建模

Simulink 建模簡單可以描述為模塊的拖拽與連線的過程。

我們需要從A1端口(分壓線接入)讀取分壓信號,所以從庫里拖入一個 Analog Input模塊,并雙擊設置端口號為1,設置采樣時間為 0.01 S。另外還需要輸出到 PWM的第二個引腳( LED連接處),所以拖入一個 PWM 模塊,并雙擊設置端口號為2。

為了簡化整個下載過程,我們這里對信號不做任何算法處理,直接將兩個模塊連接起來,如下圖。這也就意味著 LED 的亮度與光敏電阻狀態(tài)直接相關。

圖10 模型截圖

編譯下載

Simulink Support Package for Arduino Hardware支持幾乎所有的 Arduino 型號。在點擊紅色方框的按鈕編譯下載之前,需要通過配置頁面來指定當前所使用的 Arduino 板卡類型,如下圖。

圖11 設置Arduino板卡

確保 Arduino 與電腦相連,點擊上圖模型截圖中紅色方框的編譯按鈕,框圖將會自動生成C/C++ 代碼,并后臺自動調用 Arduino IDE 進行編譯下載到 Arduino板卡上去。

此時,你用手捂住光敏電阻,便會看到 LED 燈亮度的變化。

在線調試

對于 Arduino MEGA 2560等型號,還支持在線調試。在配置頁面,除了選擇型號外,如下圖設置為 ‘External mode’。

圖12 設置在線調試運行

點擊圖中的綠色仿真按鈕。

圖13 在線調試

此時,框圖同樣被生成代碼并編譯下載到 Arduino 上運行,同時 Simulink 模型運行,雙擊打開示波器 Scope 模塊實時看到當前所讀取的傳感器信號。這個數(shù)據(jù)也可以保存下載,做后期傳感器標定與分析。

圖14 信號波形

傳感器標定,也就是經常都需要將原始值進行線性或非線性縮放以及平移,得到有物理含義的數(shù)值,比如自定義的光照強度等級。如下圖,中間接入一個簡單的查表模塊進行線性縮放。

后續(xù)

支持一鍵下載的硬件除了舉例的 Arduino之還有很多,算法的設計也可以非常復雜。實際上,越是復雜的算法,才越能體現(xiàn)框圖式算法設計方法的優(yōu)勢。

下載安裝對應的硬件支持包之后,幫助文檔里都會提供由淺入深的應用案例。如下圖是一個LEGO解魔方算法的一個案例。

圖15 LEGO解魔方算法模型

打開這個模型,點擊編譯,就可以把這個算法完整下載到 LEGO 機器人上去了,有興趣的可以自己親自動手試一試。

圖16 LEGO解魔方

結語

使用MATLAB/Simulink Support Package 相當于鋪平了從Simulink 到硬件實現(xiàn)的路,使得不擅長寫 C 代碼的人可以徹底擺脫代碼實現(xiàn)的困擾,借助 Simulink 平臺也能輕易的開發(fā)出更多有趣的應用來。

(本文來自互聯(lián)網,不代表微看點的觀點和立場)

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多