本發(fā)明屬于機(jī)械臂路徑規(guī)劃,具體涉及一種基于改進(jìn)rrt算法的六軸工業(yè)機(jī)械臂路徑規(guī)劃方法及裝置。
背景技術(shù):
1、路徑規(guī)劃技術(shù)作為六軸工業(yè)機(jī)械臂研究中的一個基礎(chǔ)而關(guān)鍵的課題,旨在解決在有障礙物的工作環(huán)境中,如何根據(jù)給定的起始點(diǎn)和期望的目標(biāo)點(diǎn),按照一定的評價標(biāo)準(zhǔn),尋找一條既連接起始點(diǎn)到目標(biāo)點(diǎn)又能避開所有障礙物的最優(yōu)運(yùn)動路徑。國內(nèi)外眾多學(xué)者在路徑規(guī)劃領(lǐng)域進(jìn)行了深入的分析與研究,提出了多種算法和技術(shù)方案。其中,rrt(rapidly-exploring?random?tree,快速擴(kuò)展隨機(jī)樹)算法因其具有概率完備性、通用性強(qiáng)以及易于實(shí)現(xiàn)等優(yōu)點(diǎn),特別是在處理高維空間問題時表現(xiàn)出色,從而在機(jī)械臂路徑規(guī)劃等領(lǐng)域受到了廣泛的歡迎。然而,rrt算法也存在一些顯著的缺點(diǎn),如搜索過程中的隨機(jī)性較大,導(dǎo)致搜索速度較慢,以及生成的路徑往往較為曲折,路徑質(zhì)量不高。
2、為了克服rrt算法的這些缺陷,進(jìn)一步提高算法效率和路徑質(zhì)量,國內(nèi)外學(xué)者進(jìn)行了大量的改進(jìn)研究工作。例如,有人提出了rrt*算法,該算法通過重選父節(jié)點(diǎn)以及重新布線等策略,有效改善了路徑的長度,但這一改進(jìn)同時也增加了路徑規(guī)劃的時間成本,影響了算法的實(shí)時性。有人則提出了雙向rrt算法,通過從起始點(diǎn)和目標(biāo)點(diǎn)兩端同時進(jìn)行兩棵樹的擴(kuò)展,加快了算法的搜索速度。然而,這一方法本質(zhì)上仍然是全局隨機(jī)搜索,規(guī)劃出的路徑質(zhì)量并不理想。此外,還有一些學(xué)者嘗試將其他算法與rrt算法相結(jié)合,以期獲得更好的規(guī)劃效果,如將人工勢場的思想引入rrt算法,通過改進(jìn)隨機(jī)樹的生長方向,縮短了整體路徑規(guī)劃的時間。但這種方法仍然無法避免算法對無用空間進(jìn)行過多的探索,從而造成了計算資源的浪費(fèi)。或?qū)rt算法與強(qiáng)化學(xué)習(xí)算法相結(jié)合,雖然提高了規(guī)劃的可行性,但同時也大幅增加了算法的計算量,不利于實(shí)時應(yīng)用。
3、綜上所述,雖然目前針對rrt算法的改進(jìn)研究取得了一定的成果,但這些改進(jìn)方法主要集中在提高算法的收斂速度和改善路徑長度方面。對于rrt算法中采樣隨機(jī)性過大以及所規(guī)劃路徑質(zhì)量差這一核心問題,仍然缺乏有效的優(yōu)化手段。因此,如何進(jìn)一步改進(jìn)rrt算法,降低其搜索過程中的隨機(jī)性,提高路徑規(guī)劃的質(zhì)量和效率,仍然是當(dāng)前路徑規(guī)劃領(lǐng)域亟待解決的重要課題。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供了一種基于改進(jìn)rrt算法的六軸工業(yè)機(jī)械臂路徑規(guī)劃方法及裝置,其目的在于降低其搜索過程中的隨機(jī)性,提高路徑規(guī)劃的質(zhì)量和效率。
2、為了解決上述技術(shù)問題,本發(fā)明通過以下技術(shù)方案予以實(shí)現(xiàn):
3、根據(jù)本發(fā)明的第一方面,提供一種基于改進(jìn)rrt算法的六軸工業(yè)機(jī)械臂路徑規(guī)劃方法,包括:
4、s1、構(gòu)造采樣限制區(qū)域,采用目標(biāo)偏置策略在限制區(qū)域內(nèi)進(jìn)行隨機(jī)樹的自適應(yīng)優(yōu)化擴(kuò)展,生成新節(jié)點(diǎn),并判斷新節(jié)點(diǎn)是否通過碰撞檢測,若通過,則執(zhí)行s2,若未通過,則在限制區(qū)域內(nèi)重新進(jìn)行采樣,直至通過;
5、s2、采用角度約束策略構(gòu)造角度約束區(qū)域,判斷s1中的新節(jié)點(diǎn)是否在角度約束區(qū)域內(nèi);若在則將s1中的新節(jié)點(diǎn)作為下次規(guī)劃的父節(jié)點(diǎn),若不在則在角度約束區(qū)域內(nèi)重新采樣并生成新節(jié)點(diǎn),將該節(jié)點(diǎn)作為下次規(guī)劃的父節(jié)點(diǎn);
6、s3、判斷s2中生成的新節(jié)點(diǎn)與目標(biāo)點(diǎn)間的距離是否小于設(shè)定閾值;若不小于,則返回s1繼續(xù)進(jìn)行隨機(jī)樹的自適應(yīng)優(yōu)化擴(kuò)展;若小于,則判斷s2中生成的新節(jié)點(diǎn)與目標(biāo)點(diǎn)間是否存在障礙物;若存在障礙物則返回s1繼續(xù)進(jìn)行隨機(jī)樹的自適應(yīng)優(yōu)化擴(kuò)展,若無障礙則將s2中生成的新節(jié)點(diǎn)與目標(biāo)點(diǎn)直接相連,搜索完成并生成初始路徑;
7、s4、去除初始路徑中的冗余點(diǎn),得到規(guī)劃路徑。
8、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述構(gòu)造采樣限制區(qū)域,具體為:
9、確定采樣點(diǎn)以及隨機(jī)樹中與采樣點(diǎn)距離最近的父節(jié)點(diǎn),連接目標(biāo)點(diǎn)與父節(jié)點(diǎn),以目標(biāo)點(diǎn)與父節(jié)點(diǎn)構(gòu)成的線段為直徑構(gòu)造一個圓,該區(qū)域即為采樣限制區(qū)域。
10、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述采用目標(biāo)偏置策略在限制區(qū)域內(nèi)進(jìn)行隨機(jī)樹的自適應(yīng)優(yōu)化擴(kuò)展,具體為:
11、設(shè)置一個閾值,其范圍在(0,1)之間;
12、當(dāng)隨機(jī)樹選取采樣點(diǎn)時,生成一個(0,1)間的隨機(jī)數(shù);
13、若,則將采樣點(diǎn)設(shè)置為目標(biāo)點(diǎn)進(jìn)行目標(biāo)偏置采樣;
14、若,則進(jìn)行隨機(jī)采樣。
15、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述采用角度約束策略構(gòu)造角度約束區(qū)域,具體為:
16、將起始點(diǎn)分別與父節(jié)點(diǎn)及目標(biāo)點(diǎn)相連接,得到角度約束區(qū)域。
17、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述隨機(jī)樹的自適應(yīng)優(yōu)化擴(kuò)展,具體為:
18、以節(jié)點(diǎn)同障礙物之間的距離來決定步長,設(shè)置一級安全距離、二級安全距離以及三種不同大小的步長,三種不同大小的步長為大步長、正常步長和小步長;
19、當(dāng)節(jié)點(diǎn)同障礙物之間的距離大于二級安全距離時,采用大步長;
20、當(dāng)節(jié)點(diǎn)同障礙物之間的距離介于一級安全距離與二級安全距離時,采用正常步長;
21、當(dāng)節(jié)點(diǎn)同障礙物之間的距離小于一級安全距離時,采用小步長。
22、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述去除初始路徑中的冗余點(diǎn),具體為:
23、遍歷初始路徑中的節(jié)點(diǎn),設(shè)初始路徑中由起始點(diǎn)至目標(biāo)點(diǎn)的節(jié)點(diǎn)編號為1到n,則從第一個路徑節(jié)點(diǎn)開始,按順序連接路徑中的后續(xù)節(jié)點(diǎn),如果1號與2號節(jié)點(diǎn)之間在連接時沒有與障礙物碰撞,則嘗試連接下一個節(jié)點(diǎn),直到與第m個節(jié)點(diǎn)相連時遇到障礙物并發(fā)生碰撞,此時將1號節(jié)點(diǎn)與m-1號節(jié)點(diǎn)直接相連,并將m-1號節(jié)點(diǎn)作為新的起點(diǎn),重復(fù)上述過程,進(jìn)行迭代直至到達(dá)目標(biāo)點(diǎn);其中,1<m<n。
24、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述去除初始路徑中的冗余點(diǎn)之后,還包括:
25、以三次b樣條曲線進(jìn)行擬合處理。
26、根據(jù)本發(fā)明的第二方面,提供一種設(shè)備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運(yùn)行的計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時實(shí)現(xiàn)所述的一種基于改進(jìn)rrt算法的六軸工業(yè)機(jī)械臂路徑規(guī)劃方法。
27、根據(jù)本發(fā)明的第三方面,提供一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)所述的一種基于改進(jìn)rrt算法的六軸工業(yè)機(jī)械臂路徑規(guī)劃方法。
28、根據(jù)本發(fā)明的第四方面,提供一種計算機(jī)程序產(chǎn)品,該計算機(jī)程序產(chǎn)品被處理器執(zhí)行時實(shí)現(xiàn)所述的一種基于改進(jìn)rrt算法的六軸工業(yè)機(jī)械臂路徑規(guī)劃方法。
29、與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下有益效果:
30、本發(fā)明提供的一種基于改進(jìn)rrt算法的六軸工業(yè)機(jī)械臂路徑規(guī)劃方法,通過構(gòu)造采樣限制區(qū)域并采用目標(biāo)偏置策略,引導(dǎo)隨機(jī)樹以一定概率朝著目標(biāo)點(diǎn)生長,同時將隨機(jī)樹的擴(kuò)展限制在特定區(qū)域內(nèi)。這一改進(jìn)有效解決了傳統(tǒng)rrt算法隨機(jī)性過大的問題,減少了算法在無用空間中的探索,顯著提高了路徑規(guī)劃的效率和收斂速度。傳統(tǒng)rrt算法采用固定步長進(jìn)行隨機(jī)樹的擴(kuò)展,探索效率有限。本發(fā)明通過對隨機(jī)樹的擴(kuò)展進(jìn)行自適應(yīng)優(yōu)化,充分利用環(huán)境和障礙物的信息,動態(tài)調(diào)整節(jié)點(diǎn)的擴(kuò)展方向和步長,從而加快節(jié)點(diǎn)的生成和擴(kuò)展速度,進(jìn)一步提升算法的探索效率。引入角度約束策略,構(gòu)造角度約束區(qū)域,確保新生成的節(jié)點(diǎn)在滿足機(jī)械臂運(yùn)動約束的條件下進(jìn)行擴(kuò)展。這一策略有效避免了傳統(tǒng)rrt算法生成的路徑曲折、拐點(diǎn)多的問題,提高了路徑的平滑性和可執(zhí)行性。傳統(tǒng)rrt算法生成的路徑通常包含大量冗余點(diǎn)和拐點(diǎn),導(dǎo)致路徑曲折且不平滑。本發(fā)明在生成初始路徑后,通過去除冗余點(diǎn)對路徑進(jìn)行平滑優(yōu)化處理,使得最終規(guī)劃的路徑更加簡潔、平滑,確保機(jī)械臂在運(yùn)行過程中能夠平穩(wěn)、高效地完成任務(wù)。本發(fā)明通過減少隨機(jī)性、優(yōu)化路徑生成和擴(kuò)展策略,顯著降低了算法的計算復(fù)雜度,提高了路徑規(guī)劃的實(shí)時性,使得本發(fā)明能夠更好地滿足六軸工業(yè)機(jī)械臂在實(shí)際應(yīng)用中的實(shí)時路徑規(guī)劃需求。綜上所述,本發(fā)明通過改進(jìn)rrt算法的采樣策略、擴(kuò)展方式和路徑優(yōu)化方法,有效解決了傳統(tǒng)rrt算法隨機(jī)性大、路徑質(zhì)量差、計算效率低的問題,顯著提升了六軸工業(yè)機(jī)械臂路徑規(guī)劃的效率和路徑質(zhì)量。
31、為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。