快速探索隨機樹
快速探索隨機樹(英文:Rapidly-exploring random tree,RRT)係一種演算法,旨意透過隨機構建空間填充樹來有效噉檢索啲非凸、高維空間嘅。呢種樹係根據啲樣本、啲從檢索空間當中隨機抽取嘅,嚟逐步構建到嘅;樹本身有向啲大幅未檢索區域生嘅固有傾向。
RRT 係由Steven M. LaValle同James J. Kuffner Jr. 開發嘅[1][2]。啲演算法輕鬆噉處理得到啲問題場景係有障礙物同有微分約束(differential constraints,意指非完整同埋涉及運動動力學)嘅,並已廣泛噉用於自主機械人運動規劃。
RRT 可以睇作一種技術,生成啲開環(open-loop)路軌畀具有狀態約束嘅非線性系統嘅。RRT 亦都可以着認為係一種蒙地卡羅方法,喺一幅構形空間(configuration space)當中攞來幫檢索行爲偏笡(bias)到一隻圖形嘅最大 Voronoi 區域。一啲RRT 變體甚至可以着認為係啲隨機分形(stochastic fractals)。[3]
歷史
[編輯]為唨做路徑規劃畀機械人
RRT 着認為係喺啲迷宮裏頭規劃路徑、並考慮埋啲障礙物嘅最有效方法之一。
除開原始嘅RRT演算法之外,仲有好多擴展方法着開發到,其中RRTConnect 最出名。RRT 雖然好多時效率好高,但喺噻啲情況下,佢個性能甚至仲勩過用經典嘅迪卡斯特拉演算法。[5]
描述
[編輯]生長過程
[編輯]RRT 透過使用來自個檢索空間(search space)嘅隨機樣本,來生成以起始配置為根嘅樹。喺繪製每隻樣本陣時,會嘗試連埋隻樣本同埋蔸樹當中最近嘅狀態點(「綟」)。如果條連接係得嘅(完全噉通過自由空間並遵守到任何約束),噉就加埋隻新樣本到蔸樹度。透過對檢索空間嘅均勻採樣,擴展現有綟嘅概率正比於隻綟個Voronoi 區域嘅大細。由於最大嘅Voronoi 區域屬於檢索範圍邊沿啲綟,噉即係話蔸樹識優先向啲大幅嘅未檢索區域䠋展(expand)。
生長控制
[編輯]樹戥新綟之間嘅連接長度經常捱生長因子限制。如果隨機樣本離樹上最近嘅綟遠過允許嘅限制,噉就唔去使隨機樣本本身,而係使用一粒新綟,粒綟會設得啱啱喺𠍁𠍁最大距離處,而且喺條直線上、從蔸樹直接到隨機樣本上嘅。種情況下啲隨機樣本可以睇作係攞來控制蔸樹嘅生長方向嘅,而生長因子(最大距離)決定唨佢生長嘅速率。噉就保持到 RRT 嘅空間填充偏笡(bias),同時限制到增量生長嘅規模。
RRT 生長都可以加偏笡(biased),透過增加從特定區域採樣狀態點嘅概率。RRT 嘅大多數實際實現都係利用嗰點來指導對規劃問題目標嘅檢索。噉樣係透過捉目標採樣嘅細概率引入到狀態採樣過程來實現嘅。個概率越高,樹生長得越貪婪(greedily)往目標去。
演算法
[編輯]對於通用配置空間C ,攞虛擬碼寫嘅演算法如下:
Input: Initial configuration qinit, number of vertices in RRT K, incremental distance Δq) Output: RRT graph G G.init(qinit) for k = 1 to K do qrand ← RAND_CONF() qnear ← NEAREST_VERTEX(qrand, G) qnew ← NEW_CONF(qnear, qrand, Δq) G.add_vertex(qnew) G.add_edge(qnear, qnew) return G
喺上面嘅演算法當中,「 RAND_CONF」喺C 當中抽一個隨機狀態點 qrand 。個函數攞函數「RAND_FREE_CONF」代替都得,個函數使用Cfree 入便嘅樣本,同時使埋某啲碰撞檢測演算法嚟排除Cobs 度嘅樣本。
「 NEAREST_VERTEX」係一個函數,遍歷齊圖G 入便嘅所有頂點 v ,使用一啲測量函數計到qrand戥v之間嘅距離,嚟返到最近嘅頂點。
喺qrand嘅方向上,「 NEW_CONF」從qnear𨂾出增量距離Δq來揀新狀態點qnew 。(有啲人覺得應該省略丟並使用qrand而唔係qnew )[6]
變體同改進
[編輯]RRT* 家族
[編輯]有表明,喺「溫和嘅技術條件」(mild technical conditions)下,RRT 中最佳路徑嘅成本幾乎實會收斂到非最佳值,所以要搵到啲收斂到最佳值嘅 RRT 變體,譬如 RRT*。下低係基於 RRT* 嘅方法列表(從 RRT* 本身開始)。但係,並非所有派生方法本身都收斂到最佳狀態點。
- 快速探索隨機圖 (RRG) 同 RRT*[7][8][9]:收斂於最佳解嘅 RRT 變體。
- RRT*-Smart[10]:一種加速 RRT* 收斂速度嘅方法,使用到路徑最佳化(戥Theta*類似嘅方式)同智能採樣(偏笡個採樣去面向啲路徑頂點,路徑最佳化後好可能會好靠近啲障礙物)
- A*-RRT同A*-RRT*[11]:一種兩段式運動規劃方法,第一動:使用圖檢索演算法喺一個低維空間(唔考慮完整狀態空間)入便檢索啲初始行得嘅路徑,避開啲危險區域並優先揀啲低風險嘅路線,第二動:運用低維方法捉 RRT* 集中喺連續嘅高維空間入便檢索
- RRT*FN[12][13][14]: RRT* 節點數固定,每次迭代親都隨機剪走蔸樹入便一粒葉綟
- RRT*-AR[15]:基於抽樣嘅備用路線規劃(alternate routes planning)
- Informed RRT*[16][17]: 提高 RRT* 嘅收斂速度,透過引入啟發式嘅方法、類似A*改進迪卡斯特拉演算法噉嘅
- 實時 RRT* (RT-RRT*)[18]: RRT* 同Informed RRT*嘅變體,使用online重佈線畀樹嘅策略,允許樹嘅根蔃隨個智能體移動而唔會棄丟先前採樣過嘅路徑,嚟喺動態環境(似電腦遊戲)當中攞到實時嘅路徑規劃
- RRT X同 RRT #[19][20]:針對動態環境最佳化嘅 RRT*
- Theta*-RRT[21]:一種類似於 A*-RRT* 嘅兩段式運動規劃法,任何角度檢索同 RRT 運動規劃嘅分層組合,喺具有復雜非完整約束(nonholonomic)嘅環境裏頭快速生成啲軌跡
- RRT* FND[22]:對動態環境嘅 RRT* 擴展
- RRT-GPU:利用硬件加速嘅三維 RRT 實現
- APF-RRT:RRT 規劃器戥人工勢場方法(Artificial Potential Fields method)嘅組合,可以簡化個重規劃任務
- CERRT:一個 RRT 規劃器,幫唔確定性建模,並利用啲接觸(contacts)減少佢。
- MVRRT*,最細違規 RRT*:一種搵到最短路線嘅演算法,最大限度噉降低得到個唔安全程度(似違反環境規則嘅「成本」,例如交通法規)
- RRT-Blossom[23]:適用於非常之受限(highly constrained)環境嘅 RRT 規劃器。
- TB-RRT:基於時間嘅 RRT 演算法,攞來幫兩個動態系統做交會規劃。
- RRdT*[24]:一種基於 RRT* 嘅規劃器,使用幾蔸局部樹,透過執行局部採樣來主動找平探索空間同埋利用空間兩件事。
其他變體
[編輯]- Parti-game direct RRTs (PDRRTs)[25]:一種捉 RRT 戥 parti-game 方法[26]結合埋嘅方法,嚟喺需要嘅埞(例如障礙物四周圍)細化檢索,嚟更加快噉規劃並解決得到更加多嘅運動規劃問題相較於傳統 RRT。
- 閉環RRT (CL-RRT)[27]:RRT 嘅擴展,對穩定閉環系統(由車輛同控制器組成嘅)嘅系統輸入進行採樣。
睇埋
[編輯]考
[編輯]
- ↑ LaValle, Steven M. (October 1998). "Rapidly-exploring random trees: A new tool for path planning" (PDF). Technical Report. Computer Science Department, Iowa State University (TR 98–11).
- ↑ LaValle, Steven M.; Kuffner Jr., James J. (2001). "Randomized Kinodynamic Planning" (PDF). The International Journal of Robotics Research (IJRR). 20 (5): 378–400. doi:10.1177/02783640122067453.
- ↑ http://msl.cs.uiuc.edu/rrt/about.html 互聯網檔案館嘅歸檔,歸檔日期2007年10月21號,. About RRTs, by Steve LaValle
- ↑ Rohrmoser, Bertram; Parlitz, Christopher (2002). Implementierung einer Bewegungplanung für einen Roboterann Implementation of a path-planning algorithm for a robot arm. Fraunhofer IPA.
- ↑ KNispel, Lukas; Matousek, Radomil (2013). A Performance Comparison of Rapidly-exploring Random Tree and Dijkstra’s Algorithm for Holonomic Robot Path Planning. Institute of Automation and Computer Science, Faculty of Mechanical Engineering, Brno University of Technology.
- ↑ Rapidly-Exploring Random Trees: Progress and Prospects (2000), by Steven M. Lavalle , James J. Kuffner , Jr. Algorithmic and Computational Robotics: New Directions, http://eprints.kfupm.edu.sa/60786/1/60786.pdf
- ↑ Karaman, Sertac; Frazzoli, Emilio (3 May 2010). "Incremental Sampling-based Algorithms for Optimal Motion Planning". arXiv:1005.0416 [cs.RO].
- ↑ Karaman, Sertac; Frazzoli, Emilio (5 May 2011). "Sampling-based Algorithms for Optimal Motion Planning". arXiv:1105.1186 [cs.RO].
- ↑ OlzhasAdi (Jan 26, 2015). "RRT* Brief Explanation" (video). YouTube. 喺3 August 2016搵到.
- ↑ Islam, Fahad; Nasir, Jauwairia; Malik, Usman; Ayaz, Yasar; Hasan, Osman; "RRT*-Smart: Rapid convergence implementation of RRT* towards optimal solution 互聯網檔案館嘅歸檔,歸檔日期2022年1月27號,.", in Proceedings of IEEE International Conference on Mechatronics and Automation (ICMA), pages 1651–1656, Chengdu, China, August 2012.
- ↑ Brunner, M.; Bruggemann, B.; Schulz, D.. "Hierarchical rough terrain motion planning using an optimal sampling-based method," in Int. Conf. on Robotics and Automation (ICRA), Karlsruhe, Germany, 2013.
- ↑ Adiyatov, Olzhas; Varol, Huseyin Atakan. "Rapidly-exploring random tree based memory efficient motion planning". In Mechatronics and Automation (ICMA), 2013 IEEE International Conference on, pages 354–359, 2013.
- ↑ Adiyatov, Olzhas; Varol, Atakan (2013). "MATLAB Toolbox of RRT, RRT* and RRT*FN algorithms". 喺3 August 2016搵到.
- ↑ OlzhasAdi (Jan 26, 2015). "RRT*FN Brief Explanation" (video). YouTube. 喺3 August 2016搵到.
- ↑ Choudhury, Sanjiban; Scherer, Sebastian; Singh, Sanjiv. "RRT*-AR: Sampling-based alternate routes planning with applications to autonomous emergency landing of a helicopter 互聯網檔案館嘅歸檔,歸檔日期2018年5月28號,.". In Robotics and Automation (ICRA), 2013 IEEE International Conference on, Karlsruhe, 6–10 May 2013, pages 3947–3952.
- ↑ Gammell, Jonathan D.; Srinivasa, Siddhartha S.; Barfoot, Timothy D. (8 Apr 2014). Informed RRT*: Optimal Sampling-based Path Planning Focused via Direct Sampling of an Admissible Ellipsoidal Heuristic. 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems. pp. 2997–3004. arXiv:1404.2334. doi:10.1109/IROS.2014.6942976. ISBN 978-1-4799-6934-0.
- ↑ utiasASRL (Jul 4, 2014). "Informed RRT* @ UTIAS (IROS 2014)" (video). YouTube. 喺3 August 2016搵到.
- ↑ Naderi, Kourosh; Rajamäki, Joose; Hämäläinen, Perttu (2015). "RT-RRT*: a real-time path planning algorithm based on RRT*". In Proceedings of the 8th ACM SIGGRAPH Conference on Motion in Games (MIG '15). ACM, New York, NY, USA, 113–118. DOI=https://dx.doi.org/10.1145/2822013.2822036
- ↑ "RRTX: Real-Time Motion Planning/Replanning for Environments with Unpredictable Obstacles" (PDF). 原著 (PDF)喺2017年5月19號歸檔. 喺2021年6月12號搵到.
- ↑ Comparison of RRTX, RRT# and RRT* when a shortcut is discovered in a static environment
- ↑ Palmieri, Luigi; Koenig, Sven; Arras, Kai O. "RRT-Based Nonholonomic Motion Planning Using Any-Angle Path Biasing". In Robotics and Automation (ICRA), 2016 Proceedings of the IEEE International Conference on, pages 2775-2781, 2016.
- ↑ RRT* FND - motion planning in dynamic environments
- ↑ "Maciej Kalisiak - RRT-blossom". www.dgp.toronto.edu. 喺2020-01-18搵到.
- ↑ Lai, Tin; Ramos, Fabio; Francis, Gilad (2019). "Balancing Global Exploration and Local-connectivity Exploitation with Rapidly-exploring Random disjointed-Trees". 2019 International Conference on Robotics and Automation (ICRA). Montreal, QC, Canada: IEEE: 5537–5543. arXiv:1810.03749. doi:10.1109/ICRA.2019.8793618. ISBN 978-1-5386-6027-0.
- ↑ Ranganathan, Ananth; Koenig, Sven. PDRRTs: "Integrating Graph-Based and Cell-Based Planning 互聯網檔案館嘅歸檔,歸檔日期2017年2月10號,.". In Proceedings of the IEEE International Conference on Intelligent Robots and Systems (IROS), pages 2799–2808, 2004.
- ↑ Moore, A. W.; Atkeson, C. G., "The parti-game algorithm for variable resolution reinforcement learning in multidimensional state-spaces," Machine Learning, vol. 21, no. 3, pages 199–233, 1995.
- ↑ Kuwata, Yoshiaki; Teo, Justin; Fiore, Gaston; Karaman, Sertac; Frazzoli, Emilio; How, Jonathan P. (September 2009). "Real-time Motion Planning with Applications to Autonomous Urban Driving" (PDF). IEEE Transactions on Control Systems Technology. 17 (5): 1105–1118. CiteSeerX 10.1.1.169.7922. doi:10.1109/tcst.2008.2012116. 原著 (PDF)喺2021年6月12號歸檔. 喺10 April 2017搵到.