本發(fā)明屬于機(jī)器人技術(shù)領(lǐng)域,具體地說,涉及一種Nao機(jī)器人步態(tài)規(guī)劃遺傳算法。
背景技術(shù):
國(guó)外早期機(jī)器人是基于全身協(xié)調(diào)運(yùn)動(dòng)控制法建設(shè)仿人機(jī)器人,代表產(chǎn)品為早稻田大學(xué)高西淳夫研究室的WABIAN系列仿人機(jī)器人WABIAN-2。而后配置電控一體化調(diào)節(jié)器ISA,其轉(zhuǎn)矩及反向運(yùn)轉(zhuǎn)性能均有較大的改善,代表產(chǎn)品為索尼公司開發(fā)的世界首臺(tái)跑步機(jī)器人QRIO。借著采用無線通訊的控制方式并不斷優(yōu)化實(shí)現(xiàn)以伺服電機(jī)、同步齒形帶、諧波齒輪作為驅(qū)動(dòng),代表產(chǎn)品為本田公司依據(jù)I-WALK步行控制策略研制出仿人機(jī)器人ASIMO。目前能實(shí)現(xiàn)運(yùn)動(dòng)能力、視覺、聽覺和語言能力,實(shí)現(xiàn)特征識(shí)別追蹤以及行進(jìn)過程中的交流能力,代表產(chǎn)品為韓國(guó)先進(jìn)科技研究所的KHR-3仿人機(jī)器人HUBO。
國(guó)內(nèi)研究及發(fā)展動(dòng)態(tài):清華大學(xué)基于新型理論步行補(bǔ)償算法研制出具有自主知識(shí)產(chǎn)權(quán)的仿人機(jī)器人THBIP-I,通過對(duì)于其伺服系統(tǒng)控制性能的優(yōu)化改善,該型機(jī)器人能夠?qū)崿F(xiàn)動(dòng)作的連續(xù)性、穩(wěn)定性,并可完成無纜簡(jiǎn)單動(dòng)作;哈爾濱工業(yè)大學(xué)研制的H1T-1、H1T-II和H1T-III。HIT-1等機(jī)器人,可完成動(dòng)態(tài)、靜態(tài)步行動(dòng)作;同時(shí),國(guó)防科技大學(xué)研制的“先行者”機(jī)器人在完成無纜行走的同時(shí),亦可高效實(shí)現(xiàn)人體動(dòng)作的仿真;北京理工大學(xué)研制成功的BHR-2機(jī)器人對(duì)于步態(tài)規(guī)劃過程中通過對(duì)于步長(zhǎng)、步行周期等的控制更是實(shí)現(xiàn)了仿人機(jī)器人復(fù)雜動(dòng)作設(shè)計(jì)技術(shù)上的突破——在線軌跡規(guī)劃和步行調(diào)整,對(duì)于我國(guó)仿真機(jī)器人的發(fā)展起到了極大地推動(dòng)作用,提升我國(guó)仿真機(jī)器人研究整體水平。
雙足機(jī)器人的行走具有不穩(wěn)定性與很大的靈活性,而雙足機(jī)器人的穩(wěn)定性對(duì)于穩(wěn)定周期步行運(yùn)動(dòng)的實(shí)現(xiàn)起到重要的基礎(chǔ)性作用,因此對(duì)雙足機(jī)器人步態(tài)規(guī)劃及其穩(wěn)定性控制研究就具有相當(dāng)?shù)默F(xiàn)實(shí)意義。
遺傳算法是通過借鑒生物自然選擇和遺傳機(jī)制過程中的繁殖、交叉和變異,不斷隨機(jī)化搜索直到滿足規(guī)定的收斂指標(biāo)為止。該算法計(jì)算簡(jiǎn)單,功能強(qiáng)大,魯棒性強(qiáng)。
遺傳算法GA即Genetic Algorithm,為模仿生物進(jìn)化過程的結(jié)構(gòu)型的隨機(jī)搜索算法,GA算法對(duì)于機(jī)器人步態(tài)的優(yōu)化有著重要的作用,基于優(yōu)化的遺傳算法可以使其檢索計(jì)算量大大簡(jiǎn)化,在檢索效率提升的同時(shí),收斂性也有著較大改觀。對(duì)于空間二進(jìn)制遺傳算法的優(yōu)化具體指的是將可行解由整體交叉變異形式轉(zhuǎn)化為空間染色體各維度層次上,即每個(gè)變量對(duì)應(yīng)的二進(jìn)制編碼段上分別進(jìn)行交叉變異,極大提升精度及收斂。
現(xiàn)有技術(shù)中急需一種Nao機(jī)器人步態(tài)規(guī)劃遺傳算法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種Nao機(jī)器人步態(tài)規(guī)劃遺傳算法,以RoboCup機(jī)器人世界杯的標(biāo)準(zhǔn)平臺(tái)NAO機(jī)器人作為研究對(duì)象,對(duì)其步態(tài)規(guī)劃研究,采用七連桿結(jié)構(gòu)模型分析,模擬機(jī)器人的下肢運(yùn)動(dòng)過程,并改進(jìn)、優(yōu)化現(xiàn)有智能算法,最后結(jié)果表明可增強(qiáng)機(jī)器人步態(tài)控制的穩(wěn)定性。
其具體技術(shù)方案為:
一種Nao機(jī)器人步態(tài)規(guī)劃遺傳算法,包括以下步驟:
步驟1、首先確定空間染色體選型,并進(jìn)行初始化:對(duì)Nao機(jī)器人的步行瞬時(shí)重心運(yùn)動(dòng)分析,可以由一系列的參數(shù)表示而成,從而行走的步態(tài)規(guī)劃為瞬時(shí)參數(shù)的集合:
Qi={qb,qf,θi,Tc,Td}
其中,行走腳腳掌離地時(shí)與地面的夾角為qb,行走腳腳掌著地時(shí)與地面
的夾角為qf,腳掌與膝蓋的夾角為θi,行走周期為Tc,雙腿支撐周期為Td;
步驟2、進(jìn)行對(duì)應(yīng)步行軌跡的變換,基于逆運(yùn)動(dòng)學(xué)理論對(duì)于Nao機(jī)器人關(guān)節(jié)結(jié)構(gòu)角度進(jìn)行計(jì)算;同時(shí),對(duì)于確定狀態(tài)下機(jī)器人ZMP、重心位置信息和行走腳在坐標(biāo)系中的傾角進(jìn)行穩(wěn)定性評(píng)價(jià),并依據(jù)適應(yīng)度函數(shù)計(jì)算染色體對(duì)應(yīng)的適應(yīng)度值f;
Nao機(jī)器人的步態(tài)規(guī)劃主要與確定狀態(tài)下機(jī)器人ZMP、重心位置信息、行走腳在坐標(biāo)系中的傾角有關(guān),根據(jù)對(duì)于遺傳算法的分析,本發(fā)明采用的適應(yīng)度函數(shù)如下:
f=1÷[λ1q(T)+λ2n+λ3α(T)]
其中:λ1、λ2、λ3分別為確定狀態(tài)下機(jī)器人ZMP、重心位置信息和行走腳在坐標(biāo)系中傾角的權(quán)重系數(shù),q(T)為行走穩(wěn)定性,α(T)為行走腳在坐標(biāo)系中的傾角;
步驟3、進(jìn)行空間染色體間的雜交運(yùn)算及變異運(yùn)算,并通過遺傳算法的迭代計(jì)算至收斂,獲得最優(yōu)插值參數(shù);并且,運(yùn)用Nao機(jī)器人的相應(yīng)開發(fā)工具和編譯軟件,可確保實(shí)現(xiàn)Nao機(jī)器人運(yùn)動(dòng)步態(tài)的規(guī)劃和穩(wěn)定控制。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
本發(fā)明以NAO機(jī)器人作為研究對(duì)象,對(duì)其下肢建立七連桿模型,并對(duì)NAO機(jī)器人的步態(tài)進(jìn)行深入的分析、規(guī)劃與優(yōu)化,主要采用遺傳算法對(duì)步態(tài)控制參數(shù)進(jìn)行優(yōu)化,用以控制NAO機(jī)器人的雙腿運(yùn)動(dòng),實(shí)驗(yàn)結(jié)果表明NAO機(jī)器人能夠很好地控制直立行走的穩(wěn)定性,實(shí)現(xiàn)了有效的步行動(dòng)作,以保證NAO機(jī)器人在行進(jìn)過程中能夠同時(shí)執(zhí)行其他更高級(jí)的動(dòng)作。
附圖說明
圖1為NAO機(jī)器人七連桿模型的結(jié)構(gòu)示意圖,其中,圖1a為側(cè)視圖,圖1b為后視圖;
圖2為10自由度NAO機(jī)器人的自由度配置;
圖3為單個(gè)步態(tài)周期內(nèi)腳掌運(yùn)動(dòng)過程;
圖4為關(guān)節(jié)空間位置、速度、加速度的軌跡規(guī)劃結(jié)果;
圖5為關(guān)節(jié)空間動(dòng)力學(xué)分析結(jié)果。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)地說明。
1Nao機(jī)器人下肢的七連桿模型
對(duì)于Nao機(jī)器人的運(yùn)動(dòng)學(xué)建模分析考慮到其主要構(gòu)成要素為連桿及關(guān)節(jié),尤其是其下肢10自由度的關(guān)節(jié)對(duì)于其建模分析尤為關(guān)鍵,故運(yùn)用數(shù)學(xué)建模的方法,對(duì)Nao機(jī)器人的下肢各個(gè)關(guān)節(jié)建立數(shù)學(xué)模型;簡(jiǎn)化問題,并做出較為準(zhǔn)確的計(jì)算,運(yùn)用整體化思想,將NAO機(jī)器人上部頭干部位與軀干視為整體考慮,將雙足機(jī)器人簡(jiǎn)化為一個(gè)七連桿結(jié)構(gòu),包含軀干、大腿、小腿、腳,如圖1所示。將機(jī)器人任意相鄰關(guān)節(jié)之間的部分等效為形狀規(guī)則、質(zhì)量均勻的剛體,兩剛體之間通過關(guān)節(jié)相連,且連桿的質(zhì)點(diǎn)位于桿的幾何位置的中心。圖1中P0是軀干的頂點(diǎn),P1表示兩個(gè)骸關(guān)節(jié)的中心位置,P2和P3分別表示左骸與右骸的中心點(diǎn),P4和P5分別表示左膝與右膝的中心點(diǎn),P6和P7分別表示左踩與右踩的中心點(diǎn),P8和P9分別表示左腳與右腳的中心點(diǎn)。NAO機(jī)器人的七連桿模型設(shè)定10個(gè)自由度,其中踩關(guān)節(jié)2個(gè),分別是滾轉(zhuǎn)自由度與俯仰自由度;膝關(guān)節(jié)1個(gè)俯仰自由度;骸關(guān)節(jié)2個(gè),分別是俯仰自由度、滾轉(zhuǎn)自由度。并對(duì)各個(gè)角度進(jìn)行定義如下(如圖2所示):
分別為左骸和右骸俯仰方向的轉(zhuǎn)角,大腿前伸的方向?yàn)檎辉试S范圍為-20度到70度。
分別為左骸和右骸滾轉(zhuǎn)方向的轉(zhuǎn)角,大腿外伸的方向?yàn)檎?;允許范為-30度到30度。
分別為左膝和右膝俯仰方向的轉(zhuǎn)角,膝蓋彎曲的方向?yàn)檎?;允許范圍為0度到90度。
分別為左踩和右踩俯仰方向的轉(zhuǎn)角,小腿向前傾斜的方向?yàn)檎?;允許范圍為-60度到60度。
分別為左踩和右踩滾轉(zhuǎn)方向的轉(zhuǎn)角,設(shè)小腿向外偏轉(zhuǎn)的方向?yàn)檎?;允許范圍為-30度到30度。
在實(shí)際的機(jī)器人的結(jié)構(gòu)中,各個(gè)自由度是由不同的電機(jī)驅(qū)動(dòng)的,所以踩部有兩個(gè)電機(jī),骸部需要三個(gè)電機(jī)。為了計(jì)算的方便,我們?cè)诮⒛P蜁r(shí),認(rèn)為踩關(guān)節(jié)的兩個(gè)電機(jī)的轉(zhuǎn)軸是相交于踩關(guān)節(jié)的中心點(diǎn),骸關(guān)節(jié)的三個(gè)轉(zhuǎn)軸所在的直線相交于骸關(guān)節(jié)的中心點(diǎn)。
2Nao機(jī)器人步態(tài)動(dòng)態(tài)穩(wěn)定性判據(jù)
對(duì)于Nao機(jī)器人的步行運(yùn)動(dòng)進(jìn)行分解研究,腳步通過交替地與地面發(fā)生相互作用(單腳支撐、雙腳支撐)實(shí)現(xiàn)周期性的前進(jìn)。Nao機(jī)器人步態(tài)規(guī)劃研究的重點(diǎn)在于與地面相互支撐作用穩(wěn)定性的保證。本發(fā)明將研究重點(diǎn)放在“零力矩點(diǎn)”這一定動(dòng)態(tài)穩(wěn)定性指標(biāo),并將其作為Nao機(jī)器人步態(tài)穩(wěn)定性判定的判據(jù)。
零力矩點(diǎn)ZMP(Zero Moment Point)是南斯拉夫?qū)W者Vukobratovic(1969年)提出的機(jī)器人穩(wěn)定性判據(jù)。ZMP是指地面上的一點(diǎn),地面反作用力在此點(diǎn)等效力矩的水平分量為零,當(dāng)給定機(jī)器人各個(gè)關(guān)節(jié)的運(yùn)動(dòng)軌跡后,可以通過公式計(jì)算出ZMP的運(yùn)動(dòng)軌跡。若機(jī)器人在整個(gè)運(yùn)動(dòng)過程中,每一時(shí)刻的ZMP點(diǎn)都在其支撐凸多邊形內(nèi)部(不包括邊界,那么機(jī)器人在運(yùn)動(dòng)期間內(nèi),其支撐腳就會(huì)與地面保持相對(duì)靜止,不會(huì)出現(xiàn)欠驅(qū)動(dòng)的翻轉(zhuǎn)自由度,則機(jī)器人可以在整個(gè)運(yùn)動(dòng)過程中保持穩(wěn)定,這就是ZMP穩(wěn)定判據(jù)。在計(jì)算過程中,到支撐凸多邊形邊界的最短距離可以作為機(jī)器人的穩(wěn)定裕度。
ZMP是目前應(yīng)用最為廣泛的機(jī)器人穩(wěn)定性判據(jù)。在判據(jù)的使用中,總是結(jié)合關(guān)節(jié)軌跡跟蹤等控制策略,所以判據(jù)在此時(shí)成為了機(jī)器人穩(wěn)定的充分條件。目前絕大多數(shù)雙足機(jī)器人的運(yùn)動(dòng)穩(wěn)定性控制都是基于判據(jù)的。
3、Nao機(jī)器人步態(tài)規(guī)劃研究
遺傳算法是通過借鑒生物自然選擇和遺傳機(jī)制過程中的繁殖、交叉和變異,不斷隨機(jī)化搜索直到滿足規(guī)定的收斂指標(biāo)為止。該算法計(jì)算簡(jiǎn)單,功能強(qiáng)大,魯棒性強(qiáng)。
3.1Nao機(jī)器人步態(tài)規(guī)劃遺傳算法
遺傳算法GA即Genetic Algorithm,為模仿生物進(jìn)化過程的結(jié)構(gòu)型的隨機(jī)搜索算法,GA算法對(duì)于機(jī)器人步態(tài)的優(yōu)化有著重要的作用,基于優(yōu)化的遺傳算法可以使其檢索計(jì)算量大大簡(jiǎn)化,在檢索效率提升的同時(shí),收斂性也有著較大改觀。對(duì)于空間二進(jìn)制遺傳算法的優(yōu)化具體指的是將可行解由整體交叉變異形式轉(zhuǎn)化為空間染色體各維度層次上,即每個(gè)變量對(duì)應(yīng)的二進(jìn)制編碼段上分別進(jìn)行交叉變異,極大提升精度及收斂。
基于空間染色體的遺傳算法基本步驟:
首先確定空間染色體選型,并進(jìn)行初始化:
如圖3所示,對(duì)Nao機(jī)器人的步行瞬時(shí)重心運(yùn)動(dòng)分析,可以由一系列的參數(shù)表示而成,從而行走的步態(tài)規(guī)劃為瞬時(shí)參數(shù)的集合:
Qi={qb,qf,θi,Tc,Td}
其中,行走腳腳掌離地時(shí)與地面的夾角為qb,行走腳腳掌著地時(shí)與地面
的夾角為qf,腳掌與膝蓋的夾角為θi,行走周期為Tc,雙腿支撐周期為Td。
其次,進(jìn)行對(duì)應(yīng)步行軌跡的變換,基于逆運(yùn)動(dòng)學(xué)理論對(duì)于Nao機(jī)器人關(guān)節(jié)結(jié)構(gòu)角度進(jìn)行計(jì)算。同時(shí),對(duì)于確定狀態(tài)下機(jī)器人ZMP、重心位置信息和行走腳在坐標(biāo)系中的傾角進(jìn)行穩(wěn)定性評(píng)價(jià),并依據(jù)適應(yīng)度函數(shù)計(jì)算染色體對(duì)應(yīng)的適應(yīng)度值f。
Nao機(jī)器人的步態(tài)規(guī)劃主要與確定狀態(tài)下機(jī)器人ZMP、重心位置信息、行走腳在坐標(biāo)系中的傾角有關(guān),根據(jù)對(duì)于遺傳算法的分析,本發(fā)明采用的適應(yīng)度函數(shù)如下:
f=1÷[λ1q(T)+λ2n+λ3α(T)]
其中:λ1、λ2、λ3分別為確定狀態(tài)下機(jī)器人ZMP、重心位置信息和行走腳在坐標(biāo)系中傾角的權(quán)重系數(shù),q(T)為行走穩(wěn)定性,α(T)為行走腳在坐標(biāo)系中的傾角。
最后,進(jìn)行空間染色體間的雜交運(yùn)算及變異運(yùn)算,并通過遺傳算法的迭代計(jì)算至收斂,獲得最優(yōu)插值參數(shù)。并且,運(yùn)用Nao機(jī)器人的相應(yīng)開發(fā)工具和編譯軟件,可確保實(shí)現(xiàn)Nao機(jī)器人運(yùn)動(dòng)步態(tài)的規(guī)劃和穩(wěn)定控制。
3.2Nao機(jī)器人步態(tài)規(guī)劃matlab分析
其一般過稱為:用simulink建立Nao機(jī)器人仿真模型,并進(jìn)行觀測(cè)分析,并且描述仿真模型的過程和功能。
基于matlab平臺(tái)對(duì)于Nao機(jī)器人步態(tài)規(guī)劃進(jìn)行分析研究,首先需按照DH矩陣建立圖形化的關(guān)節(jié)型機(jī)器人對(duì)象:按照DH矩陣的習(xí)慣依次輸入所需生成的機(jī)器人各個(gè)關(guān)節(jié)的參數(shù)點(diǎn)擊完成并返回即可生成相應(yīng)機(jī)器人對(duì)象;繼而對(duì)生成的機(jī)器人進(jìn)行正逆運(yùn)動(dòng)學(xué)的位置和速度進(jìn)行分析和圖形仿真:基于運(yùn)動(dòng)學(xué)分析界面,在運(yùn)動(dòng)學(xué)位置分析的基礎(chǔ)上選擇進(jìn)行運(yùn)動(dòng)學(xué)速度分析,利用雅克比矩陣對(duì)當(dāng)前位置的速度向量進(jìn)行正逆分析;后對(duì)機(jī)器人進(jìn)行軌跡規(guī)劃:軌跡規(guī)劃中分別輸入初始位置的空間參數(shù)(位置參數(shù)和RPY參數(shù)),通過五次多項(xiàng)式插值法軌跡規(guī)劃查看得到空間的軌跡規(guī)劃的結(jié)果曲線和方程;并在軌跡規(guī)劃的基礎(chǔ)上對(duì)其做出動(dòng)力學(xué)的分析,在軌跡規(guī)劃得到一系列位置、速度、加速度向量的基礎(chǔ)上可以對(duì)機(jī)器人進(jìn)行動(dòng)力學(xué)分析,并計(jì)算機(jī)器人在負(fù)載情況下的各個(gè)關(guān)機(jī)所需提供的力向量。
在研究以關(guān)節(jié)角的函數(shù)對(duì)于機(jī)器人運(yùn)動(dòng)軌跡以及行動(dòng)步態(tài)規(guī)劃的優(yōu)化過程中,各路徑點(diǎn)的確定通過由工具坐標(biāo)系{T}相對(duì)于工作臺(tái)坐標(biāo)系{S}的期望位姿完成,最終得到{T}在每個(gè)中間點(diǎn)上的期望的笛卡爾位姿。其中,多維情況下的軌跡規(guī)劃通過mtraj函數(shù)[Q,QD,QDD]=mtraj(TFUNC,Q0,QF,M)完成(TFUNC、Q0和QF分別基于一維軌跡規(guī)劃函數(shù)以及起始和結(jié)束時(shí)的多維位置值),S0為初始位置,SF為終止位置,M為步數(shù),S為軌跡,SD為速度,SDD為加速度。
mtraj函數(shù)多維情況下軌跡規(guī)劃:
[Q,QD,QDD]=mtraj(@tpoly,[0 2],[1 -1],50);
subplot(3,1,1)
plot(Q)
ylabel('s');
subplot(3,1,2)
plot(QD)
ylabel('sd');
subplot(3,1,3)
plot(QDD)
ylabel('sdd');
規(guī)劃模擬結(jié)果如圖4所示:
機(jī)器人關(guān)節(jié)空間規(guī)劃:
mdl_Nao;
T1=transl(0.4,0.2,0)*trotx(pi);
T2=transl(0.4,-0.2,0)*trotx(pi/2);
q1=p560.ikine6s(T1);
q2=p560.ikine6s(T2);
t=[0:0.05:2]';
q=mtraj(@lspb,q1,q2,t);
p560.plot(q)
qplot(t,q);
規(guī)劃模擬結(jié)果如圖5所示:
將此規(guī)劃方法通過matlab編程實(shí)現(xiàn),在RoboCup3D平臺(tái)測(cè)試得知,基于遺傳算法規(guī)劃的Nao機(jī)器人步態(tài)能保證步行動(dòng)作的平滑性和速度的連續(xù)性,Nao機(jī)器人步行流暢,驗(yàn)證了遺傳算法在Nao機(jī)器人步態(tài)規(guī)劃中應(yīng)用的有效性。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,本發(fā)明的保護(hù)范圍不限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可顯而易見地得到的技術(shù)方案的簡(jiǎn)單變化或等效替換均落入本發(fā)明的保護(hù)范圍內(nèi)。