基于目標(biāo)跟蹤控制策略的單移動(dòng)機(jī)器人最優(yōu)巡回控制方法
【技術(shù)領(lǐng)域】
[0001] 本系統(tǒng)涉及計(jì)算機(jī)圖像處理、路徑規(guī)劃、移動(dòng)機(jī)器人控制、通信等領(lǐng)域,尤其涉及 一種基于目標(biāo)跟蹤控制策略的單移動(dòng)機(jī)器人最優(yōu)巡回控制方法。
【背景技術(shù)】
[0002] 指示、規(guī)劃、控制機(jī)器人以代替人類工作是目前工業(yè)自動(dòng)控制領(lǐng)域的難點(diǎn)之一,近 年來已受到了廣泛的關(guān)注。機(jī)器人控制的主要目標(biāo)是采用高級(jí)的近似人類邏輯的語言向機(jī) 器人指示任務(wù),使機(jī)器人在客觀限制條件下自主將高級(jí)語言轉(zhuǎn)換成低級(jí)的原始命令來完成 任務(wù),其中原始命令包括根據(jù)反饋控制器建立輸入輸出之間的對(duì)應(yīng)關(guān)系,根據(jù)通信協(xié)議完 成機(jī)器人個(gè)體之間或機(jī)器人與服務(wù)器之間的信息交換等,客觀限制條件包括機(jī)器人自身的 限制及外界物理環(huán)境對(duì)機(jī)器人的限制,機(jī)器人自身的限制包括機(jī)械限制、能量限制、計(jì)算能 力及感知能力限制、通信范圍的限制等,環(huán)境限制包括各種形狀的障礙物及動(dòng)態(tài)目標(biāo)等。
[0003] 對(duì)單移動(dòng)機(jī)器人的控制包括上層的路徑規(guī)劃和基于規(guī)劃路徑的底層運(yùn)動(dòng)控制。傳 統(tǒng)的機(jī)器人路徑規(guī)劃方法主要針對(duì)"從A到B并避開障礙物"這種簡(jiǎn)單的點(diǎn)到點(diǎn)任務(wù),而無 法完成諸如"順序訪問A、B兩點(diǎn),然后巡回C、D兩點(diǎn)"這類包含復(fù)雜巡回任務(wù)的最優(yōu)路徑規(guī) 劃。此外,傳統(tǒng)的機(jī)器人運(yùn)動(dòng)控制方法主要集中在模糊控制、基于視覺的導(dǎo)航控制、學(xué)習(xí)控 制、基于紅外循跡控制等方法。其中,模糊控制需要根據(jù)經(jīng)驗(yàn)和實(shí)驗(yàn)數(shù)據(jù)來制定控制策略, 精度不高,自適應(yīng)能力有限;基于視覺的導(dǎo)航控制需要實(shí)時(shí)采集并處理圖像數(shù)據(jù),處理的數(shù) 據(jù)量大,對(duì)于光源、算法和硬件配置的效率要求較高;學(xué)習(xí)控制通用性差,機(jī)器學(xué)習(xí)與參數(shù) 的調(diào)整是一個(gè)較為復(fù)雜的過程,性能較差;基于紅外尋跡的移動(dòng)機(jī)器人控制算法對(duì)光線有 著特別的要求,而且需要給定紅外識(shí)別對(duì)象,適用范圍局限?;谀繕?biāo)跟蹤控制策略的單 移動(dòng)機(jī)器人最優(yōu)巡回控制方法的機(jī)器人運(yùn)動(dòng)控制采用了目標(biāo)跟蹤控制策略,區(qū)別于諸如模 糊控制等傳統(tǒng)的機(jī)器人控制策略,目標(biāo)跟蹤控制策略控制具有精度高、適用范圍廣、擴(kuò)展性 強(qiáng)、實(shí)現(xiàn)方便等優(yōu)點(diǎn),使得移動(dòng)機(jī)器人能夠?qū)崿F(xiàn)最優(yōu)路徑的準(zhǔn)確跟蹤,從而更有效地完成復(fù) 雜的巡回任務(wù)。
[0004] 基于目標(biāo)跟蹤控制策略的單移動(dòng)機(jī)器人最優(yōu)巡回控制方法可以廣泛的應(yīng)用于如 機(jī)器人排障、工廠等特殊環(huán)境的巡回監(jiān)測(cè)、火災(zāi)救災(zāi)等實(shí)際應(yīng)用中,實(shí)現(xiàn)機(jī)器人替人,從而 降低任務(wù)風(fēng)險(xiǎn),減少損失,提尚工作效率。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明要克服現(xiàn)有機(jī)器人路徑規(guī)劃及控制方法存在的上述缺點(diǎn),提出一種基于目 標(biāo)跟蹤控制策略的、高精度、適應(yīng)性廣、高效的單移動(dòng)機(jī)器人最優(yōu)巡回控制方法,包括基于 線性時(shí)序邏輯的上層路徑尋優(yōu)和基于尋優(yōu)路徑的底層運(yùn)動(dòng)控制。首先,上層采用基于線性 時(shí)序邏輯的最優(yōu)路徑規(guī)劃方法規(guī)劃出滿足任務(wù)需求的最優(yōu)路徑,然后底層采用目標(biāo)跟蹤控 制策略實(shí)現(xiàn)路徑跟蹤控制,同時(shí)結(jié)合實(shí)時(shí)的機(jī)器人位姿反饋信息(機(jī)器人的位置坐標(biāo)和朝 向信息)及時(shí)校準(zhǔn)機(jī)器人的運(yùn)動(dòng),實(shí)現(xiàn)閉環(huán)控制。
[0006] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0007] 一種基于目標(biāo)跟蹤控制策略的單移動(dòng)機(jī)器人最優(yōu)巡回控制方法,包括地圖構(gòu)建、 任務(wù)描述、拓?fù)錁?gòu)建、路徑尋優(yōu)、任務(wù)分解、目標(biāo)跟蹤控制和位姿信息反饋7個(gè)步驟,其特征 在于:首先,對(duì)輸入的環(huán)境信息進(jìn)行建模,構(gòu)建加權(quán)切換系統(tǒng)模型,同時(shí)輸入描述任務(wù)需求 的線性時(shí)序任務(wù)公式,并進(jìn)行轉(zhuǎn)換,輸出任務(wù)圖表;其次,將加權(quán)切換系統(tǒng)模型和任務(wù)圖表 進(jìn)行融合,構(gòu)建任務(wù)可行網(wǎng)絡(luò)拓?fù)?;接著,采用基于Di jkstra算法的最優(yōu)路徑搜索算法在 任務(wù)可行網(wǎng)絡(luò)拓?fù)渖纤阉鞒鰸M足任務(wù)需求的最優(yōu)路徑,并將任務(wù)可行網(wǎng)絡(luò)拓?fù)渖系淖顑?yōu)路 徑映射回加權(quán)切換系統(tǒng)模型,獲得環(huán)境中滿足任務(wù)需求的最優(yōu)路徑;之后,將實(shí)際環(huán)境中對(duì) 應(yīng)最優(yōu)路徑上的離散坐標(biāo)點(diǎn)存儲(chǔ)在緩存中,并結(jié)合當(dāng)前任務(wù)完成情況,按序讀取緩存中的 目標(biāo)點(diǎn);然后,采用目標(biāo)跟蹤控制策略,結(jié)合目標(biāo)點(diǎn)坐標(biāo)信息和實(shí)時(shí)反饋的機(jī)器人位置與 朝向信息,根據(jù)機(jī)器人與目標(biāo)點(diǎn)之間的距離和角度的偏差給出控制量,控制機(jī)器人完成最 優(yōu)路徑跟蹤;最后,實(shí)時(shí)采集機(jī)器人當(dāng)前運(yùn)行環(huán)境的圖像信息,通過色塊識(shí)別的方法,采用 UDP通信的方式,反饋回機(jī)器人當(dāng)前的位置坐標(biāo)和朝向信息,具體實(shí)現(xiàn)步驟如下:
[0008] 步驟1,地圖構(gòu)建
[0009] 將機(jī)器人當(dāng)前運(yùn)行環(huán)境構(gòu)建為加權(quán)切換系統(tǒng)模型;將移動(dòng)機(jī)器人所在的運(yùn)行環(huán)境 劃分為有限多個(gè)方塊區(qū)域,每個(gè)獨(dú)立的區(qū)域用字母Q iE Q表示,其中i e {1,2, 3,...},Q 是區(qū)域的集合,(^表示機(jī)器人的初始位置,機(jī)器人在環(huán)境中的移動(dòng)對(duì)應(yīng)區(qū)域的變化,表示為 -;從一個(gè)區(qū)域到相鄰區(qū)域的移動(dòng)距離或是機(jī)器人移動(dòng)的成本(權(quán)值),表示為ω,移動(dòng)機(jī) 器人在特定區(qū)域所執(zhí)行的任務(wù)表不為π ie Π ,其中i e {1,2, 3,...},Π 是所有任務(wù)的集 合;如此構(gòu)成一個(gè)轉(zhuǎn)換系統(tǒng)模型,用字母T表示:T = (Qjtl,一,Π ,ω);
[0010] 步驟2,任務(wù)描述
[0011] 采用線性時(shí)序邏輯語言來描述指定任務(wù),以線性時(shí)序任務(wù)公式的形式表達(dá)任務(wù)需 求,并將任務(wù)公式轉(zhuǎn)換為任務(wù)圖表;線性時(shí)序邏輯語言產(chǎn)生的表達(dá)式基于切換系統(tǒng)的任務(wù) 集合JiiG Π ,線性時(shí)序邏輯語言的語法包括如下:線性時(shí)序邏輯語言的謂詞包括η (非)、 V (或)、Λ (與)、□(全局)、?(最終)、U(直到);用線性時(shí)序邏輯語言表述的任務(wù)需 求用字母Φ表示,Φ是由切換系統(tǒng)模型中的子任務(wù)n和謂詞所組成的表達(dá)式:假 設(shè)Φ 2為兩個(gè)任務(wù)需求,I (J)1表示不能執(zhí)行Φ i,- ΦΖ Φ 2表示執(zhí)行Φ 2同時(shí)避免 執(zhí)行Φρ ΦΖ ( □ Φ 2)表示執(zhí)行Φ?和Φ 2并最終執(zhí)行傘2,(〇口 Φ?) Λ (?□ Φ2)表 示循環(huán)執(zhí)行1和Φ 2;采用線性時(shí)序邏輯語言表述的移動(dòng)機(jī)器人巡回任務(wù)為:
[0012] ( ?□ 0) Λ ( ?□ q!) Λ ( ?□ q2) Λ ( ?□ q3) Λ · · ·
[0013] 其中,O為機(jī)器人運(yùn)行環(huán)境中需要全局避開的區(qū)域,qie Q為環(huán)境中需要巡回的節(jié) 點(diǎn);在獲得任務(wù)表達(dá)式后,采用LTL2BA工具箱將任務(wù)表達(dá)式Φ轉(zhuǎn)換成對(duì)應(yīng)的BUchi自動(dòng) 機(jī),Bilchi自動(dòng)機(jī)是可判斷輸入的路徑序列是否滿足任務(wù)需求的圖表,用字母B表不:B = ΣΒ,δ B,F(xiàn)),其中S是有限狀態(tài)集合,\ ^ S是初始狀態(tài)集合,ΣB是輸入字母表,δ B 是轉(zhuǎn)換函數(shù),是最終狀態(tài)集合;Bilchi自動(dòng)機(jī)可以保證路徑滿足任務(wù)需求;
[0014] 步驟3,拓?fù)錁?gòu)建
[0015] 將加權(quán)切換系統(tǒng)模型和任務(wù)圖表相融合構(gòu)建任務(wù)可行網(wǎng)絡(luò)拓?fù)?;把輸入的加?quán)切 換系統(tǒng)模型T與任務(wù)圖表B作笛卡爾乘積,得到任務(wù)可行網(wǎng)絡(luò)拓?fù)洌米帜窹表示,即P = TXB,其中 T= (Q,Q0, -,Π ,ω),Β= (S,S0, ΣΒ,SB,F(xiàn)),P= (SP,Sp0, - P,F(xiàn)P),Sp=QXS 為有限狀態(tài)集合,Sptl= Q C1X Stl為初始狀態(tài)集合,X&為轉(zhuǎn)換函數(shù),F(xiàn)p= QXF為最終 狀態(tài)集合;在任務(wù)可行網(wǎng)絡(luò)拓?fù)渖纤穆窂?,既滿足指定的任務(wù)需求,又符合機(jī)器人當(dāng) 前的運(yùn)行環(huán)境;
[0016] 步驟4,路徑尋優(yōu)
[0017] 采用基于Dijkstra算法的最優(yōu)路徑搜索算法,根據(jù)線性時(shí)序邏輯任務(wù)公式中要 求訪問節(jié)點(diǎn)的出現(xiàn)順序,在任務(wù)可行網(wǎng)絡(luò)拓?fù)渖纤阉鞒鲎顑?yōu)路徑,然后任務(wù)可行網(wǎng)絡(luò)拓?fù)?上的最優(yōu)路徑映射回加權(quán)切換系統(tǒng)模型上,獲得實(shí)際環(huán)境中的最優(yōu)路徑;其中,搜索所得的 最優(yōu)路徑為一個(gè)機(jī)器人運(yùn)行環(huán)境中最優(yōu)路徑上對(duì)應(yīng)的離散坐標(biāo)點(diǎn)集;
[0018] 步驟5,任務(wù)分解
[0019] 將步驟4所得的最優(yōu)路徑存入緩存,并結(jié)合當(dāng)前任務(wù)完成情況(已訪問的點(diǎn)),按 序?qū)㈦x散坐標(biāo)點(diǎn)集中的坐標(biāo)信息發(fā)送給目標(biāo)跟蹤控制器,用以控制機(jī)器人實(shí)現(xiàn)路徑跟蹤, 直到遍歷離散坐標(biāo)點(diǎn)集中的所有點(diǎn),以確保機(jī)器人完成完整的路徑跟蹤;
[0020] 步驟6,目標(biāo)跟蹤控制
[0021] 結(jié)合步驟5給出的目標(biāo)點(diǎn)坐標(biāo)(X' /)和實(shí)時(shí)反饋的機(jī)器人當(dāng)前位置坐標(biāo)(X,y), 根據(jù)兩輪差動(dòng)機(jī)器