本發(fā)明涉及移動(dòng)機(jī)器人導(dǎo)航,具體為一種復(fù)雜動(dòng)態(tài)環(huán)境下的移動(dòng)機(jī)器人混合路徑優(yōu)化方法。
背景技術(shù):
1、隨著人工智能和自動(dòng)化技術(shù)的快速發(fā)展,移動(dòng)機(jī)器人的自主導(dǎo)航技術(shù)已廣泛應(yīng)用于工業(yè)制造、物流運(yùn)輸、醫(yī)療服務(wù)、農(nóng)業(yè)生產(chǎn)等多個(gè)領(lǐng)域,發(fā)揮著至關(guān)重要的作用。路徑規(guī)劃作為自主導(dǎo)航系統(tǒng)的核心技術(shù),直接影響機(jī)器人在各類(lèi)任務(wù)場(chǎng)景中的運(yùn)行效率、安全性和系統(tǒng)可靠性。因此,高效的路徑規(guī)劃算法已成為推動(dòng)機(jī)器人技術(shù)發(fā)展的關(guān)鍵因素。
2、目前,廣泛使用的經(jīng)典路徑規(guī)劃算法包括a*算法、dijkstra算法和快速擴(kuò)展隨機(jī)樹(shù)(rrt)算法。這些算法在靜態(tài)且結(jié)構(gòu)化的環(huán)境中通常表現(xiàn)出較好的路徑優(yōu)化能力,可以有效地找到最優(yōu)或次優(yōu)路徑。然而,在復(fù)雜且動(dòng)態(tài)的環(huán)境中,這些算法的性能卻顯得不足。其主要原因在于,傳統(tǒng)算法難以應(yīng)對(duì)動(dòng)態(tài)障礙物的干擾以及環(huán)境中的不確定因素。此外,這些算法通?;趯?duì)傳感器輸入數(shù)據(jù)的完美假設(shè),而在實(shí)際應(yīng)用中,傳感器數(shù)據(jù)往往伴有噪聲和不確定性,這嚴(yán)重影響了路徑規(guī)劃的穩(wěn)定性和可靠性。更為嚴(yán)重的是,在復(fù)雜環(huán)境(如u形障礙物)下,傳統(tǒng)算法容易陷入局部最優(yōu)解,難以找到全局最優(yōu)路徑,從而限制其在實(shí)際應(yīng)用中的推廣。
技術(shù)實(shí)現(xiàn)思路
1、(一)解決的技術(shù)問(wèn)題
2、針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種復(fù)雜動(dòng)態(tài)環(huán)境下的移動(dòng)機(jī)器人混合路徑優(yōu)化方法,能夠在未知和復(fù)雜環(huán)境中有效避免和處理死鎖問(wèn)題,通過(guò)引入模糊控制算法,實(shí)現(xiàn)了基于目標(biāo)方向和障礙物距離的實(shí)時(shí)路徑調(diào)整,提高了對(duì)動(dòng)態(tài)環(huán)境的適應(yīng)能力,此外,通過(guò)構(gòu)建四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)對(duì)死鎖區(qū)域進(jìn)行動(dòng)態(tài)存儲(chǔ)和高效查詢(xún),機(jī)器人能夠快速識(shí)別并規(guī)避已知的死鎖區(qū)域,同時(shí)利用基于速度的檢測(cè)方法識(shí)別未知死鎖區(qū)域,并通過(guò)調(diào)整策略自動(dòng)脫困。本發(fā)明不僅減少了對(duì)環(huán)境信息的依賴(lài),還顯著提升了系統(tǒng)的魯棒性和導(dǎo)航效率,從而確保機(jī)器人在非結(jié)構(gòu)化環(huán)境中能夠自主完成導(dǎo)航任務(wù),具備重要的理論意義和實(shí)際應(yīng)用價(jià)值,解決了在未知和復(fù)雜環(huán)境中容易死鎖的問(wèn)題。
3、(二)技術(shù)方案
4、本發(fā)明為了實(shí)現(xiàn)上述目的具體采用以下技術(shù)方案:
5、已知條件:系統(tǒng)最大迭代次數(shù),時(shí)間步長(zhǎng),機(jī)器人速度,速度閾值,距離閾值,機(jī)器人歷史迭代的位置集合和速度集合;
6、對(duì)已知條件和待求變量的說(shuō)明:
7、首先,表示系統(tǒng)的最大迭代次數(shù),當(dāng)?shù)_(dá)到最大次數(shù)后,系統(tǒng)將停止導(dǎo)航算法的執(zhí)行,以防止算法陷入無(wú)限循環(huán)。是時(shí)間步長(zhǎng),在每次迭代中保持固定,確保計(jì)算過(guò)程中的穩(wěn)定性和準(zhǔn)確性。機(jī)器人在基于模糊控制的導(dǎo)航中,將以勻速沿計(jì)算出的方向移動(dòng),勻速為預(yù)設(shè)常量。速度閾值用于判斷機(jī)器人是否處于死鎖狀態(tài)。容忍距離用于判斷機(jī)器人是否已到達(dá)目標(biāo)點(diǎn),即,當(dāng)機(jī)器人與目標(biāo)點(diǎn)之間的距離小于時(shí),系統(tǒng)將認(rèn)為機(jī)器人已成功到達(dá)目標(biāo),從而終止導(dǎo)航算法的執(zhí)行。集合和集合用來(lái)記錄機(jī)器人歷史迭代中的所有位置和速度信息,初始化其為空集。其中,表示第次迭代下的位置,表示第次迭代下的速度。機(jī)器人導(dǎo)航路徑是由機(jī)器人從起點(diǎn)到目標(biāo)點(diǎn)的所有坐標(biāo)點(diǎn)構(gòu)成的序列。
8、一種復(fù)雜動(dòng)態(tài)環(huán)境下的移動(dòng)機(jī)器人混合路徑優(yōu)化方法,包括如下步驟:
9、首先,系統(tǒng)基于模糊控制算法,根據(jù)目標(biāo)點(diǎn)方向和障礙物距離,計(jì)算出機(jī)器人的轉(zhuǎn)向角度和移動(dòng)速度向量;
10、然后,通過(guò)加權(quán)平均速度檢測(cè)機(jī)器人是否陷入未知的死鎖區(qū)域;
11、其中;如果檢測(cè)到機(jī)器人陷入死鎖,則生成一個(gè)覆蓋當(dāng)前位置的圓形區(qū)域,并將其存儲(chǔ)在四叉樹(shù)結(jié)構(gòu)的死鎖區(qū)域列表中,同時(shí)根據(jù)死鎖逃離策略調(diào)整速度為,使機(jī)器人迅速脫離困境;
12、如果未檢測(cè)到死鎖,則按照模糊控制算法設(shè)定的速度繼續(xù)前進(jìn);
13、當(dāng)達(dá)到導(dǎo)航終止條件時(shí),系統(tǒng)輸出導(dǎo)航路徑,完成導(dǎo)航任務(wù),確保機(jī)器人在復(fù)雜環(huán)境中的自主導(dǎo)航能力,并有效規(guī)避已知和未知的死鎖區(qū)域。
14、進(jìn)一步地,機(jī)器人導(dǎo)航路徑,具體獲得步驟如下:
15、步驟一:構(gòu)建模糊控制器具體如下:
16、(1)確定輸入輸出變量:模糊控制器為四輸入一輸出的結(jié)構(gòu);
17、輸入變量包括:目標(biāo)點(diǎn)方向與機(jī)器人當(dāng)前方向之間的夾角,單位為弧度(rad),范圍為;
18、正值表示目標(biāo)在機(jī)器人右側(cè),負(fù)值表示目標(biāo)在左側(cè);
19、機(jī)器人左、前、右側(cè)礙物的距離、、,單位為米(m),范圍為;
20、輸出變量為機(jī)器人應(yīng)調(diào)整的轉(zhuǎn)向角度,單位為弧度(rad),范圍為;
21、其中,正值表示右轉(zhuǎn),負(fù)值表示左轉(zhuǎn);
22、(2)設(shè)定模糊集合:對(duì)于目標(biāo)方向,設(shè)置其模糊集合為;
23、對(duì)于障礙物距離、、,設(shè)置其模糊集合為;
24、對(duì)于輸出變量,設(shè)置其模糊集合為;
25、(3)設(shè)定隸屬度函數(shù):在各變量的隸屬度函數(shù)設(shè)置中,選取廣義鐘型隸屬函數(shù)作為輸入變量和輸出變量的隸屬度函數(shù);
26、其原因在于,廣義鐘型隸屬函數(shù)具有平滑的隸屬度變化特性,能夠在輸入值接近中心值時(shí)實(shí)現(xiàn)平滑過(guò)渡;
27、此外,通過(guò)調(diào)整其參數(shù)和,可靈活地改變隸屬函數(shù)的形狀和寬度,以適應(yīng)不同的控制需求,從而提升系統(tǒng)的響應(yīng)穩(wěn)定性和靈活性;
28、隸屬度函數(shù)表示為:(28)
29、其中,參數(shù)控制曲線(xiàn)的寬度,參數(shù)控制曲線(xiàn)的陡峭程度,參數(shù)控制曲線(xiàn)的中心位置;
30、在輸入隸屬函數(shù)中,目標(biāo)方向的三個(gè)隸屬度函數(shù)的參數(shù)分別為[1.16,3.28,-2.68;0.89,3.04,0;1.26,3.28,2.79];
31、三個(gè)距離輸入變量的兩個(gè)隸屬度函數(shù)的參數(shù)相同,分別為[0.215,4.77,0.39;0.211,4.703,0.899];
32、在輸出隸屬函數(shù)中,轉(zhuǎn)向角度的五個(gè)隸屬度函數(shù)的參數(shù)分別為[0.76,4.04,-3.07;0.60,4.05,-1.44;0.66,3.62,0;0.61,4.09,1.40;0.82,4.05,3.14];
33、(4)設(shè)計(jì)模糊規(guī)則:通過(guò)定義模糊規(guī)則表,機(jī)器人可以基于目標(biāo)方向和障礙物距離動(dòng)態(tài)調(diào)整前進(jìn)方向,從而避開(kāi)障礙物并朝向目標(biāo)前進(jìn);
34、共定義24條規(guī)則,規(guī)則的形式如下:
35、(29)
36、其中,,,,分別是輸入變量,,,在第條規(guī)則下的模糊集合,是輸出變量的模糊集合,是遍歷所有規(guī)則時(shí)的編號(hào),具體模糊控制規(guī)則如下表所示:
37、;
38、這里對(duì)第一條模糊規(guī)則進(jìn)行解釋說(shuō)明:
39、規(guī)則1:如果目標(biāo)方向是“偏左”且左側(cè)距離是“遠(yuǎn)”且前側(cè)距離是“遠(yuǎn)”且右側(cè)距離是“遠(yuǎn)”,則轉(zhuǎn)向角度是“左前轉(zhuǎn)”;
40、模糊控制規(guī)則生成邏輯分為兩個(gè)階段:首先,根據(jù)障礙物距離選擇最優(yōu)的初始方向,機(jī)器人將優(yōu)先朝向障礙物最遠(yuǎn)的方向移動(dòng),確保安全避障;其次,在此基礎(chǔ)上結(jié)合目標(biāo)點(diǎn)方向進(jìn)行調(diào)整,使得機(jī)器人在避開(kāi)障礙物的同時(shí)盡量朝向目標(biāo)前進(jìn)。最終的轉(zhuǎn)向角度通過(guò)初始避障方向與目標(biāo)點(diǎn)方向的偏移相結(jié)合,以實(shí)現(xiàn)動(dòng)態(tài)調(diào)整,確保機(jī)器人高效避障并保持目標(biāo)導(dǎo)向。
41、步驟二:構(gòu)建死鎖列表具體如下:
42、引入死鎖列表()記錄已知的死鎖區(qū)域,其主要目的是防止機(jī)器人在向目標(biāo)點(diǎn)前進(jìn)的過(guò)程中陷入循環(huán),并避免其重復(fù)進(jìn)入已檢測(cè)到的死鎖區(qū)域,通過(guò)引入死鎖列表,可以有效提高導(dǎo)航算法的效率和可靠性;
43、死鎖列表采用四叉樹(shù)結(jié)構(gòu)進(jìn)行存儲(chǔ)和查找,四叉樹(shù)能夠高效地管理和檢索空間數(shù)據(jù),使得在復(fù)雜環(huán)境中進(jìn)行區(qū)域判斷時(shí)更加快速,四叉樹(shù)的每個(gè)節(jié)點(diǎn)都表示一個(gè)矩形區(qū)域,定義為:
44、(30)
45、這個(gè)矩形區(qū)域由左下角坐標(biāo)和右上角坐標(biāo)確定,四叉樹(shù)通過(guò)將矩形區(qū)域遞歸地劃分為四個(gè)子區(qū)域(象限),每個(gè)子區(qū)域本身也是一個(gè)四叉樹(shù)節(jié)點(diǎn);
46、劃分的原則是沿軸和軸的中點(diǎn)將當(dāng)前矩形區(qū)域劃分為四個(gè)等大小的子矩形:
47、(31)
48、其中:(32)
49、系統(tǒng)首先初始化一個(gè)空的四叉樹(shù)用于存儲(chǔ)圓形死鎖區(qū)域的邊界,同時(shí),將四叉樹(shù)的根節(jié)點(diǎn)邊界設(shè)置為整個(gè)工作空間的范圍,從而確保機(jī)器人在導(dǎo)航過(guò)程中能夠動(dòng)態(tài)更新和查詢(xún)死鎖區(qū)域。
50、步驟三:模糊控制路徑規(guī)劃具體如下:
51、在模糊控制路徑規(guī)劃中,系統(tǒng)基于輸入的模糊變量,通過(guò)預(yù)定義的隸屬度函數(shù)與模糊規(guī)則表,基于min-max推理法則,得出輸出變量的隸屬度:
52、(33)
53、其中,,,,分別是輸入變量,,,在第條規(guī)則下的模糊集合,是輸出變量的模糊集合;
54、是隸屬度函數(shù),是遍歷所有規(guī)則時(shí)的編號(hào),該公式首先計(jì)算各輸入變量的隸屬度值,再通過(guò)函數(shù)得到每條規(guī)則的匹配度,然后使用函數(shù)從所有規(guī)則中取最大值來(lái)確定輸出變量的隸屬度;
55、在模糊推理得到輸出變量的隸屬度函數(shù)后,需要將模糊隸屬度值轉(zhuǎn)換為具體的數(shù)值輸出,以確定機(jī)器人應(yīng)調(diào)整的轉(zhuǎn)向角度,采用重心法進(jìn)行去模糊,其原理是取模糊隸屬度函數(shù)曲線(xiàn)與橫坐標(biāo)圍成面積的重心為模糊推理最終輸出值,即:
56、(34)
57、其中,是輸出變量的可能取值,是在不同取值下的隸屬度,分子部分表示各個(gè)取值與其隸屬度的加權(quán)乘積,分母部分是隸屬度的總和,結(jié)果即為模糊推理的最終輸出值,是所有可能值的加權(quán)平均;
58、基于機(jī)器人當(dāng)前方向和推理出的轉(zhuǎn)向角度,計(jì)算速度向量的方向角度為:
59、(35)
60、(36)
61、其中,是當(dāng)前時(shí)刻的位置,是上一時(shí)刻的位置,二者用于計(jì)算機(jī)器人當(dāng)前方向角度;
62、機(jī)器人沿著方向以速度移動(dòng)時(shí),其在二維平面上的速度向量表示為:
63、(37)
64、其中,和分別表示速度在和方向上的分量,是機(jī)器人預(yù)設(shè)的勻速速度。
65、步驟四:計(jì)算加權(quán)平均速度具體如下:
66、為了確定機(jī)器人是否被困在某區(qū)域使用加權(quán)平均速度來(lái)判定機(jī)器人是否被障礙物困??;
67、加權(quán)速度的遞推公式如下式所示:
68、(38)
69、其中,是第次迭代的加權(quán)平均速度,是第次迭代的加權(quán)平均速度,是第一次迭代的速度,是第次迭代的實(shí)際速度,為動(dòng)態(tài)權(quán)重衰減系數(shù),決定了當(dāng)前速度對(duì)加權(quán)平均速度的影響程度;
70、具體表示如下:
71、(39)
72、其中,表示當(dāng)前速度與上次加權(quán)平均速度的變化量,反映了速度波動(dòng)的幅度,是當(dāng)前速度的模,加上一個(gè)小常數(shù)防止分母為零,和函數(shù)確保被限制在范圍內(nèi);
73、當(dāng)速度變化較大時(shí),值增大,意味著當(dāng)前實(shí)際速度對(duì)加權(quán)平均速度的影響力增強(qiáng),能夠更加迅速地響應(yīng)速度變化;當(dāng)速度較穩(wěn)定時(shí),值減小,更依賴(lài)歷史速度數(shù)據(jù),得到一個(gè)更平滑的加權(quán)平均速度;
74、通過(guò)遞推公式(11),可以將展開(kāi)為所有歷史速度的加權(quán)和,如下式(13)所示:
75、(40)
76、其中,是當(dāng)前的迭代次數(shù),是歷史時(shí)刻的索引,表示在時(shí)間之前的某一時(shí)刻,每個(gè)歷史速度的權(quán)重為。
77、步驟五:死鎖判斷具體如下:
78、在算法的迭代過(guò)程中,系統(tǒng)將基于前述公式動(dòng)態(tài)更新加權(quán)平均速度,隨后,機(jī)器人將根據(jù)更新后的加權(quán)平均速度值進(jìn)行自我檢測(cè),判斷其當(dāng)前狀態(tài)是否為死鎖狀態(tài),即是否陷入無(wú)法有效前進(jìn)的困境;
79、在第次迭代中,若滿(mǎn)足以下條件:
80、(41)
81、其中,閾值是一個(gè)已經(jīng)設(shè)定好的極小值;
82、當(dāng)加權(quán)平均速度的范數(shù)小于這個(gè)極小值,說(shuō)明連續(xù)若干次的值低于閾值,則表示機(jī)器人在一段時(shí)間內(nèi)的位置幾乎沒(méi)有變化;
83、此外,還需同時(shí)判斷機(jī)器人是否已接近目標(biāo)點(diǎn),如果機(jī)器人沒(méi)有處于目標(biāo)點(diǎn)附近,即,機(jī)器人當(dāng)前位置和目標(biāo)點(diǎn)位置之間的距離值超過(guò)某一固定距離,再結(jié)合加權(quán)平均速度判斷,則說(shuō)明它極大可能被障礙物困住,陷入死鎖;
84、如下所示:
85、(42)
86、其中,是機(jī)器人到達(dá)目標(biāo)點(diǎn)的容忍距離;
87、當(dāng)機(jī)器人與目標(biāo)點(diǎn)之間的距離小于時(shí),就認(rèn)為機(jī)器人已經(jīng)到達(dá)目標(biāo)點(diǎn),導(dǎo)航結(jié)束,不做死鎖判斷;
88、當(dāng)判定機(jī)器人陷入死鎖狀態(tài),則啟動(dòng)死鎖逃離策略幫助機(jī)器人逃離死鎖區(qū)域;否則按照模糊控制規(guī)劃的方向以速度移動(dòng)至。
89、步驟六:死鎖逃離策略具體如下:
90、引入死鎖列表()記錄已知的死鎖區(qū)域,中的任何區(qū)域機(jī)器人都不會(huì)再次進(jìn)入,從而避免機(jī)器人重復(fù)在某一死鎖區(qū)域內(nèi)來(lái)回移動(dòng);
91、由于機(jī)器人在一個(gè)時(shí)間步長(zhǎng)內(nèi),以預(yù)設(shè)速度移動(dòng)時(shí),其正常移動(dòng)距離為,則;
92、因此,當(dāng)判定機(jī)器人陷入死鎖后,將以當(dāng)前位置和上一輪位置之間的中點(diǎn)為中心,為半徑的圓形區(qū)域設(shè)置為死鎖區(qū)域,如下所示:
93、(43)
94、(44)
95、(45)
96、對(duì)于死鎖區(qū)域,需要將其插入到四叉樹(shù)中,如果區(qū)域與某個(gè)節(jié)點(diǎn)的矩形區(qū)域相交,則將區(qū)域存儲(chǔ)在該節(jié)點(diǎn)內(nèi);
97、首先,計(jì)算圓心到矩形邊界的最近點(diǎn),然后通過(guò)距離判斷圓與矩形是否相交:
98、(46)
99、(47)
100、當(dāng)公式(20)左側(cè)結(jié)果小于等于右側(cè)時(shí),則認(rèn)為兩個(gè)區(qū)域相交,進(jìn)而將存儲(chǔ)在該節(jié)點(diǎn)中,表示該區(qū)域已經(jīng)被禁止訪(fǎng)問(wèn),防止機(jī)器人在后續(xù)的迭代中重復(fù)出現(xiàn)死鎖狀態(tài);
101、處于死鎖區(qū)域中的機(jī)器人,將以死鎖逃離速度沿著當(dāng)前位置與死鎖區(qū)域中心之間的連線(xiàn)向外離開(kāi)該區(qū)域,移動(dòng)速度與當(dāng)前位置到死鎖中心的距離成反比,并限制在范圍內(nèi),確保更平滑地控制速度:
102、(48)
103、(49)
104、其中,是預(yù)設(shè)的機(jī)器人運(yùn)動(dòng)速度,是未經(jīng)過(guò)限制的原始逃離速度;
105、考慮到機(jī)器人可能同時(shí)處于個(gè)死鎖區(qū)域內(nèi),將距離倒數(shù)作為權(quán)重系數(shù)合并速度,如下所示:
106、(50)
107、(51)
108、其中,是機(jī)器人當(dāng)前位置到每個(gè)死鎖區(qū)域中心的距離,是死鎖區(qū)域的索引,是機(jī)器人涉及到的死鎖區(qū)域的中心,是針對(duì)死鎖中心的逃離速度,是基于距離的權(quán)重系數(shù),距離越近,對(duì)總速度影響越大;
109、從下一次迭代開(kāi)始,機(jī)器人將死鎖列表中的區(qū)域視作不可見(jiàn)障礙物處理,系統(tǒng)根據(jù)每個(gè)死鎖區(qū)域的圓心和半徑,計(jì)算機(jī)器人當(dāng)前位置與該區(qū)域的距離,并將此距離與常規(guī)障礙物的距離一起,作為模糊控制器距離輸入變量的依據(jù)。
110、步驟七:更新機(jī)器人位置具體如下:
111、算法需要根據(jù)機(jī)器人的不同狀態(tài),計(jì)算相對(duì)應(yīng)狀態(tài)下的速度,并依據(jù)速度向量來(lái)計(jì)算機(jī)器人下一時(shí)刻的位置;
112、當(dāng)機(jī)器人被判斷為死鎖狀態(tài)時(shí),機(jī)器人不能正常行動(dòng),此時(shí)會(huì)將機(jī)器人的當(dāng)前速度調(diào)整為,表示它處于死鎖狀態(tài)下的調(diào)整速度;
113、若機(jī)器人為非死鎖狀態(tài),則它可以正常按照模糊控制設(shè)定的速度進(jìn)行移動(dòng),如下式所示:
114、(52)
115、保證了機(jī)器人在死鎖狀態(tài)下不會(huì)陷入循環(huán)或碰撞,而是有機(jī)會(huì)通過(guò)特殊的調(diào)整速度來(lái)恢復(fù)正常狀態(tài);
116、根據(jù)速度向量,計(jì)算出機(jī)器人在下一時(shí)間步的位置,見(jiàn)下述公式:
117、(53)
118、其中,是機(jī)器人當(dāng)前的位置,是時(shí)間步長(zhǎng);
119、機(jī)器人通過(guò)上式計(jì)算下一時(shí)刻的目標(biāo)位置,并將計(jì)算結(jié)果更新為其新的當(dāng)前位置。
120、步驟八:判斷是否終止導(dǎo)航具體如下:
121、(1)目標(biāo)點(diǎn)到達(dá)判斷:當(dāng)機(jī)器人當(dāng)前位置與目標(biāo)點(diǎn)位置之間的距離小于等于閾值時(shí),機(jī)器人終止導(dǎo)航;
122、(54)
123、其中,是預(yù)設(shè)的容忍距離,若上述條件成立,系統(tǒng)將判定機(jī)器人已成功到達(dá)目標(biāo)點(diǎn),并立即終止導(dǎo)航過(guò)程;
124、(2)最大迭代次數(shù)限制:如果算法的迭代次數(shù)達(dá)到預(yù)先設(shè)定的最大值,則系統(tǒng)將自動(dòng)停止,以防止導(dǎo)航算法陷入無(wú)限循環(huán);
125、當(dāng)達(dá)到導(dǎo)航終止條件,系統(tǒng)輸出機(jī)器人的完整導(dǎo)航路徑,否則繼續(xù)返回步驟二進(jìn)行路徑規(guī)劃。
126、(三)有益效果
127、與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種復(fù)雜動(dòng)態(tài)環(huán)境下的移動(dòng)機(jī)器人混合路徑優(yōu)化方法,具備以下有益效果:
128、1、本發(fā)明,采用了一種基于四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)和模糊控制算法相結(jié)合的策略,能夠在檢測(cè)到機(jī)器人陷入死鎖區(qū)域時(shí),實(shí)時(shí)調(diào)整移動(dòng)策略,避免機(jī)器人陷入困境,這種方法能夠有效識(shí)別并動(dòng)態(tài)規(guī)避死鎖區(qū)域,提高了機(jī)器人在復(fù)雜環(huán)境中的導(dǎo)航效率。
129、2、本發(fā)明,通過(guò)構(gòu)建四叉樹(shù)數(shù)據(jù)結(jié)構(gòu),對(duì)檢測(cè)到的死鎖區(qū)域進(jìn)行高效存儲(chǔ)與快速查詢(xún),在每次路徑規(guī)劃過(guò)程中,機(jī)器人只需將已知的死鎖區(qū)域視作障礙物,計(jì)算與區(qū)域邊界的最近距離用于路徑規(guī)劃,從而避免陷入相同的死鎖區(qū)域,提高整體導(dǎo)航效率。
130、3、本發(fā)明,設(shè)計(jì)了動(dòng)態(tài)的死鎖區(qū)域設(shè)置機(jī)制,通過(guò)基于加權(quán)平均速度的判定公式和四叉樹(shù)存儲(chǔ)機(jī)制,能夠更精準(zhǔn)地識(shí)別機(jī)器人陷入死鎖的區(qū)域:通過(guò)加權(quán)平均速度公式檢測(cè)機(jī)器人在短時(shí)間內(nèi)的運(yùn)動(dòng)狀態(tài),結(jié)合設(shè)定的閾值判斷是否陷入死鎖,一旦檢測(cè)到死鎖情況,會(huì)將死鎖區(qū)域以圓形區(qū)域存入四叉樹(shù)中,從而避免機(jī)器人在后續(xù)導(dǎo)航過(guò)程中反復(fù)進(jìn)入相同的死鎖區(qū)域。
131、4、本發(fā)明,通過(guò)動(dòng)態(tài)調(diào)整死鎖區(qū)域和基于四叉樹(shù)的高效存儲(chǔ)與查詢(xún),使機(jī)器人能夠在未知或復(fù)雜環(huán)境中高效導(dǎo)航,這不僅顯著提升了系統(tǒng)的適應(yīng)能力,還減少了對(duì)環(huán)境信息的依賴(lài),從而增強(qiáng)了算法在實(shí)際應(yīng)用中的可靠性和靈活性。
132、5、本發(fā)明,不僅適用于室內(nèi)導(dǎo)航、工業(yè)自動(dòng)化環(huán)境,還可推廣應(yīng)用于無(wú)人駕駛、物流機(jī)器人和災(zāi)難救援等領(lǐng)域,為智能移動(dòng)機(jī)器人在復(fù)雜環(huán)境中的高效導(dǎo)航提供了新的解決方案。