基於Android手機語音和Arduino控製板的機器人控製係統
學術研究
作者:謝傑騰 顏曉文
摘 要:隨著Android終端的發展,為了讓機器人的控製更加方便和人性化,提出以Android終端為研究重點,應用藍牙通信技術來實現安卓手機無線控製機器人運動的方案。首先,利用Google開源的語音識別平台來設計機器人控製軟件語音識別部分。其次,機器人的控製係統是用Ardunio控製板來驅動機器人的舵機,為了控製機器人的多個關節,將Arduino控製板和32路舵機控製板結合起來,這樣能控製更多的舵機從而達到對機器人的雙臂和雙足的控製。最後,本係統實現安卓手機和Arduino控製板之間的藍牙配對連接。試驗表明,係統能夠較好地實現機器人地實時控製。
關鍵詞:機器人控製;Arduino ;Android ;語音識別 ;藍牙
中圖分類號:TP316 文獻標識碼:A 文章編號:2095-1302(2015)03-00-02
0 引 言
能夠用語音與機器進行交流,讓機器明白你說什麼,這是人們長期以來夢寐以求的事情。隨著科學技術的不斷發展,出現了語音識別技術,這使人類的這個理想逐漸得以實現。本文以Android智能機和Arduino開發板為實現工具,結合家用仿人機器人平台,搭建好完整的語音識別控製係統,用戶利用安卓手機提供的麥克風語音命令,輸入語音信號經處理、識別,得出結果作用於服務機器人的行動動作,從而提供一種高效的、穩定的、實用性強的、高識別率的語音控製服務機器人係統。
1 係統總體方案設計
本文介紹的語音控製機器人服務係統包括安卓智能手機、Arduino主控製板、32路伺服舵機控製板以及機械係統四大部分組成。其中安卓手機不但充當采集語音信號的作用和將采集完的的語音信號發送到穀歌語音雲平台進行識別,並將識別的語音結果返回,而且還充當發送控製標誌位的角色。對於機器人的控製界麵是運行在安卓操作係統上的應用程序,該程序是利用eclipse和安卓插件搭建的平台而開發出來的,通過在安卓操作係統的手機運行調試應用程序,直到達到滿意的效果。
2 分析及設計
2.1 硬件總體設計
本係統的硬件控製部分由Arduino Mega2560和奧鬆公司的32路伺服電機組成,實現對機器臂的控製。通過Arduino控製板外接外部傳感器可以檢測外部的環境參數,另外,為了實現藍牙的通信,利用Arduino控製板的串口外接RB Bluetooth Transceive藍牙轉串口模塊,利用該模塊可以將藍牙信號轉換成串口信號。軟件控終端用的是三星手機GTi8150,該手機的操作係統是Android 2.3版本。
本係統的通信部分涉及到三部分:第一處是安卓手機通過GPRS信號和穀歌雲平台的通信,該通信遵守GPRS通信的協議。第二處是安卓手機和控製板之間的通信,此處利用的是藍牙模塊來實現二者之間的無線通信,這裏主要是從手機發送機器人的動作控製標誌位給主控製板。第三處則是舵機控製板和主控板之間通過串口的通信,其通信遵守串口的通信協議,這裏主要是主控板將機器人的動作指令根據觸發的控製標誌位來發送給舵機控製板指令。
本係統的舵機控製板主要負責給各個舵機提供電源和解析發送過來的動作指令來控製舵機的目的。因為機器人的動作指令是根據舵機控製板的軟件生成的,生成指令是通過USB轉串口將PC和舵機控製板連接,而舵機則跟舵機控製板連接,當連接成功後,就可以通過軟件控製和調節各個舵機的轉動角度。同時要注意動作完成時間參數的調節,這個影響到舵機轉動的速度。調節逐個舵機來對機器人的動作步調來進行規劃,規劃完成則保存相應的指令,並編寫程序實現對該arduino主控板的控製。所以這裏舵機控製板能夠根據發送過來的動作指令來控製機器人的動作。