[發(fā)明專(zhuān)利]一種面向開(kāi)放場(chǎng)景的多機(jī)器人自主協(xié)同搜救方法有效
| 申請(qǐng)?zhí)枺?/td> | 201910883109.7 | 申請(qǐng)日: | 2019-09-18 |
| 公開(kāi)(公告)號(hào): | CN110587606B | 公開(kāi)(公告)日: | 2020-11-20 |
| 發(fā)明(設(shè)計(jì))人: | 劉惠;丁博;王懷民;賈宏達(dá);史佩昌;張捷;駱杰;懷智博;鞏旭東;耿銘陽(yáng) | 申請(qǐng)(專(zhuān)利權(quán))人: | 中國(guó)人民解放軍國(guó)防科技大學(xué) |
| 主分類(lèi)號(hào): | B25J9/16 | 分類(lèi)號(hào): | B25J9/16 |
| 代理公司: | 湖南兆弘專(zhuān)利事務(wù)所(普通合伙) 43008 | 代理人: | 陳暉 |
| 地址: | 410073 湖*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 開(kāi)放 場(chǎng)景 機(jī)器人 自主 協(xié)同 搜救 方法 | ||
1.一種面向開(kāi)放場(chǎng)景的多機(jī)器人自主協(xié)同搜救方法,其特征在于包括以下步驟:
第一步,構(gòu)建多機(jī)器人系統(tǒng),多機(jī)器人系統(tǒng)由M個(gè)機(jī)器人節(jié)點(diǎn)和一個(gè)云端服務(wù)器節(jié)點(diǎn)構(gòu)成,云端服務(wù)器節(jié)點(diǎn)與M個(gè)機(jī)器人節(jié)點(diǎn)均相連;
機(jī)器人節(jié)點(diǎn)指能夠運(yùn)動(dòng)、觀測(cè)、通信、具有軟件運(yùn)行能力的機(jī)器人;每個(gè)機(jī)器人節(jié)點(diǎn)上均部署有探測(cè)模塊、第一存儲(chǔ)模塊、計(jì)算模塊、運(yùn)動(dòng)模塊和第一通信模塊;探測(cè)模塊是能采集搜救場(chǎng)景環(huán)境數(shù)據(jù)的傳感器,探測(cè)模塊與第一存儲(chǔ)模塊相連,從開(kāi)始運(yùn)行后每隔α秒周期性地對(duì)傳感器可見(jiàn)范圍內(nèi)的搜救場(chǎng)景和除自己以外的另M-1臺(tái)機(jī)器人節(jié)點(diǎn)進(jìn)行拍攝或掃描,得到當(dāng)前搜救場(chǎng)景狀態(tài),并將當(dāng)前搜救場(chǎng)景狀態(tài)發(fā)送給第一存儲(chǔ)模塊;
第一存儲(chǔ)模塊是存貯器,與探測(cè)模塊和計(jì)算模塊相連,第一存儲(chǔ)模塊中有一個(gè)元經(jīng)驗(yàn)回放池,以數(shù)組的形式存放所屬機(jī)器人節(jié)點(diǎn)m的D條軌跡信息,D為正整數(shù);第一存儲(chǔ)模塊從探測(cè)模塊接收搜救場(chǎng)景狀態(tài),將搜救場(chǎng)景狀態(tài)轉(zhuǎn)化成軌跡信息,軌跡信息是一個(gè)四元組,第j條軌跡信息的格式為(sj,aj,rj,sj+1),其中,sj表示探測(cè)模塊第j次觀察到的搜救場(chǎng)景狀態(tài),sj涵蓋第j次觀察到的除機(jī)器人節(jié)點(diǎn)m以外的另M-1臺(tái)機(jī)器人節(jié)點(diǎn)、搜救場(chǎng)景中所有目標(biāo)點(diǎn)、搜救場(chǎng)景中所有障礙物的位置坐標(biāo)和另M-1臺(tái)機(jī)器人節(jié)點(diǎn)的速度;aj表示探測(cè)模塊在第j次觀測(cè)到第j+1次觀測(cè)兩個(gè)時(shí)間點(diǎn)之間,機(jī)器人節(jié)點(diǎn)m所采取的行動(dòng),表現(xiàn)為機(jī)器人節(jié)點(diǎn)m往某個(gè)方向進(jìn)行加速或施加作用力的動(dòng)作,機(jī)器人節(jié)點(diǎn)m在執(zhí)行行動(dòng)時(shí)自動(dòng)記錄aj;rj是探測(cè)模塊在第j+1次觀察時(shí),對(duì)于第j次觀察到的搜救場(chǎng)景狀態(tài)的任務(wù)完成度進(jìn)行評(píng)價(jià)的得分;sj+1表示探測(cè)模塊第j+1次觀察到的搜救場(chǎng)景狀態(tài),sj+1涵蓋第j+1次觀察到的除機(jī)器人節(jié)點(diǎn)m以外的另M-1臺(tái)機(jī)器人節(jié)點(diǎn)、搜救場(chǎng)景中所有目標(biāo)點(diǎn)、搜救場(chǎng)景中所有障礙物的位置坐標(biāo)和另M-1臺(tái)機(jī)器人節(jié)點(diǎn)的速度;
計(jì)算模塊負(fù)責(zé)制定和優(yōu)化搜救策略,并根據(jù)搜救策略向運(yùn)動(dòng)模塊發(fā)送行動(dòng)指令;計(jì)算模塊與第一存儲(chǔ)模塊、運(yùn)動(dòng)模塊、第一通信模塊相連,計(jì)算模塊中安裝有操作系統(tǒng),并安裝有與操作系統(tǒng)相匹配的ROS即“機(jī)器人操作系統(tǒng)”和TensorFlow深度學(xué)習(xí)框架;計(jì)算模塊使用TensorFlow深度學(xué)習(xí)框架創(chuàng)建6個(gè)全連接神經(jīng)網(wǎng)絡(luò),分屬用于形成行動(dòng)指令的Actor結(jié)構(gòu)和用于優(yōu)化搜救策略的Critic結(jié)構(gòu),Actor結(jié)構(gòu)包括策略網(wǎng)絡(luò)、目標(biāo)網(wǎng)絡(luò)、元策略網(wǎng)絡(luò);Critic結(jié)構(gòu)包括評(píng)價(jià)網(wǎng)絡(luò)、目標(biāo)網(wǎng)絡(luò)、元評(píng)價(jià)網(wǎng)絡(luò),這6個(gè)網(wǎng)絡(luò)是結(jié)構(gòu)相同的神經(jīng)網(wǎng)絡(luò);Actor結(jié)構(gòu)策略網(wǎng)絡(luò)從第一存儲(chǔ)模塊中獲取多條軌跡信息和當(dāng)前狀態(tài),將自身的網(wǎng)絡(luò)參數(shù)發(fā)送給Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)和Actor結(jié)構(gòu)元策略網(wǎng)絡(luò),并發(fā)送行動(dòng)指令給運(yùn)動(dòng)模塊,Actor結(jié)構(gòu)策略網(wǎng)絡(luò)主要功能是根據(jù)當(dāng)前狀態(tài)制定下一步的行動(dòng)指令;Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)從Actor結(jié)構(gòu)策略網(wǎng)絡(luò)獲取Actor結(jié)構(gòu)策略網(wǎng)絡(luò)的參數(shù),輔助Actor結(jié)構(gòu)策略網(wǎng)絡(luò)進(jìn)行更新,并將損失函數(shù)度量值發(fā)送給Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò);Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)從第一存儲(chǔ)模塊接收多條軌跡信息,從Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)接收損失函數(shù)度量值,指導(dǎo)Actor結(jié)構(gòu)策略網(wǎng)絡(luò)制定更佳的行動(dòng)指令,并將自身網(wǎng)絡(luò)參數(shù)發(fā)送給Actor結(jié)構(gòu)策略網(wǎng)絡(luò)、Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)和Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò);Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)從Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)接收Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù),從Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)接收損失函數(shù)度量值,輔助Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)進(jìn)行更新,并將損失函數(shù)度量值發(fā)送給Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò);Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)從Actor結(jié)構(gòu)策略網(wǎng)絡(luò)接收Actor結(jié)構(gòu)策略網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù),將不同搜救場(chǎng)景中得到的Actor結(jié)構(gòu)策略網(wǎng)絡(luò)參數(shù)進(jìn)行提煉和保存;Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò)從Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)接收Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)參數(shù),將不同搜救場(chǎng)景中得到的Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)參數(shù)進(jìn)行提煉和保存;計(jì)算模塊將Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)和Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò)的兩個(gè)網(wǎng)絡(luò)參數(shù)保存成一個(gè).data格式文件,發(fā)送到第一通信模塊;機(jī)器人節(jié)點(diǎn)每隔α秒進(jìn)行一次觀測(cè)并執(zhí)行一個(gè)動(dòng)作指令,定義為機(jī)器人節(jié)點(diǎn)每隔α秒執(zhí)行一步行動(dòng);每一步行動(dòng)后,計(jì)算模塊從第一存儲(chǔ)模塊接收到多條軌跡信息和當(dāng)前狀態(tài),一方面計(jì)算模塊從多條軌跡信息中找到當(dāng)前狀態(tài),將此狀態(tài)輸入到Actor結(jié)構(gòu)策略網(wǎng)絡(luò)中,得到并輸出下一步的行動(dòng)指令;另一方面,計(jì)算模塊根據(jù)這多條軌跡信息,對(duì)六個(gè)神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行更新,在行動(dòng)完成后,將保存有Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)和Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)的文件發(fā)送給第一通信模塊;
運(yùn)動(dòng)模塊由數(shù)模轉(zhuǎn)換器和驅(qū)動(dòng)裝置構(gòu)成;運(yùn)動(dòng)模塊與計(jì)算模塊相連,從計(jì)算模塊接收行動(dòng)指令,通過(guò)內(nèi)置的數(shù)模轉(zhuǎn)換器將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),并將模擬信號(hào)傳輸給驅(qū)動(dòng)裝置,使機(jī)器人根據(jù)行動(dòng)指令做出相應(yīng)動(dòng)作,導(dǎo)致搜救場(chǎng)景發(fā)生改變;
第一通信模塊與計(jì)算模塊、云端服務(wù)器節(jié)點(diǎn)相連,第一通信模塊從計(jì)算模塊接收記錄參數(shù)的.data格式文件,將.data格式文件發(fā)送給云端服務(wù)器節(jié)點(diǎn)中的第二通信模塊;
云端服務(wù)器節(jié)點(diǎn)指網(wǎng)絡(luò)服務(wù)器、工作站,安裝有第二通信模塊和第二存儲(chǔ)模塊;第二存儲(chǔ)模塊與第二通信模塊相連,第二存儲(chǔ)模塊上安裝有Ubuntul6.04/18.04操作系統(tǒng),以及與機(jī)器人節(jié)點(diǎn)相同版本的TensorFlow深度學(xué)習(xí)框架;第二通信模塊與第二存儲(chǔ)模塊、M個(gè)機(jī)器人節(jié)點(diǎn)的第一通信模塊相連,同時(shí)與M個(gè)機(jī)器人節(jié)點(diǎn)進(jìn)行通信;
第二步,在Gazebo仿真環(huán)境中構(gòu)建多種仿真搜救場(chǎng)景:
2.1在任意一臺(tái)電腦上運(yùn)行Gazebo仿真環(huán)境,并在Gazebo仿真環(huán)境中,仿照第一步構(gòu)建的多機(jī)器人系統(tǒng)中M個(gè)機(jī)器人節(jié)點(diǎn)的實(shí)際結(jié)構(gòu)和尺寸,構(gòu)建對(duì)應(yīng)的M個(gè)機(jī)器人節(jié)點(diǎn)仿真模型;
2.2在Gazebo仿真環(huán)境中,對(duì)搜救場(chǎng)景可能出現(xiàn)的各個(gè)要素以相同比例進(jìn)行仿真建模,得到各種場(chǎng)景要素仿真模型;
2.3隨機(jī)選取以上設(shè)計(jì)的機(jī)器人節(jié)點(diǎn)仿真模型和場(chǎng)景要素仿真模型的種類(lèi)、數(shù)目和初始位置坐標(biāo),形成N個(gè)搜救任務(wù)場(chǎng)景,N為正整數(shù),用來(lái)模擬在N次災(zāi)難后搜救的現(xiàn)場(chǎng)條件;
2.4設(shè)計(jì)搜救任務(wù)完成度評(píng)價(jià)指標(biāo),搜救任務(wù)完成度評(píng)價(jià)指標(biāo)的設(shè)定原則是對(duì)促進(jìn)完成任務(wù)目標(biāo)的行為進(jìn)行加分,對(duì)干擾任務(wù)完成的行為進(jìn)行扣分;
第三步,讓M個(gè)機(jī)器人節(jié)點(diǎn)仿真模型在N個(gè)仿真搜救場(chǎng)景中進(jìn)行預(yù)訓(xùn)練,使機(jī)器人節(jié)點(diǎn)掌握具有泛化性的基本協(xié)同搜救策略;M臺(tái)機(jī)器人節(jié)點(diǎn)仿真模型并行執(zhí)行以下步驟,機(jī)器人節(jié)點(diǎn)仿真模型m的執(zhí)行過(guò)程如下,1≤m≤M:
3.1機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊進(jìn)行初始化,即計(jì)算模塊中的六個(gè)神經(jīng)網(wǎng)絡(luò)對(duì)參數(shù)進(jìn)行初始化,參數(shù)包括每個(gè)神經(jīng)網(wǎng)絡(luò)內(nèi)部每層之間的權(quán)重矩陣和偏置向量,按照期望為0、方差為2的正態(tài)分布隨機(jī)生成每個(gè)神經(jīng)網(wǎng)絡(luò)內(nèi)部每層之間的權(quán)重矩陣和偏置向量中的每個(gè)數(shù)字;M個(gè)機(jī)器人節(jié)點(diǎn)仿真模型的初始化過(guò)程相互獨(dú)立,機(jī)器人節(jié)點(diǎn)仿真模型m和機(jī)器人節(jié)點(diǎn)仿真模型mm選取的參數(shù)可以相同也可以不同,1≤mm≤M且mm≠m;
3.2初始化循環(huán)變量n=1;
3.3在Gazebo仿真環(huán)境中從N個(gè)搜救任務(wù)場(chǎng)景選取第n個(gè)搜救任務(wù)場(chǎng)景,命名為仿真搜救場(chǎng)景;
3.4初始化已經(jīng)探索的輪數(shù)k=0,并設(shè)定在仿真搜救場(chǎng)景中最大探索輪數(shù)KK為正整數(shù);
3.5在仿真搜救場(chǎng)景中隨機(jī)設(shè)置機(jī)器人節(jié)點(diǎn)仿真模型m和多個(gè)目標(biāo)點(diǎn)的初始位置;
3.6初始化機(jī)器人節(jié)點(diǎn)仿真模型m在第k輪探索中已經(jīng)完成的行動(dòng)步數(shù)i=0,并設(shè)定第k輪探索中機(jī)器人節(jié)點(diǎn)仿真模型m可以執(zhí)行的行動(dòng)步數(shù)最大值I,I為正整數(shù);
3.7機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊從第一存儲(chǔ)模塊獲得搜救場(chǎng)景的當(dāng)前狀態(tài)si,輸入到Actor結(jié)構(gòu)策略網(wǎng)絡(luò)μ中,將μ的輸出,即行動(dòng)指令ai發(fā)送給運(yùn)動(dòng)模塊和第一存儲(chǔ)模塊;運(yùn)動(dòng)模塊執(zhí)行動(dòng)作ai;
3.8 Gazebo仿真環(huán)境按照搜救任務(wù)完成度評(píng)價(jià)指標(biāo),自動(dòng)計(jì)算ai當(dāng)前的搜救任完成度評(píng)價(jià)得分ri,并發(fā)送到機(jī)器人節(jié)點(diǎn)仿真模型m的第一存儲(chǔ)模塊;
3.9 ai的執(zhí)行導(dǎo)致搜救場(chǎng)景狀態(tài)發(fā)生變化,機(jī)器人節(jié)點(diǎn)仿真模型m的探測(cè)模塊觀測(cè)到搜救場(chǎng)景狀態(tài)si+1,將si+1發(fā)送給第一存儲(chǔ)模塊;
3.10機(jī)器人節(jié)點(diǎn)仿真模型m的第一存儲(chǔ)模塊整合信息si、si+1、ai、ri,得到一組軌跡信息(si,ai,ri,si+1),存入到第一存儲(chǔ)模塊的元經(jīng)驗(yàn)回放池;
3.11機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊判定元經(jīng)驗(yàn)回放池是否已有P條信息,若已有P條信息,則計(jì)算模塊從元經(jīng)驗(yàn)回放池隨機(jī)抽取P條軌跡信息,并執(zhí)行步驟3.14,P為正整數(shù);否則,令i=i+1,轉(zhuǎn)步驟3.7;
3.12機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊按照抽取的先后順序?qū)條軌跡信息進(jìn)行編號(hào)1~P,同時(shí)初始化序號(hào)值np=0;
3.13機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊從序號(hào)np開(kāi)始順序選取前p條軌跡信息,并將np更新為選取軌跡信息中最后一條的序號(hào),p為小于等于P的正整數(shù);
3.14機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊采用梯度下降法最小化如公式(1)所示的損失函數(shù)L,得到新的評(píng)價(jià)網(wǎng)絡(luò)參數(shù),實(shí)現(xiàn)評(píng)價(jià)網(wǎng)絡(luò)優(yōu)化:
其中,Q′是Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò),Q是Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò),μ′是Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò),μ′(si+1)表示將si+1輸入到μ′中得到的行動(dòng)指令,Q′(si+1,μ′(si+1))表示將狀態(tài)si+1和行動(dòng)指令μ′(si+1)輸入到Q′得到的得分,α是0~1的常數(shù),作為權(quán)重,Q(si,ai)表示將狀態(tài)si和行動(dòng)ai輸入到Q中得到的得分,(ri+αQ′(si+1,μ′(si+1))-Q(si,ai))是對(duì)三項(xiàng)得分進(jìn)行加權(quán)計(jì)算;
3.15機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊根據(jù)p條軌跡信息,通過(guò)梯度下降法,使得機(jī)器人節(jié)點(diǎn)仿真模型m表現(xiàn)評(píng)價(jià)函數(shù)Jθ(μ)值增大;在增大評(píng)價(jià)函數(shù)Jθ(μ)值的過(guò)程中,Actor結(jié)構(gòu)策略網(wǎng)絡(luò)參數(shù)得到更新,從而實(shí)現(xiàn)對(duì)Actor結(jié)構(gòu)策略網(wǎng)絡(luò)優(yōu)化:
其中,ρi(si)表示在第i步時(shí),計(jì)算模塊根據(jù)探測(cè)模塊觀測(cè)到的搜救場(chǎng)景狀態(tài)si,采取不同行動(dòng)的概率分布,這個(gè)概率分布由Actor結(jié)構(gòu)策略網(wǎng)絡(luò)確定;
3.16判斷np+p>P是否滿(mǎn)足,若滿(mǎn)足,執(zhí)行步驟3.17;否則,轉(zhuǎn)步驟3.13;
3.17機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊按照公式(3)更新Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò)參數(shù)、按照公式(4)更新Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)參數(shù)、按照公式(5)更新Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)參數(shù)、按照公式(6)更新Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)參數(shù):
其中,是Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò)在第k輪第i步時(shí)的參數(shù)、是Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)在第k輪第i步時(shí)的參數(shù)、是Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)在第k輪第i步時(shí)的參數(shù)、是Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)在第k輪第i步時(shí)的參數(shù)、是Actor結(jié)構(gòu)策略網(wǎng)絡(luò)在第k輪第i步時(shí)的參數(shù)、是Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)在第k輪第i步時(shí)的參數(shù),τ1、τ2、τ3、τ4是取值在0~1的常數(shù);
3.18令i=i+1,若i等于設(shè)定的每輪最大步數(shù)I,則執(zhí)行步驟3.19;否則執(zhí)行步驟3.7;
3.19令k=k+1,若k等于設(shè)定的最大執(zhí)行輪數(shù)K,則執(zhí)行步驟3.20;否則執(zhí)行步驟3.5;
3.20令n=n+1,若n等于N,執(zhí)行步驟3.22;否則,執(zhí)行步驟3.21;
3.21機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊保留Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)、Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò)中的所有參數(shù);同時(shí)機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊清空Actor結(jié)構(gòu)策略網(wǎng)絡(luò)、Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)、Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)、Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)的所有參數(shù)并按照期望為0、方差為2的正態(tài)分布隨機(jī)賦予初始值;清空第一存儲(chǔ)模塊的元經(jīng)驗(yàn)回放池,轉(zhuǎn)步驟3.4;
3.22計(jì)算模塊將Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)、Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)共同保存在一個(gè).data格式文件;M個(gè)機(jī)器人節(jié)點(diǎn)仿真模型并行執(zhí)行完第三步,得到M個(gè).data格式文件,其中記錄的M個(gè)Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)參數(shù),即為M個(gè)機(jī)器人節(jié)點(diǎn)的基本行動(dòng)策略,這些基本行動(dòng)策略共同組成了基本多機(jī)器人協(xié)同搜救策略;
第四步,M個(gè)機(jī)器人節(jié)點(diǎn)仿真模型將記錄基本多機(jī)器人協(xié)同搜救策略的.data格式文件上傳到云端服務(wù)器節(jié)點(diǎn),即將第三步得到M個(gè)基本多機(jī)器人協(xié)同搜救策略保存在云端服務(wù)器節(jié)點(diǎn),M臺(tái)機(jī)器人節(jié)點(diǎn)仿真模型并行執(zhí)行以下步驟,機(jī)器人節(jié)點(diǎn)仿真模型m的具體步驟如下:
4.1機(jī)器人節(jié)點(diǎn)仿真模型m的計(jì)算模塊將.data格式的文件發(fā)送到第一通信模塊;
4.2機(jī)器人節(jié)點(diǎn)仿真模型m的第一通信模塊將.data格式文件發(fā)送到云端服務(wù)器節(jié)點(diǎn)的第二通信模塊;
4.3第二通信模塊將收到.data文件保存在第二存儲(chǔ)模塊;
第五步,將第一步構(gòu)建的多機(jī)器人系統(tǒng)設(shè)置在需要開(kāi)展搜救任務(wù)的地點(diǎn),對(duì)基本多機(jī)器人協(xié)同搜救策略進(jìn)行優(yōu)化,得到M個(gè)機(jī)器人節(jié)點(diǎn)的Actor結(jié)構(gòu)策略網(wǎng)絡(luò)參數(shù),共同構(gòu)成多機(jī)器人自主協(xié)同搜救策略;M臺(tái)機(jī)器人節(jié)點(diǎn)并行執(zhí)行以下步驟,機(jī)器人節(jié)點(diǎn)m的具體步驟如下:
5.1機(jī)器人節(jié)點(diǎn)m的第一通信模塊向云端服務(wù)器節(jié)點(diǎn)的第二通信模塊發(fā)送基本多機(jī)器人協(xié)同搜救策略下載請(qǐng)求;
5.2第二通信模塊從第二存儲(chǔ)模塊讀取.data格式文件,并發(fā)送給第一通信模塊;
5.3機(jī)器人節(jié)點(diǎn)m的第一通信模塊將.data格式文件發(fā)送給機(jī)器人節(jié)點(diǎn)m的計(jì)算模塊;
5.4機(jī)器人節(jié)點(diǎn)m的計(jì)算模塊通過(guò)TensorFlow深度學(xué)習(xí)框架加載.data格式文件中的信息,將.data格式文件中保存的Actor結(jié)構(gòu)元策略網(wǎng)絡(luò)參數(shù)賦值給機(jī)器人節(jié)點(diǎn)m的Actor結(jié)構(gòu)策略網(wǎng)絡(luò),將.data格式文件中保存的Critic結(jié)構(gòu)元評(píng)價(jià)網(wǎng)絡(luò)參數(shù)賦值給機(jī)器人節(jié)點(diǎn)m的Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò);
5.5對(duì)機(jī)器人節(jié)點(diǎn)m的Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)和Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)的參數(shù)進(jìn)行初始化,參數(shù)包括神經(jīng)網(wǎng)絡(luò)每個(gè)神經(jīng)網(wǎng)絡(luò)內(nèi)部每層之間的權(quán)重矩陣和偏置向量,其中的每一維數(shù)字按照期望為0、方差為2的正態(tài)分布隨機(jī)選取;M個(gè)機(jī)器人節(jié)點(diǎn)的初始化過(guò)程相互獨(dú)立,機(jī)器人節(jié)點(diǎn)m和機(jī)器人節(jié)點(diǎn)mm選取的參數(shù)可以相同也可以不同,1≤mm≤M且mm≠m;
5.6初始化機(jī)器人節(jié)點(diǎn)m的第一存儲(chǔ)模塊中的經(jīng)驗(yàn)回放池為空;
5.7初始化機(jī)器人節(jié)點(diǎn)m已經(jīng)完成的行動(dòng)步數(shù)i=0,并設(shè)定機(jī)器人節(jié)點(diǎn)m可以執(zhí)行的行動(dòng)步數(shù)最大值I′,I′為正整數(shù);
5.8機(jī)器人節(jié)點(diǎn)m的計(jì)算模塊從第一存儲(chǔ)模塊獲得搜救場(chǎng)景的當(dāng)前狀態(tài)si,輸入到機(jī)器人節(jié)點(diǎn)m的Actor結(jié)構(gòu)策略網(wǎng)絡(luò)μ中,將μ的輸出,即行動(dòng)指令ai發(fā)送給運(yùn)動(dòng)模塊和第一存儲(chǔ)模塊;運(yùn)動(dòng)模塊執(zhí)行動(dòng)作ai;
5.9在機(jī)器人節(jié)點(diǎn)m的運(yùn)動(dòng)模塊執(zhí)行行為ai后,機(jī)器人節(jié)點(diǎn)m根據(jù)步驟2.4設(shè)計(jì)的評(píng)價(jià)指標(biāo),得到當(dāng)前搜救任務(wù)完成度評(píng)分ri,并將ri發(fā)送到機(jī)器人節(jié)點(diǎn)的第一存儲(chǔ)模塊;
5.10 ai的執(zhí)行導(dǎo)致搜救場(chǎng)景狀態(tài)發(fā)生變化,機(jī)器人節(jié)點(diǎn)m的探測(cè)模塊觀測(cè)到新的搜救場(chǎng)景環(huán)境狀態(tài)si+1,并將si+1發(fā)送到第一存儲(chǔ)模塊;
5.11機(jī)器人節(jié)點(diǎn)m的第一存儲(chǔ)模塊將接收的si,ai,ri,si+1整合成一組軌跡信息(si,ai,ri,si+1),存入經(jīng)驗(yàn)回放池;
5.12若機(jī)器人節(jié)點(diǎn)m的第一存儲(chǔ)模塊的經(jīng)驗(yàn)回放池已經(jīng)有R條信息,則計(jì)算模塊從經(jīng)驗(yàn)回放池中隨機(jī)抽取R條軌跡信息,轉(zhuǎn)步驟5.13;否則,令i=i+1,轉(zhuǎn)步驟5.8;R為正整數(shù);
5.13機(jī)器人節(jié)點(diǎn)m的計(jì)算模塊讀取R條軌跡信息,采用梯度下降法最小化如公式(1)所示的損失函數(shù)L,以更新Critic結(jié)構(gòu)評(píng)價(jià)網(wǎng)絡(luò)參數(shù),實(shí)現(xiàn)對(duì)評(píng)價(jià)網(wǎng)絡(luò)優(yōu)化;
5.14計(jì)算模塊根據(jù)當(dāng)前讀取的R條軌跡信息,通過(guò)梯度下降法,使得如公式(2)所示的機(jī)器人節(jié)點(diǎn)m表現(xiàn)評(píng)價(jià)函數(shù)Jθ(μ)值增大,以更新Actor結(jié)構(gòu)策略網(wǎng)絡(luò)參數(shù),實(shí)現(xiàn)對(duì)策略網(wǎng)絡(luò)的優(yōu)化;
5.15計(jì)算模塊根據(jù)當(dāng)前讀取的R條軌跡信息,按照公式(5)更新Critic結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)參數(shù)、按照公式(6)更新Actor結(jié)構(gòu)目標(biāo)網(wǎng)絡(luò)參數(shù);
5.16令i=i+1,若i達(dá)到最大步驟數(shù)I′,表示搜救策略?xún)?yōu)化完畢,轉(zhuǎn)第六步;否則,轉(zhuǎn)步驟5.8;
第六步,將M個(gè)機(jī)器人節(jié)點(diǎn)放置在第五步的搜救場(chǎng)景中;
第七步,多機(jī)器人系統(tǒng)根據(jù)優(yōu)化后的搜救策略,在開(kāi)放場(chǎng)景下協(xié)同完成搜救任務(wù),M臺(tái)機(jī)器人節(jié)點(diǎn)并行執(zhí)行以下步驟,機(jī)器人節(jié)點(diǎn)m的具體步驟如下:
7.1根據(jù)搜救任務(wù)要求,設(shè)置多機(jī)器人系統(tǒng)需要搜救多個(gè)目標(biāo)點(diǎn),將所有目標(biāo)點(diǎn)的坐標(biāo)存放在列表L中,并發(fā)送到機(jī)器人節(jié)點(diǎn)的第一通信模塊中,第一通信模塊將L轉(zhuǎn)發(fā)到計(jì)算模塊中,機(jī)器人節(jié)點(diǎn)m從L中選擇前往的目標(biāo)點(diǎn);
7.2初始化i=0;
7.3機(jī)器人節(jié)點(diǎn)m的探測(cè)模塊探測(cè)搜救場(chǎng)景狀態(tài)si,發(fā)送到第一存儲(chǔ)模塊,第一存儲(chǔ)模塊將si發(fā)送到計(jì)算模塊;
7.4機(jī)器人節(jié)點(diǎn)m的計(jì)算模塊的Actor結(jié)構(gòu)策略網(wǎng)絡(luò)將二元組(si,L中的目標(biāo)點(diǎn)位置)作為策略網(wǎng)絡(luò)的輸入,得到策略網(wǎng)絡(luò)的輸出ai;
7.5機(jī)器人節(jié)點(diǎn)m的計(jì)算模塊將ai發(fā)送到運(yùn)動(dòng)模塊;
7.6機(jī)器人節(jié)點(diǎn)m的運(yùn)動(dòng)模塊執(zhí)行動(dòng)作ai;
7.7若機(jī)器人節(jié)點(diǎn)m達(dá)到目標(biāo)點(diǎn)附近d米以?xún)?nèi),d為正整數(shù),則從列表L中刪除d米內(nèi)的目標(biāo)點(diǎn),執(zhí)行步驟7.8;否則,令i=i+1,執(zhí)行步驟7.3;
7.8機(jī)器人節(jié)點(diǎn)m判斷L中是否還存有目標(biāo)點(diǎn)信息,若有,執(zhí)行步驟7.2;否則,執(zhí)行第八步;
第八步,結(jié)束。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科技大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910883109.7/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 電視場(chǎng)景切換的方法及電視
- 視頻場(chǎng)景控制系統(tǒng)及方法
- 場(chǎng)景開(kāi)關(guān)及其場(chǎng)景開(kāi)關(guān)構(gòu)件和場(chǎng)景圖標(biāo)卡組件
- 場(chǎng)景聯(lián)動(dòng)方法及場(chǎng)景聯(lián)動(dòng)系統(tǒng)
- 一種視頻場(chǎng)景分類(lèi)方法、裝置、移動(dòng)終端及存儲(chǔ)介質(zhì)
- 一種Unity3D引擎的場(chǎng)景切換方法和系統(tǒng)
- 一種自動(dòng)駕駛場(chǎng)景分類(lèi)識(shí)別系統(tǒng)及方法
- 一種虛擬場(chǎng)景生成方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)
- 一種汽車(chē)圖像場(chǎng)景庫(kù)數(shù)據(jù)復(fù)雜度度量方法
- 場(chǎng)景識(shí)別方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





