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