張坤之 胡 明
(1.聊城鑫泰機床有限公司,聊城 252200;2.山東省機械設(shè)計研究院,濟南 250031)
在自然界和人類社會中,總有一些人類無法到達的地方,而地形不規(guī)則和低洼不平是這些環(huán)境的共同點。摸索一條能在這些有風(fēng)險的復(fù)雜境況中進行探索的可行路徑,已成為科技發(fā)展和人類社會進步的迫切要求。由于人類生活在復(fù)雜的環(huán)境中,開發(fā)一種具有高移動能力和高擴展性的機器人平臺已經(jīng)成為人們的迫切需求。多足步行機器人作為能夠滿足上述要求的機器人,有著廣闊的發(fā)展方向和應(yīng)用前景。
從仿生學(xué)角度來講,仿生機器人主要分為仿人雙足機器人和仿動物多足機器人兩大類。在眾多仿生機器人中,六足機器人通過模仿昆蟲或其他節(jié)肢動物的生理結(jié)構(gòu)和運動策略,創(chuàng)造具有代表性的機器人。六足機器人又叫仿生蜘蛛機器人,較之于其他機器人具有結(jié)構(gòu)簡單、行走平穩(wěn)、肢體靈活等優(yōu)點,擁有較好的機動性,在復(fù)雜地形中容易實現(xiàn)穩(wěn)定行走,且對環(huán)境的破壞程度小,因此能夠應(yīng)用于多個領(lǐng)域。傳統(tǒng)的機器人控制電路板多為51單片機和可編程邏輯控制 器(Programmable Logic Controller,PLC) 單 片機,而本文采用STM32芯片的單片機進行設(shè)計開發(fā)。STM32 芯片的單片機除了具有性能強、成本低的特點,還擁有眾多的外設(shè)和軟件包,能夠滿足六足機器人的開發(fā)需要,對我國新型基礎(chǔ)設(shè)施建設(shè)具有巨大的推動作用。
本文對蜘蛛的生理結(jié)構(gòu)進行分析,根據(jù)蜘蛛肢體結(jié)構(gòu)和機器人功能需要確定設(shè)計要求,然后提出機器人各部分的設(shè)計方案,并詳細闡述了具體實現(xiàn)過程。
1.1.1 腿的分布
六足生物腿的分布方式主要有軸對稱分布和均勻分布兩種方式。通過對蜘蛛生理結(jié)構(gòu)的研究,發(fā)現(xiàn)蜘蛛的6條腿呈現(xiàn)均勻分布,足端大多落在圓或者橢圓范圍內(nèi),如圖1所示。觀察分析其運動姿態(tài),發(fā)現(xiàn)在行走時重心的投影始終落在支撐狀態(tài)的腿的連線組成的投影區(qū)域內(nèi)。本設(shè)計初步確定腿部采取均勻分布方式。在多足仿蜘蛛機器人行走過程中,將重心投影到支撐足圍成的三角形區(qū)域內(nèi)。三角形的邊界到重心投影點的最小垂直距離為穩(wěn)定余量。穩(wěn)定余量越小,機器人的穩(wěn)定程度越低。
1.1.2 腿部結(jié)構(gòu)設(shè)計
根據(jù)分析大自然中蜘蛛的生理結(jié)構(gòu),腿部機械結(jié)構(gòu)初步設(shè)計為3個關(guān)節(jié),各關(guān)節(jié)分別由舵機驅(qū)動,如圖2所示。通過控制指定關(guān)節(jié)上舵機的運動,能使機器人有效地模擬蜘蛛的行走方式,完成直行、轉(zhuǎn)向和其他復(fù)雜運動。
目前,對六足機器人腿部每節(jié)長度的研究還不成熟。參考蜘蛛身體結(jié)構(gòu)和現(xiàn)有六足機器人HEXA進行分析可知:當(dāng)大腿長度與小腿長度比例達到1∶2時,六足機器人單條腿所能達到的范圍最大,此時的運動空間范圍和靈活性都較好;當(dāng)基節(jié)與大腿長度的比例為2∶3時,各個結(jié)構(gòu)相互影響的情況較少[1]。因此,本文初步設(shè)計腿部每節(jié)的長度比例為“基節(jié)∶大腿∶小腿=1∶2∶3”。
1.1.3 軀體結(jié)構(gòu)設(shè)計
軀干是六足機器人的連接中心及控制部分元器件的安裝平臺,因此在設(shè)計六足機器人軀干部分時需要在保證強度的前提下盡可能多地留出空間以便后續(xù)安裝驅(qū)動部件。此外,合理的軀干形狀是保證六足機器人整體穩(wěn)定性的重要因素。
根據(jù)選定的均勻分布的腿布置方案,六足機器人的軀干分為底板和上蓋兩個部分,且均設(shè)計為正六邊形[1]。為了方便基節(jié)部分安裝,將6個頂點改成圓弧,基節(jié)部分安裝在圓弧的中心。下殼由高性能尼龍3D打印制成,并在部分位置挖空,部分位置加梁。上殼由高性能尼龍3D打印而成,中間留空,便于后續(xù)安裝和檢測。頂蓋由同樣的材質(zhì)3D打印制成,部分留空,減輕重量。此外,在上下殼上預(yù)留部分突起作為舵機安裝位,并設(shè)計帶螺紋孔的頂蓋。
通過SolidWorks軟件繪制零件模型,裝配的機器人總體機械結(jié)構(gòu)模型,如圖3所示。
1.2.1 三角步態(tài)
對六足機器人來說,仿蜘蛛的步態(tài)是多種多樣的。其中,三角步態(tài)是在仿生機器人設(shè)計中使用最廣泛的步態(tài)。經(jīng)前文分析,本設(shè)計六足機器人的6條腿采用均勻分布方式。目前,大部分六足機器人采用了該結(jié)構(gòu),將6條腿分別進行編號,如圖4所示。蜘蛛運動時,并不是隨機抬腿和放下,而是將6只足分成2組,如圖4中身體左側(cè)的A、C及右側(cè)E為一組,右側(cè)的F、D和左側(cè)的B為另一組。通過將6條腿分成2組,分別形成2個中心對稱的三角形支架結(jié)構(gòu),進而支撐起機器人本體。當(dāng)其中一組三角形支架如A、C、E組所有的足同時提起時,B、D、F組中的足則原地不動。通過調(diào)整肢體狀態(tài),將機器人的重心落在A、C、E組三角形支架投影的范圍內(nèi),然后A、C、E組落下作為機器人新的支撐,整個機器人向前運動或者轉(zhuǎn)向。通過不斷交換支撐組,能夠保持軀體相對地面的高度,易于協(xié)調(diào)六足機器人的z軸運動,提高整體機器人的穩(wěn)定性。
根據(jù)三角步態(tài)介紹,繪制三角步態(tài)運動示意圖,如圖5所示,其中實心為接觸地面的腿,空白為抬起的腿。
1.2.2 具體行走方案
前進運動步態(tài)示意圖,如圖6所示。先以A、C、E足為一組支撐足,B、D、F組先提起再向前邁進,等B、D、F著地后,以B、D、F組為支撐組,將A、C、E組提起向前邁進,等A、C、E接觸到地面即完成了前進動作。后退動作,同理。
機器人向左轉(zhuǎn)的時候,以A、C、E足作為支撐組,B、D、F足先向上提起向左旋轉(zhuǎn),然后放下,等著地后,以B、D、F足為支撐組,將A、C、E足先向上提起向左旋轉(zhuǎn),然后下降著地,6條腿恢復(fù)到未旋轉(zhuǎn)時的發(fā)布狀態(tài),完成向左旋轉(zhuǎn)動作,如圖7所示。同理,當(dāng)向右轉(zhuǎn)時,以A、C、E足作為支撐組,B、D、F足先向上提起向右旋轉(zhuǎn),然后放下,等著地后,以B、D、F足為支撐組,將A、C、E足先向上提起向右旋轉(zhuǎn),然后下降著地,6條腿恢復(fù)到未旋轉(zhuǎn)時的發(fā)布狀態(tài),完成向右的旋轉(zhuǎn)動作[2]。
以目前的工作能力,要實現(xiàn)完全意義上的仿生行走是有難度的,只能做到在保證平穩(wěn)行走的基礎(chǔ)上稍微提高速度。在抬起的腿放下的過程中,支撐足同時增加一個向后蹬的動作,即多了一個向前移動的力,使整體行進速度略微加快。
本設(shè)計機器人具有6只足,在運動過程中如何保證各足運動協(xié)調(diào),不僅是當(dāng)前六足機器人領(lǐng)域研究的重要部分,也是實現(xiàn)前進和轉(zhuǎn)向的基礎(chǔ)。在整個六足機器人系統(tǒng)中,必須將控制系統(tǒng)和機械結(jié)構(gòu)兩者有機結(jié)合才能獲得最佳的性能[3]。為了實現(xiàn)本設(shè)計的功能需要,必須滿足如表1所示的相關(guān)設(shè)計要求。
表1 設(shè)計要求
針對六足機器人的機械結(jié)構(gòu)設(shè)計,搭建控制系統(tǒng)硬件部分電路板并繪制原理圖,設(shè)計軟件部分設(shè)計方案,繪制控制流程圖,編制主要功能的控制程序和代碼分析,最終完成了六足機器人控制系統(tǒng)的硬件設(shè)計和軟件設(shè)計。
2.2.1 驅(qū)動舵機選擇
當(dāng)舵機接收控制信號時,舵機內(nèi)部電路板將信號處理后輸入電位器,由電位器控制電機轉(zhuǎn)動的方向和速度。電機經(jīng)過減速齒輪組放慢后,將扭矩傳遞到輸出軸,帶動舵機外部部件運動。舵機的輸出軸和位置反饋電位計是相連的,舵盤轉(zhuǎn)動帶動位置反饋電位計運轉(zhuǎn),同時電位計將反饋一個比例電壓到控制電路板,然后控制電路板根據(jù)舵機輸出軸的位置決定電機的轉(zhuǎn)動方向和速度。經(jīng)過這樣一個閉環(huán)反饋控制,到達預(yù)定舵機位置時停止轉(zhuǎn)動。舵機內(nèi)部控制流程如圖8所示。
2.2.2 舵機PWM脈沖控制原理
脈沖寬度調(diào)制(Pulse Width Modulation,PWM)通過對一系列脈沖方波的寬度進行調(diào)制[4],獲得特定的模擬信號即數(shù)字編碼。只要帶寬足夠,任何信號都可以用PWM編碼[5]。設(shè)計采用的RDS3115舵機內(nèi)部有一個基準電路,產(chǎn)生周期為20 ms、寬度為1.5 ms的基準信號控制信號。只要STM32芯片輸出周期20 ms的PWM方波,就能通過改變脈沖時長改變輸出軸轉(zhuǎn)角,直到提供另一個寬度的脈沖方波才會再次改變輸出軸角度。當(dāng)脈沖時長為0.5~2.5 ms時,對應(yīng)輸出軸的位置為0°~180°,也就是說該舵機轉(zhuǎn)動幅度不能超出180°,適合用于機器人關(guān)節(jié)等位置。
2.3.1 主程序設(shè)計
在控制系統(tǒng)電路板上電或復(fù)位后,控制系統(tǒng)要檢查整個控制系統(tǒng)硬件,并將各個模塊初始化,使機器人姿態(tài)復(fù)位為初始狀態(tài)。初始化主要包括全局變量初始化、指示燈和蜂鳴器初始化、定時器初始化、輸入輸出(Input/ Output,I/O)端口初始化以及機器人姿態(tài)初始化等過程。單片機通過藍牙遙控模塊或者通用串行總線(Universal Serial Bus,USB)串口電路接收指令,通過指令處理獲得相應(yīng)的控制命令,如圖9所示。
2.3.2 前進與轉(zhuǎn)向控制
根據(jù)藍牙遙控軟件設(shè)計,串口收到的藍牙數(shù)據(jù)會在STM32單片機上轉(zhuǎn)化為一個數(shù)組,因此只需通過藍牙串口控制每一個舵機的狀態(tài),就能滿足六足機器人的運動需要。
本仿生六足越障機器人設(shè)計分為機械結(jié)構(gòu)設(shè)計和控制系統(tǒng)設(shè)計兩大部分。機械結(jié)構(gòu)設(shè)計章節(jié)詳細介紹了對蜘蛛生理結(jié)構(gòu)的觀察分析過程,完成了六足機器人機械結(jié)構(gòu)設(shè)計和對運動步態(tài)的規(guī)劃??刂葡到y(tǒng)設(shè)計按照各部分的功能,分為STM32最小系統(tǒng)、動力模塊、運動模塊、存儲模塊、藍牙遙控模塊和軟件設(shè)計6個模塊,實現(xiàn)了對六足機器人的控制。