關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 一種智能機器人系統設計和實現

        一種智能機器人系統設計和實現

        作者: 時間:2011-07-05 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/161868.htm

          3.1 控制總體軟件結構

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


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

          3.2 基于μC/GUI的界面

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

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

          3.3 用戶任務設計

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

          (1)Motor_Drive_Task——定時中斷節拍進行計時,在任務循環塊中,接收圖像處理控制算法中形成的電機驅動參數,即Image_Analyze_Task任務中產生的電機驅動參數,更新PWM輸出,完成機所需運動軌跡姿態的調整,隨后掛起自身。

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

          (3)Sound_Record_Task——用于采集、存儲機器人周圍環境聲音信息數據到聲音隊列中。

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

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

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 外汇| 普兰县| 光山县| 盱眙县| 科技| 札达县| 凌海市| 明光市| 万载县| 昌吉市| 澄城县| 怀来县| 漾濞| 建平县| 突泉县| 安图县| 民和| 凤冈县| 新田县| 七台河市| 五家渠市| 墨竹工卡县| 略阳县| 云浮市| 右玉县| 小金县| 永吉县| 九龙县| 肥乡县| 宜都市| 兴海县| 会昌县| 临泽县| 康保县| 准格尔旗| 阳谷县| 松潘县| 蒲城县| 兴仁县| 田东县| 田阳县|