本發(fā)明涉及深海潛器路徑規(guī)劃,具體涉及一種深海潛器柔性手抓取作業(yè)路徑規(guī)劃方法。
背景技術(shù):
1、在眾多深海作業(yè)中,如何高效準確地完成目標(biāo)物體的抓取是關(guān)鍵技術(shù)之一。這就需要深海潛航器配備具有高度靈活性的柔性手,并結(jié)合先進的路徑規(guī)劃算法來實現(xiàn)精確的抓取任務(wù)。
2、傳統(tǒng)的剛性機械臂雖然能夠提供較大的力矩輸出,但在復(fù)雜的深海環(huán)境中卻難以適應(yīng)多變的工作條件。相比之下,柔性手由于其獨特的柔順性,能夠更好地適應(yīng)未知或變化的工作環(huán)境,減少與環(huán)境的碰撞風(fēng)險,同時提高操作的安全性和靈活性。此外,柔性手還具備良好的負載能力,能夠有效減輕深海潛航器的整體重量,提高其機動性和續(xù)航能力。柔性手的路徑規(guī)劃對于確保任務(wù)的成功至關(guān)重要。合理的路徑規(guī)劃不僅能避免與海底障礙物的碰撞,還能減少不必要的能量消耗,提高作業(yè)效率。尤其是在執(zhí)行精細抓取任務(wù)時,如采集脆弱的生物樣本或是修復(fù)深海設(shè)施等,精確的路徑規(guī)劃更是不可或缺。
3、因此,現(xiàn)需要一種適用于深海環(huán)境下的潛器柔性手抓取作業(yè)路徑規(guī)劃方法。
技術(shù)實現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種深海潛器柔性手抓取作業(yè)路徑規(guī)劃方,以解決現(xiàn)有技術(shù)中不能對深海環(huán)境下的潛器柔性手抓取作業(yè)路徑進行規(guī)劃的問題。
2、為實現(xiàn)上述目的,本發(fā)明提供了一種深海潛器柔性手抓取作業(yè)路徑規(guī)劃方法,具體包括如下步驟:
3、s1,對參數(shù)進行初始化,參數(shù)包括:地圖起終點的信息、地形與威脅的約束信息以及柔性手的移動特性信息,柔性手的移動特性信息包括:柔性手的移動時間、移動速度、航跡長度和俯仰角。
4、s2,使用隨機初始化的方式初始化原始種群,使用基于kmeans算法的數(shù)據(jù)預(yù)處理方法對隨機初始化的種群進行數(shù)據(jù)預(yù)處理操作。
5、s3,使用q_learning算法得到最適合粒子群算法運行的參數(shù)組合。
6、s4,計算粒子的連續(xù)未更新數(shù)是否大于閾值,如果大于,則說明粒子長時間沒有進行更新操作,在每個維度上將以概率c,用全局最優(yōu)解在該維度上的分量替換當(dāng)前粒子在該維度上的分量。
7、s5,利用改進模擬退火算法策略來進行種群中全局最優(yōu)解的更新。
8、s6,重復(fù)步驟s3-s5,直到滿足迭代次數(shù)的要求,輸出柔性手最優(yōu)的規(guī)劃路徑。
9、進一步地,步驟s2中使用隨機初始化的方式初始化原始種群具體包括如下步驟:
10、s2.1,假設(shè)路徑由維向量,即個點擬合而成,共有個粒子組成一個群落。以該路徑的坐標(biāo)為例,在表述粒子路徑的坐標(biāo)的群落中,第個粒子表示為一個維的向量:
11、(1);
12、表示路徑的坐標(biāo)點位置,表示路徑中的第個點的坐標(biāo)。
13、進一步地,步驟s2中使用基于kmeans算法的數(shù)據(jù)預(yù)處理方法對隨機初始化的種群進行數(shù)據(jù)預(yù)處理操作具體包括如下步驟:
14、s2.2,將個聚類中心設(shè)為,計算每個個體到每個聚類中心的歐氏距離:
15、?????????????(2);
16、其中,表示個體數(shù)量,以規(guī)劃路徑中的坐標(biāo)為例,表示第個個體,也即路徑的坐標(biāo)點位置,表示第個聚類中心,其中表示第個個體的第個屬性,表示第個聚類中心的第個屬性。
17、s2.3,計算每個簇的簇中心:
18、(3);
19、其中,為第類簇的中心,為第類簇的個體數(shù)。
20、s2.4,計算每個簇中個體的平均適應(yīng)度值來區(qū)分不同簇之間的差異:
21、(4);
22、其中,是第類簇的平均適應(yīng)度值,是個體的適應(yīng)度值。
23、s2.5,對所有簇的平均適應(yīng)度值進行排序,以求解最小化問題為例,將所有簇按照平均適應(yīng)度值升序排列,并將適應(yīng)度值較小的個體作為優(yōu)勢個體。
24、進一步地,在選擇優(yōu)勢個體時具體包括如下步驟:
25、s2.5.1,首先,設(shè)為每個簇的抽取率,按升序排序的簇為集合,隨后然后進行次迭代。
26、s2.5.2,從第一個簇開始,每次迭代按順序選擇一個類簇,并從簇中提取的個體加入集合作為優(yōu)勢個體。每次迭代后將的值減小5,可以在保證種群多樣性的前提下,選擇盡可能多的優(yōu)勢個體來提高候選解的質(zhì)量。
27、s2.5.3,在完成次迭代后,在集合中提取的優(yōu)勢個體數(shù)量為,種群中不足的個體將隨機生成,最終輸出為預(yù)處理后的種群。
28、進一步地,步驟s3具體包括如下步驟:
29、s3.1,初始化每個粒子的q表,從粒子中找到適應(yīng)度值最優(yōu)的粒子,該粒子對應(yīng)的q表就是目前的最優(yōu)q表,q表更新公式為:
30、(5);
31、式中,、為第t次迭代與t+1次迭代時的狀態(tài);、分別為第t次迭代與t+1次迭代時的動作,和分別是學(xué)習(xí)率和折扣系數(shù),取值范圍為[0,1],為粒子在狀態(tài)下執(zhí)行動作所獲得的即時獎勵,是粒子在狀態(tài)采取動作的期望q值,是新狀態(tài)下所有可能的行動的最大預(yù)期未來獎勵。
32、進一步地,步驟s3具體包括如下步驟:
33、s3.2,從數(shù)據(jù)預(yù)處理后的初始化種群中依次選擇粒子,將每一個粒子都通過q_learning算法結(jié)合最優(yōu)q表來進行預(yù)測,得到預(yù)測結(jié)果后將從全局搜索,隨機搜索,綜合搜索和局部搜索四種行為中選擇出最適合粒子搜索的行為,獎勵函數(shù)設(shè)置為:
34、(6);
35、(7);
36、其中,為更新后的適應(yīng)度值,為更新之前的的適應(yīng)度值,為算法的最大迭代次數(shù),action為所選的行為。
37、s3.3,使用公式(8)和公式(9)來更新粒子的位置與速度,等待所有粒子都更新結(jié)束后,選擇出適應(yīng)度值表現(xiàn)最好的粒子作為最優(yōu)粒子,并通過粒子的位置和表現(xiàn)更新q表:
38、(8);
39、;
40、(9);
41、式中,s為粒子數(shù),為第t次迭代時粒子的位置,為最大迭代次數(shù),為慣性權(quán)重參數(shù);和為命名學(xué)習(xí)因子,分別控制每次迭代中從個體和群體歷史最優(yōu)位置獲得的正向知識,和是[0,1]中的兩個隨機數(shù),和分別是個體和群體的歷史最優(yōu)位置,為第次迭代時的速度。
42、進一步地,步驟s4具體為:
43、粒子的連續(xù)未更新數(shù)為,當(dāng)超過閾值時,將會以概率c,根據(jù)來更新當(dāng)前粒子在每個維度上的位置,c的取值為0.7;?的計算公式為:
44、?????????????????(10);
45、其中,和分別表示的上界和下界。
46、進一步地,步驟s5具體包括如下步驟:
47、s5.1,引入模擬退火算法來更新種群的全局最優(yōu)解,參數(shù)的計算公式設(shè)置為如下:
48、???????????????(11);
49、式中,為當(dāng)前系統(tǒng)的溫度,為自然指數(shù)函數(shù),為第t次迭代的當(dāng)前全局最優(yōu)解的適應(yīng)度值。
50、s5.2,用公式來更新,其中,為控制溫度變化率的參數(shù),取值范圍為[0,1]。
51、s5.3,的計算公式為:
52、?????????????????????(12)。
53、s5.4,當(dāng)經(jīng)過指定的迭代次數(shù)后,執(zhí)行如式(12)所示的回溫公式:
54、(13);
55、其中,是指定的迭代次數(shù),設(shè)置為200,為常數(shù),設(shè)置為0.05。
56、本發(fā)明具有如下有益效果:
57、本發(fā)明將粒子群算法與q_learning算法結(jié)合,對每個粒子構(gòu)建一張?q?表,供粒子參數(shù)動態(tài)選擇,在不同的迭代階段選擇合適的搜索策略,很好地平衡了算法的全局搜索能力和局部搜索能力。在數(shù)據(jù)預(yù)處理方面,算法使用了一種基于kmeans聚類算法的數(shù)據(jù)預(yù)處理策略,該策略將算法的初始化種群劃分為多個不同的簇,并根據(jù)簇的平均適應(yīng)度值對簇進行排序,按比例選擇出表現(xiàn)更好的個體作為初始化種群,提高了初始解的質(zhì)量。并且本發(fā)明通過融合改進模擬退火算法,改進了粒子群算法中全局最優(yōu)解的更新策略,增強了算法的優(yōu)化能力,避免陷入局部收斂。同時算法記錄每個粒子連續(xù)的未更新數(shù),當(dāng)其超過一定閾值時,將根據(jù)全局最優(yōu)解更新當(dāng)前粒子在每個維度上的位置,這種策略一定程度上加速了粒子的收斂。