<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 一種智能機器人系統設計和實(shí)現

一種智能機器人系統設計和實(shí)現

作者: 時(shí)間:2011-07-05 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/161868.htm

  3.1 控制總體軟件結構

  軟件主要由應用軟件、內核、服務(wù)、驅動(dòng)程序等組成。其構成示意圖如圖2.


  圖2中硬件平臺是指核心控制模塊及其外圍擴展模塊,如視頻采集模塊、語(yǔ)音采集模塊等;驅動(dòng)程序是指系統對LCD、直流電機、攝像頭模塊、語(yǔ)音采集模塊等程序;內核是指嵌入式操作系統,本系統采用的是μC/OS-Ⅱ操作系統;系統服務(wù)是指圖形界面μC/GUI和文件系統等;應用程序是指為完成控制系統所規劃的任務(wù)等程序。

  3.2 基于μC/GUI的界面

  μC/GUI是嵌入式應用中通用的圖形軟件,是為帶LCD的圖形應用系統提供高效的圖形用戶(hù)接口而的,它不依賴(lài)于處理器和LCD控制器。μC/GUI在多任務(wù)環(huán)境下工作與在單任務(wù)環(huán)境下工作性能同樣卓越,任何尺寸大小的顯示設備,不管是物理的或是虛擬的,只要具備LCD控制器和處理器,都可以運用μC/GUI.μC/GUI產(chǎn)品包中包含有所有的源代碼。實(shí)際上,在所有的嵌入式圖形用戶(hù)接口中,μC/GUI提供的源代碼是最整潔最統一的。μC/GUI提供的所有服務(wù)都以該模塊相關(guān)的前綴開(kāi)始(如:GUI,WM),這將易于理解應用程序中與μC/GUI相關(guān)的函數。同時(shí),μC/GUI所有的服務(wù)都有很明晰的分類(lèi):GUI表示二維圖形,GUI_AA表示反鋸齒等。

  中間件μC/GUI界面應用程序向用戶(hù)提供了豐富的API接口函數,為窗口提供了方便。在設計中,為了繪制一幅背景圖片,首先使用位圖轉換工具把bmp格式的位圖轉換成μC/GUI支持的C文件,供μC/GUI函數調用。然后根據μC/GUI提供的API函數設計系統界面。用到的API函數主要有位圖顯示函數、窗口創(chuàng )建函數、窗口客戶(hù)區句柄獲取函數、按鈕創(chuàng )建函數、文本框創(chuàng )建函數和滑動(dòng)進(jìn)度條創(chuàng )建函數等。設計的界面最終在8英寸LCD液晶屏上顯示。本系統設計的窗口主要由兩個(gè)子窗口組成:上方窗口主要用于視頻顯示,可以通過(guò)觸摸屏點(diǎn)擊開(kāi)始或結束,視頻數據將自動(dòng)存入規劃好的內存圖像存儲區,以便進(jìn)一步處理利用,并可選擇機所處環(huán)境的特定算法程序,且運行相應的程序;下方的窗口工具條主要完成機現場(chǎng)音頻數據的收集、播放及停止采集,錄制的音頻信息將自動(dòng)存入規劃好的內存音頻數據存儲區Sound_Buffer中,而播放的音頻數據放在內存Play_Buffer中,它們采用的都是內存映射技術(shù)。

  3.3 用戶(hù)任務(wù)設計

  基于μC/OS-Ⅱ的任務(wù)管理機制,根據系統的功能要求,劃分為6個(gè)系統任務(wù),并設置每個(gè)任務(wù)的優(yōu)先級,如表1所示。

  (1)Motor_Drive_Task——定時(shí)中斷節拍進(jìn)行計時(shí),在任務(wù)循環(huán)塊中,接收圖像處理控制算法中形成的電機驅動(dòng)參數,即Image_Analyze_Task任務(wù)中產(chǎn)生的電機驅動(dòng)參數,更新PWM輸出,完成機所需運動(dòng)軌跡姿態(tài)的調整,隨后掛起自身。

  (2)Image_Analyze_Task——獲取在內存循環(huán)隊列中的圖像數據,在任務(wù)循環(huán)塊中檢測圖像信號量。如果沒(méi)有在一定時(shí)期內進(jìn)行任務(wù)調度,則掛起自身;若有則對獲取內存循壞隊列中的圖像數據進(jìn)行分析處理,得出電機驅動(dòng)參數并發(fā)送該信息至消息隊列中,然后釋放圖像信號量,再掛起自身。

  (3)Sound_Record_Task——用于采集、存儲機器人周?chē)h(huán)境聲音信息數據到聲音隊列中。

  (4)Sound_Play_Task——定時(shí)從內存聲音播放存儲處,即Play_Buffer中提取數據放到隊列中進(jìn)行播放。

  (5)Image_Collect_Task——建立窗口界面,在任務(wù)循壞塊中檢測圖像信號量。如果沒(méi)有在一定時(shí)期內進(jìn)行任務(wù)調度,則掛起自身;如果檢測到圖像信號量,則采集一幅圖像到圖像存儲循壞隊列中,采集完成,再釋放圖像信號量,掛起自身。

  (6)GUI_Update_Task——按照μC/GUI手冊規定,當其使用窗口回調機制,建議把它設為最低優(yōu)先級別的任務(wù),用來(lái)更新回調信息,并且該任務(wù)必須,且要定期調用。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>