braidpath op• 資料種類:image2d × any × any → table
• 呼叫: import fullseye as fs; fs.ledger.homotopy_shortest_paths(grid, start, goal, k=4, obstacles=None, angle=0.1, max_states=400000, max_cost=None)(要直接呼叫實作,import braidpath; braidpath.homotopy_shortest_paths(grid, start, goal, k=4, obstacles=None, angle=0.1, max_states=400000, max_cost=None);從台帳取用則 opsdrive.get("homotopy_shortest_paths"))
• GPU:無(僅 CPU 參考實作)
在網格(True = 可通行,4 鄰域)上,依由短到長給出從 start 到 goal 的、同倫類各不相同的 k 條最短路徑。
狀態 = (格子, 辮的 Dynnikov 座標)。把障礙物點當作不動的股,每走 1 步就追加交叉字母並更新座標(座標是類的完全不變量,因此相同的 (格子, 座標) 只展開 1 次)。Dijkstra 將這個「依類提升」的網格依費用順序展開,因此以新座標到達 goal 的順序,就是各類最短路徑由短到長的順序。
obstacles : 孔的代表點 (M, 2)。省略時使用 grid_hole_points(每個不接觸外圍的阻塞連通分量取 1 點)。
max_states / max_cost : 展開狀態數、費用的上限(類有無窮多個 —— 可以繞孔轉任意圈)。
Returns: dict paths(各類的 (L, 2) 的 (row, col) 序列,短的在前)、costs、words(含障礙物的辮字)、keys、obstacles、states(展開的狀態數)、complete(是否湊齊 k 條)。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• poc_braid_homotopy_classes — py -3.11 examples/poc_braid_homotopy_classes.py
table 作為輸入)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
braidpath)braid_from_trajectories · braid_reduce · braid_artin_images · dynnikov_coordinates · dynnikov_act · braid_equivalent · homotopy_class_compare · pairwise_winding
*Provenance: braidpath.py — DRIVE 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.