欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于分布共享存儲(chǔ)的智能小車協(xié)同方法

文檔序號(hào):8498632閱讀:682來源:國知局
基于分布共享存儲(chǔ)的智能小車協(xié)同方法
【專利說明】基于分布共享存儲(chǔ)的智能小車協(xié)同方法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種基于分布共享存儲(chǔ)的智能小車協(xié)同方法,屬于計(jì)算機(jī)應(yīng)用領(lǐng)域,針對多個(gè)智能小車在實(shí)際運(yùn)行中的環(huán)境,基于分布共享存儲(chǔ)實(shí)現(xiàn)智能小車的協(xié)同。
【背景技術(shù)】
[0003]隨著計(jì)算機(jī)技術(shù)的高速發(fā)展,移動(dòng)機(jī)器人和各種自適應(yīng)系統(tǒng)日漸成為一個(gè)熱門的研宄項(xiàng)目,并且逐步融入到人們的日常生活當(dāng)中。自適應(yīng)系統(tǒng)期望在一定環(huán)境中的機(jī)器人能夠通過自身裝配的一些列傳感器來自主地感知環(huán)境,通過一定的邏輯和計(jì)算方法去適應(yīng)環(huán)境并且完成相應(yīng)的任務(wù),從而減少人的參與。現(xiàn)有一些針對現(xiàn)實(shí)環(huán)境的自適應(yīng)系統(tǒng)的開發(fā)方法能夠有效地開發(fā)并且調(diào)試相應(yīng)的系統(tǒng)。另一方面,在計(jì)算機(jī)系統(tǒng)日益復(fù)雜的今天,如何讓分布的多個(gè)計(jì)算機(jī)通過合理的方式協(xié)同工作一直都是計(jì)算機(jī)領(lǐng)域的一個(gè)經(jīng)典問題。針對不同的問題,已經(jīng)有很多成熟的工作成果,它們在傳統(tǒng)的計(jì)算機(jī)上都已經(jīng)被證明了能夠完成相應(yīng)的協(xié)同任務(wù)。
[0004]盡管自適應(yīng)系統(tǒng)的開發(fā)方法和各類分布式算法都行之有效,現(xiàn)有的工作卻很少將分布式問題應(yīng)用到移動(dòng)的智能小車上,這是因?yàn)橐苿?dòng)的智能小車工作在實(shí)際的物理環(huán)境當(dāng)中,它會(huì)遇到不同的實(shí)際的適應(yīng)問題,需要硬件設(shè)備在適應(yīng)環(huán)境的同時(shí)兼顧分布式的問題;智能小車的開發(fā)平臺(tái)和開發(fā)方法和傳統(tǒng)的計(jì)算機(jī)完全不同,要將分布式的方法應(yīng)用于智能小車平臺(tái)上將面臨極大的挑戰(zhàn)。

【發(fā)明內(nèi)容】

[0005]發(fā)明目的:針對現(xiàn)有技術(shù)中存在的問題與不足,本發(fā)明提供一種基于分布共享存儲(chǔ)的智能小車協(xié)同方法,該方法能夠有效地開發(fā)小車協(xié)同系統(tǒng),并且在典型的智能小車分布式場景中,能夠保證很高的可用性。
[0006]技術(shù)方案:一種基于分布共享存儲(chǔ)的智能小車協(xié)同方法,以簡化在智能小車上的協(xié)同問題開發(fā)過程,其主要包括以下步驟:
I)為各單個(gè)小車封裝動(dòng)作,在小車識(shí)別分布式場景之前為其創(chuàng)建環(huán)境適應(yīng)邏輯,將單車任務(wù)逐步分解成一系列簡單的行為。
[0007]2)針對協(xié)同場景選取協(xié)同變量,構(gòu)建小車的分布式共享存儲(chǔ)并設(shè)計(jì)協(xié)同行為對共享存儲(chǔ)進(jìn)行管理。
[0008]3)確定分布式場景被識(shí)別后的小車目標(biāo)任務(wù)及小車面對環(huán)境,將任務(wù)逐步分解成一系列簡單的行為。
[0009]4)設(shè)計(jì)仲裁規(guī)則來調(diào)度和協(xié)調(diào)小車控制行為,將行為重組成為完整的智能小車協(xié)同任務(wù)。
[0010]上述步驟I)的具體過程為: 11)從基本馬達(dá)動(dòng)作到小車復(fù)雜動(dòng)作進(jìn)行封裝以組裝無差別的小車動(dòng)作集合,讓小車能夠完成基本的運(yùn)彳丁動(dòng)作;
12)結(jié)合傳感器數(shù)據(jù)組成適應(yīng)邏輯條件集合;
13)將單車任務(wù)分解成多個(gè)簡單的行為并確定行為的觸發(fā)條件;
任務(wù)的分解是一個(gè)遞歸的過程,復(fù)雜任務(wù)首先被分解成若干個(gè)簡單行為,這些簡單行為又可以通過更加基本的小車動(dòng)作組合而成,最終都是由步驟11中最基本的小車基本動(dòng)作拼裝而成。行為的觸發(fā)條件通常由各傳感器和自身運(yùn)行狀況決定,這些邏輯條件通常都包含在步驟12中抽象的邏輯條件集合中。分解的行為包括正常運(yùn)行行為以及發(fā)生意外后的容錯(cuò)行為等等。
[0011 ] 上述步驟2)的具體過程為:
21)確定分布共享存儲(chǔ)的讀寫方式,分布共享存儲(chǔ)需要保持共享存儲(chǔ)內(nèi)容的更新方式并且保證讀寫的一致性。底層網(wǎng)絡(luò)在分布的設(shè)備之間傳遞消息,對數(shù)據(jù)的修改都會(huì)發(fā)送給各個(gè)分布式節(jié)點(diǎn),同意這樣數(shù)據(jù)修改的節(jié)點(diǎn)會(huì)發(fā)送確認(rèn)返回給想要修改的節(jié)點(diǎn)。只有當(dāng)超過半數(shù)節(jié)點(diǎn)的確認(rèn)之后修改才會(huì)成功,所有節(jié)點(diǎn)會(huì)一起更新這個(gè)數(shù)據(jù)。底層網(wǎng)絡(luò)的形態(tài)可能是多種多樣的,可以是藍(lán)牙,WIFI等等。分布共享存儲(chǔ)會(huì)屏蔽底層通信的環(huán)節(jié),為小車提供可靠的讀寫操作,使得小車不需要再運(yùn)行過程當(dāng)中考慮網(wǎng)絡(luò)間的消息傳遞過程,而只需要使用共享存儲(chǔ)提供的讀操作和寫操作就可以可靠地獲取本機(jī)想要的協(xié)同數(shù)據(jù);
22)選取一組變量作為協(xié)同變量組成分布共享存儲(chǔ)的內(nèi)容,這些數(shù)據(jù)可以描述當(dāng)前面臨的協(xié)同問題并直接被有權(quán)限的小車讀寫;
23)構(gòu)建協(xié)同行為。由于在傳統(tǒng)設(shè)備上的協(xié)同問題已經(jīng)是比較經(jīng)典的問題,因此已經(jīng)有很多比較成熟的算法可以使用。比如對于互斥問題來說,經(jīng)典的算法有“Bakery算法”,"Dekker算法”,“Peterson算法”等等;而對于資源分配來說,常用的算法有“銀行家算法”。具體需要使用什么協(xié)同算法需要根據(jù)具體面對的協(xié)同問題來決定,分布共享存儲(chǔ)利用這些算法維護(hù)協(xié)同變量的值以指示協(xié)同的狀態(tài)提交給小車控制部件;
上述步驟3)的具體過程為:
31)結(jié)合傳感器條件以及協(xié)同條件確定小車在識(shí)別協(xié)同任務(wù)之后需要采取的適應(yīng)邏輯;
32)確定小車在協(xié)同場景發(fā)生之后采取的行為,并如步驟13中一樣進(jìn)行行為分解,仍然只是分解而不考慮執(zhí)行的順序問題;
上述步驟4)的具體過程為:
41)構(gòu)建仲裁器,來讀取行為的觸發(fā)條件執(zhí)行具體行為,并且設(shè)計(jì)仲裁規(guī)則來規(guī)范各個(gè)行為的具體執(zhí)行順序;
仲裁器的目的是每次選取一個(gè)邏輯條件符合當(dāng)前傳感器條件的行為,執(zhí)行行為中的小車控制過程,執(zhí)行完成后退出當(dāng)前行為并繼續(xù)仲裁;仲裁規(guī)則為仲裁器的仲裁提供指導(dǎo)規(guī)貝1J,使得仲裁器能夠在合適的時(shí)機(jī)選取到合適的行為來執(zhí)行小車的控制邏輯。
[0012]42)為之前設(shè)計(jì)的所有行為排定優(yōu)先級,如果有多個(gè)行為可以同時(shí)滿足被調(diào)度的條件時(shí)按照優(yōu)先級順序由高到低調(diào)度。
【附圖說明】
[0013]圖1為本發(fā)明的基于分布共享存儲(chǔ)實(shí)現(xiàn)智能小車協(xié)同方法的系統(tǒng)結(jié)構(gòu)圖;
圖2為任務(wù)遞歸分解的示意圖;
圖3為仲裁調(diào)度行為的示意圖。
【具體實(shí)施方式】
[0014]下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價(jià)形式的修改均落于本申請所附權(quán)利要求所限定的范圍。
[0015]本發(fā)明方法主要包括如下幾個(gè)方面:
I)物理小車的層次化封裝
小車的動(dòng)作是本發(fā)明的基礎(chǔ),小車是由左右兩個(gè)馬達(dá)組成的,馬達(dá)可以按照指定的速度正轉(zhuǎn),反轉(zhuǎn)以及轉(zhuǎn)相應(yīng)的圈數(shù)。小車所具有的一系列動(dòng)作最終都可以歸結(jié)為左右馬達(dá)轉(zhuǎn)動(dòng)的互相配合。小車最基本的動(dòng)作是前進(jìn),后退,轉(zhuǎn)彎,其中前進(jìn)和后退是馬達(dá)同時(shí)正轉(zhuǎn)和反轉(zhuǎn),而轉(zhuǎn)彎則采取一個(gè)馬達(dá)正轉(zhuǎn)另一個(gè)向反方向轉(zhuǎn)的方法;除此之外,通過前進(jìn),后退,轉(zhuǎn)彎可以組合出更多的更復(fù)雜的小車動(dòng)作,比如后退一段距離后轉(zhuǎn)彎,行進(jìn)到某個(gè)指定的位置等等。這些動(dòng)作都可以看作是小車應(yīng)該具有的固定動(dòng)作,和具體的環(huán)境和任務(wù)無關(guān)。
[0016]2)任務(wù)分解
無論是單車任務(wù)還是協(xié)同任務(wù)都需要進(jìn)行任務(wù)的分解,任務(wù)分解是一個(gè)遞歸的過程,任務(wù)會(huì)首先被分解成相對簡單的小車行為,這些行為會(huì)再次被分解成物理小車的動(dòng)作,最終會(huì)成為物理小車層次化封裝后的與任務(wù),環(huán)境無關(guān)的基本行為,圖2顯示了分解的層次。行為被分解完成之后還需要確定這些行為被觸發(fā)外部條件,這些條件可能是傳感器收集到的外部環(huán)境條件,也可能是小車本身的電機(jī)狀態(tài),也有可能是協(xié)同過程中產(chǎn)生的協(xié)同條件,這些條件指示小車的行為會(huì)在何種情況下被小車的控制部件執(zhí)行。這些經(jīng)過分解的行為,連同它們得到執(zhí)行的條件都會(huì)放在一個(gè)數(shù)組當(dāng)中,等待仲裁器的調(diào)度。
[0017]將任務(wù)分解成行為的好處是能夠先完成比較簡單而且獨(dú)立的模塊,最終通過拼接它們完成具體的復(fù)雜任務(wù),這些行為也有可能被其他的任務(wù)再次使用。行為分解的過程中只需要將整個(gè)任務(wù)分成一些不同的階段,找出每個(gè)階段的觸發(fā)條件即可,盡管有些行為可能因?yàn)橹丿B的條件而可能引起任務(wù)執(zhí)行順序的混亂,但這樣的亂序會(huì)通過仲裁器的調(diào)度來修復(fù)。
[0018]3)分布共享存儲(chǔ)的建立和管理
多個(gè)小車間的分布共享存儲(chǔ)是本發(fā)明在智能小車協(xié)同問題上的核心部分。共享存儲(chǔ)的內(nèi)容可能是一個(gè)或者是一組共享變量,這些變量要能夠反映協(xié)同問題的本質(zhì),比如互斥變量,協(xié)商問題的協(xié)商內(nèi)容等等。本發(fā)明通過構(gòu)建多個(gè)小車間的分布共享存儲(chǔ)來協(xié)調(diào)上層的協(xié)同算法和底層具體的通信內(nèi)容。分布共享存儲(chǔ)對下層操作網(wǎng)絡(luò)消息傳遞來維護(hù)數(shù)據(jù)的一致性和讀寫權(quán)限,對上層的協(xié)同算法提供讀和寫兩個(gè)操作,為小車控制過程屏蔽了多車網(wǎng)絡(luò)消息傳遞的具體細(xì)節(jié)。在小車看來所有的數(shù)據(jù)都好像是本地的傳感器數(shù)據(jù)一樣可以按照自己的權(quán)限進(jìn)行讀寫并且應(yīng)用相應(yīng)的算法解決具體的協(xié)同問題。由于智能移動(dòng)小車的開發(fā)方法大都是針對本地單個(gè)小車的,這種技術(shù)為智能移動(dòng)小車這個(gè)特殊平臺(tái)的編程提供了極大的便利。
[0019]4)仲裁調(diào)度
由于任務(wù)分解而得到的行為是獨(dú)立的,而且在分解過程當(dāng)中只是考慮的一些觸發(fā)條件而并沒有考慮執(zhí)行順序的問題,因此需要仲裁的規(guī)則來調(diào)度這些行為使得行為執(zhí)行時(shí)不會(huì)因?yàn)轫樞騿栴}而失效。仲裁調(diào)度可以使用狀態(tài)機(jī)
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
社会| 芦山县| 如皋市| 通江县| 吉木萨尔县| 隆安县| 宜阳县| 昔阳县| 福海县| 英山县| 会东县| 重庆市| 寿阳县| 新和县| 满洲里市| 新乡市| 石城县| 乳源| 绥德县| 余干县| 广丰县| 左贡县| 荣昌县| 土默特右旗| 分宜县| 天峻县| 汕尾市| 乌兰县| 稻城县| 外汇| 新源县| 鄂托克前旗| 淮北市| 赤壁市| 常熟市| 沿河| 朝阳市| 克东县| 石首市| 罗城| 石泉县|