孫亞軍++潘楠++和婷++番紹生
摘要:為了使學生能夠更好地掌握機器人相關(guān)的機械結(jié)構(gòu)設(shè)計、通信、單片機、C語言編程等方面的知識和技能,同時針對現(xiàn)有常規(guī)機器人教學設(shè)備只能開展演示性實驗等問題,設(shè)計一套模塊化雙足競走機器人實驗教學平臺,文章首先介紹了模塊化雙足競走機器人實驗教學平臺整體設(shè)計思想,接著介紹了模塊化雙足競走機器人實驗教學平臺的下位機硬件系統(tǒng)和上位機人機交互界面的設(shè)計以及具體實現(xiàn)細節(jié),最后通過實驗證明了該設(shè)計的可行性。
Abstract: In order to make the students master the knowledge and skills of mechanical structure design, communication, single-chip microcomputer and C language programming related to robot better, and in view of the fact that the existing conventional teaching equipment can only carry out demonstrative experiment, a modularized biped race walking robot experimental platform is designed. This paper first introduces the whole design idea of the modularized biped race walking robot experiment teaching platform, and then introduces the design of the interface and the implementation details of the hardware of the lower position machine of the modularized biped race walking robot experiment teaching platform. Finally, the feasibility of the design is proved through experiments.
關(guān)鍵詞:模塊化;機器人;教學平臺
Key words: modularized;robot;teaching platform
中圖分類號:TP242 文獻標識碼:A 文章編號:1006-4311(2017)05-0170-04
0 引言
機器人是一門新興的綜合性學科,涉及機械、電子、計算機、材料、控制等眾多學科,體現(xiàn)了一個國家的智能化和自動化研究水平。雙足機器人是一種沒有上身的機器人集科學性、學術(shù)性、趣味性于一體,是培養(yǎng)學生創(chuàng)新實踐能力的理想平臺,已成為全國機器人大賽的指定項目之一。本設(shè)計以機器人大賽作品為基礎(chǔ),開發(fā)一套適合高校的模塊化雙足競走機器人實驗教學平臺,根據(jù)需要完成的動作選擇不同模塊拼接成機器人,利用上位機發(fā)送控制命令給下位機機器人,控制機器人完成競走、越障、翻跟頭、原地自轉(zhuǎn)、磕頭、鞠躬等動作。以實現(xiàn)綜合性、設(shè)計性、創(chuàng)新性實驗項目的開設(shè),培養(yǎng)學生創(chuàng)新和實踐能力。
1 整體設(shè)計思想
通過分析人體腿部關(guān)節(jié)自由度分布情況,對雙足競走機器人運動自由度進行合理的配置,對機器人的腳部、膝部、胯部的機械結(jié)構(gòu)進行設(shè)計。利用UG NX 6.0進行實體建模,最后生成零件圖,經(jīng)過加工得到模塊化零件,根據(jù)需要完成的動作選擇不同模塊拼接成機器人。選用ATmega128單片機作為主控芯片,利用C語言在ICCAVR編譯器下進行控制程序的設(shè)計,利用Visual C++2008進行教學平臺的人機交互界面的設(shè)計[1]。學生可在此平臺上進一步通過編程、參數(shù)設(shè)置進行調(diào)試或控制機器人[2]。
2 機器人硬件系統(tǒng)設(shè)計
2.1 人體腿部各關(guān)節(jié)自由度的分布情況
人體腿部的關(guān)節(jié)由髖關(guān)節(jié)、膝關(guān)節(jié)、踝關(guān)節(jié)三個關(guān)節(jié)組成,通過分析可以知道人體的髖關(guān)節(jié)是典型的3個自由度的結(jié)構(gòu),能夠?qū)崿F(xiàn)屈伸、收展、旋轉(zhuǎn)等運動,如圖1所示;膝關(guān)節(jié)屬于滑車關(guān)節(jié)類型,能夠?qū)崿F(xiàn)屈伸運動,因此只有1個自由度,如圖2所示;踝關(guān)節(jié)由脛骨的下關(guān)節(jié)面、內(nèi)踝關(guān)節(jié)面、腓骨的外踝關(guān)節(jié)面共同形成的關(guān)節(jié),能夠做左右方向的翻轉(zhuǎn)運動和豎直方向的旋轉(zhuǎn)運動,所以踝關(guān)節(jié)具有2個自由度,踝關(guān)節(jié)如圖3所示。
2.2 機器人模塊化零件設(shè)計
在機器人的自由度在配置過程中,既要求自由度盡量少,也要求完成的基本動作盡量多,同時要求機器人運動盡量自然美觀。機器人按照設(shè)計要求,通過胯部舵機、膝部舵機和腳部舵機來模擬人體的髖關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié),并將人體髖關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié)的運動簡化為一個自由度,完成競走、越障、翻跟頭、原地自轉(zhuǎn)、磕頭、鞠躬等動作。同時使得機器人的結(jié)構(gòu)得到簡化,制作成本低,運動控制簡單。采用模塊化結(jié)構(gòu),每個零部件都設(shè)計有固定螺孔,根據(jù)需要完成的動作選擇不同模塊拼接成機器人[3]。
首先使用UG NX 6.0進行實體建模,然后生成零件圖,最后經(jīng)過加工得到模塊化零部件。模塊化零部件如圖4所示。
2.3 機器人的自由度的配置及組裝方案
組裝方案一:機器人要完成直線行走、向前翻跟斗、向后翻跟斗等動作,不需要完成旋轉(zhuǎn)等復(fù)雜動作,因此只需要在每條腿配置3個自由度即可。人體的髖關(guān)節(jié)雖然有3個自由度,本設(shè)計只需要控制前向運動的自由度,所以髖關(guān)節(jié)簡化為一個前向運動的自由度;膝關(guān)節(jié)按照運動的要求配置一個前向運動的自由度;踝關(guān)節(jié)只需要完成側(cè)向運動,因而配置一個控制側(cè)向運動的自由度,保證機器人行走過程中的平衡。因此機器人的髖關(guān)節(jié)、膝關(guān)節(jié)、踝關(guān)節(jié)各配置一個自由度,自由度配置如圖5所示,機器人3D設(shè)計如圖6所示,機器人實物組裝如圖7所示。
組裝方案二:機器人要完成直線行走、旋轉(zhuǎn)等動作,不需要其他復(fù)雜動作,因此只需要在每條腿配置2個自由度即可。人體的髖關(guān)節(jié)雖然有3個自由度,本設(shè)計只需要控制旋轉(zhuǎn)運動的自由度,所以髖關(guān)節(jié)簡化為一個旋轉(zhuǎn)運動的自由度;踝關(guān)節(jié)只需要完成側(cè)向運動,因而配置一個控制側(cè)向運動的自由度,保證機器人行走過程中的平衡。因此雙足競走機器人自由度的配置為髖關(guān)節(jié)和踝關(guān)節(jié)各一個自由度,自由度配置如圖8所示,機器人3D設(shè)計如圖9所示,機器人組裝如圖10所示。
組裝方案三:機器人要完成直線行走、向前、向后的翻跟斗及旋轉(zhuǎn)等動作,不需要其他復(fù)雜動作,因此只需要在每條腿配置3個自由度即可。人體的髖關(guān)節(jié)雖然有3個自由度,本設(shè)計只需要控制旋轉(zhuǎn)運動的自由度,所以髖關(guān)節(jié)簡化為一個旋轉(zhuǎn)運動的自由度;膝關(guān)節(jié)按照運動的要求配置一個前向運動的自由度;踝關(guān)節(jié)只需要完成向前運動,因而配置一個控制向前運動的自由度,保證機器人行走過程中的平衡。因此雙足競走機器人自由度的配置為髖關(guān)節(jié)、膝關(guān)節(jié)、踝關(guān)節(jié)各一個自由度,自由度配置如圖11所示,機器人3D設(shè)計如圖12所示,機器人組裝如圖13所示。
本設(shè)計模塊化雙足競走機器人實驗教學平臺不限于以上三種組裝方案,模塊化零部件設(shè)計有固定螺孔,學生可要完成的動作選擇不同模塊拼接成機器人,以實現(xiàn)綜合性、設(shè)計性、創(chuàng)新性實驗項目的開設(shè),學生在組裝調(diào)試機器人的同時,培養(yǎng)其創(chuàng)新和實踐能力。
2.4 機器人驅(qū)動方案設(shè)計
結(jié)合本設(shè)計中的機器人完成動作的要求,選擇了適合進行位置精確控制的舵機。其控制原理是通過輸入周期為20ms(高電平為0.5ms-2.5ms)的脈沖,不同的脈寬使舵機在0°-180°之間轉(zhuǎn)動相應(yīng)的角度,因為其控制方法具有簡單、精度高、成本低、體積小等特點,在機器人中得到廣泛的應(yīng)用。
通過上述內(nèi)容可知,舵機的控制由不同脈寬的PWM來控制的。PWM(Pulse Width Modulation)即脈沖寬度調(diào)制,簡稱脈寬調(diào)制,具有控制簡單、靈活和動態(tài)響應(yīng)好等優(yōu)點,通過單片機I/O口進行模擬PWM進行輸出,控制靈活、價格低廉,精度足以滿足本設(shè)計的要求。
選用ATmega128單片機作為主控芯片,產(chǎn)生周期為20ms,脈寬為0.5-2.5ms的PWM[4],具體的設(shè)計過程為將20ms分成200段,每個分段時間為0.1ms,比如要得到脈寬為2mms的PWM,只需要在200段時間中,有連續(xù)的20段為高電平就能夠?qū)崿F(xiàn)了。具體作法:用ATmega128單片機定時0.1ms,總共定時200次,連續(xù)20次將對應(yīng)的I/O置成高電平,其余180次置成低電平,反復(fù)這樣操作就形成了所需要的PWM。產(chǎn)生PWM信號的流程圖如圖14所示。
3 上位機調(diào)試控制軟件設(shè)計
3.1 上位機與下位機通信設(shè)計
為實現(xiàn)機器人與上位機之間的數(shù)據(jù)及控制命令的交換,需要單片機與上位機界面之間進行通訊,本系統(tǒng)采用的是基于RS-232協(xié)議的異步串口通訊,通過串口通訊上位機能夠得到雙足競走機器人的運動狀態(tài),機器人能夠接收到上位機教學平臺所發(fā)送的數(shù)據(jù)和命令。
下位機使用ATmega128單片機自帶UART異步串行口,它是一個標準的異步全雙工通信,用10位表示一個字節(jié)信息,1位起始位、1位停止位、和8位數(shù)據(jù)位信息。數(shù)據(jù)由ATmega128單片機的RX接收,TX發(fā)送。在起動UART接口時,必須先配置波特率,配置接收、發(fā)送使能寄存器,最后配置中斷寄存器,單片機就進入了收發(fā)就位狀態(tài),等待發(fā)送和接收的指令。機器人根據(jù)接收到的動作指令完成相應(yīng)的動作。
3.2 上位機方案設(shè)計
上位機界面是用戶與機器人進行交流的平臺[5],通過這個界面機器人能夠收到用戶發(fā)出的指令及數(shù)據(jù),同時用戶還能獲悉機器人的狀態(tài),便于更好的進行控制。此外,本設(shè)計給使用者提供了一個了解機器人開發(fā)和研究的載體。整體的界面如圖15所示。
本系統(tǒng)設(shè)計有三種不同的控制模式,分別是自主運行控制模式、Host控制模式和單語句控制模式。模式選擇如圖16所示。
①自主運行模式是指雙足競走機器人自動運行程序,而不需要使用者在使用過程中進行干擾,使用者只需要完成指令編輯,發(fā)送給機器人即可。②Host模式是指使用者點擊相應(yīng)動作的按鍵,機器人就會自動完成相應(yīng)的包括前進、后退、向前翻跟斗和向后翻跟斗等動作。③單句命令控制模式是指機器人一次只執(zhí)行一條語句,完成之后等待下一條命令,這種模式下可以確定在機器人運動時,各關(guān)節(jié)處舵機轉(zhuǎn)動的角度。
4 實驗
為了驗證該設(shè)計的可行性,我們按照上述設(shè)計方法制作了一臺機器人并且進行了演示。機器人處于立正狀態(tài),如圖17所示,機器人接收到向前翻轉(zhuǎn)指令后,右腿胯部舵機輸出軸順時針旋轉(zhuǎn)90度同時左腿胯部舵機輸出軸逆時針旋轉(zhuǎn)90度完成動作一,如圖18所示,右腿膝部舵機輸出軸逆時針旋轉(zhuǎn)90度同時左腿膝部舵機輸出軸順時針旋轉(zhuǎn)90度完成動作二,如圖19所示,右腿胯部舵機輸出軸逆時針旋轉(zhuǎn)180度同時右腿膝部舵機12輸出軸順時針旋轉(zhuǎn)180度完成動作三,如圖20所示,左腿胯部舵機輸出軸順時針旋轉(zhuǎn)180度同時左腿膝部舵機輸出軸逆時針旋轉(zhuǎn)180度完成動作四,如圖21所示,右腿膝部舵機輸出軸逆時針旋轉(zhuǎn)90度同時左腿膝部舵機輸出軸順時針旋轉(zhuǎn)90度完成動作五,如圖22所示,右腿胯部舵機輸出軸順時針旋轉(zhuǎn)90度同時左腿胯部舵機輸出軸逆時針旋轉(zhuǎn)90度完成動作六,如圖23所示,依次循環(huán)執(zhí)行動作一,二,三,四,五,六完成機器人向前翻轉(zhuǎn)動作。其他動作實現(xiàn)的控制精度、方法等與上述實驗相同在此不再贅述。
5 結(jié)論
本設(shè)計以機器人大賽作品為基礎(chǔ),開發(fā)一套適合高校的模塊化雙足競走機器人實驗教學平臺,根據(jù)需要完成的動作選擇不同模塊拼接成機器人,利用上位機發(fā)送控制命令給下位機機器人,控制機器人完成競走、翻跟頭、原地自轉(zhuǎn)、磕頭、鞠躬等動作。以實現(xiàn)綜合性、設(shè)計性、創(chuàng)新性實驗項目的開設(shè),培養(yǎng)學生創(chuàng)新和實踐能力,是培養(yǎng)學生創(chuàng)新實踐能力的理想平臺。
參考文獻:
[1]孫鵬亮.智能機器人系統(tǒng)分析與設(shè)計[D].武漢:中國地質(zhì)大學,2010.
[2]孫光偉.仿人機器人控制系統(tǒng)設(shè)計與穩(wěn)定性研究[D].成都:西華大學,2010.
[3]郭清.助行訓練機器人系統(tǒng)設(shè)計及步態(tài)控制實驗研究[D].哈爾濱:哈爾濱工程大學,2009.
[4]任玉才,李富超.電動機控制中的PWM和測頻在C8051中的實現(xiàn)匯[J].船電技術(shù),2004(6):20-23.
[5]胡小江,董飛垚,雷虎民,李剛.基于虛擬儀器的舵機半實物仿真系統(tǒng)研究[J].測控技術(shù),2011(1):6-8.