張又元 王 琢 張子超 趙漢青 劉佳鑫 李丹丹*
(東北林業大學,黑龍江 哈爾濱150040)
常見的機器人運動方式有輪式、履帶式和足式,這三種運動方式各有優缺點,輪式移動效率最高,但是在較為崎嶇的地形上運行不便。相反足式機器人的越障能力明顯優于輪式機器人,但是運動效率較低無法快速移動。履帶式機器人雖然集成了前兩者的優點但是其結構復雜,比較笨重。結合輪式與足式特點設計輪腿復合式機器人可以協調不同腿的動作使機器人在高速行駛的基礎上增加一定的越障能力。其中美國密歇根大學研制的RHex 系列六足機器人較具有代表性。
本文以RHex 為設計藍本設計多輻條的六足機器人結構,在運行的穩定性以及速度上強于RHex,并通過仿真對機器人特性進行研究。
借鑒RHex[1-2]機器人的構造本文所設計的六足機器人機械結構分為機體部分和輪腿部分如圖1 所示。機體部分由鋁合金板材拼接而成,整體尺寸為818mm×427mm×156mm,內部裝有傳感器模塊、電機驅動模塊、控制電路和電源四部分。機身兩側對稱分布有六個直流電機為輪腿提供動力。其中位于中間的電機座分布較前后電機座分布向外平移一定寬度,這樣可以避免運動過程中中間輪腿與前后兩個輪腿相互阻礙導致電機堵轉。每個弧形單足半徑為122mm,弧長287.46mm,所對圓心角度為135°。電機聯軸器和弧形足均為鋼制,保證其耐久度。

圖1 多輻條弧形腿六足機器人結構示意圖
聯軸器設計大體為柱狀體,以軸心為交點的正交方向上分別開有四個卡槽用來安裝輻條連接件,每個輻條可以定制成不同弧度,使得機器人可隨機更換弧形輻條以及增加輻條數目,目前可實現六足六幅條,六足十二輻條以及六足二十四幅條三種工作形態,這樣可以有效提高機器人的運行速度和運行穩定性。
機器人的每個足的髖部由一個M3508 直流無刷減速電機驅動,該電機減速箱減速比為19:1,并配有相應的C620 驅動電調可實現正弦波驅動。
對于仿生類機器人,步態是指機器人的各個腿(足)按照一定的時間次序周期性擺動。研究步態前先明確如下幾個概念[3]:
(1)擺動相:腿(足)底離開地面邁步到再次落地之間的時間;
(2)支撐相:腿(足)底接觸地面承受重力的時間;
(3)步態周期:腿(足)完成一個完整步的時間;
(4)占空比:各個腿(足)處于支撐相的時間與步態周期的比值。
將機器人的六足按逆時針編號,如圖2 所示。人們研究發現多足生物的兩相行走過程可以使用彈簧倒立擺模型(SLIP 模型)來預測[4-5],筆者在哈爾濱工業大學對其正確性的驗證[6]基礎上增加多輻條設計并設計其運動步態。當每個足部安裝一個輻條或是兩個輻條時機器人的運動其實是模仿“六足綱”昆蟲移動。機器人每個輪腿只有一個髖部自由度,進行過程中采用異步步態中的三足交替步態[7]。這種步態常用于在較為平坦的路面上行走,每條腿的支撐相與擺動相比例約為1:1,占空比為50%。

圖2 輪腿編號
每個輪腿掛載一個輻條或者兩個輻條時將機器人運動狀態分為啟動態和運行態。因為確定好初始位姿后有助于運行態的步態分析,提高運行效率。同時還因為M3508 電機并不能獲得轉子的絕對位置。啟動態中設計了兩個動作,啟動時命令所有輪腿順時針慢速旋轉至弧形腿于地面相切并將其標記為第一個動作,此時分別記錄六個電機的位置編碼信息P1。隨后六足同時轉動克服機體自身重力做功至機器人站立并將其為第二個動作,這個動作要求各個電機相對各自的位置編碼P1逆時針旋轉π/2 到位置編碼P2處。
運行態中我們將6 足分為呈三角分布的兩組,1、3、5 號足為O1組,2、4、6 號足為O2組,工作狀態簡述如下:
(1)直線運行時一個步態周期前半周期中1、3、5 號足處于支撐相,2、4、6 號足向前擺動。
(2)后半周期兩組足交換工作,1、3、5 號足向前擺動,2、4、6號足處于支撐相。
但是在實際運動過程中,為了提高運作效率,還需分析兩組輪腿的配合過程。單個輪腿掛載一個輻條時O1組向前轉動的同時O2組以低于O1組的轉速轉動,保證在O1組輪腿與地面相切時,O2組輪腿足尖即將離開地面,這樣才能使得工作狀態切換平滑且減小對電機的沖擊。

圖3 一個輻條時工作狀態切換
單個輪腿掛載兩個輻條時,以O2組輪腿的弦與地面垂直且O1組的弦與地面水平為輪腿旋轉周期的起始點,兩組輪腿的相位差為π/2,當O1組輪腿向前擺動時,O2組輪腿也以同樣的轉速向前擺動但始終接觸地面來支撐機體,當O1組輪腿與地面相切時O2組輪腿足尖也即將離開地面從而實現工作狀態1)切換至工作狀態2)此后兩組輪腿的相位差始終保持π/2。
這時腿部所需力矩為:


圖4 切換時參數
計算得到T=2.6N·m 可認為電機在運作過程中持續以該扭矩輸出,而M3508 電機所能提供的持續最大扭矩3N·m 證實了設計的可行性,經綜合考慮可在每個輪腿的足底包裹海綿膠以此來吸收工作狀態1)和2)切換時地面的沖擊,并且對于每個電機單位采用PID 閉環控制以提高電機輸出能效比。當機器人單足掛載四個輻條時便可不必使用三足交替步態,可采用近似輪式控制方式的同步步態,這種情況將在控制難度上得以簡化并且運動效率和穩定性大幅提升。
當每個輪腿掛載1 個輻條或者2 個輻條時采用同步步態運動,將六個輪腿按前(F)、中(M)、后(B)分為三組,每次運動時同一組的左右兩邊的輪腿處于同一相(即同支撐相或同擺動相),以爬臺階為例,一個完整的工作狀態如下:
(1)F 組處于擺動相至Fl和Fr都接觸到臺階并運動至支撐相,這個過程中M組和B 組處于支撐相支撐機體。
(2)在(1)過程結束后,F 組與B 組處于支撐相支撐機體,M組重復(1)中F 組的工作流程。
(3)在(2)過程結束后,F 組與M組處于支撐相支撐機體,B組重復(2)中M組的工作流程。
當每個輪腿掛載四個輻條時便采用輪式機器人的控制方式,直接控制六個輪腿以某種轉速驅動機器人翻越障礙。
硬件電路系統設計主要分為控制電路部分和驅動電路部分。控制電路的主控芯片采用Cortex-M4 內核的STM32F407 系列32 位微處理器,該芯片擁有高達168MHz 主頻和1MB 閃存以及多路DMA 通道[8],并設計相應的外圍驅動電路。電機驅動電路采用C620 電調配合中心板。控制方案采用CAN 總線分布式控制[9]。C620 電調負責驅動M3508 電機的同時采集電機內部的霍爾傳感器數據得知電機轉子的轉速,位置和實際溫度并將這些信息通過CAN 總線回傳到STM32MCU 用于對于每個電機控制任務實現轉速閉環控制和轉速位置雙閉環控制。傳感器模塊通過IIC 總線和串行通信接口將姿態數據以及GPS 位置信息回傳到STM32MCU 進行姿態結算和狀態處理。
軟件設計以實時操作系統FreeRTOS[10]為平臺進行開發,因為該操作系統目標代碼小,簡單易用且免費開源,編程語言采用C 語言,總體分為通信模塊、電機控制模塊、數據解算模塊。再分別建立初始化任務、運動任務、串口通信任務、傳感器數據獲取任務等,從而實現機器人的常規實時運動管理和環境信息獲取及處理,實現平地行走及障礙翻越功能。
3.2.1 通信模塊。在電路設計時執行機構的驅動電路以及一些外設的驅動電路沒有集成在主控電路上,而是獨立封裝的電調和獨立的驅動電路。所以對于電機的控制方式和其他執行器控制采用收發命令的方式,通信任務將自動接收總線上的命令并通過相應的協議將控制命令發送至總線上。
3.2.2 電機控制模塊。將機器人身上的電機控制方式分為兩類:速度控制和角度控制,對于速度控制采用經典的增量式PID[11],而角度控制則采用串級PID 控制[12]并將六個電機單元抽象為統一的對象,為每個對象開辟獨立內存空間用于存放電機運行參數以及控制運算時的參數。
3.2.3 數據解算模塊。因為機器人系統中的執行器控制協議不一,因此需要有針對不同協議的數據解算過程,編寫相應的程序為了各個任務以及主程序獲取不同類別執行器的反饋信息以及向發送模塊傳送不同執行器的控制命令。
每個任務通過調用以上三個模塊來完成相應的邏輯,方便了單獨任務的程序編寫,降低任務與任務之間的耦合程度。
筆者在Solidworks 軟件中對單個輪腿掛載一個輻條的工作情況進行直線運動仿真,其結果截圖如圖5。

圖5 仿真截圖
筆者在Solidworks 軟件中對單個輪腿掛載兩個輻條的工作情況進行直線運動仿真,其結果截圖如圖6。
仿真結果驗證了本文步態規劃的正確性和合理性。
以RHex 機器人為設計藍本,本文設計的輪腿式機器人吸收RHex 機器人的優點同時設計出可更換輪腿輻條數目的新型六足機器人,結合輪式與腿式機器人的優點,可根據不同應用場合掛載不同數目的輻條以便獲得最高的運動效率和穩定性并且該機器人結構簡單易于維護。同時在SolidWorks 中對所設計的機器人進行了運動仿真,驗證了本文所提出的機器人步態規劃的可行性。可對機械結構和安全防護方面做深一步研究使之應用到小型林場巡檢,地質勘探等領域。

圖6 仿真截圖