張坤之 胡 明
(1.聊城鑫泰機床有限公司,聊城 252200;2.山東省機械設計研究院,濟南 250031)
在自然界和人類社會中,總有一些人類無法到達的地方,而地形不規則和低洼不平是這些環境的共同點。摸索一條能在這些有風險的復雜境況中進行探索的可行路徑,已成為科技發展和人類社會進步的迫切要求。由于人類生活在復雜的環境中,開發一種具有高移動能力和高擴展性的機器人平臺已經成為人們的迫切需求。多足步行機器人作為能夠滿足上述要求的機器人,有著廣闊的發展方向和應用前景。
從仿生學角度來講,仿生機器人主要分為仿人雙足機器人和仿動物多足機器人兩大類。在眾多仿生機器人中,六足機器人通過模仿昆蟲或其他節肢動物的生理結構和運動策略,創造具有代表性的機器人。六足機器人又叫仿生蜘蛛機器人,較之于其他機器人具有結構簡單、行走平穩、肢體靈活等優點,擁有較好的機動性,在復雜地形中容易實現穩定行走,且對環境的破壞程度小,因此能夠應用于多個領域。傳統的機器人控制電路板多為51單片機和可編程邏輯控制 器(Programmable Logic Controller,PLC) 單 片機,而本文采用STM32芯片的單片機進行設計開發。STM32 芯片的單片機除了具有性能強、成本低的特點,還擁有眾多的外設和軟件包,能夠滿足六足機器人的開發需要,對我國新型基礎設施建設具有巨大的推動作用。
本文對蜘蛛的生理結構進行分析,根據蜘蛛肢體結構和機器人功能需要確定設計要求,然后提出機器人各部分的設計方案,并詳細闡述了具體實現過程。
1.1.1 腿的分布
六足生物腿的分布方式主要有軸對稱分布和均勻分布兩種方式。通過對蜘蛛生理結構的研究,發現蜘蛛的6條腿呈現均勻分布,足端大多落在圓或者橢圓范圍內,如圖1所示。觀察分析其運動姿態,發現在行走時重心的投影始終落在支撐狀態的腿的連線組成的投影區域內。本設計初步確定腿部采取均勻分布方式。在多足仿蜘蛛機器人行走過程中,將重心投影到支撐足圍成的三角形區域內。三角形的邊界到重心投影點的最小垂直距離為穩定余量。穩定余量越小,機器人的穩定程度越低。
1.1.2 腿部結構設計
根據分析大自然中蜘蛛的生理結構,腿部機械結構初步設計為3個關節,各關節分別由舵機驅動,如圖2所示。通過控制指定關節上舵機的運動,能使機器人有效地模擬蜘蛛的行走方式,完成直行、轉向和其他復雜運動。
目前,對六足機器人腿部每節長度的研究還不成熟。參考蜘蛛身體結構和現有六足機器人HEXA進行分析可知:當大腿長度與小腿長度比例達到1∶2時,六足機器人單條腿所能達到的范圍最大,此時的運動空間范圍和靈活性都較好;當基節與大腿長度的比例為2∶3時,各個結構相互影響的情況較少[1]。因此,本文初步設計腿部每節的長度比例為“基節∶大腿∶小腿=1∶2∶3”。
1.1.3 軀體結構設計
軀干是六足機器人的連接中心及控制部分元器件的安裝平臺,因此在設計六足機器人軀干部分時需要在保證強度的前提下盡可能多地留出空間以便后續安裝驅動部件。此外,合理的軀干形狀是保證六足機器人整體穩定性的重要因素。
根據選定的均勻分布的腿布置方案,六足機器人的軀干分為底板和上蓋兩個部分,且均設計為正六邊形[1]。為了方便基節部分安裝,將6個頂點改成圓弧,基節部分安裝在圓弧的中心。下殼由高性能尼龍3D打印制成,并在部分位置挖空,部分位置加梁。上殼由高性能尼龍3D打印而成,中間留空,便于后續安裝和檢測。頂蓋由同樣的材質3D打印制成,部分留空,減輕重量。此外,在上下殼上預留部分突起作為舵機安裝位,并設計帶螺紋孔的頂蓋。
通過SolidWorks軟件繪制零件模型,裝配的機器人總體機械結構模型,如圖3所示。
1.2.1 三角步態
對六足機器人來說,仿蜘蛛的步態是多種多樣的。其中,三角步態是在仿生機器人設計中使用最廣泛的步態。經前文分析,本設計六足機器人的6條腿采用均勻分布方式。目前,大部分六足機器人采用了該結構,將6條腿分別進行編號,如圖4所示。蜘蛛運動時,并不是隨機抬腿和放下,而是將6只足分成2組,如圖4中身體左側的A、C及右側E為一組,右側的F、D和左側的B為另一組。通過將6條腿分成2組,分別形成2個中心對稱的三角形支架結構,進而支撐起機器人本體。當其中一組三角形支架如A、C、E組所有的足同時提起時,B、D、F組中的足則原地不動。通過調整肢體狀態,將機器人的重心落在A、C、E組三角形支架投影的范圍內,然后A、C、E組落下作為機器人新的支撐,整個機器人向前運動或者轉向。通過不斷交換支撐組,能夠保持軀體相對地面的高度,易于協調六足機器人的z軸運動,提高整體機器人的穩定性。
根據三角步態介紹,繪制三角步態運動示意圖,如圖5所示,其中實心為接觸地面的腿,空白為抬起的腿。
1.2.2 具體行走方案
前進運動步態示意圖,如圖6所示。先以A、C、E足為一組支撐足,B、D、F組先提起再向前邁進,等B、D、F著地后,以B、D、F組為支撐組,將A、C、E組提起向前邁進,等A、C、E接觸到地面即完成了前進動作。后退動作,同理。
機器人向左轉的時候,以A、C、E足作為支撐組,B、D、F足先向上提起向左旋轉,然后放下,等著地后,以B、D、F足為支撐組,將A、C、E足先向上提起向左旋轉,然后下降著地,6條腿恢復到未旋轉時的發布狀態,完成向左旋轉動作,如圖7所示。同理,當向右轉時,以A、C、E足作為支撐組,B、D、F足先向上提起向右旋轉,然后放下,等著地后,以B、D、F足為支撐組,將A、C、E足先向上提起向右旋轉,然后下降著地,6條腿恢復到未旋轉時的發布狀態,完成向右的旋轉動作[2]。
以目前的工作能力,要實現完全意義上的仿生行走是有難度的,只能做到在保證平穩行走的基礎上稍微提高速度。在抬起的腿放下的過程中,支撐足同時增加一個向后蹬的動作,即多了一個向前移動的力,使整體行進速度略微加快。
本設計機器人具有6只足,在運動過程中如何保證各足運動協調,不僅是當前六足機器人領域研究的重要部分,也是實現前進和轉向的基礎。在整個六足機器人系統中,必須將控制系統和機械結構兩者有機結合才能獲得最佳的性能[3]。為了實現本設計的功能需要,必須滿足如表1所示的相關設計要求。

表1 設計要求
針對六足機器人的機械結構設計,搭建控制系統硬件部分電路板并繪制原理圖,設計軟件部分設計方案,繪制控制流程圖,編制主要功能的控制程序和代碼分析,最終完成了六足機器人控制系統的硬件設計和軟件設計。
2.2.1 驅動舵機選擇
當舵機接收控制信號時,舵機內部電路板將信號處理后輸入電位器,由電位器控制電機轉動的方向和速度。電機經過減速齒輪組放慢后,將扭矩傳遞到輸出軸,帶動舵機外部部件運動。舵機的輸出軸和位置反饋電位計是相連的,舵盤轉動帶動位置反饋電位計運轉,同時電位計將反饋一個比例電壓到控制電路板,然后控制電路板根據舵機輸出軸的位置決定電機的轉動方向和速度。經過這樣一個閉環反饋控制,到達預定舵機位置時停止轉動。舵機內部控制流程如圖8所示。
2.2.2 舵機PWM脈沖控制原理
脈沖寬度調制(Pulse Width Modulation,PWM)通過對一系列脈沖方波的寬度進行調制[4],獲得特定的模擬信號即數字編碼。只要帶寬足夠,任何信號都可以用PWM編碼[5]。設計采用的RDS3115舵機內部有一個基準電路,產生周期為20 ms、寬度為1.5 ms的基準信號控制信號。只要STM32芯片輸出周期20 ms的PWM方波,就能通過改變脈沖時長改變輸出軸轉角,直到提供另一個寬度的脈沖方波才會再次改變輸出軸角度。當脈沖時長為0.5~2.5 ms時,對應輸出軸的位置為0°~180°,也就是說該舵機轉動幅度不能超出180°,適合用于機器人關節等位置。
2.3.1 主程序設計
在控制系統電路板上電或復位后,控制系統要檢查整個控制系統硬件,并將各個模塊初始化,使機器人姿態復位為初始狀態。初始化主要包括全局變量初始化、指示燈和蜂鳴器初始化、定時器初始化、輸入輸出(Input/ Output,I/O)端口初始化以及機器人姿態初始化等過程。單片機通過藍牙遙控模塊或者通用串行總線(Universal Serial Bus,USB)串口電路接收指令,通過指令處理獲得相應的控制命令,如圖9所示。
2.3.2 前進與轉向控制
根據藍牙遙控軟件設計,串口收到的藍牙數據會在STM32單片機上轉化為一個數組,因此只需通過藍牙串口控制每一個舵機的狀態,就能滿足六足機器人的運動需要。
本仿生六足越障機器人設計分為機械結構設計和控制系統設計兩大部分。機械結構設計章節詳細介紹了對蜘蛛生理結構的觀察分析過程,完成了六足機器人機械結構設計和對運動步態的規劃。控制系統設計按照各部分的功能,分為STM32最小系統、動力模塊、運動模塊、存儲模塊、藍牙遙控模塊和軟件設計6個模塊,實現了對六足機器人的控制。