摘 要: 采用自主設計的PCB板和CDS5401舵機設計了一種雙足競步機器人,開發了基于ATmega88的機器人控制系統,基于仿生學原理的步態規劃確定了機器人的運動序列。所設計的控制系統不僅操作簡單,運行穩定可靠,而且人機交互界面友好,再擴展性強。最后,將所開發的機器人運用于中國機器人大賽雙足競步機器人比賽,取得了優異成績。
關鍵詞: 雙足競步機器人;PCB板;ATmega88;CDS5401舵機;Delphi
0 引言
雙足步行機器人是機器人領域中的一個熱點研究課題[1-2]。其不僅質量輕、能耗小、動作靈活,而且具有很強的環境適應性,相對于輪式、履帶式機器人具有更大的優勢,如可以進入狹隘的空間進行工作,也可以跨越障礙、上下臺階、斜坡及在不平整地面上工作[3]。
雙足機器人是一個自由度多、結構復雜、耦合性強的非線性系統,因此,實現其穩定的步行控制是雙足機器人研究中的熱點和難點。目前,穩定步行控制的方法主要有基于ZMP的步行控制、基于裸關節力矩的步行控制、基于傳感器補償的步行控制、基于改變落腳點的步行控制等。而人類雙足步行是在生物進化史中得出的最高效的移動方法,自動化程度最高,也最為復雜,因此基于仿生學原理的步行控制具有穩定、可靠的優點。本文基于仿生學原理進行機器人的步行控制,在控制器和機械結構方面提出了許多新穎、獨特的設計方法使所設計的機器人具有很好的穩定性,且系統可靠、易于調試。特別地,所設計的機器人在2013年中國機器人大賽雙足競步機器人比賽項目中獲得了全國一等獎的好成績,充分體現了本設計的先進性。
本文的主要目的是以中國機器人大賽雙足競步機器人項目為背景,自主設計一款6自由度的雙足競步機器人,研究雙足競步機器人的機械結構、控制系統、步態規劃以及控制程序的編寫和調試,最終實現雙足競步機器人的穩定行走和向前向后翻跟斗的功能。該機器人控制系統采用自主設計的PCB板和CDS5401舵機為機械結構的主要材料,控制系統以ATmega88為控制核心,輸出6路PWM波驅動CDS5401舵機,基于仿生學原理進行步態規劃,并使用Delphi設計了人機界面,實現了雙足競步機器人比賽要求的規定動作及更高難度的動作。該系統控制精度高、便于調試、抗干擾性強,而且可擴展為控制多舵機的模塊系統,可應用于工業機械臂、服務機器人、娛樂機器人以及相關領域的控制。
1 機械機構的設計
1.1 機械結構材料的選擇
根據中國機器人大賽的要求,機器人的總重量不超過1 kg,所需的材料需要滿足密度小、剛度高、便于加工等特點[4]。鑒于PCB板具有硬度高、質量輕、可塑性好等特點,本文選擇PCB板作為雙足競步機器人的機械設計材料。與其他選擇鋼板或鋁板作為機械材料的機器人,其優勢如下:
(1) 可以將控制系統嵌入到PCB板中,避免了在機械結構上外加控制系統而導致的系統不穩定、累贅,影響雙足競步機器人行走或翻跟斗動作的流暢度等缺點。
(2) 直接用焊錫就可以將各個關節連接,省去了螺母、連接桿等器件,既簡化了雙足競步機器人的機械結構,也減輕了雙足競步機器人的質量。
(3) PCB板便于加工,價格便宜。
1.2 機械結構的設計
本文將雙足競步機器人的機械結構分成軀干部、胯部、膝部、腳部四部分。
(1) 腳部機械結構的設計
本文設計的機器人腳板長寬為149 mm×59 mm,比參賽要求的最大值分別小1 mm。同時,在保證腳板剛度和強度的情況下,將腳板鏤空,以降低腳部機械結構的重量。為了保證機器人具有足夠大的驅動力矩,本文設計的雙足競步機器人將舵機和腳板以垂直的方式進行連接。
(2) 膝部機械結構的設計
膝關節在機器人行走的過程中負責向前跨步和輔助調節機器人重心的位置,為了避免膝關節部分的舵機成為多余的負載,本文將舵機的安裝位置上移,膝部的舵機與機器人軀干串聯[5]。同時,為了減輕雙足競步機器人的質量,在保證機器人強度和剛性的情況下,也將其關節的連接板塊進行鏤空處理。
(3) 胯部機械結構的設計
胯部機械結構是髖關節自由度的載體,在機器人行走時負責保持上體直立和輔助平衡。為了防止機器人行走和翻跟斗時兩腿之間發生碰撞,其胯部舵機不直接與軀干部的舵機相連接,以一塊結構板隔開,舵機串聯在結構板上。
(4) 軀干部機械結構的設計
本文將軀干部的側向控制板設計成雙直板結構,以保證雙足機器人進行前翻滾和后翻滾時不發生偏轉。
1.3 自由度的配置
雙足競步機器人只能依靠電機來驅動各個關節運動,而且比賽要求最多只能用6個舵機,所以本文將雙足競步機器人的6個自由度配置為每條腿3個,每條腿的3個自由度配置為:髖關節1個自由度,膝關節1個自由度,踝關節1個自由度。
髖關節處的自由度是一個控制前向運動的自由度,在雙足競步機器人的步行中起到使機器人保持直立和輔助平衡的作用。
膝關節的自由度也是一個控制前向運動的自由度,主要用來調節雙足競步機器人向前走動并且使得雙足競步機器人的步態不生硬。
踝關節的自由度是控制側向運動的自由度,用來控制雙足競步機器人的側向運動,調整機器人的重心位置,以保持雙足競步機器人的穩定行走。
本文設計的機械結構如圖1~圖3所示。
2 控制系統設計
2.1 原器件選型
CDS5401舵機是專業的小型伺服電機,扭矩大,速度快,運行的環境溫度和工作范圍廣,適合作為雙足競步機器人的驅動電機,因此本文選擇CDS5401舵機作為控制系統的驅動。
ATmega88 單片機不僅速度快、主頻高,而且片上外設非常豐富,使得單片機的外圍電路變得簡潔,因此選擇ATmega88單片機作為控制芯片[6]。另一方面,ATmega88的工作電壓為5 V,可以直接輸出5 V的PWM波來驅動舵機,省去了舵機驅動電路,使得系統的穩定性更高。
2.2 控制方案設計
本文運用8位AVR單片機ATmega88作為控制器,具體的控制方案如下:
(1) 在下位機軟件應用分時成組法,利用ATmega88內部的定時器結合中斷功能產生6路PWM波來控制6個舵機的運動;
(2) 基于仿生學原理進行步態規劃,根據各關節的步態軌跡建立行為數據庫;
(3) 用Delphi編寫6路PWM的上位機程序,得到雙足競步機器人的人機交互界面;
(4) 根據步態規劃得到的行為數據庫,在上位機界面上調試出雙足競步機器人的動作序列,實現雙足競步機器人行走和翻跟斗的功能。
控制系統結構如圖4所示。
3 控制系統設計
基于仿生學原理,將運用實驗的方法得到雙足競步機器人的運動序列。通過大量的實驗,獲得不同實驗者的步態,然后進行分析整理,得到最穩定合理的步態。然后將其制作成人類行走的慢速動畫,動畫的每一幀圖片就是雙足競步機器人的動作序列。動畫模擬雙足競步機器人的動作序列可分為兩部分:
(1) 右定左動行走:當右腳為支撐腳,左腳為擺動腳時,邁左腳行走動作的序列。
(2) 左定右動行走:當左腳為支撐腳,右腳為擺動腳時,邁右腳行走的動作序列。
根據實驗,可以建立出雙足競步機器人的行為數據庫(即行走時的動作序列),其行走可以看作單腳支撐期和雙腳支撐期的交替。
根據以上考慮,為了實現穩步競走(左腿先起步),規劃雙足競步機器人行走時的行為數據庫(動作序列)為:重心右移(先是右腿支撐)、左腿抬起、左腿放下、重心移到雙腿中間、重心左移、右腿抬起、右腿放下、重心移到雙腿間8個階段。
本文設計的雙足競步機器人可滿足中國機器人大賽要求,完成大賽指定的向前/向后行走、翻跟斗等功能。根據仿生學原理建立的行為數據庫,可得出雙足機器人實際行走的序列。
(1) 行走的動作序列
雙足競步機器人的行走可分為右定左動邁步動作和左定右動邁步動作。行走動作序列可細分直立、右傾、抬左腿、左腿落地、左傾調整、左傾、抬右腿、右腿落地。
(2) 前滾翻動作
前滾翻動作的動作序列可細分為直立、下彎、臥倒、抬右腿、右腿落地、抬左腿、左腿落地、直立。
(3) 后滾翻動作
后滾翻的動作序列可細分為直立、后彎、后臥倒、抬右腿、右腿落地、抬左腿、左腿落地、直立。
4 控制程序實現
4.1 下位機程序
本文選擇2.5 ms為一個時間片,將20 ms的PWM周期進行等分,分成8等份,最多可以同時輸出8路PWM波。由于本文設計的雙足競步機器人只有6個舵機,只需6路PWM波,因此為方便雙足競步機器人動作序列的載入,最后兩個時間片段空運行。控制系統的總流程如圖5所示。
4.2 上位機程序
本系統的人機交互界面如圖6所示,其主要功能如下:
(1) 可設置雙足競步機器人左上、左中、左下、右上、右中、右下6個舵機角度。
(2) 可設置機器人行走的速度。
(3) 可添加、插入、刪除單個動作元素,動作元素可自行名字。
(4) 可以自行組合和命名動作序列。
(5) 可在彈出窗口中放置窗口控制功能鍵,使彈出窗口可以最小(大)化,及任意移動窗口。
(6) 可直接通過數據的接收區和發送區觀測到數據收發狀況。
(7) 可通過設置“即時更新”和“自動行走”執行單個動作元素、一組或多組動作序列。
5 結論
本文提出采用PCB板作為主要材料的雙足競步機器人機械結構的設計,并設計了基于ATmega88和 Delphi的多舵機協調控制系統,實現了雙足競步機器人行走、向前向后翻跟斗以及倒立等功能。該系統不僅穩定、精確、便于調試、抗干擾性強,而且具有很好的人機交互界面和再擴展功能,可推廣到工業機械臂、服務機器人、娛樂機器人以及相關領域的多舵機協調控制。
本文所設計的雙足競步機器人成功參加了2013年中國機器人大賽,并取得了優異成績。
參考文獻
[1] 彭勝軍, 稅海濤, 楊慶, 等. 雙足步行機器人的步態規劃及實現[J]. 信息與控制, 2010,39(6):783- 789.
[2] 阮曉鋼, 李志謙. 基于CMAC的雙足步行機器人逆運動學控制[J]. 控制工程, 2009,16(5):623- 626.
[3] 畢盛, 閔清華, 溫正東, 等. 雙足步行機器人控制電路設計與實現[J]. 科學技術與工程, 2010,31(10):7661-7664.
[4] 范強. 雙足競步機器人設計及其步態規劃研究[D]. 淄博:山東理工大學, 2009.
[5] 史耀強. 雙足機器人的步行仿真及實驗研究[D]. 上海: 上海交通大學, 2008.
[6] 劉海峰, 王娜. 用AVR單片機實現步行機器人的設計[J]. 科技信息, 2011(21):465- 466.