項目的技術路線及預期成果
一、技術路線
機器人系統整體設計方案如圖1所示,整個系統可以分為以下主要部分:電源模塊、控制模塊、攝像頭模塊、語音模塊、電機驅動模塊。其中攝像頭是機器人的眼睛,可以對物體進行識別,包括形狀檢測和顏色檢測;語音識別模塊是機器人的耳朵,可以聽取用戶所要求的任務信息;控制模塊是機器人的大腦,對于語音識別模塊采集的語音信號進行分析然后確立搬運方案,對攝像頭采集的圖像信號進行查找目標、分析確定行程路線、分析物塊形狀、分析物塊顏色,從而確定搬運目的地;電機驅動模塊是機器人的手和腳,手是機器人的機械臂,腳是機器人的輪子,機械臂可以更好的抓取并搬運物塊,輪子能使機器人運行到工作區域的各個位置;而電源模塊是機器人的心臟,用于給所有模塊供電,保證其正常的運行。
圖1機器人系統整體設計方案
(1)電源模塊
模塊采用兩節帶保護板的18650并聯電池供電,經過一個DC/DC升壓模塊,將電源電壓穩定到5V供電,再經過線性穩壓器AMS1117-3.3將其降壓到3.3V給芯片供電。一般鋰電池放電到2.8V就會被保護板自動斷電,如果直接采用兩節電池串聯通過7805供電的話,那么當電壓降到5.6V時,7805會因為輸入輸出電壓差值不夠,而使輸出電壓下降到低于5V,這時對于電機的供電驅動就會和5V時候不一致,會導致原來設置好的轉動角度以及其他的新能參數有偏差,從而導致系統不正常工作,而采用升壓的方案就不會因為鋰電池放電導致低電壓,從而保證系統正常工作。
(2)主控單元模塊
該模塊作為機器人的大腦,對攝像頭和麥克風傳入的信號進行分析處理,再通過GPIO控制電機使機器人動起來。主要由處理器、SRAM、flash/EEPROM、GPIO、WIFI等部分組成。本項目將采用ARM Cortex A系列的處理器作為核心,ARM公司的Cortex-A系列處理器適用于具有高計算要求、運行豐富操作系統以及提供交互媒體和圖形體驗的應用領域。鑒于本項目需要進行數字圖像處理和嵌入式開發,對于數字計算的能力要求較高,我們將采用Cortex A8以上級別的芯片。
(3)語音模塊
該模塊作為機器人的耳朵,用于聽取命令,使機器人按照命令執行任務。主要由麥克風、放大器、專業芯片組成。為了簡化機器人的編程難度,我們將選用一個語音識別專用芯片—LD3320。LD3320芯片由ICRoute公司設計生產。該芯片集成了語音識別處理器和一些外部電路,包括AD、DA轉換器、麥克風接口、聲音輸出接口等。本芯片在設計上注重節能與高效,不需要外接任何的輔助芯片如Flash、RAM等,直接集成在現有的產品中即可以實現語音識別/聲控/人機對話功能。并且,識別的關鍵詞語列表是可以任意動態編輯的。
主要特征有:
l 1、通過ICRoute公司特有的快速而穩定的優化算法,完成非特定人語音識別。不需要用戶事先訓練和錄音,識別準確率95%。 l
2、不需要外接任何輔助的Flash芯片,RAM芯片和AD芯片,就可以完成語音識別功能。真正提供了單芯片語音識別解決方案。 l
3、每次識別最多可以設置50項候選識別句,每個識別句可以是單字,詞組或短句,長度為不超過10個漢字或者79個字節的拼音串。另一方面,識別句內容可以動態編輯修改, 因此可由一個系統支持多種場景。 l
4、芯片內部已經準備了16位A/D轉換器、16位D/A轉換器和功放電路,
麥克風、立體聲耳機和單聲道喇叭可以很方便地和芯片管腳連接。立體聲耳機接口的輸出功率為20mW,而喇叭接口的輸出功率為550mW,能產生清晰響亮的聲音。 l
5、支持并行和串行接口,串行方式可以簡化與其他模塊的連接。 l
6、可設置為休眠狀態,而且可以方便地激活。
l 7、工作供電為3.3V,如果用于便攜式系統,使用3節AA電池就可以滿足
(4)攝像頭
攝像頭將采用OV7670攝像頭,體積小,工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB總線控制,可以輸入整幀、子采樣、取窗口等方式的各種分辨率8位影像數據。該產品VGA圖像最高達到30幀/秒。用戶可以完全控制圖像質量、數據格式和傳輸方式。所有圖像處理功能過程包括伽瑪曲線、白平衡、飽和度、色度等都可以通過SCCB接口編程。OmmiVision圖像傳感器應用獨有的傳感器技術,通過減少或消除光學或電子缺陷如固定圖案噪聲、托尾、浮散等,提高圖像質量,得到清晰的穩定的彩色圖像。
對于機器人數字圖像處理的問題,由于我們并沒有系統的學習過數字圖像處理,而數字圖像處理本身就是一個大難點,導致視覺識別是我們需要重點突破的地方。為了解決這一問題,我們將采用OPENCV的視覺庫來進行圖像處理。OpenCV的全稱是:Open Source Computer Vision Library。OpenCV是一個基于BSD許可(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、Windows和Mac OS操作系統上。它輕量級而且高效—由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。由于OPENCV只支持于一些操作系統的環境下,所以在嵌入式系統這一方面,我們也需要全面的學習。優先選擇嵌入式Linux。
(5)電機驅動模塊
電機模塊主要分為輪子電機和機械臂的電機,輪子控制機器人位置的移動,機械臂控制機器人更好的抓取物塊。電機主要采用伺服電機,伺服電機具有很好的精準度,非常適合用于機器人上。通過給予伺服電機一系列脈沖信號,電機即可根據脈沖數旋轉固定的角度。而對于電機供電方面,需要單獨供電與主控制電路隔離開來,這樣可以有效保護主電路穩定性。
(6)軟件設計
軟件設計基于Linux平臺開發以及模塊單片機開發,其語音模塊上就有一個單片機,用于語音解碼,將語音信號翻譯成搬運任務信號。主控單元搭載Linux操作系統,用于接受搬運任務信號、接受攝像頭的圖像信號、輸出電機控制信號、進行圖像處理和整個機器人的信號交互與處理。
程序開始處于待機狀態,等待用戶的語音命令。這時主控單元等待語音模塊的信號響應,語音模塊檢測到語音命令后會解析命令并向主控單元發送中斷信號以及經處理過得搬運任務信號,主控單元響應中斷信號并接受任務信息,同時將信息存入Flash。
接下來采用視覺導航和超聲波模塊來搜索物塊。找到物塊后,對物塊進行圖像分析識別出物體的形狀和顏色進行歸類。以確定要送到的目標地,并進行搬運。最后找到目標地并將物塊放入目標地。程序判斷是否執行完所有操作,如果沒有完成,繼續執行搬運任務。
機器人搬運程序流程圖如圖2所示
圖2機器人搬運程序流程圖
二、預期成果
1.項目總結報告一份。
2.制作分揀搬運機器人實物一件。
3. 論文一篇或申請專利一項。
|