楊蒙蒙,鄧三星,李 帥,畢戰(zhàn)文,楊嵐松
(黃河交通學(xué)院 河南省智能制造技術(shù)與裝備工程技術(shù)研究中心,河南 焦作 454950)
隨著社會(huì)和科技的進(jìn)步,機(jī)器人出現(xiàn)在人們的視野,并逐漸代替人們服務(wù)于各行各業(yè)。日本經(jīng)濟(jì)產(chǎn)業(yè)省發(fā)布的《2012年機(jī)器人產(chǎn)業(yè)市場(chǎng)趨勢(shì)》報(bào)告顯示:2035年,日本機(jī)器人市場(chǎng)50%左右的訂單來(lái)自服務(wù)業(yè)。意味著機(jī)器人產(chǎn)業(yè)發(fā)展將呈現(xiàn)爆發(fā)態(tài)勢(shì)。我國(guó)人口紅利在逐漸消失,勞動(dòng)力成本上升,機(jī)器人需求增加。眾所周知,在沒(méi)有持續(xù)性研發(fā)資金供給和市場(chǎng)運(yùn)作的背景下,國(guó)內(nèi)的產(chǎn)業(yè)化機(jī)器人的研究還處于相當(dāng)疲弱的狀態(tài),而且前景堪憂。日本、德國(guó)、美國(guó)甚至韓國(guó)在計(jì)算機(jī)產(chǎn)業(yè)化領(lǐng)域正處于高速發(fā)展的狀態(tài),各國(guó)差距越來(lái)越大。在當(dāng)前形勢(shì)下,我國(guó)應(yīng)加強(qiáng)對(duì)機(jī)器人領(lǐng)域的了解和研究,為以后的發(fā)展奠定基礎(chǔ)。
本文利用STM32單片機(jī)設(shè)計(jì)了雙足機(jī)器人的舵機(jī)控制系統(tǒng),并對(duì)機(jī)器人的機(jī)械結(jié)構(gòu)進(jìn)行設(shè)計(jì)和步態(tài)規(guī)劃,提高了機(jī)器人步態(tài)穩(wěn)定性。
本文設(shè)計(jì)的雙足機(jī)器人系統(tǒng)包含多個(gè)部分,主要由機(jī)械結(jié)構(gòu)和控制系統(tǒng)組成,包括機(jī)械結(jié)構(gòu)、驅(qū)動(dòng)模塊、傳感模塊和控制模塊。機(jī)械結(jié)構(gòu)類似于人的骨架,它起到一個(gè)支撐平臺(tái)的作用,機(jī)器人的其他部分都是在此平臺(tái)基礎(chǔ)上進(jìn)行安裝調(diào)試的??刂葡到y(tǒng)類似于人的大腦,它發(fā)出相關(guān)指令和信號(hào)來(lái)控制機(jī)器人完成設(shè)計(jì)的規(guī)定動(dòng)作。雙足機(jī)器人驅(qū)動(dòng)是通過(guò)舵機(jī)對(duì)其進(jìn)行控制的,而舵機(jī)的基本控制都是通過(guò)脈沖寬度調(diào)制(PWM)技術(shù)進(jìn)行的。為了得到舵機(jī)的精確控制效果,本文設(shè)計(jì)了一個(gè)能夠輸出多路PWM信號(hào)的舵機(jī)控制器。
下面介紹雙足機(jī)器人的步態(tài)規(guī)劃。雙足機(jī)器人的特點(diǎn)是具有多個(gè)關(guān)節(jié)、多個(gè)驅(qū)動(dòng)器、多約束等,因此機(jī)器人行走時(shí)的步態(tài)規(guī)劃控制難度較大,規(guī)劃?rùn)C(jī)器人步態(tài)使其穩(wěn)定行走是本文設(shè)計(jì)的雙足機(jī)器人的關(guān)鍵。通過(guò)大量研究和分析人類行走方式以及翻跟斗的動(dòng)作,設(shè)計(jì)出了雙足機(jī)器人的機(jī)械結(jié)構(gòu)并建立了簡(jiǎn)化運(yùn)動(dòng)的模型;在此工作基礎(chǔ)上,根據(jù)ZMP原理完成機(jī)器人的步態(tài)設(shè)計(jì)和規(guī)劃,通過(guò)編程指令控制實(shí)現(xiàn)了一系列的動(dòng)作,如前后移動(dòng)、左右轉(zhuǎn)動(dòng)、前后翻滾等動(dòng)作,最后對(duì)步態(tài)進(jìn)行可行性測(cè)試。通過(guò)多次優(yōu)化和改進(jìn),機(jī)器人的步態(tài)控制效果較好。在測(cè)試環(huán)節(jié)證明了雙足機(jī)器人的步行方式是所有步行方式中自動(dòng)化程度最高的。
舵機(jī)控制設(shè)計(jì)如圖1所示,根據(jù)PWM模塊程序初始化,判斷是否有傳感器的信息,如果沒(méi)有,PWM直接輸出;如果有,修改PWM占空比,再進(jìn)行輸出。
圖1 舵機(jī)控制設(shè)計(jì)流程
圖2為無(wú)線通信模塊流程,圖中主機(jī)的藍(lán)牙與控制器之間的通信是通過(guò)指令分組和數(shù)據(jù)分組完成的。當(dāng)主機(jī)執(zhí)行完畢1個(gè)指令分組時(shí),控制器返回1個(gè)事件分組,并向主機(jī)發(fā)送指令的執(zhí)行情況以及控制器底層硬件的相關(guān)信息。藍(lán)牙模塊串口通信的建立過(guò)程包含初始化藍(lán)牙芯片、查詢周邊藍(lán)牙地址、建立連接、數(shù)據(jù)傳輸、斷開(kāi)連接等環(huán)節(jié)。
圖2 無(wú)線通信模塊流程
雙足機(jī)器人系統(tǒng)中所設(shè)計(jì)的雙足機(jī)器人結(jié)構(gòu)尺寸比例是根據(jù)人體下半身運(yùn)動(dòng)且按照比例縮放得到的,共六個(gè)關(guān)節(jié)。在制作前進(jìn)行了大量的仿真和實(shí)驗(yàn),參考了大量的數(shù)據(jù),最終確定U型機(jī)架、腳底板、側(cè)面板、蓋板大小以及加工需要的夾件、卡件和連接件。經(jīng)過(guò)精加工,打孔并與螺絲裝訂,實(shí)現(xiàn)整個(gè)機(jī)器人的機(jī)械結(jié)構(gòu)的設(shè)計(jì)。
串行總線舵機(jī)控制板能夠控制6個(gè)串行總線舵機(jī),因此雙足機(jī)器人的控制部分選用串行總線舵機(jī)控制板,控制舵機(jī)作為髖、膝、踝關(guān)節(jié)驅(qū)動(dòng),使機(jī)器人完成各種動(dòng)作。完成舵機(jī)控制的同時(shí)對(duì)機(jī)器人的機(jī)械結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計(jì),通過(guò)FUSION360建模對(duì)機(jī)器人的整體結(jié)構(gòu)進(jìn)行設(shè)計(jì)。在節(jié)約成本的前提下,并沒(méi)有使用彈性連接件和無(wú)線傳感器,并且最終實(shí)現(xiàn)前后翻和前進(jìn)等動(dòng)作。
本文設(shè)計(jì)的機(jī)器人機(jī)械結(jié)構(gòu)主要包含金屬支架、舵機(jī)控制板、銅柱、U形連接件、舵機(jī)、側(cè)面板和腳底板,如圖3所示。其中機(jī)器人機(jī)械結(jié)構(gòu)中的銅柱包括第一、第二銅柱,U形連接件包括第一、第二、第三、第四、第五U形連接件,舵機(jī)包括第一、第二、第三舵機(jī)。
圖3 機(jī)器人零件
如圖4所示,機(jī)器人主要由金屬構(gòu)成,驅(qū)動(dòng)部分主要分布在機(jī)器人機(jī)械結(jié)構(gòu)中的頂板、腿部結(jié)構(gòu)、連接結(jié)構(gòu)、腳底板等機(jī)械結(jié)構(gòu)處。在雙足機(jī)器人的設(shè)計(jì)和制作中,頂板與控制板之間通過(guò)多根第一銅柱固定連接,頂板與控制板之間要求相互保持平行;同時(shí)控制板下表面通過(guò)固定連接件分別與兩塊第一U形連接件的底座對(duì)應(yīng)連接,目的是為了增加雙足機(jī)器人的行走穩(wěn)定性,同時(shí)可以增大雙足機(jī)器人行走時(shí)的單步步伐長(zhǎng)度,提高機(jī)器人的行走效率。如圖5所示為機(jī)器人的整體結(jié)構(gòu),其身高約為260 mm。
圖4 機(jī)器人三視圖
圖5 機(jī)器人整體結(jié)構(gòu)
圖6為機(jī)器人的整體電源電路。舵機(jī)和CPU共用一個(gè)電源,供電電壓為5~8.4 V,電源功率可根據(jù)舵機(jī)數(shù)量自行搭配,比如使用5~6個(gè)舵機(jī)時(shí),額定電流要達(dá)到3 A以上;使用15~16個(gè)舵機(jī)時(shí),額定電流要達(dá)到8 A以上。由于不是每個(gè)舵機(jī)都同時(shí)工作,所以隨著舵機(jī)增多,電流增長(zhǎng)的速度可以適當(dāng)減小,比如當(dāng)使用24個(gè)舵機(jī)時(shí),電流為10 A左右即可。
圖6 電源電路
硬件電路的控制板如圖7所示,具體模塊功能如下:
圖7 控制板
(1)USB調(diào)試口:主要用于與上位機(jī)通信,可調(diào)試/配置控制器的功能。
(2)紅外接口:可接入紅外接收頭,搭配紅外遙控使用,可控制總線執(zhí)行設(shè)備,或者作為其他觸發(fā)源使用。
(3)總線通信接口:兩組黃色端子就是總線通信接口,主要接Arduino拓展板總線接口。
(4)總線舵機(jī)接口:6組白色端子就是總線執(zhí)行接口,主要接執(zhí)行設(shè)備,如總線舵機(jī)、總線MP3、總線馬達(dá)等總線設(shè)備。理論上每條線上可串聯(lián)255個(gè)設(shè)備,考慮到線的承載能力,建議每條線上串聯(lián)不超過(guò)5個(gè)設(shè)備為宜。
(5)PWM舵機(jī)接口:主要是用于外接PWM舵機(jī),共可接24路PWM舵機(jī),其中白針為信號(hào)接口、紅針為舵機(jī)電源的正極、黑針為舵機(jī)電源負(fù)極。
在本設(shè)計(jì)中使用的舵機(jī)是成本較低且性能良好的伺服電動(dòng)機(jī)。舵機(jī)具體的參數(shù)見(jiàn)表1所列;舵機(jī)尺寸及外觀如圖8所示。髖、膝、踝關(guān)節(jié)的驅(qū)動(dòng)是控制機(jī)器人完成各種動(dòng)作的關(guān)鍵。本設(shè)計(jì)中的機(jī)器人采用串行總線舵機(jī)控制板,可同時(shí)控制6個(gè)串行總線舵機(jī),在沒(méi)有使用彈性連接件和無(wú)線傳感器的條件下,舵機(jī)的控制效果良好。
表1 舵機(jī)參數(shù)
圖8 舵機(jī)尺寸及外觀
本機(jī)器人采用單總線通信方式,這種通信方式的最大特點(diǎn)就是不同舵機(jī)之間可串聯(lián),最多可控制255個(gè)舵機(jī)。舵機(jī)內(nèi)部設(shè)計(jì)有主控芯片,能夠完成PWM的控制;用戶在使用時(shí),通過(guò)一條命令即可完成6個(gè)舵機(jī)的控制,快捷簡(jiǎn)單。舵機(jī)通信流程如圖9所示。
圖9 舵機(jī)通信流程
對(duì)機(jī)器人進(jìn)行調(diào)試的方法有兩種:一種是有線調(diào)試;另一種是無(wú)線調(diào)試,無(wú)線調(diào)試更方便快捷。兩種調(diào)試都是通過(guò)同一個(gè)軟件實(shí)現(xiàn)的,如圖10所示是正在進(jìn)行調(diào)試的應(yīng)用界面,在界面中點(diǎn)擊“高級(jí)—高級(jí)設(shè)置”,通過(guò)對(duì)PWM總控和時(shí)間總控的調(diào)整,使機(jī)器人在前進(jìn)的過(guò)程中充分展現(xiàn)每一個(gè)舵機(jī)的極限,進(jìn)而在翻滾等一系列動(dòng)作中把極限都顯示出來(lái)。通過(guò)不斷地對(duì)參數(shù)進(jìn)行調(diào)整,以達(dá)到最好的控制效果。如圖11所示是在調(diào)試完成后,機(jī)器人穩(wěn)定直行前進(jìn)的動(dòng)作,經(jīng)機(jī)體6個(gè)舵機(jī)的相互配合實(shí)現(xiàn)了機(jī)器人步態(tài)行走的動(dòng)作。在這款仿人類雙足機(jī)器人中,采用基于ZMP的步態(tài)規(guī)劃算法對(duì)機(jī)器人的步行軌跡進(jìn)行預(yù)判,保證了機(jī)器人行走的穩(wěn)定性及外形美觀。
圖10 調(diào)試應(yīng)用界面
圖11 調(diào)試行走展示
本文設(shè)計(jì)的雙足機(jī)器人,其機(jī)械結(jié)構(gòu)美觀,前后排布軸對(duì)稱,膝關(guān)節(jié)至底板的高度與胯關(guān)節(jié)至頂面的高度呈軸對(duì)稱。在STM32單片機(jī)的控制下結(jié)合多種模塊,實(shí)現(xiàn)了機(jī)器人前后翻滾、左右轉(zhuǎn)動(dòng)以及模擬步態(tài)行走的一系列動(dòng)作,并且各個(gè)動(dòng)作相對(duì)穩(wěn)定。盡管在行走的過(guò)程中,機(jī)器人會(huì)發(fā)生偏移,但是在不斷地實(shí)驗(yàn)和調(diào)試后,最后實(shí)現(xiàn)了機(jī)器人的正常行走。本款機(jī)器人可以外接控制器二次開(kāi)發(fā),與WiFi攝像頭控制模塊外接,支持視頻傳輸和串口數(shù)據(jù)透?jìng)?;還可以與語(yǔ)音識(shí)別模塊外接,實(shí)現(xiàn)語(yǔ)音識(shí)別和控制機(jī)器人。這些都可以在后期的發(fā)展中逐步實(shí)現(xiàn),為國(guó)內(nèi)相關(guān)機(jī)器人研究提供一些借鑒。