ai-winter/python_motion_planning
Motion planning(Path Planning and Trajectory Planning/Tracking) of AGV/AMR:python implementation of Dijkstra, A*, JPS, D*, LPA*, D* Lite, (Lazy)Theta*, RRT, RRT*, RRT-Connect, Informed RRT*, Voronoi, PID, DWA, APF, LQR, MPC, RPP, Bezier, Dubins etc.
解決的問題
本專案處理機器人運動規劃:從起點到目標點計算一條安全且無衝突的路徑,接著將該路徑轉換為符合機器人運動學與動力學的軌跡。它提供一系列知名的路徑規劃與軌跡最佳化演算法,並附帶控制器,讓機器人能沿著規劃路徑移動。
運作方式
程式碼庫分為多個模組:path_planner(圖搜尋、取樣搜尋、混合搜尋)、controller(路徑追蹤控制器)、traj_optimizer(曲線產生器)、common(環境、機器人、工具函式、視覺化工具)。使用基於網格的世界表示(2D 及部分 3D),並模擬機器人行為。視覺化工具基於 matplotlib。控制器透過一個玩具物理模擬器進行測試,支援兩種機器人類型:圓形全向機器人與差速驅動機器人。
適用對象
希望實驗經典運動規劃演算法、比較其行為,並在輕量級模擬環境中測試控制器的機器人學學生、研究人員與愛好者。它也可作為演算法細節的參考實作,其 ROS C++ 與 MATLAB 對應版本使其成為跨語言學習工具。
主要亮點
- 實現流行的圖搜尋規劃器(Dijkstra、A*、JPS、Theta*、Lazy Theta*)、取樣規劃器(RRT、RRT*、RRT-Connect)與 Voronoi 混合規劃器
- 提供路徑追蹤控制器(Pure Pursuit、PID、APF、DWA、RPP),並附帶 2D 模擬器
- 包含軌跡最佳化器(三次樣條、BSpline、多項式、貝茲、Dubins、Reeds-Shepp)
- 可透過
pip install python-motion-planning輕鬆安裝,並提供帶教學的線上文件 - 持續開發中,未來計畫支援 N-D 控制器、機械臂規劃與 ROS2
相關
- 專案
- 專案
- 專案
- 專案