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