999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

樂高NXT機器人系統C++程序設計

2012-09-19 10:28:58薛清平李衛紅
電子設計工程 2012年1期
關鍵詞:設備方法系統

薛清平,李衛紅

(平頂山市科技進修學校 河南 平頂山 467000)

NXT-G、RoboLab 2.9都是樂高公司提供的樂高 LEGO MINDSTORMS NXT機器人系統的圖形化的編程工具,除此以 外 , 還 有 Bricx Command Center、RobotC、NI LabVIEW Toolkit、leJOS NXJ、pbLua等第三方提供的編程工具。隨著2010年教育部與樂高集團合作的“技術教育創新人才培養計劃”項目的開展,樂高LEGO MINDSTORMS NXT機器人系統在各地中小學的推廣速度也將加快[1],服務于此,有必要對樂高LEGO MINDSTORMS NXT機器人系統的相關問題尤其是二次開發問題做進一步深入探討、研究。

1 FantomSDK

作為一個開放式的擴展平臺,樂高集團提供了進行樂高LEGO MINDSTORMS NXT系統二次開發所需要的LEGO MINDSTORMS NXT Hardware Developer Kit[2]、LEGO MINDSTORMS NXT Direct Commands[3]、LEGO MINDSTORMS NXT Bluetooth Developer Kit[4]、LEGO MINDSTORMS NXT Communication protocol[5]、Mobile Application Software[6]以 及 作為二次開發不可或缺的SDK文件FantomSDK[7]的非常詳盡的資料。

FantomSDK支持C++及NI Labview開發環境,可運行于Windows或MAC系統。樂高LEGO MINDSTORMS NXT機器人系統可通過USB或藍牙兩種方式與PC系統進行連接、通信,對 USB方式,LEGO提供的驅動程序Fantom.sys與NXT設備直接通信;對藍牙方式,則是把NXT設備映射到一個COM端口,然后通過Win32文件訪問端口進行通信。USB和藍牙兩種連接、通信方式,均得到FantomSDK的支持。

FantomSDK提供了Fantom的頭文件、Labview的vi支持庫以及基本封裝類型的使用幫助。iNXTIterator對象用于遍歷注冊到系統上的 NXT設備,獲得iNXT對象,iFileIterator對象、iModuleIterator對象用于獲得NXT設備的文件、模塊信息。

2 程序應用

2.1 獲取設備

NXTIterator對象用于搜索注冊到系統上的 NXT設備,獲得iNXT對象。createNXTIterator方法產生一個NXT實例,使用后,通過destroy方法進行釋放。createNXTIterator(ViBoolean,ViUInt32,tStatus)方法中 ViBoolean 參數為 true,則搜索通過USB、藍牙連接的所有NXT設備。若ViBoolean參數為false,則僅搜索通過USB連接的NXT設備。獲取NXT設備的具體C++代碼如下:

編譯、運行后,如果成功搜索到系統上的 NXT設備,通過 getDeviceInfo獲 得 NXT 設 備 名 稱 (name), 通 過getFirmwareVersion獲得系統的通訊協議版本(protocolVersion)、固 件版 本 (firmwareVersion)、Flash 剩 余空間(availableFlash)信息。

將 ViBoolean參 數 設 置 為 true, 通 過 nxtPtr->getDeviceInfo方法獲取藍牙連接NXT設備的6位16進制bluetoothAddress藍牙設備地址。

2.2 獲取模塊

NXT 的固件系統(Firmware),包含輸入(Input module)、輸 出 (Output module)、 顯 示 (Display module)、 聲 音 (Sound module)、按鈕(Button module)等模塊,用于對各種外設提供支持。搜索到NXT設備后,通過iModuleIterator對象遍歷相應的模塊。createModuleIterator方法產生一個實例,通過destroyModuleIterator方法進行釋放。列表顯示NXT設備的模塊信息的具體C++代碼如下:

編譯、運行后,遍歷相應的模塊,通過 getName(name)獲取模塊的名稱,通過getModuleID獲取模塊編號,通過getModuleSize獲取模塊大小,通過getModuleIOMapSize獲取模塊映射的I/O地址空間。

2.3 獲取文件

NXT系統包含.sys(系統文件)、.rxe(系統可執行文件,類似exe文件)、.rpg(NXT Program模塊產生的程序文件)、.ric(圖片 文 件 )、.rso (聲 音 文 件 )、.rtm (Try Me 模塊 文 件 ),iFileIterator對象用于遍歷 NXT設備上的文件。createFileIterator方法產生一個實例,通過destroyFileIterator方法進行釋放。列表顯示NXT設備的文件信息的具體C++代碼如下:

編譯、運行后,列表顯示相應NXT設備上的文件。通過getName(name)獲取文件的名稱,通過getSize獲取文件大小,通過getAvailableSize獲取可用文件空間。

2.4 設備控制

借助樂高LEGO MINDSTORMS NXT機器人系統的SDK文件FantomSDK,除可連接NXT設備,進行模塊及文件的查看、刪除、讀寫操作外,還可結合Appendix 1-LEGO MINDSTORMS NXT Communication protocol.pdf、Appendix 2-LEGO MINDSTORMS NXT Directcommands.pdf、LEGO MINDSTORMS NXT Bluetooth Developer Kit.pdf等LEGO MINDSTORMS NXT Bluetooth Developer Kit文件,通過nxtPtr->sendDirectCommand方法,對NXT設備的傳感器、馬達等輸入輸出設備及聲音文件進行控制,實現NXT-G、RoboLab能夠完成的全部任務。運行d.rxe程序,播放r.rso聲音文件的C++代碼如下:

3 結束語

利用樂高LEGO MINDSTORMS NXT機器人系統的SDK文件 FantomSDK,借助 C++編程,結合 LEGO MINDSTORMS NXT Bluetooth Developer Kit文件, 代替 NXT-G、RoboLab 軟件,完成NXT設備的全部控制任務,為青少年、科技教師運用樂高NXT機器人系統進行科技創新提供幫助與支持。

[1]李衛紅.基于B/S的樂高NXT中文固件系統的研究及實現[J].價值工程,2011(4):146-147.

LI Wei-hong.Research and implement of chinese firmware of LEGO NXT system based on B/S[J].Value Engineering,2011(4):146-147.

[2]The LEGO Group.LEGO MINDSTORMS NXT Hardware DeveloperKit.pdf[EB/OL].(2006-07-24)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[3]The LEGO Group.LEGO MINDSTORMS NXT Direct Commands.pdf.[EB/OL]. (2006 -07 -26)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[4]The LEGO Group.LEGO MINDSTORMS NXT Bluetooth Developer Kit.pdf.[EB/OL].(2006-07-24)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[5]The LEGO Group.Appendix 1-LEGO MINDSTORMS NXT Communication protocol.pdf.[EB/OL].(2006-11-02)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[6]The LEGO Group.LEGO MINDSTORMS NXT Mobile Application.pdf.[EB/OL].(2006 -11 -02)http://mindstorms.lego.com/en-us/support/files/default.aspx.

[7]The LEGO Group.LEGO MINDSTORMS NXT FantomSDK[EB/OL].(2006-07-21)http://mindstorms.lego.com/en-us/support/files/default.aspx.

猜你喜歡
設備方法系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 国产凹凸视频在线观看| 日本精品一在线观看视频| 99精品福利视频| 18禁影院亚洲专区| 1024国产在线| 国产一二三区在线| 91精品视频网站| 久久男人资源站| 亚洲黄色片免费看| 亚洲国产第一区二区香蕉| 久久一级电影| 久青草网站| 狼友视频国产精品首页| 免费a级毛片视频| 91久久大香线蕉| 2019国产在线| 久久6免费视频| 波多野结衣中文字幕一区二区| 亚洲色图在线观看| 亚洲第一视频免费在线| 99re视频在线| 国产亚洲欧美日韩在线观看一区二区| 色综合五月婷婷| 中文字幕亚洲专区第19页| 在线观看视频99| 日韩精品无码免费一区二区三区| 欧美成人a∨视频免费观看| 小说区 亚洲 自拍 另类| 天天躁夜夜躁狠狠躁图片| 免费视频在线2021入口| 中文字幕中文字字幕码一二区| 国产性精品| 激情视频综合网| 第九色区aⅴ天堂久久香| 久久久久免费看成人影片| 国产凹凸视频在线观看| 一级毛片无毒不卡直接观看| 一级高清毛片免费a级高清毛片| 免费在线成人网| 国产免费福利网站| 亚洲区一区| 美美女高清毛片视频免费观看| 色窝窝免费一区二区三区 | 熟女成人国产精品视频| 国产爽爽视频| 好吊日免费视频| 中文字幕久久波多野结衣| 人人艹人人爽| 国产成人你懂的在线观看| 国产一级在线观看www色| 午夜国产理论| 一级毛片在线播放| 日本免费a视频| 亚洲国产91人成在线| 欧美不卡二区| 免费国产一级 片内射老| 米奇精品一区二区三区| 日本人真淫视频一区二区三区| 国产玖玖玖精品视频| 亚洲一区二区精品无码久久久| 国产精品美乳| 精品福利国产| 伊人激情综合网| 88国产经典欧美一区二区三区| 国产视频久久久久| 青青草a国产免费观看| 精品亚洲国产成人AV| 99久久精品国产自免费| 五月婷婷亚洲综合| 黄色网址免费在线| 国产成人喷潮在线观看| 国产视频 第一页| 国产91小视频在线观看| 亚洲国产中文在线二区三区免| 国产乱子伦视频在线播放 | 91丨九色丨首页在线播放| 欧美精品1区| 久久青草热| 这里只有精品国产| 亚洲最大在线观看| 国产精品视频a| 国产尤物jk自慰制服喷水|