摘 要: 采用自主設(shè)計(jì)的PCB板和CDS5401舵機(jī)設(shè)計(jì)了一種雙足競(jìng)步機(jī)器人,,開發(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),。最后,,將所開發(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ī)器人,、娛樂機(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)板隔開,,舵機(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)行,??刂葡到y(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ī)器人,、娛樂機(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.