<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種基于并行化混沌蜂群算法的機械臂逆運動學求解方法與流程

文檔序號:11143504閱讀:852來源:國知局
本發明涉及機器人逆運動學的
技術領域
,尤其是指一種基于并行化混沌蜂群算法的機械臂逆運動學求解方法。
背景技術
:已知機械臂末端執行器的期望位姿,要求計算出滿足期望要求的關節角,這類問題被稱為機械臂的逆運動學問題。求解機械臂逆運動學的方法分成兩大類:封閉解法和數值解法。封閉解法求解速度快,容易確定所有可能解,但適用范圍小,只有結構參數很特殊的機械臂才存在封閉解(解析解)。數值解法適用范圍廣,但其迭代性質導致求解速度慢,無法滿足實時控制的要求。所以尋找一種通用、高效的求解逆運動學問題的數值解法具有重要的實際意義。近年來,群智能算法被廣泛應用于逆運動學問題中,例如粒子群算法、和聲算法、人工蜂群算法等,這些算法能夠在合理的時間內得出較好的數值解。人工蜂群算法(ArtificialBeeColonyAlgorithm,ABC)是2005年由Karaboga等提出來的一種新穎的啟發式搜索算法,是集群智能的一個具體應用。它模仿蜂群覓食的行為,通過人工蜂個體的局部尋優行為,最終在群體中使全局最優值突現出來,具有較快的收斂速度。該算法由于控制參數較少、易于實現和優良的求解性能受到關注并廣泛應用于各種實際優化問題中。在ABC算法中,搜索新食物源時參數改動的頻率不變,即僅更改當前食物源的一個參數產生新食物源,導致算法收斂速度較慢。同時,搜索步伐也不變,即參數只在固定范圍內被改動,算法無法根據運行情況靈活調整步伐,易陷入局部最優。為此,Karaboga等人提出了一種改進的人工蜂群算法,該算法引入更改率MR(modifiedRate(ModifiedRate)和縮放因子SF(scalingfactor)對參數更改的頻率和搜索步伐施加影響。初始食物源群體的分布對基于群體的搜索算法是至關重要的,在沒有任何先驗知識的情況下,隨機地生成初始群體是最普遍的一種方法,然而該方法并不能幫助搜索算法高效地獲取領域知識,致使全局搜索能力不佳。為此,Sharma等提出一種使用Halton點集生成初始食物源的新算法,稱為H-ABC。受混沌系統的啟發,Alatas等提出一種使用混沌映射優化初始食物源分布的人工蜂群算法,稱為CABC(ChaoticABC)。為了縮減人工蜂群算法求解復雜優化問題的時間,提升收斂速度,Luo等向ABC算法中融入并行化計算的思想并提出一種子群間的交流機制。以上這些改進人工蜂群算法雖然改善了ABC算法的收斂速度和全局搜索能力,但相比其他群智能算法,例如粒子群算法,仍然在收斂速度或全局搜索能力上有差距,無法滿足機械臂實時控制的要求。技術實現要素:本發明的目的在于克服現有技術的不足,提供一種基于并行化混沌蜂群算法的機械臂逆運動學求解方法CPABC(ChaoticandParallelizedArtificialBeeColony),該方法考慮了在求解逆運動學問題時具有較快收斂速度和較強全局搜索能力的要求,克服了ABC算法及其改進算法并不能很好地滿足機械臂實時控制并求得較優逆解的問題。為實現上述目的,本發明所提供的技術方案為:一種基于并行化混沌蜂群算法的機械臂逆運動學求解方法,包括以下步驟:1)初始化階段:利用混沌映射初始化食物源群體并將整個群體劃分成多個相互獨立的子群并行演化;2)雇傭蜂階段:引入控制參數調整雇傭蜂搜索新食物源時的搜索步伐與參數更改頻率;3)基于適應度值計算出每個食物源的被選概率;4)觀察蜂階段:觀察蜂以輪盤賭法選擇一個食物源進行跟蹤;5)偵查蜂階段:偵查蜂搜索新的食物源替換掉花蜜匱乏的食物源;6)信息交流階段:一個子群的較差食物源替換成另外一個子群的較優食物源。在步驟1)中,所述的初始化階段,具體如下:混沌是非線性系統中特有并普遍存在的一種現象,看似混亂卻有精致的內在結構。隨機性、遍歷性和規律性是混沌最典型的特點,使其能按照自身的某一規律不重復地遍歷給定范圍內的所有狀態。將混沌思想引入到人工蜂群算法中,可在一定程度上防止算法陷入局部最優并加快收斂速度。其中,采用如下的一維Logistic映射初始化食物源:Xn+1=μXn(1-Xn)n=0,1,...,K式中,Xn∈(0,1),μ為Logistic參數,K是混沌序列的迭代次數。生成第i個初始食物源mi的過程如下:a)設置混沌序列的迭代次數K。b)隨機生成混沌序列的初始向量ch0=(ch01,ch02,...,ch0D),其中D為食物源的參數數量(解空間的維數)。c)根據混沌方程循環迭代K次,產生混沌向量chK=(chK1,chK2,...,chKD)。d)產生初始食物源mi=(mi1,mi2,...,miD),其中:mij=mjmin+chKj(mjmax-mjmin),i=1,2,...,SNj=1,2,...D其中,mij表示第i個食物源的第j個參數,mjmax和mjmin分別代表第j個參數的最大與最小值,SN代表食物源數量,D代表解空間的維數。同時,每一個食物源都有一個被初始化為0的計數器trial表示嘗試搜索的次數。初始食物源會在隨后的階段被雇傭蜂、觀察蜂、偵查蜂循環迭代地探索,直至達到最大迭代次數MCN并得到最佳食物源。每一個食物源只能由一個雇傭蜂或觀察蜂負責采集,即雇傭蜂、觀察蜂和食物源三者的數量相等。將初始食物源群體劃分成P個子群,每個子群單獨地演化。各子群每迭代R次就相互交流信息。當所有子群都演化完畢后,對比各子群中最佳食物源并得到整個群體的最佳食物源。在步驟2)中,所述的雇傭蜂階段,具體如下:新算法引入控制參數更改率MR(modifiedrate),雇傭蜂圍繞食物源mi搜索新食物源vi時,針對mi的第j個參數生成隨機數Rij∈(0,1),Rij與MR比較后按下式生成vij:式中,mk是隨機選擇的第k(k不等于i)個食物源,Фij表示參數的更改頻率,在ABC中是區間[-1,1]之間的隨機數,而在新算法中是區間[-SF,SF]之間的隨機數。縮放因子SF(scalingfactor)是新算法引入的另外一個控制參數,它在算法運行前設定好并在搜索過程中按照Rechenberg1/5突變規則自動調整,依據該規則設定的調整公式如下:式中,Фm表示m次迭代搜索后的較優食物源與總食物源的數量比值,如果Фm小于1/5,SF減小使算法的開發能力提高。如果Фm大于1/5,SF增大使算法的搜索能力提高。雇傭蜂依據代價函數對新食物源vi的質量進行評價,如果vi的質量高于mi,則vi取代mi,trial被重置為0。如果vi的質量小于等于mi,trial累加1。如果vij超過了第j個參數的取值范圍,則重新設定vij為合理范圍內的有效值。然后,按照如下公式得出新食物源vi的適應度值fitnessi:式中,costi表示第i個食物源的質量。在步驟3)中,所述的基于適應度值計算出每個食物源的被選概率,具體如下:雇傭蜂將食物源的適應度值帶回蜂巢與觀察蜂共享。算法基于適應度值計算出第i個食物源的被選概率pi,公式如下:在步驟4)中,所述的觀察蜂階段,具體如下:觀察蜂根據被選概率pi以輪盤賭選擇法對較優食物源進行跟蹤,跟蹤過程中觀察蜂執行和雇傭蜂階段相同的任務。所有觀察蜂執行完畢后,記錄下當前迭代次數下適應度值最高的食物源。在步驟5)中,所述的偵查蜂階段,具體如下:偵查蜂檢查每一個食物源的計數器值trial,如果trial大于閾值limit,表明食物源及其周邊花蜜匱乏并將其丟棄,由偵查蜂按照初始化階段的方式搜索新的食物源。如果有多個食物源的trial大于limit,就將其中trial最大的食物源丟棄。在步驟6)中,所述的信息交流階段,具體如下:所有子群每迭代R次就相互交流信息,讓子群groupi中花蜜最豐富(適應度值最高)的k個食物源替換掉子群group(i+1)modP中花蜜最匱乏的k個食物源,其中i表示子群編號,p表示子群數量。信息交流完成后,各子群從步驟2)開始繼續并行獨立地演化。本發明與現有技術相比,具有如下優點與有益效果:1、本發明利用混沌映射初始化食物源群體,混沌映射對初始條件具有極端敏感的依賴性,即使混沌序列初始向量ch0中的D個參數之間非常相近,在一維Logistic混沌映射的迭代作用下,最終向量chk中的各參數都可能分開,這無疑提高了初始食物源群體的多樣性,在一定程度上避免了算法陷入局部最優,并加快算法的收斂速度。2、本發明引入控制參數調整搜索步伐與參數更改頻率,因為ABC、CABC和PABC-RC算法在搜索新食物源時參數的改動頻率與搜索步伐都固定不變,即只在固定范圍內更改當前食物源的一個參數產生新食物源,在雇傭蜂與觀察蜂階段影響了新食物源的分布,導致全局探索能力不佳,容易陷入局部最優。而CPABC使得當前食物源的每一個參數都有機會被更改,同時更改幅度會根據當前算法的求解性能進行適當調整,這樣全局探索能力與局部開發能力達到一個動態平衡的狀態,算法可以很好地發揮這兩類能力,在解空間內能找到更優的解。3、本發明將搜索食物源的蜂群劃分成多個獨立的子群并行演化,CPABC實質上是在多處理機上并行執行多個ABC算法,使算法的求解速度得到提高。同時子群間的交流機制讓差解被拋棄,只圍繞本子群和其他子群的優解繼續搜索,提升了算法的全局收斂速度。附圖說明圖1a為本實施例中PUMA560的運動學模型之一。圖1b為本實施例中PUMA560的運動學模型之二。圖2為本實施例中單個子群演化的簡易流程圖。圖3為本實施例中5種算法分別求解逆運動學問題30次時平均最優代價函數值迭代過程的比較曲線。具體實施方式下面結合具體實施例對本發明作進一步說明。以典型的六自由度機械臂PUMA560為例。PUMA560機械臂具有六個自由度并且所有關節均為轉動關節。前三個關節主要影響末端執行器的位置,后三個關節決定末端執行器的姿態。采用D-H方法對PUMA560機械臂進行表示和建模,并推導出正運動學方程。圖1a、1b顯示了所有關節角為零位時連桿坐標系的分布情況,其中圖1b表示機械臂前臂的分布情況。下表1則給出了PUMA560的D-H參數:表1PUMA560的D-H參數關節角αi-1(度)ai-1(米)di(米)θi(度)范圍(度)1000θ1-160~1602-9000θ2-245~45300.43180.1491θ3-45~2254-90-0.02030.4331θ4-110~17059000θ5-100~1006-9000θ6-266~266坐標系i相對于坐標系i-1的變換矩陣如下:根據PUMA560機械臂的D-H參數求出所有相鄰連桿坐標系間的變換矩陣01T(θ1)、12T(θ2)、23T(θ3)、34T(θ4)、45T(θ5)以及56T(θ6),最后得到6個變換矩陣的乘積:式中,06T(θ6)構成了PUMA560的正運動學方程,它描述了末端執行器(連桿坐標系6)相對于基坐標系(連桿坐標系0)的位姿。給定機械臂所有關節角的值(θ1,θ2,θ3,θ4,θ5,θ6),通過正運動學可以將末端執行器在工具坐標系中的笛卡爾坐標(xT,yT,zT)轉換為基坐標系中的笛卡爾坐標(xB,yB,zB)。本發明方法求解六自由度機械臂逆運動學問題就是利用該方法找出一組最優的關節角值,使得(xB,yB,zB)與末端執行器在基坐標系中的期望坐標(x,y,z)盡可能接近,其中最優關節角值(θ1,θ2,θ3,θ4,θ5,θ6)就是本發明方法的最優食物源。為此,需要定義一個代價函數去衡量(xB,yB,zB)與(x,y,z)之間的近似程度,此處使用這兩點間歐氏距離的平方作為本發明中的代價函數,公式如下:cost=(x-xB)2+(y-yB)2+(z-zB)2本實施例所提供的基于并行化混沌蜂群算法的機械臂逆運動學求解方法,具體包括以下步驟:1)初始化階段采用如下的一維Logistic映射初始化食物源:Xn+1=μXn(1-Xn)n=0,1,...,K式中,Xn∈(0,1),Logistic參數μ設定為4。生成第i個初始食物源mi的過程如下:a)設置混沌序列的迭代次數K=1000。b)隨機生成混沌序列的初始向量ch0=(ch01,ch02,...,ch0D),其中D=6。c)根據混沌方程循環迭代K次,產生混沌向量chK=(chK1,chK2,...,chKD)。d)產生初始食物源mi=(mi1,mi2,...,miD),其中:mij=mjmin+chKj(mjmax-mjmin),i=1,2,...,SNj=1,2,...D其中,mij表示第i個食物源的第j個參數,mjmax和mjmin分別代表第j個參數的最大與最小值,在本實施例中對應表1中第j個關節角的最大與最小值。食物源數量SN=40,解空間的維數D=6,本實施例中對應D個關節角。同時,每一個食物源都有一個被初始化為0的計數器trial表示嘗試搜索的次數。初始食物源會在隨后的階段被雇傭蜂、觀察蜂、偵查蜂循環迭代地探索,直至達到最大迭代次數MCN得到最佳食物源,MCN設定為500。每一個食物源只能由一個雇傭蜂或觀察蜂負責采集,即雇傭蜂、觀察蜂和食物源三者的數量相等。將初始食物源群體劃分成P個子群,其中P為4,每個子群單獨地演化。各子群每迭代R次就相互交流信息,本實施例中R=50。當所有子群都演化完畢后,對比各子群中最佳食物源并得到整個群體的最佳食物源。2)雇傭蜂階段設置參數更改率MR為0.3,雇傭蜂圍繞食物源mi搜索新食物源vi時,針對mi的第j個參數生成隨機數Rij∈(0,1),Rij與MR比較后按下式生成vij:式中,mk是隨機選擇的第k(k不等于i)個食物源,Фij表示參數的更改頻率,在ABC中是區間[-1,1]之間的隨機數,而在新算法中是區間[-SF,SF]之間的隨機數。縮放因子SF是新算法引入的另外一個控制參數,在算法運行前設定為0.6并在搜索過程中按照Rechenberg1/5突變規則自動調整,調整公式如下:式中,Фm表示m次搜索后的較優食物源與總食物源的數量比值,如果Фm小于1/5,SF減小使算法的開發能力提高。如果Фm大于1/5,SF增大使算法的搜索能力提高。雇傭蜂依據代價函數cost對新食物源vi的質量進行評價,如果vi的質量高于mi,則vi取代mi,trial被重置為0。如果vi的質量小于等于mi,trial累加1。如果vij超過了第j個參數的取值范圍,則重新設定vij為合理范圍內的有效值。然后,按照如下公式得出新食物源vi的適應度值fitnessi:式中,costi表示第i個食物源的質量。3)基于適應度值計算出每個食物源的被選概率雇傭蜂將食物源的適應度值帶回蜂巢與觀察蜂共享。算法基于適應度值計算出第i個食物源的被選概率pi,公式如下:4)觀察蜂階段觀察蜂根據被選概率pi以輪盤賭的方式對較優食物源進行跟蹤,跟蹤過程中觀察蜂執行和雇傭蜂階段相同的任務。所有觀察蜂執行完畢后,記錄下當前迭代次數下適應度值最高的食物源。5)偵查蜂階段偵查蜂將每一個食物源的計數器值trial與閾值limit對比,本實施例中limit=150,如果trial大于limit,表明食物源及其周邊花蜜匱乏并將其丟棄,由偵查蜂按照初始化階段的方式搜索新的食物源。如果有多個食物源的trial大于limit,就將其中trial最大的食物源丟棄。6)信息交流階段所有子群每迭代R次就相互交流信息,讓子群groupi中花蜜最豐富(適應度值最高)的k個食物源替換掉子群group(i+1)modP中花蜜最匱乏的k個食物源,其中i表示子群編號,p表示子群數量,k設定為5。信息交流完成后,各子群從步驟2)開始繼續并行獨立地演化。單個子群演化的過程請參見圖2。除了使用本發明方法求解PUMA560的逆運動學問題,本實施例中還在相同的參數設定下使用ABC算法及其3種改進算法求解。下表2為5種算法分別求解逆運動學問題30次后最優代價函數值的統計結果。表2—5種算法分別求解逆運動學問題30次后最優代價函數值的統計結果最好最差平均方差ABC1.072511e-033.150317e-021.316312e-026.638365e-05CABC2.970008e-051.440834e-033.158536e-047.998854e-08PABC-RC3.585916e-051.363282e-025.690389e-031.036634e-05MABC1.278826e-171.074712e-165.859731e-177.762848e-34CPABC1.498140e-185.243530e-171.983738e-171.555608e-34從表中可以看出:a)由于ABC算法在求解過程中容易陷入局部最優,所得到的優化結果與另外四種算法相比有較大偏差。b)在30次運行結果中,CPABC得出的最優和最差優化解均好于另外四種算法的對應值,說明更改率MR和縮放因子SF兩個控制參數的引入使得算法的全局搜索能力得到提高。c)CPABC運行30次得到的優化解方差要低于另外四種算法的對應值,說明該算法的求解質量相對穩定。圖3為5種算法分別求解逆運動學問題30次時平均最優代價函數值迭代過程的比較曲線。從中可以看出:a)因為ABC、CABC和PABC-RC算法在搜索新食物源時參數的改動頻率與搜索步伐都固定不變,即只在固定范圍內更改當前食物源的一個參數產生新食物源,在雇傭蜂與觀察蜂階段影響了新食物源的分布,導致全局探索能力不佳,容易陷入局部最優。而MABC和CPABC使得當前食物源的每一個參數都有機會被更改,同時更改幅度會根據當前算法的求解性能進行適當調整,這樣全局探索能力與局部開發能力達到一個動態平衡的狀態,算法可以很好地發揮這兩類能力,在解空間內能找到更優的解。所以從圖3觀察到MABC與CPABC的迭代曲線快速趨近于橫軸,全局探索能力相比另外3種算法有顯著提高。b)CABC相比ABC和PABC-RC,CPABC相比MABC,前者算法得到的最終優化解都要優于后者,這是因為CABC和CPABC使用了Logistic混沌映射產生初始食物源群體。混沌映射對初始條件具有極端敏感的依賴性,即使混沌序列初始向量ch0中的D個參數之間非常相近,在Logistic映射的迭代作用下,最終向量chk中的各參數都可能分開,這無疑提高了初始食物源群體的多樣性,在一定程度上避免了算法陷入局部最優,并加快算法的收斂速度。c)由于CPABC中存在多個子群并行演化,子群間的交流機制讓各子群圍繞自身其他子群的優解繼續搜索,而MABC只會丟棄最差解。因此從圖3中可觀察到CPABC的最優代價函數值在大多數迭代次數中都要優于MABC,PABC-RC與ABC也是這種情況。表3給出了在相同計算機及參數設定的前提下,5種算法求解逆運動學問題得出最終優化解的平均耗時,從表中可以看出CPABC的平均CPU耗時較其他算法要多,僅低于CABC。但由于CPU耗時與計算機硬件配置、操作系統、編程語言及代碼編寫技巧等多種因素有關,算法更關注的是在相同參數設下求解的質量.從這個角度看本文提出的CPABC算法有更好的求解性能。表3—5種算法得出最終優化解的平均CPU耗時算法平均耗時ABC0.043267CABC0.087467MABC0.049133PABC-RC0.060500CPABC0.075567綜上所述,采用本發明方法求解機械臂運動學逆解相比ABC算法及其衍生算法具有較快的收斂速度和較強的全局搜索能力,值得推廣。以上所述實施例只為本發明之較佳實施例,并非以此限制本發明的實施范圍,故凡依本發明之形狀、原理所作的變化,均應涵蓋在本發明的保護范圍內。當前第1頁1 2 3 
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影