楊亮,王勇
(1.廣東工業(yè)大學 廣東 廣州 510006;2.電子科技大學 中山學院,廣東 中山 528402)
基于嵌入式平臺仿人機器人的設計與實現(xiàn)
楊亮1,2,王勇1
(1.廣東工業(yè)大學 廣東 廣州510006;2.電子科技大學 中山學院,廣東 中山528402)
針對仿人機器人制造成本高、控制難度大不利于進一步推廣應用的問題,提出了一種低成本的基于嵌入式平臺仿人機器人的設計方案,該方案通過3D打印的方式實現(xiàn)機器人機械結構,在控制方案上采用主從雙CPU的二級控制方式,主CPU采用ARM BCM2835,上面運行嵌入式Linux操作系統(tǒng),可通過usb攝像頭獲取圖像信息,支持WiFi網絡接入;主從CPU之間通過UART接口通訊。為實現(xiàn)穩(wěn)定步行,采用三次樣條離線規(guī)劃機器人步態(tài),并通過關節(jié)角度控制器實時跟蹤關節(jié)角度軌跡,實驗結果表明,采用本方案研制的仿人機器人能夠實現(xiàn)穩(wěn)定、協(xié)調的步行,具有成本低、易于推廣的優(yōu)點。
仿人機器人;3D打印;嵌入式系統(tǒng);PWM
仿人型機器人主要特指具備類人的外形外觀、類人的感覺系統(tǒng)、類人的智能思維方式、控制系統(tǒng)及決策能力的機器人[1]。與輪式機器人相比,仿人機器人采用雙足行走方式,具有更強的移動性能與越障能力,同時由于具有類人的外觀,因而更易融入人們的日常生活并替代人類在危險的特殊環(huán)境下工作,因此具有廣闊的應用前景;在理論研究方面,仿人機器人系統(tǒng)是一個內在不穩(wěn)定的系統(tǒng),其動力學特性具有多變量、非線性、強耦合和變結構等特點,因而極其復雜,此外,當機器人在高速行走運動過程中,容易產生振動現(xiàn)象并將影響機器人系統(tǒng)的穩(wěn)定性能[2],所以它是控制理論與工程領域很好的研究對象,對它的研究必將促進控制理論和控制技術的發(fā)展。
目前國內外學者已對仿人機器人進入了較為系統(tǒng)的研究,并取得了可喜的成果,本田公司于2000年首次研制成功的ASIMO機器人,目前其升級產品已能夠完成包括步行、轉彎、彈跳等在內的類人動作;索尼公司在2003年成功研制出第一臺具有跑步能力的QRIO機器人,當失去平衡時能夠通過降低電機轉速并調整姿勢以減小摔倒帶來的沖擊;法國Aldebaran Robotics公司研制的Nao仿人機器人擁有25個自由度,能夠通過超場波等傳感器實現(xiàn)障礙物檢測并主動繞行;美國密歇根州立大學控制系統(tǒng)實驗室的 J.W.Grizzle等人在RABBIT機器人的基礎上研制了新型平面仿人機器人MABEL[3],該機器人在腿部安裝了彈簧裝置,能夠將腳掌著地時的反作用力轉化為能量存儲,當腳掌離開地面時彈簧能夠及時釋放能量,從而提高跑步過程中的能量效率;清華大學陳懇、付成龍等人于2006年基于截面映射穩(wěn)定判據設計制造了THR-I仿人機器人,能夠實現(xiàn)周期為0.2秒的快速動態(tài)行走和初步的跑步運動。雖然仿人機器人領域已取得了較大進展,但由于仿人機器人機構復雜,制造成本普遍較高,目前大多數機器人還停留在實驗室的樣機研制階段,高昂的制造成本已成為仿人機器人的大規(guī)模應用亟待解決的問題。
針對以上問題,本文提出了一種基于嵌入式平臺的仿人機器人設計方案,該方案采用3D打印技術,將仿人機器分解成一個個單獨的小零件分別打印并組裝,能夠大幅降低機械結構的復雜程度,并降低成本,主從式CPU的雙層控制結構將使得系統(tǒng)具有良好的可擴展性。
1.1硬件方案設計
為達到較好的靈活性,共設計了17個自由度,其自由度分布圖如圖1所示。其中踝關節(jié)、髖關節(jié)、肩關節(jié)各兩個自由度,膝關節(jié)、肘關節(jié)各一個自由度。
圖1 仿人機器人連桿模型Fig.1 Connective link model of humanoid robot
本方案采用主從雙CPU兩級控制結構,其中BCM2835作為主控芯片,上面搭載嵌入式Linux操作系統(tǒng),能夠根據需要靈活擴展系統(tǒng)功能擴展,例如增加即插即用的usb攝像頭使其具備視覺信息采集的能力。從CPU采用mega16單片機,通過IO口采用17路PWM波進行17個舵機進行控制實現(xiàn)17路舵機控制,每個自由度由一個舵機控制,主從CPU之間通過UART接口通訊,其硬件框圖如圖2所示。
圖2 仿人機器人硬件框圖Fig.2 Hardware frame of humanoid robot
與其他基于單片機系統(tǒng)的仿足機器人不同,由于本系統(tǒng)采用嵌入式Linux平臺,因而具有良好的可擴展性,例如,通過增加usb接口的無線網上,經過配置即可接入WiFi網絡,使其具備無線通訊功能;另一方面,主從雙CPU的兩層控制結構使得控制單元與驅動單元分離,因而系統(tǒng)具有更好的魯棒性。
1.2機械結構設計
傳統(tǒng)仿人機器人通常由金屬制作而成,存在制造周期長、成本高、重量重等缺點,為減輕機器人整體重量,縮短生產周期,實現(xiàn)批量化生成,本方案采用3D打印機“打印”機器人的機械結構,3D打印是一種快速成型技術,能直接從計算機圖形數據中生成任何形狀的物體,依靠3D建模軟件完成外觀設計,借助切片軟件將3D模型轉化為打印的G-code指令,并通過3D打印機用易于液化、粉末化、絲化的固體材料逐層“打印”出產品,具有生產周期短、成本低、重量輕、適合批量生產等優(yōu)點。
其具體實現(xiàn)思路如下:將機器人按關節(jié)劃分成多個小的部件,例如將左腿分為腳掌、小腿、大腿3部分,使用舵機將腿掌、小腿、大腿各部分連接起來;再使用AutoCAD等3D圖像軟件按指定的尺寸大小設計出各部件的3D模型,并借助slice3r等切片軟件對模型進行切片處理,生成G-code指令,最后將G-code指令傳給3D打印機即可實現(xiàn)模型的快速成型;在完成各部件的3D打印后,通過舵機、連接線將各部分連接起來,形成完整的機器人本體,如圖3所示。
圖3 仿人機器人實物圖Fig.3 Schematic diagram of humanoid robot
舵機是機器人的動力執(zhí)行機構,通過驅動舵機可以達到控制機器人完成指定動作的目的,每個自由度對應一個舵機控制,由圖1可知,本機器人共有17個自由度,因此共有17個舵機。在硬件電路的實現(xiàn)上,由mega16單片機引出17個IO口與對應舵機相連,根據分時利用原理采用軟件的方式產生17路PWM波,實現(xiàn)多路舵機的控制。
2.1系統(tǒng)控制框圖
控制系統(tǒng)是機器人的核心,相對于“大腦”,其控制性能的好壞直接影響到步行的穩(wěn)定性及能量消耗的多少,為達到更好的穩(wěn)定性及控制效果,本文采用離線步態(tài)規(guī)劃與在線軌跡跟蹤的控制方式,其整體控制框圖如圖4所示。
圖4 基于ZMP穩(wěn)定判據的仿人機器人系統(tǒng)控制框圖Fig.4 Control diagram of humanoid robot system based on ZMP criterion
其中步態(tài)生成模塊采用3次樣條法,根據機器人各關鍵時刻的位姿信息成生穩(wěn)定裕度大的步態(tài),由生成的步態(tài)可計算出期望的ZMP軌跡以及各關節(jié)角角度軌跡;關節(jié)角度控制器采用PID算法實現(xiàn),主要負責跟蹤規(guī)劃的各關節(jié)角度軌跡。
2.2基于ZMP穩(wěn)定判據的步態(tài)生成算法
ZMP[4-5]穩(wěn)定判據是Vukobratovic于 1969年提出的用于判斷雙足機器人是否穩(wěn)定的判定條件,目前已成為應用最廣泛的雙足機器人的穩(wěn)定性判據之一。經過數十年的發(fā)展,它的表達形式為ZMP指地面上滿足地面反力的合力矩對x、y軸分量為零的那一點,若τzmp=(τx,τy,τz)表示由地面反力產生的繞ZMP的合力矩,則滿足τx=0、τy=0。該定義從仿人機器人支撐腳所受的地面作用力分析了機器人實際步行的穩(wěn)定性。將機器人各部分抽象成質量均勻的連桿模型,根據定義,機器人零力矩點的坐標可表示為:
其中,(xi,yi)為第i根連桿的坐標,mi為第 i根連桿的質量。
由文獻[4-5]可知當ZMP點在足底內部,則說明是穩(wěn)定的,越靠近足底中心,就越穩(wěn)定,當ZMP點在足底邊緣時,則有可能發(fā)生翻轉甚至摔倒。為準確度量機器人步行過程中的穩(wěn)定程度,本文采用ZMP穩(wěn)定裕度來衡量ZMP的穩(wěn)定程度,其計算公式如下所示。
其中,(xc,yc)為足底中心點位置坐標??紤]到雙足機器人需要滿足多種約束條件,文中根據機器人步行過程中的各關鍵時刻位姿信息(xi(t),yi(t),zi(t)),采用三次樣條插值規(guī)劃出踝關節(jié)及髖關節(jié)的軌跡[6]。
下面以髖關節(jié)為例,簡述過程:
Step 1:根據各關鍵時刻位姿信息得到給定的n+1個插值點(t0,f(t0))、(t1,f(t1))、…、(tn,f(tn))
Step 2:采用三次樣條插值方法得到區(qū)間[ti,ti+1]內函數的表達式:
其中,hi=ti+1-ti表示插值區(qū)間的寬度,而f(ti)、f(ti+1)分別為插值點ti+1及ti時刻的值,這里的f(ti)值為各關鍵時刻的位置信息。
Step 3:由于三次樣條函數二階可導,可得到三彎矩方程
Step 4:由邊界條件解出出式(3)中的M值,再將M值代回方程,從而得到各個時刻雙足機器人的步態(tài)。
考慮到各時刻的步態(tài)由幾個關鍵位姿信息決定,為得到穩(wěn)定裕度大的步態(tài),本文以式(2)的函數值盡量小為優(yōu)化目標,對整個周期步態(tài)的穩(wěn)定裕度進行尋優(yōu),使得生成的步態(tài)滿足ZMP穩(wěn)定判據。
2.3關節(jié)角度控制器的設計
關節(jié)角度控制器主要負責控制各關節(jié)按預設軌跡運動,只要各關節(jié)能夠較好的跟蹤預定的角度軌跡即能保證步行過程中的穩(wěn)定性。由圖4可知,關節(jié)角度控制器需要根據舵機的運動角度、角速度及角加速度計算得到ZMP誤差、各關節(jié)角度誤差、角速度誤差及角加速度誤差,根據以上誤差通過關節(jié)角度控制器最終輸出下一時刻需要轉動的角度。為得到舵機實際的運動角度,選用了Trossen Robotics公司的Dynamixel AX-12W航機,該舵機在夠提供16 Kg/cm的扭矩,并能提供角度、速度等反饋信號。
本方案采用PID控制算法對預定關節(jié)角度軌跡進行跟蹤,在得到關節(jié)角度、角度速度、角加速度等誤差后,由關節(jié)角度控制器輸出力矩到仿人機器人,控制各關節(jié)角度跟蹤預定軌跡[7]。由人類步行經驗可知,仿人機器人在步行過程中由單、雙腳支撐期交替組成,為提高控制效果,采用兩組PID參數kp=[kps,kpd],ki=[kis,kid],kd=[kds,kdd],分別對單、雙腳支撐期 PID控制器的比例、積分、微分系數矩陣[8]。
為驗證本方案提出的基于ZMP穩(wěn)定判據的步態(tài)生成算法,在Matlab7.11實驗環(huán)境對步行過程中常見的3種步態(tài)進行了仿真,3種步態(tài)分別是起步、周期步行、止步,其中每個周期為1.2 s,第一個周期為起步步態(tài),第二、三個周期為周期步行,第四個周期為止步步態(tài),整個步行過程共4.8 s。
本方案設計的仿人機器人結構相關參數如表1所示。
步行過程中ZMP軌跡分別如圖5所示。
其中,虛線部分為ZMP穩(wěn)定區(qū)域,實線表示y方向的ZMP軌跡,由圖5不難看出,采用本方案規(guī)劃的步態(tài)所計算出的ZMP軌跡均在穩(wěn)定區(qū)域內,具有較好的步行穩(wěn)定性。為驗證關節(jié)角度控制器的跟蹤性能[9],髂關節(jié)角度軌跡跟蹤圖如圖6所示,其中點劃線為規(guī)劃的髂關節(jié)軌跡,實線為實際跟蹤軌跡,由圖可看出,本方案設計的關節(jié)角度控制器能較好的跟蹤預定軌跡。
表1 仿人機器人的結構參數Tab.1 Structural parameters of humanoid robot
圖5 步行過程中y方向ZMP軌跡Fig.5 ZMP trajectory of y axis during humanoid walking
圖6 髖關節(jié)角度軌跡跟蹤圖Fig.6 The schematic diagram of tracking hip joint angle trajectory
本文詳細介紹了一種基于嵌入式平臺仿人機器人的設計方案。該方案采用3D打印技術,能夠在較低的成本下批量“打印”仿人機器人的機械結構,具有成本低[10]、設計-生產周期短的優(yōu)點,主從雙CPU的兩層控制結構降低了模塊間的耦合度,具有更好的可擴展性,實驗結果表明:本方案采用的步態(tài)生成算法具有軌跡平滑、穩(wěn)定裕度大的優(yōu)點。
[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].機器人,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]付根平.仿人機器人的步態(tài)規(guī)劃和步行控制研究[D].廣州:廣東工業(yè)大學,2013.
[7]付根平,楊宜民,陳建平,等.基于 ZMP誤差校正的仿人機器人步行控制[J].機器人,2013,35(1):39-44.
[8]東梁,李迪,粟明,等.連續(xù)軌跡平滑過渡控制算法研究[J].電子設計工程,2015(20):96-99.
[9]謝寧,畢俊熹,婁小平,等.融合多傳感信息的仿人機器人姿態(tài)解算[J].電子科技,2015(1):150-154.
[10]胡靜,姜大偉,王華振,等.基于一級倒立擺模型仿人機器人控制算法研究[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稿件編號:201504277
國家自然科學基金(61302115;61300095);廣東高校優(yōu)秀青年創(chuàng)新人才培養(yǎng)計劃項目(2013LYM0104);廣東省自然科學基金項目(S2013010015764;S2013010012307;S2012040011123);廣東省高等學校優(yōu)秀青年教師培養(yǎng)計劃項目(Yq2013204);中山市科技計劃項目(2013A3FC0278)
楊 亮(1980—),男,江西婺源人,碩士,講師。研究方向:智能機器人系統(tǒng)與技術、嵌入式系統(tǒng)。