發布時間:2021-03-27所屬分類:科技論文瀏覽:1次
摘 要: 摘要:為讓機械制造及其自動化專業的學生了解和掌握機械、控制和通信等多種技術的交叉應用,在大量的研究及試驗的基礎上,設計了可交互式面部表情機器人綜合實驗。該實驗以現實中的問題為主題,以動手設計和制作為主、老師啟發引導為輔的形式展開,強調工程
摘要:為讓機械制造及其自動化專業的學生了解和掌握機械、控制和通信等多種技術的交叉應用,在大量的研究及試驗的基礎上,設計了可交互式面部表情機器人綜合實驗。該實驗以現實中的問題為主題,以動手設計和制作為主、老師啟發引導為輔的形式展開,強調工程與設計的融合、主動性和實踐能力培養以及在技術學習上采用線上線下混合的學習方式。該課程融合多學科知識,通過動手實驗、啟發式學習、失敗分析等方法讓學生學習如何融合與應用多學科知識,并用于解決實際工程問題,逐步鍛煉學生的綜合能力和解決問題的能力。
關 鍵 詞:表情機器人;STM32;舵機控制;安卓APP
機器人技術一直都是科技界的重點關注對象,從簡單復現人類的基本示教動作,應用傳感器和數字技術建立起的感覺能力,到感知、計算、控制等技術的升級,圖像識別、語音處理、深度學習、人工智能,甚至納米科技和材料技術等[1]新型數字技術的深入應用,機器人逐漸滲透到生產生活中[2],對機器人功能的要求也越來越高。為了更好地實現人機交流,機器人的面部表情實現及控制也越來越重要[3]。
學生完成機械原理、機械設計、C語言及單片機原理及應用等理論課程和相關實驗的學習之后,具備了一定的理論知識,初步掌握了三維建模軟件、編程軟件的使用方法,以及基本的電路知識。
機器人技術是多學科交叉的科學工程,涉及機械、電子、計算機、通信和傳感器等。面部表情機器人綜合實驗中包含了機械結構、單片機控制系統、無線通信、手機APP等技術的應用,將理論知識和實際應用相結合,有助于幫助學生綜合應用所學到的知識,更好地理解各種技術在實際中的應用;在提高學生的動手能力及創新能力的同時,助力學生工程素養的建立,培養學生分析并解決復雜工程問題的能力。
1總體實驗設計
實驗以現實問題為主題,以動手設計和制作為主、老師啟發引導為輔的形式展開,強調工程與設計的融合、主動性和實踐能力培養以及在技術學習上采用線上線下混合的學習方式。該課程融合機械、控制和通信等多學科知識,再通過動手實驗、啟發式學習、失敗分析等方法讓學生學習如何融合與應用多學科知識,并用于解決實際工程問題,逐步鍛煉學生的綜合能力和解決問題的能力。
實驗前老師給定題目、內容及指標要求,實驗時學生根據題目和指標制定實驗方案并制作實物,實物制作過程中不斷優化方案。實驗中涉及的理論知識采用視頻和帶錄音PPT等方式線上教學,方便學生隨時回顧知識點;線下學生完成方案制定和實物制作,方便學生間及學生與老師隨時溝通交流,學生的溝通交流能力和團隊合作能力得以鍛煉。
實驗課程從基本設備使用和獨立創新兩個方面入手,并將部分功能模塊化,引導學生將理論知識應用到實踐中。學生在掌握了3D打印機、雕刻機等設備的使用后,自行設計面部表情機器人的外觀和關鍵結構,獨立動手完成外觀和關鍵結構的加工和安裝;對于控制系統方面,設計了幾個可選的功能模塊,學生獨立完成編程及調試。
2面部表情機器人總體設計思路
面部表情機器人分為三維模型設計和控制系統兩個部分,如圖1所示。三維模型由學生自行設計,要求有6個以上的自由度,使用3D打印和雕刻機完成三維模型實物制作。控制系統以STM32作為控制器,設計預留了多種傳感器接口。舵機控制模塊用于控制舵機以控制面部表情機器人做出不同的表情。該實驗可通過多種方式實現人機交互,例如語音、藍牙手機APP、串口以及按鍵等方式發布指令,面部機器人自主完成接收到的指令。
語音控制模塊用于實現語音識別與語音對話功能。無線控制模塊采用安卓APP,通過藍牙與STM32無線連接,實現面部表情機器人的無線控制。智能感知模塊用于根據需要添加各種傳感器,如紅外傳感器、超聲波傳感器、溫濕度傳感器等。
3三維模型設計及加工
在設計面部表情機器人的三維模型時,應當給定一些基本準則。外形以仿生為主,要求有6個以上的自由度。
3.1面部表情機器人三維模型設計原則
3.1.1外形設計準則
面部表情機器人在外形上大小應與人的頭部相近,結構簡單靈活、方便控制且重量要輕,并要留出足夠的空間放置機械零件及電機,實現多自由度的協調運轉[4]。
3.1.2動作設計要求要求
面部表情機器人有6個以上的自由度,實現的運動結構包括眉毛、眼球、眼皮、嘴巴、脖頸等[5],各結構的運動可自由組合以實現各種動態表情,如興奮、悲傷、憤怒、厭惡等。
3.2三維模型設計范例
3.2.1三維模型建模人類面部表情機器人的三維模型如圖2所示。
本文模型設計時包
含了13個自由度,通過舵機來控制各個機械結構,可以實現眉毛、眼球、眼皮、嘴巴以及整個頭部的轉動。面部表情機器人動作單元、運動方向和自由度分配如表1所示,機器人的脖子、眉毛和下頜等部分直接連接舵機,通過控制舵機轉動來實現;眼球部分,采用了四桿機構的原理,通過連桿實現眼球轉動以及眼皮的開合,同時利用一對齒輪嚙合實現機器人的抬頭動作。
3.2.2模型加工及裝配
面部表情機器人的機械結構主要由亞克力板雕刻而成,眼球部分為3D打印。為了使整個結構更加穩固,在組裝過程中使用熱熔膠進行固定,裝配完成后如圖3所示。
4面部表情機器人控制系統
選用了STM32F103系列微處理器作為系統的控制器,按系統擴展需要添加了外設接口電路,包括藍牙模塊的串口接口,24路舵機接口,語音識別模塊和MP3播放模塊接口,5V、3.3V外接電源接口等。
4.1電源電路
由于同時控制多個舵機轉動,需要較大的電流,為了不干擾控制電路的正常工作,同時保證安全,設計了雙路電源輸入,如圖4所示,將舵機電源電路與控制芯片電源電路隔離開,更加安全、穩定。
一路電源為控制部分供電,使用電壓為12V的直流電輸入,串聯了一個肖特基二極管防止電流倒灌;然后串聯AMS1117-5.0正向低壓降穩壓器將電壓降為5V;再串聯AMS1117-3.3正向低壓降穩壓器將電壓降為3.3V,為單片機供電。通過這樣的設計,可以同時獲得5V和3.3V的輸出,以方便給其他模塊提供電源,并且電壓更為穩定。
另一路電源為舵機供電,選用的舵機型號為SG90,所需電壓為5V,利用LM2596降壓模塊將12V輸入電壓降為5V電壓,用于驅動舵機旋轉。
4.2各模塊接口電
路為了方便擴展功能,采用了模塊化思想來設計這部分電路。
4.2.1語音控制模塊
語音控制模塊包括語音識別模塊和語音播放模塊。
語音識別模塊采用的是LD3320語音識別模塊。該模塊和單片機控制系統可通過串口連接[6],實現語音識別、聲音控制和人機對話等多種功能;還可以手動編輯可識別的關鍵詞列表,達到對特定詞匯/語句的識別,以提高識別準確率[7]。語音識別模塊與STM32通過串口3連接:RXD3和TXD3。
語音識別采用了訊飛的語音識別接口,得益于服務器的強大處理能力,可將連續的音頻流內容實時識別返回對應的文字流內容,識別率比純硬件的識別率高。在對獲取到的JSON信息進行解析之后,編寫對應的處理程序,并在APP中預先設定表情機器人的指令和對話,程序流程圖如圖5所示。
語音播放模塊的TX引腳連接串口2的發送引腳TXD2,使用串口通信協議,通過串口發送指令控制播放預設的音頻。
4.2.2無線控制模塊
無線控制模塊包括手機APP和藍牙通信兩個部分。
本系統選用Androidstudio軟件開發基于AndroidOS智能手機的移動應用程序(APP)[8],Androidstudio提供了方便的圖形化界面編程,通過簡易的設置即可完成APP的界面開發。根據控制系統的設計要求,設計了表情控制、舵機控制和藍牙連接3個界面,如圖6所示。
相關期刊推薦:《實驗科學與技術》(雙月刊)創刊于2003年,是電子科技大學和四川省高教學會主辦、西南六省、市、自治區高校實驗室工作研究會協辦的學術性、技術性科技期刊,探索實驗教學改革、提高實驗室管理水平及綜合效益的新思路、新途徑、新舉措,交流有關研究成果與改革經驗;為高等學校、科研單位、科技企業從事科學實驗與技術研究的教師、研究人員、研究生、工程與實驗技術人員提供學術交流的場所;研究各級各類實驗室建設管理、對外開放、隊伍建設、提高投資效益的共性問題;交流儀器設備設計研制、功能開發、維護管理及技術物資供應管理的研究成果與經驗。
無線傳輸選擇的是HC-05主從一體藍牙串口模塊,該模塊與STM32通過串口連接[9],由于藍牙模塊和語音識別模塊使用時互不影響,因此使用了相同的串口接口−RXD3和TXD3。
手機APP與連接STM32通過藍牙傳輸信號,如圖7所示的藍牙連接程序流程圖,在連接藍牙前,首先要獲取藍牙權限,然后打開藍牙,開啟新的線程用于藍牙搜索,此時會搜索到附近一定范圍內的藍牙設備,如果此設備已經和移動端完成匹配,則直接點擊建立連接,如果是新的設備,則需要發起配對請求,在輸入正確的PIN碼后建立連接。
4.2.3舵機控制模塊
由于SG90是模擬舵機,需要不斷地發送PWM信號,才能旋轉到指定位置。PWM信號由信號線進入舵機信號調制芯片,獲得直流偏置電壓[10]。舵機內部的基準電路會產生周期為20ms、脈寬為1.5ms的標準脈寬信號,將直流偏置電壓與舵機內部的標準電壓做差,得到的電壓差[11]控制電機的轉動方向。
當電機轉速是一個定值時,通過級聯減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。本設計采用的舵機旋轉角度為180°,對應的控制關系如表2所示。
為了能夠同時驅動更多的舵機,本設計選擇用定時器控制I/O口的方式來產生PWM波,如圖8所示。這種方式可以實現一個定時器同時控制8路舵機,3個定時器就可以同時控制多達24路的舵機。
4.2.4智能感知模塊
在完成面部機器人基本表情仿真的基礎上,還可以添加感知模塊,如光電開關、紅外傳感器和陀螺儀等,進一步完善機器人的功能。
5表情仿真機器人功能實現表情
機器人連接上位機后,發送指令將預定的表情指令放入儲存芯片,就可以通過語音識別或者APP控制的方式控制機器人做出各種表情,如圖9所示,展示了8種不同的表情。各個表情均由13個舵機共同實現,不同表情對應的舵機旋轉角度不同。如高興時:眉毛不動,兩個眼瞼轉動15°,左右眼分別向上看3°,下巴張開3°,上嘴角上揚45°,脖子上抬3°。
6實驗模式
本實驗采用了開放性實驗模式,實驗室提供舵機、STM32F103舵機控制版和多種傳感器等元器件,以及微型機床、3D打印機、雕刻機等加工設備。
實驗課前將實驗題目、內容和指標要求下發學生,學生進行資料調研,在符合實驗要求的前提下,學生可自主設計實驗方案,完成方案報告;上課時與教師討論,確認方案的可行性,經審核后,進行后續實驗。
實驗過程中開放實驗室,學生可以在需要的時間預約使用加工設備,方便學生制作、加工及裝配機械結構,這樣學生可以利用課余時間自主合理規劃實驗進度和學習任務,最終按進度完成實驗內容。
實驗過程中教師負責管控實驗進度;實驗結果驗收時,要求學生完成設計報告,并用PPT演講和現場展示兩種方式匯報實驗結果,教師根據方案難度、工作量、完成度、創新性和表達能力打分。
一輪課程完成后,發現學生間具有差異性,部分學生課前已經學習并掌握單片機的應用以及3D打印機和雕刻機的使用方法,能很快完成基礎要求,因此為符合學生的個性化發展,實驗內容分為基礎指標和拓展內容。
1)基礎指標
學生自行設計機器人的三維模型,要求有6個以上的自由度,使用3D打印和雕刻機完成三維模型實物制作,利用STM32F1控制器實現機器人的表情控制。
2)拓展實驗內容
①智能感知模塊學生可自由選擇傳感器完成相關功能;
②機器人視覺,在機器人眼睛處增加攝像頭模塊,實現圖像獲取、分析、識別、檢測等技術的綜合應用[12];
③運動底盤,本機器人設計時所用的都是舵機,為豐富實驗內容,可以增加運動底盤,使用直流電機,并進行閉環控制;
④對部分機械結構進行力學仿真分析,如眉毛、嘴巴等,以設計出仿真效果更好的機構[13]。
7結束語
1)面部表情機器人實驗融合了機械、控制和通信等多個領域的知識點,綜合性強,不僅能有效地幫助學生鞏固課程基礎知識,同時可以引導和激發學生對智能制造和工業人工智能的興趣
2)面部表情機器人實驗內容由淺入深,可靈活選擇。學生2~3人一組完成實驗,面部表情機器人整體功能既可由一組學生完成,也可兩組學生共同完成。
3)實驗具有開放性和創新性。實驗方案有學生自主設計,并提供拓展實驗內容,學生可選擇喜歡的內容進行深入研究。實驗驗收時要求采用多種方式展示實驗結果,鍛煉了學生文獻查閱能力、創新能力、團隊合作能力,以及分析和解決復雜工程問題的能力。——論文作者:肖茜,邢曉松,王成棟
SCISSCIAHCI