楊亮,王勇
(1.廣東工業(yè)大學(xué) 廣東 廣州 510006;2.電子科技大學(xué) 中山學(xué)院,廣東 中山 528402)
基于嵌入式平臺(tái)仿人機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)
楊亮1,2,王勇1
(1.廣東工業(yè)大學(xué) 廣東 廣州510006;2.電子科技大學(xué) 中山學(xué)院,廣東 中山528402)
針對(duì)仿人機(jī)器人制造成本高、控制難度大不利于進(jìn)一步推廣應(yīng)用的問題,提出了一種低成本的基于嵌入式平臺(tái)仿人機(jī)器人的設(shè)計(jì)方案,該方案通過3D打印的方式實(shí)現(xiàn)機(jī)器人機(jī)械結(jié)構(gòu),在控制方案上采用主從雙CPU的二級(jí)控制方式,主CPU采用ARM BCM2835,上面運(yùn)行嵌入式Linux操作系統(tǒng),可通過usb攝像頭獲取圖像信息,支持WiFi網(wǎng)絡(luò)接入;主從CPU之間通過UART接口通訊。為實(shí)現(xiàn)穩(wěn)定步行,采用三次樣條離線規(guī)劃?rùn)C(jī)器人步態(tài),并通過關(guān)節(jié)角度控制器實(shí)時(shí)跟蹤關(guān)節(jié)角度軌跡,實(shí)驗(yàn)結(jié)果表明,采用本方案研制的仿人機(jī)器人能夠?qū)崿F(xiàn)穩(wěn)定、協(xié)調(diào)的步行,具有成本低、易于推廣的優(yōu)點(diǎn)。
仿人機(jī)器人;3D打??;嵌入式系統(tǒng);PWM
仿人型機(jī)器人主要特指具備類人的外形外觀、類人的感覺系統(tǒng)、類人的智能思維方式、控制系統(tǒng)及決策能力的機(jī)器人[1]。與輪式機(jī)器人相比,仿人機(jī)器人采用雙足行走方式,具有更強(qiáng)的移動(dòng)性能與越障能力,同時(shí)由于具有類人的外觀,因而更易融入人們的日常生活并替代人類在危險(xiǎn)的特殊環(huán)境下工作,因此具有廣闊的應(yīng)用前景;在理論研究方面,仿人機(jī)器人系統(tǒng)是一個(gè)內(nèi)在不穩(wěn)定的系統(tǒng),其動(dòng)力學(xué)特性具有多變量、非線性、強(qiáng)耦合和變結(jié)構(gòu)等特點(diǎn),因而極其復(fù)雜,此外,當(dāng)機(jī)器人在高速行走運(yùn)動(dòng)過程中,容易產(chǎn)生振動(dòng)現(xiàn)象并將影響機(jī)器人系統(tǒng)的穩(wěn)定性能[2],所以它是控制理論與工程領(lǐng)域很好的研究對(duì)象,對(duì)它的研究必將促進(jìn)控制理論和控制技術(shù)的發(fā)展。
目前國(guó)內(nèi)外學(xué)者已對(duì)仿人機(jī)器人進(jìn)入了較為系統(tǒng)的研究,并取得了可喜的成果,本田公司于2000年首次研制成功的ASIMO機(jī)器人,目前其升級(jí)產(chǎn)品已能夠完成包括步行、轉(zhuǎn)彎、彈跳等在內(nèi)的類人動(dòng)作;索尼公司在2003年成功研制出第一臺(tái)具有跑步能力的QRIO機(jī)器人,當(dāng)失去平衡時(shí)能夠通過降低電機(jī)轉(zhuǎn)速并調(diào)整姿勢(shì)以減小摔倒帶來的沖擊;法國(guó)Aldebaran Robotics公司研制的Nao仿人機(jī)器人擁有25個(gè)自由度,能夠通過超場(chǎng)波等傳感器實(shí)現(xiàn)障礙物檢測(cè)并主動(dòng)繞行;美國(guó)密歇根州立大學(xué)控制系統(tǒng)實(shí)驗(yàn)室的 J.W.Grizzle等人在RABBIT機(jī)器人的基礎(chǔ)上研制了新型平面仿人機(jī)器人MABEL[3],該機(jī)器人在腿部安裝了彈簧裝置,能夠?qū)⒛_掌著地時(shí)的反作用力轉(zhuǎn)化為能量存儲(chǔ),當(dāng)腳掌離開地面時(shí)彈簧能夠及時(shí)釋放能量,從而提高跑步過程中的能量效率;清華大學(xué)陳懇、付成龍等人于2006年基于截面映射穩(wěn)定判據(jù)設(shè)計(jì)制造了THR-I仿人機(jī)器人,能夠?qū)崿F(xiàn)周期為0.2秒的快速動(dòng)態(tài)行走和初步的跑步運(yùn)動(dòng)。雖然仿人機(jī)器人領(lǐng)域已取得了較大進(jìn)展,但由于仿人機(jī)器人機(jī)構(gòu)復(fù)雜,制造成本普遍較高,目前大多數(shù)機(jī)器人還停留在實(shí)驗(yàn)室的樣機(jī)研制階段,高昂的制造成本已成為仿人機(jī)器人的大規(guī)模應(yīng)用亟待解決的問題。
針對(duì)以上問題,本文提出了一種基于嵌入式平臺(tái)的仿人機(jī)器人設(shè)計(jì)方案,該方案采用3D打印技術(shù),將仿人機(jī)器分解成一個(gè)個(gè)單獨(dú)的小零件分別打印并組裝,能夠大幅降低機(jī)械結(jié)構(gòu)的復(fù)雜程度,并降低成本,主從式CPU的雙層控制結(jié)構(gòu)將使得系統(tǒng)具有良好的可擴(kuò)展性。
1.1硬件方案設(shè)計(jì)
為達(dá)到較好的靈活性,共設(shè)計(jì)了17個(gè)自由度,其自由度分布圖如圖1所示。其中踝關(guān)節(jié)、髖關(guān)節(jié)、肩關(guān)節(jié)各兩個(gè)自由度,膝關(guān)節(jié)、肘關(guān)節(jié)各一個(gè)自由度。
圖1 仿人機(jī)器人連桿模型Fig.1 Connective link model of humanoid robot
本方案采用主從雙CPU兩級(jí)控制結(jié)構(gòu),其中BCM2835作為主控芯片,上面搭載嵌入式Linux操作系統(tǒng),能夠根據(jù)需要靈活擴(kuò)展系統(tǒng)功能擴(kuò)展,例如增加即插即用的usb攝像頭使其具備視覺信息采集的能力。從CPU采用mega16單片機(jī),通過IO口采用17路PWM波進(jìn)行17個(gè)舵機(jī)進(jìn)行控制實(shí)現(xiàn)17路舵機(jī)控制,每個(gè)自由度由一個(gè)舵機(jī)控制,主從CPU之間通過UART接口通訊,其硬件框圖如圖2所示。
圖2 仿人機(jī)器人硬件框圖Fig.2 Hardware frame of humanoid robot
與其他基于單片機(jī)系統(tǒng)的仿足機(jī)器人不同,由于本系統(tǒng)采用嵌入式Linux平臺(tái),因而具有良好的可擴(kuò)展性,例如,通過增加usb接口的無線網(wǎng)上,經(jīng)過配置即可接入WiFi網(wǎng)絡(luò),使其具備無線通訊功能;另一方面,主從雙CPU的兩層控制結(jié)構(gòu)使得控制單元與驅(qū)動(dòng)單元分離,因而系統(tǒng)具有更好的魯棒性。
1.2機(jī)械結(jié)構(gòu)設(shè)計(jì)
傳統(tǒng)仿人機(jī)器人通常由金屬制作而成,存在制造周期長(zhǎng)、成本高、重量重等缺點(diǎn),為減輕機(jī)器人整體重量,縮短生產(chǎn)周期,實(shí)現(xiàn)批量化生成,本方案采用3D打印機(jī)“打印”機(jī)器人的機(jī)械結(jié)構(gòu),3D打印是一種快速成型技術(shù),能直接從計(jì)算機(jī)圖形數(shù)據(jù)中生成任何形狀的物體,依靠3D建模軟件完成外觀設(shè)計(jì),借助切片軟件將3D模型轉(zhuǎn)化為打印的G-code指令,并通過3D打印機(jī)用易于液化、粉末化、絲化的固體材料逐層“打印”出產(chǎn)品,具有生產(chǎn)周期短、成本低、重量輕、適合批量生產(chǎn)等優(yōu)點(diǎn)。
其具體實(shí)現(xiàn)思路如下:將機(jī)器人按關(guān)節(jié)劃分成多個(gè)小的部件,例如將左腿分為腳掌、小腿、大腿3部分,使用舵機(jī)將腿掌、小腿、大腿各部分連接起來;再使用AutoCAD等3D圖像軟件按指定的尺寸大小設(shè)計(jì)出各部件的3D模型,并借助slice3r等切片軟件對(duì)模型進(jìn)行切片處理,生成G-code指令,最后將G-code指令傳給3D打印機(jī)即可實(shí)現(xiàn)模型的快速成型;在完成各部件的3D打印后,通過舵機(jī)、連接線將各部分連接起來,形成完整的機(jī)器人本體,如圖3所示。
圖3 仿人機(jī)器人實(shí)物圖Fig.3 Schematic diagram of humanoid robot
舵機(jī)是機(jī)器人的動(dòng)力執(zhí)行機(jī)構(gòu),通過驅(qū)動(dòng)舵機(jī)可以達(dá)到控制機(jī)器人完成指定動(dòng)作的目的,每個(gè)自由度對(duì)應(yīng)一個(gè)舵機(jī)控制,由圖1可知,本機(jī)器人共有17個(gè)自由度,因此共有17個(gè)舵機(jī)。在硬件電路的實(shí)現(xiàn)上,由mega16單片機(jī)引出17個(gè)IO口與對(duì)應(yīng)舵機(jī)相連,根據(jù)分時(shí)利用原理采用軟件的方式產(chǎn)生17路PWM波,實(shí)現(xiàn)多路舵機(jī)的控制。
2.1系統(tǒng)控制框圖
控制系統(tǒng)是機(jī)器人的核心,相對(duì)于“大腦”,其控制性能的好壞直接影響到步行的穩(wěn)定性及能量消耗的多少,為達(dá)到更好的穩(wěn)定性及控制效果,本文采用離線步態(tài)規(guī)劃與在線軌跡跟蹤的控制方式,其整體控制框圖如圖4所示。
圖4 基于ZMP穩(wěn)定判據(jù)的仿人機(jī)器人系統(tǒng)控制框圖Fig.4 Control diagram of humanoid robot system based on ZMP criterion
其中步態(tài)生成模塊采用3次樣條法,根據(jù)機(jī)器人各關(guān)鍵時(shí)刻的位姿信息成生穩(wěn)定裕度大的步態(tài),由生成的步態(tài)可計(jì)算出期望的ZMP軌跡以及各關(guān)節(jié)角角度軌跡;關(guān)節(jié)角度控制器采用PID算法實(shí)現(xiàn),主要負(fù)責(zé)跟蹤規(guī)劃的各關(guān)節(jié)角度軌跡。
2.2基于ZMP穩(wěn)定判據(jù)的步態(tài)生成算法
ZMP[4-5]穩(wěn)定判據(jù)是Vukobratovic于 1969年提出的用于判斷雙足機(jī)器人是否穩(wěn)定的判定條件,目前已成為應(yīng)用最廣泛的雙足機(jī)器人的穩(wěn)定性判據(jù)之一。經(jīng)過數(shù)十年的發(fā)展,它的表達(dá)形式為ZMP指地面上滿足地面反力的合力矩對(duì)x、y軸分量為零的那一點(diǎn),若τzmp=(τx,τy,τz)表示由地面反力產(chǎn)生的繞ZMP的合力矩,則滿足τx=0、τy=0。該定義從仿人機(jī)器人支撐腳所受的地面作用力分析了機(jī)器人實(shí)際步行的穩(wěn)定性。將機(jī)器人各部分抽象成質(zhì)量均勻的連桿模型,根據(jù)定義,機(jī)器人零力矩點(diǎn)的坐標(biāo)可表示為:
其中,(xi,yi)為第i根連桿的坐標(biāo),mi為第 i根連桿的質(zhì)量。
由文獻(xiàn)[4-5]可知當(dāng)ZMP點(diǎn)在足底內(nèi)部,則說明是穩(wěn)定的,越靠近足底中心,就越穩(wěn)定,當(dāng)ZMP點(diǎn)在足底邊緣時(shí),則有可能發(fā)生翻轉(zhuǎn)甚至摔倒。為準(zhǔn)確度量機(jī)器人步行過程中的穩(wěn)定程度,本文采用ZMP穩(wěn)定裕度來衡量ZMP的穩(wěn)定程度,其計(jì)算公式如下所示。
其中,(xc,yc)為足底中心點(diǎn)位置坐標(biāo)??紤]到雙足機(jī)器人需要滿足多種約束條件,文中根據(jù)機(jī)器人步行過程中的各關(guān)鍵時(shí)刻位姿信息(xi(t),yi(t),zi(t)),采用三次樣條插值規(guī)劃出踝關(guān)節(jié)及髖關(guān)節(jié)的軌跡[6]。
下面以髖關(guān)節(jié)為例,簡(jiǎn)述過程:
Step 1:根據(jù)各關(guān)鍵時(shí)刻位姿信息得到給定的n+1個(gè)插值點(diǎn)(t0,f(t0))、(t1,f(t1))、…、(tn,f(tn))
Step 2:采用三次樣條插值方法得到區(qū)間[ti,ti+1]內(nèi)函數(shù)的表達(dá)式:
其中,hi=ti+1-ti表示插值區(qū)間的寬度,而f(ti)、f(ti+1)分別為插值點(diǎn)ti+1及ti時(shí)刻的值,這里的f(ti)值為各關(guān)鍵時(shí)刻的位置信息。
Step 3:由于三次樣條函數(shù)二階可導(dǎo),可得到三彎矩方程
Step 4:由邊界條件解出出式(3)中的M值,再將M值代回方程,從而得到各個(gè)時(shí)刻雙足機(jī)器人的步態(tài)。
考慮到各時(shí)刻的步態(tài)由幾個(gè)關(guān)鍵位姿信息決定,為得到穩(wěn)定裕度大的步態(tài),本文以式(2)的函數(shù)值盡量小為優(yōu)化目標(biāo),對(duì)整個(gè)周期步態(tài)的穩(wěn)定裕度進(jìn)行尋優(yōu),使得生成的步態(tài)滿足ZMP穩(wěn)定判據(jù)。
2.3關(guān)節(jié)角度控制器的設(shè)計(jì)
關(guān)節(jié)角度控制器主要負(fù)責(zé)控制各關(guān)節(jié)按預(yù)設(shè)軌跡運(yùn)動(dòng),只要各關(guān)節(jié)能夠較好的跟蹤預(yù)定的角度軌跡即能保證步行過程中的穩(wěn)定性。由圖4可知,關(guān)節(jié)角度控制器需要根據(jù)舵機(jī)的運(yùn)動(dòng)角度、角速度及角加速度計(jì)算得到ZMP誤差、各關(guān)節(jié)角度誤差、角速度誤差及角加速度誤差,根據(jù)以上誤差通過關(guān)節(jié)角度控制器最終輸出下一時(shí)刻需要轉(zhuǎn)動(dòng)的角度。為得到舵機(jī)實(shí)際的運(yùn)動(dòng)角度,選用了Trossen Robotics公司的Dynamixel AX-12W航機(jī),該舵機(jī)在夠提供16 Kg/cm的扭矩,并能提供角度、速度等反饋信號(hào)。
本方案采用PID控制算法對(duì)預(yù)定關(guān)節(jié)角度軌跡進(jìn)行跟蹤,在得到關(guān)節(jié)角度、角度速度、角加速度等誤差后,由關(guān)節(jié)角度控制器輸出力矩到仿人機(jī)器人,控制各關(guān)節(jié)角度跟蹤預(yù)定軌跡[7]。由人類步行經(jīng)驗(yàn)可知,仿人機(jī)器人在步行過程中由單、雙腳支撐期交替組成,為提高控制效果,采用兩組PID參數(shù)kp=[kps,kpd],ki=[kis,kid],kd=[kds,kdd],分別對(duì)單、雙腳支撐期 PID控制器的比例、積分、微分系數(shù)矩陣[8]。
為驗(yàn)證本方案提出的基于ZMP穩(wěn)定判據(jù)的步態(tài)生成算法,在Matlab7.11實(shí)驗(yàn)環(huán)境對(duì)步行過程中常見的3種步態(tài)進(jìn)行了仿真,3種步態(tài)分別是起步、周期步行、止步,其中每個(gè)周期為1.2 s,第一個(gè)周期為起步步態(tài),第二、三個(gè)周期為周期步行,第四個(gè)周期為止步步態(tài),整個(gè)步行過程共4.8 s。
本方案設(shè)計(jì)的仿人機(jī)器人結(jié)構(gòu)相關(guān)參數(shù)如表1所示。
步行過程中ZMP軌跡分別如圖5所示。
其中,虛線部分為ZMP穩(wěn)定區(qū)域,實(shí)線表示y方向的ZMP軌跡,由圖5不難看出,采用本方案規(guī)劃的步態(tài)所計(jì)算出的ZMP軌跡均在穩(wěn)定區(qū)域內(nèi),具有較好的步行穩(wěn)定性。為驗(yàn)證關(guān)節(jié)角度控制器的跟蹤性能[9],髂關(guān)節(jié)角度軌跡跟蹤圖如圖6所示,其中點(diǎn)劃線為規(guī)劃的髂關(guān)節(jié)軌跡,實(shí)線為實(shí)際跟蹤軌跡,由圖可看出,本方案設(shè)計(jì)的關(guān)節(jié)角度控制器能較好的跟蹤預(yù)定軌跡。
表1 仿人機(jī)器人的結(jié)構(gòu)參數(shù)Tab.1 Structural parameters of humanoid robot
圖5 步行過程中y方向ZMP軌跡Fig.5 ZMP trajectory of y axis during humanoid walking
圖6 髖關(guān)節(jié)角度軌跡跟蹤圖Fig.6 The schematic diagram of tracking hip joint angle trajectory
本文詳細(xì)介紹了一種基于嵌入式平臺(tái)仿人機(jī)器人的設(shè)計(jì)方案。該方案采用3D打印技術(shù),能夠在較低的成本下批量“打印”仿人機(jī)器人的機(jī)械結(jié)構(gòu),具有成本低[10]、設(shè)計(jì)-生產(chǎn)周期短的優(yōu)點(diǎn),主從雙CPU的兩層控制結(jié)構(gòu)降低了模塊間的耦合度,具有更好的可擴(kuò)展性,實(shí)驗(yàn)結(jié)果表明:本方案采用的步態(tài)生成算法具有軌跡平滑、穩(wěn)定裕度大的優(yōu)點(diǎn)。
[1]Hong Bing-rong,Gao Di,Piao Song-hao,et al.Development strategy for humanoid robot soccer[J].Journal of Harbin Institute of Technology,2008,15(2):6-8.
[2]黃元林,付成龍,王健美,等.雙足跑步機(jī)器人控制方法研究概述[J].機(jī)器人,2009,31(4):370-377.
[3]Sreenath K,Park H W,Poulakakis I,et al.A compliant hybrid zero dynamics controller for stable,efficient and fast bipedal walking on MABEL[J].The International Journal of Robotics Research,2011,30(9):1170-1193.
[4]Vukobratovi M,Borovac B.Zero-moment point—thirty five years of its life[J].International Journal of Humanoid Robotics,2004,1(1):157-173.
[5]Vukobratovi M,Borovac B,Potkonjak V.ZMP:A review of some basic misunderstandings[J].International Journal of Humanoid Robotics,2006,3(2):153-175.
[6]付根平.仿人機(jī)器人的步態(tài)規(guī)劃和步行控制研究[D].廣州:廣東工業(yè)大學(xué),2013.
[7]付根平,楊宜民,陳建平,等.基于 ZMP誤差校正的仿人機(jī)器人步行控制[J].機(jī)器人,2013,35(1):39-44.
[8]東梁,李迪,粟明,等.連續(xù)軌跡平滑過渡控制算法研究[J].電子設(shè)計(jì)工程,2015(20):96-99.
[9]謝寧,畢俊熹,婁小平,等.融合多傳感信息的仿人機(jī)器人姿態(tài)解算[J].電子科技,2015(1):150-154.
[10]胡靜,姜大偉,王華振,等.基于一級(jí)倒立擺模型仿人機(jī)器人控制算法研究[J].電子科技,2014(12):92-95.
The design and implementation of humanoid robot based on embedded system
YANG Liang1,2,WANG Yong1
(1.Guangdong University of Technology,Guangzhou 510006,China;2.University of Electronic Science and Technology of China Zhongshan Institute,Zhongshan 528402,China)
In view of the problems of high cost and hard to control in the practical application of humanoid robot,a solution of humanoid robot based on embedded system is proposed.In this solution,the mechanical structure is implemented by 3D printing and the control scheme based on master-slave CPUs is chosen.The master CPU is ARM BCM2835 chip,which runs Linux operating system and support image capture through usb camera and accessing WiFi network;The master CPU can communicate with the slave CPU via UART protocol.In order to achieve stable walk,the walk gaits are generated offline by cubic spline interpolation and a joint angle controller is constructed to track the desired trajectories.The experiment results show that the humanoid robot based on the presented solution can walk stably with natural gait,which is easier to be applied for the advantage of low-cost.
humanoid robot;3D printing;embedded system;PWM
TN709
A
1674-6236(2016)01-0124-04
2015-04-26稿件編號(hào):201504277
國(guó)家自然科學(xué)基金(61302115;61300095);廣東高校優(yōu)秀青年創(chuàng)新人才培養(yǎng)計(jì)劃項(xiàng)目(2013LYM0104);廣東省自然科學(xué)基金項(xiàng)目(S2013010015764;S2013010012307;S2012040011123);廣東省高等學(xué)校優(yōu)秀青年教師培養(yǎng)計(jì)劃項(xiàng)目(Yq2013204);中山市科技計(jì)劃項(xiàng)目(2013A3FC0278)
楊 亮(1980—),男,江西婺源人,碩士,講師。研究方向:智能機(jī)器人系統(tǒng)與技術(shù)、嵌入式系統(tǒng)。