一種基于多目標(biāo)優(yōu)化的多機(jī)器人任務(wù)分配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及多機(jī)器人協(xié)作控制技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種基于多目標(biāo)優(yōu)化 的多機(jī)器人任務(wù)分配方法。
【背景技術(shù)】
[0002] 利用多機(jī)器人協(xié)作完成環(huán)境探索、救援和搬運(yùn)等多種應(yīng)用問(wèn)題與單機(jī)器人相比具 有很多優(yōu)點(diǎn):多機(jī)器人系統(tǒng)的容錯(cuò)性可有效防止單個(gè)機(jī)器人失效引起的任務(wù)失??;多機(jī)器 人系統(tǒng)的并行處理能力可在短時(shí)間內(nèi)完成特定任務(wù);多機(jī)器人之間的功能可互補(bǔ)實(shí)現(xiàn)單個(gè) 機(jī)器人無(wú)法實(shí)現(xiàn)的功能等等。因此,現(xiàn)階段通過(guò)多機(jī)器人協(xié)調(diào)合作完成預(yù)定任務(wù)已經(jīng)成為 該領(lǐng)域的研究熱點(diǎn),任務(wù)分配是多機(jī)器人系統(tǒng)研究中的核心問(wèn)題之一。
[0003] 現(xiàn)階段研究實(shí)驗(yàn)過(guò)程中,為了使得多機(jī)器人能快速完成特定任務(wù),在構(gòu)建機(jī)器人 相對(duì)于任務(wù)的效用函數(shù)時(shí),只考慮到多機(jī)器人在完成任務(wù)過(guò)程中的時(shí)間因素,即多機(jī)器人 完成任務(wù)所需的時(shí)間越短則相應(yīng)的效用函數(shù)值就越大。但是,在實(shí)際應(yīng)用時(shí),多機(jī)器人在合 作完成目標(biāo)任務(wù)的過(guò)程中,系統(tǒng)除了要考慮多機(jī)器人完成任務(wù)所需的時(shí)間代價(jià)以外,往往 多機(jī)器人在完成任務(wù)過(guò)程中的能量耗費(fèi)也顯得尤為重要,即通常認(rèn)為能耗越少則任務(wù)完成 的效果也就越好。
[0004] 然而,時(shí)耗代價(jià)和能耗代價(jià)通常是多機(jī)器人在執(zhí)行任務(wù)過(guò)程中的兩個(gè)不可比而又 相互沖突(抵觸)的方面,即很難同時(shí)兼顧時(shí)耗與能耗開(kāi)銷(xiāo),也即多機(jī)器人完成某一任務(wù)過(guò) 程中若花費(fèi)的時(shí)間代價(jià)比較少,則可能會(huì)引起能耗代價(jià)的增大。因此,為了更全面、更系統(tǒng) 化的討論多機(jī)器人系統(tǒng)中的任務(wù)分配問(wèn)題,有必要建立一種多機(jī)器人完成任務(wù)過(guò)程中能夠 有效體現(xiàn)能量耗費(fèi)因素的評(píng)價(jià)機(jī)制(如機(jī)器人能量效用函數(shù)),從而增加一個(gè)基于該機(jī)制 的任務(wù)分配結(jié)果優(yōu)劣的量化評(píng)估指標(biāo),實(shí)現(xiàn)提高任務(wù)分配結(jié)果的科學(xué)性與合理性。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的缺點(diǎn)與不足,提供一種基于多目標(biāo)優(yōu)化的多 機(jī)器人任務(wù)分配方法,該方法在多機(jī)器人完成任務(wù)過(guò)程中能夠有效體現(xiàn)時(shí)間耗費(fèi)和能量耗 費(fèi)兩個(gè)因素的評(píng)價(jià)機(jī)制,使得計(jì)算時(shí)間少,并可實(shí)現(xiàn)快速得到多機(jī)器人的最優(yōu)任務(wù)分配方 案集,從而大大降低任務(wù)分配時(shí)間,提高任務(wù)的完成效率;同時(shí),本發(fā)明在多機(jī)器人系統(tǒng)的 任務(wù)分配問(wèn)題中同時(shí)兼顧到機(jī)器人在完成任務(wù)過(guò)程中所獲得的時(shí)間效用和能量效用的因 素,可更全面、更系統(tǒng)化的解決多機(jī)器人系統(tǒng)中的任務(wù)分配問(wèn)題,從而增加一個(gè)基于該機(jī)制 的任務(wù)分配結(jié)果優(yōu)劣的量化評(píng)估指標(biāo),實(shí)現(xiàn)提高任務(wù)分配結(jié)果的科學(xué)性與合理性。
[0006] 為了達(dá)到上述目的,本發(fā)明通過(guò)提出一種基于多目標(biāo)優(yōu)化的多機(jī)器人任務(wù)分配方 法予以實(shí)現(xiàn),其特征在于:采用加權(quán)求和的方式對(duì)時(shí)間效用目標(biāo)和能量效用目標(biāo)進(jìn)行建模, 得到多機(jī)器人時(shí)間一能量加權(quán)效用函數(shù);再通過(guò)分別設(shè)定時(shí)間效用目標(biāo)和能量效用目標(biāo)的 權(quán)重來(lái)優(yōu)化時(shí)間效用目標(biāo)和能量效用目標(biāo),進(jìn)而實(shí)現(xiàn)多機(jī)器人任務(wù)分配;其中,能量效用是 用于評(píng)價(jià)機(jī)器人在完成任務(wù)過(guò)程中的能量耗費(fèi);時(shí)間效用是用于評(píng)價(jià)機(jī)器人在完成任務(wù)過(guò) 程中的時(shí)間耗費(fèi)。
[0007] 在實(shí)際應(yīng)用中,多機(jī)器人系統(tǒng)(尤其是實(shí)體多機(jī)器人系統(tǒng))各機(jī)器人在完成系統(tǒng) 交給的各項(xiàng)任務(wù)時(shí),時(shí)耗和能耗往往是評(píng)價(jià)任務(wù)完成效果的兩項(xiàng)重要指標(biāo)。因此,若在多機(jī) 器人系統(tǒng)的任務(wù)分配問(wèn)題中同時(shí)考慮時(shí)耗和能耗兩個(gè)性能指標(biāo),則好的任務(wù)分配方案追求 的是機(jī)器人完成相應(yīng)任務(wù)的時(shí)耗盡量的短、能耗盡量的低。由于這兩個(gè)優(yōu)化目標(biāo)(時(shí)耗、能 耗)的改善可能會(huì)相互抵觸,因此,本發(fā)明的方法同時(shí)將時(shí)耗和能耗兩個(gè)性能指標(biāo)進(jìn)行優(yōu) 化,在多機(jī)器人系統(tǒng)的任務(wù)分配問(wèn)題中同時(shí)兼顧到機(jī)器人在完成任務(wù)過(guò)程中所獲得的時(shí)間 效用和能量效用的因素,不僅能快速得到多機(jī)器人的最優(yōu)任務(wù)分配方案集、大大降低任務(wù) 分配時(shí)間、提高任務(wù)完成效率,而且還增加了一個(gè)基于該機(jī)制的任務(wù)分配結(jié)果優(yōu)劣的量化 評(píng)估指標(biāo),進(jìn)而提高任務(wù)分配結(jié)果的科學(xué)性與合理性。
[0008] 所述采用加權(quán)求和的方式對(duì)時(shí)間效用目標(biāo)和能量效用目標(biāo)進(jìn)行建模,得到多機(jī)器 人時(shí)間一能量加權(quán)效用函數(shù);再通過(guò)分別設(shè)定時(shí)間效用目標(biāo)和能量效用目標(biāo)的權(quán)重來(lái)優(yōu)化 時(shí)間效用目標(biāo)和能量效用目標(biāo)是指:包括以下步驟:
[0009] 第一步,構(gòu)建p個(gè)機(jī)器人相對(duì)于n個(gè)任務(wù)的機(jī)器人能量效用函數(shù)vlj:
[0011] 通過(guò)逐一計(jì)算各個(gè)機(jī)器人相對(duì)于各個(gè)任務(wù)的能量效用函數(shù)值Vl](Vl]G[0, 1]且 1彡i彡p、1彡j彡n),則得到機(jī)器人能量效用值矩陣V:
[0013] 其中,為表征機(jī)器人移動(dòng)能力的機(jī)器人能量效用函數(shù);IT2(CLCJ2)為 表征機(jī)器人處理能力的機(jī)器人能量效用函數(shù);Cf表示第i個(gè)機(jī)器人的移動(dòng)能力;C;2i表示 第i個(gè)機(jī)器人的處理能力;表示第j個(gè)任務(wù)所要求的機(jī)器人的移動(dòng)能力;表示第j 個(gè)任務(wù)所要求的機(jī)器人的處理能力=W1/表示第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò)程中所付 出的移動(dòng)能量;W3lj表示第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò)程中所付出的處理能量;Wnil為機(jī) 器人在其所處的環(huán)境中移動(dòng)最長(zhǎng)距離時(shí)的能耗;Wni2為機(jī)器人在其所處的環(huán)境中轉(zhuǎn)動(dòng)最大 角度時(shí)的能耗;Wni3為機(jī)器人將重物舉到最高位置時(shí)的能耗;ApA2分別表示機(jī)器人移動(dòng)能 力和處理能力的效用權(quán)重,〇、A2彡〇,且其和為1 ;
[0014] 第二步,構(gòu)建p個(gè)機(jī)器人相對(duì)于n個(gè)任務(wù)的機(jī)器人時(shí)間效用函數(shù)ulj:
[0016]通過(guò)計(jì)算每個(gè)機(jī)器人相對(duì)于每個(gè)任務(wù)的時(shí)間效用函數(shù)值Ulj (0彡Ulj彡1,1彡i彡p,1彡j彡n),則可得到機(jī)器人時(shí)間效用值矩陣U:
[0018]其中,為表征機(jī)器人移動(dòng)能力的機(jī)器人時(shí)間效用函數(shù);Z2(Q5Cj2)為表 征機(jī)器人處理能力的機(jī)器人時(shí)間效用函數(shù);Q1表示第i個(gè)機(jī)器人的移動(dòng)能力;(I表示第i 個(gè)機(jī)器人的處理能力;Cfr表示第j個(gè)任務(wù)所要求的機(jī)器人的移動(dòng)能力表示第j個(gè)任 務(wù)所要求的機(jī)器人的處理能力;Tnil為機(jī)器人在所處的場(chǎng)地中移動(dòng)最長(zhǎng)距離所需的最長(zhǎng)時(shí) 間;1"2為機(jī)器人將重物舉到最高高度所需的時(shí)間;T11,為第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò) 程中整個(gè)移動(dòng)階段所需的時(shí)間;T2l]為第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò)程中舉起重物所需 的時(shí)間;ki、k2分別表示機(jī)器人移動(dòng)能力和處理能力的效用權(quán)重,k0、k2^ 0,且其和為 1 ;
[0019] 第三步,構(gòu)建基于時(shí)間效用和能量效用兩個(gè)目標(biāo)的p個(gè)機(jī)器人相對(duì)于n個(gè)任務(wù)的 機(jī)器人時(shí)間一能量加權(quán)效用函數(shù)Q1 j:
[0021]其中,Wl、《2分別表示時(shí)間效用目標(biāo)、能量效用目標(biāo)的機(jī)器人效用權(quán)重,且 Q^Q2= 1 ;
[0022] 第四步,通過(guò)第三步中機(jī)器人時(shí)間一能量加權(quán)效用函數(shù)進(jìn)行多機(jī)器人任務(wù)分配:
[0023] Stepl:判斷時(shí)間效用權(quán)重《JP能量效用權(quán)重《2的值是否已知;
[0024]step2 :若〇 :和〇2的值已知,則判斷wi+w2是否等于1 ;
[0025] 8七6口3:若〇1+〇2/=1,則修改〇 1、〇2的值,轉(zhuǎn)8七6口2;若〇1+〇2=1,則將機(jī)器 人時(shí)間效用值矩陣U和機(jī)器人能量效用值矩陣V代入式(3)中,得到固定權(quán)重下機(jī)器人時(shí) 間一能量效用值矩陣Q:
[0028] 再通過(guò)智能進(jìn)化算法求解系統(tǒng)最優(yōu)任務(wù)分配方案,轉(zhuǎn)step6 ;
[0029]step4:若〇JP〇 2的值未知,則根據(jù)具體需要設(shè)定〇p〇2的變化步長(zhǎng)(記為s), 并且給%和《 2分別賦初值1和〇(即令《i= 1、《 2= 〇),并進(jìn)行step5 ;
[0030] step5 :D0
[0031] 將機(jī)器人時(shí)間效用值矩陣U和機(jī)器人能量效用值矩陣V代入式(3)中,得到可變 權(quán)重下機(jī)器人時(shí)間一能量效用值矩陣Q;
[0038]aiSG{〇, 1} ;1 ^i^n,I^j^n
[0039]i,j,kGN
[0040] 其中,au代表所求解的基于多目標(biāo)的多機(jī)器人任務(wù)分配結(jié)果矩陣;
[0041] 當(dāng)a1]= 1,則表示將任務(wù)t,分配給機(jī)器人r1;當(dāng)a1]= 0,則表示任務(wù)t,不分配 給機(jī)器人A;
[0042] 再通過(guò)智能進(jìn)化算法求解系統(tǒng)最優(yōu)任務(wù)分配方案集;
[0043] toJ= toj-s
[0044] O2= 〇2+s
[0045] Until 〇!<〇 ;
[0046] step6 :結(jié)束。
[0047] 所述第一步中,第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò)程中所付出的移動(dòng)能量Wlj'為:
[0049] 其中,W11,為第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò)程中從其所在的初始位置運(yùn)動(dòng)到目 標(biāo)位置所耗費(fèi)的能量;W2l]為第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò)程中從初始姿態(tài)轉(zhuǎn)向目標(biāo)姿 態(tài)的過(guò)程中所耗費(fèi)的能量;F11,代表第i個(gè)機(jī)器人執(zhí)行第j個(gè)任務(wù)過(guò)程中在加速運(yùn)動(dòng)階段的 驅(qū)動(dòng)力;Sll]代表第i個(gè)機(jī)器人執(zhí)行第j個(gè)任務(wù)過(guò)程中在加速運(yùn)動(dòng)階段所移動(dòng)的直線距離; F2lj代表第i個(gè)機(jī)器人執(zhí)行第j個(gè)任務(wù)過(guò)程中在勻速運(yùn)動(dòng)階段的驅(qū)動(dòng)力;s2lj代表第i個(gè)機(jī) 器人執(zhí)行第j個(gè)任務(wù)過(guò)程中在勻速運(yùn)動(dòng)階段所移動(dòng)的直線距離;F31,代表第i個(gè)機(jī)器人執(zhí)行 第j個(gè)任務(wù)過(guò)程中在減速運(yùn)動(dòng)階段的驅(qū)動(dòng)力;S3lj代表第i個(gè)機(jī)器人執(zhí)行第j個(gè)任務(wù)過(guò)程中 在減速運(yùn)動(dòng)階段所移動(dòng)的直線距離為機(jī)器人的平均角速度J為轉(zhuǎn)動(dòng)慣量。
[0050] 所述第一步中,第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò)程中所付出的處理能量W3l]是指 第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)時(shí)舉起重物的過(guò)程中所耗費(fèi)的能量,則W3l]=n^gh;其中, m。代表被舉物體的質(zhì)量,g代表重力加速度,h代表物體被機(jī)器人舉起的高度。
[0051] 所述第二步中,第i個(gè)機(jī)器人在執(zhí)行第j個(gè)任務(wù)過(guò)