衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用MATLAB這把“利器”開發機器人

454398 ? 來源:電子發燒友網 ? 作者:MathWorks楊興 ? 2016-01-21 10:29 ? 次閱讀

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

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

MATLAB 平臺

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

如何使用MATLAB 這把“利器”開發機器人

圖1 MATLAB LOGO

但事實上,它不再僅僅是那個我們在學生時代所認識的僅僅用于數據處理與畫圖的“超級計算器”,它在行業內的應用遠比教育領域更為廣泛和深入。從下圖的工具箱結構可以窺知一二。可以看到右側的深藍色模塊,它也為各個專門的應用領域開發了一系列工具箱。

如何使用MATLAB 這把“利器”開發機器人

圖2 MATLAB 工具箱

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

如何使用MATLAB 這把“利器”開發機器人

圖3 基于模型的設計

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

電子發燒友《機器人技術特刊》,更多優質內容,馬上下載閱覽


MATLAB/Simulink Support Package

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

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

如何使用MATLAB 這把“利器”開發機器人

圖4 從模型到實現

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

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

如何使用MATLAB 這把“利器”開發機器人

圖5 MATLABSimulink Support Package

案例介紹

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

硬件連線

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

如何使用MATLAB 這把“利器”開發機器人

圖6 硬件連線圖

軟件準備

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

如何使用MATLAB 這把“利器”開發機器人

圖7 安裝包下載入口

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

如何使用MATLAB 這把“利器”開發機器人

圖8 下載安裝向導

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

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

如何使用MATLAB 這把“利器”開發機器人

圖9 Arduino 支持庫

建模

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

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

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

如何使用MATLAB 這把“利器”開發機器人

圖10 模型截圖

編譯下載

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

如何使用MATLAB 這把“利器”開發機器人

圖11 設置Arduino板卡

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

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

在線調試

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

如何使用MATLAB 這把“利器”開發機器人

圖12 設置在線調試運行

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

如何使用MATLAB 這把“利器”開發機器人

圖13 在線調試

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

如何使用MATLAB 這把“利器”開發機器人

圖14 信號波形

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

如何使用MATLAB 這把“利器”開發機器人

后續

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

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

如何使用MATLAB 這把“利器”開發機器人

圖15 LEGO解魔方算法模型

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

圖16 LEGO解魔方

結語

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • matlab
    +關注

    關注

    185

    文章

    2981

    瀏覽量

    231015
  • 人工智能
    +關注

    關注

    1796

    文章

    47683

    瀏覽量

    240313
  • 機器人技術
    +關注

    關注

    18

    文章

    193

    瀏覽量

    31708
收藏 人收藏

    評論

    相關推薦

    鴻蒙機器人與鴻蒙開發板聯動演示

    鴻蒙機器人與鴻蒙開發板聯動演示,機器人的角色為迎賓機器人開發板負責人賓客出現監聽
    發表于 12-02 14:55

    matlab機器人

    請問一下機器人的計算工作是否用MATLAB在計算呢?能簡單說明一下嗎?
    發表于 05-30 16:58

    什么是工業機器人

    3個階段:70年代的萌芽期,80年代的開發期和90年代的適用化期。70年代是世界科技發展的一個里程碑:人類登上了月球,實現了金星、火星的軟著陸。我國也發射了人造衛星。世界上工業機器人應用掀起一個高潮
    發表于 01-19 10:58

    nao機器人與其他機器人的區別

    相比于之前的機器人,NAO機器人穿上人類的服裝,那就像是一個真人出現在我們面前似得,NAO機器人的四肢設計的非常的靈活,具有多個自由度的身體,使得NAO機器人能夠靈敏的行走以及參加一
    發表于 02-13 15:43

    第2章 機器人控制MATLAB 仿真程序

    第2章 機器人控制MATLAB 仿真程序
    發表于 09-24 11:34

    第3章 機器人控制MATLAB 仿真程序

    第3章 機器人控制MATLAB 仿真程序
    發表于 09-24 11:36

    第9章 機器人控制MATLAB 仿真程序

    第9章 機器人控制MATLAB 仿真程序.zip
    發表于 09-24 11:45

    機器人基礎書籍

    列舉部分學習過程中接觸的部分書籍,部分有中文版,部分有更新版本。1.機器人基礎書籍適合入門的書籍:機器人機器人建模規劃與控制機器人學、機器
    發表于 05-22 06:53

    請問未來機器人可以進行FPGA開發嗎?

    隨著人工智能技術的發展,機器人已經開始接管人類的部分工作,例如快遞、工廠作業、餐廳服務員甚至媒體編輯---紐約時報就聘請了一位機器人做總編。未來,機器人可以介入半導體設計開發嗎?例如,
    發表于 10-10 06:33

    淺談差速機器人的純軌跡跟蹤仿真

    差速機器人的純軌跡跟蹤仿真(Matlab)剛入門,有的地方不對,煩請大家指正。目錄差速機器人的純軌跡跟蹤仿真(Matlab)1 差速機器人
    發表于 09-01 08:11

    基于Matlab的開源六自由度協作機器人實驗平臺

    一前言針對機器人相關專業的教學需求,商飛信息科技開發出此開源六自由度協作機器人實驗平臺。該平臺有以下幾大特色機器人本體采用自主設計的3Kg負載六自由度協作
    發表于 09-07 07:10

    機器人簡介

    業、建筑業,或是危險的工作[1]。同時,機器人的研究和開發制造一直將下面三條原則作為機器人開發的準則。即:...
    發表于 09-07 06:05

    基于Matlab和VR技術的移動機器人建模及仿真

    利用 Matlab 建立移動機器人的動力學模型 ,在虛擬現實 (VR )環境下 ,實時仿真移動機器人路徑跟蹤的運動特性 ,為基于 Internet 的機器人遙操作試驗搭建了仿真平臺 。
    發表于 09-20 06:24

    基于MATLAB機器人運動仿真研究

    基于MATLAB機器人運動仿真研究:按照一定的要求對一種柱面坐標機器人進行了參數設計,討論了該機器人的運動學問題,然后在MATLAB 環境
    發表于 12-29 23:53 ?128次下載

    基于Matlab的機構與機器人分析資料下載

    基于Matlab的機構與機器人分析資料下載
    發表于 05-25 10:35 ?13次下載
    百家乐统计工具| 百家乐博彩网太阳城娱乐城| 高要市| 马德里百家乐的玩法技巧和规则| 大发888娱乐场下载com| 真人百家乐出千| 百家乐官网投注五揽式| 金宝网| 大发888娱乐城.com| 赌博百家乐有技巧吗| 大世界百家乐官网娱乐平台| 澳博娱乐| 大发888玩家论坛| 正品百家乐地址| 博久百家乐论坛| 百家乐官网网站排名| 太和县| 真人棋牌游戏| 大发888好不好| 澳门百家乐赌场| 百家乐下注几多| 罗马百家乐官网的玩法技巧和规则| 百家乐官网洗码全讯网| 皇冠网上69691| bet365存款| 威尼斯人娱乐城玩百家乐| 鑫鼎百家乐娱乐城| 百家乐园sun811| 百家乐官网怎样赢| 678百家乐官网博彩娱乐场| 至尊百家乐官网2012| 百家乐官网心态研究| 大丰收娱乐城开户| 顶级赌场官方网站| 大发888娱乐送体验金| 赌神网百家乐官网的玩法技巧和规则 | 王牌百家乐的玩法技巧和规则 | 免费百家乐官网追号| 巴西百家乐官网的玩法技巧和规则| 百家乐官网记算| 郑州百家乐官网的玩法技巧和规则 |