RRT Benchmark 测试案例
轻量静态 2D benchmark:7 个场景 × 3 个算法 × 7 个 seed。算法包括 RRT、RRT*、RRT-Connect。
RRTRRT*RRT-Connect
标准 benchmark 简述
- OMPL benchmark + Planner Arena:运动规划领域常用标准方案,适合严肃 planner 对比,但需要 OMPL。
- MoveIt benchmarking / MotionBenchMaker:适合机器人/机械臂场景,依赖 ROS/MoveIt 或数据集,较重。
- PythonRobotics:RRT 系列教学示例,可参考实现,不是严格标准 benchmark。
- 本页面:无大型依赖的 2D 几何测试,适合快速回归和展示。
指标摘要
| scenario | algorithm | success_rate | avg_time_sec | avg_path_length | avg_nodes_or_iterations | avg_collision_checks | failure_reason_summary |
|---|---|---|---|---|---|---|---|
open_space | RRT | 100.0% (7/7) | 0.0027 | 128.82 | 102.1 | 217.6 | — |
open_space | RRT* | 100.0% (7/7) | 0.5859 | 128.24 | 1600.1 | 8403.7 | — |
open_space | RRT-Connect | 100.0% (7/7) | 0.0013 | 128.12 | 37 | 69.4 | — |
narrow_passage | RRT | 100.0% (7/7) | 0.0015 | 84.00 | 72.9 | 157.1 | — |
narrow_passage | RRT* | 100.0% (7/7) | 2.6579 | 84.00 | 3384.7 | 22437 | — |
narrow_passage | RRT-Connect | 100.0% (7/7) | 0.0004 | 84.00 | 20.3 | 23.6 | — |
bug_trap | RRT | 100.0% (7/7) | 0.0589 | 134.35 | 517.1 | 1873.7 | — |
bug_trap | RRT* | 100.0% (7/7) | 2.7765 | 121.52 | 3396.7 | 24227 | — |
bug_trap | RRT-Connect | 100.0% (7/7) | 0.0091 | 141.71 | 148 | 788.6 | — |
cluttered | RRT | 100.0% (7/7) | 0.0071 | 136.24 | 121.7 | 413.1 | — |
cluttered | RRT* | 100.0% (7/7) | 2.1376 | 128.45 | 2945.1 | 20513.1 | — |
cluttered | RRT-Connect | 100.0% (7/7) | 0.0042 | 131.05 | 45.9 | 245.4 | — |
maze | RRT | 100.0% (7/7) | 0.5235 | 334.23 | 1685.4 | 7706.4 | — |
maze | RRT* | 100.0% (7/7) | 3.2033 | 306.22 | 3576.9 | 31363.1 | — |
maze | RRT-Connect | 100.0% (7/7) | 0.2109 | 339.36 | 935.7 | 6962 | — |
start_goal_near_obstacle | RRT | 100.0% (7/7) | 0.1635 | 219.75 | 1006.7 | 4022.3 | — |
start_goal_near_obstacle | RRT* | 100.0% (7/7) | 1.4462 | 189.10 | 2412.4 | 18797.1 | — |
start_goal_near_obstacle | RRT-Connect | 100.0% (7/7) | 0.0521 | 231.53 | 408 | 3538 | — |
long_distance | RRT | 100.0% (7/7) | 0.0136 | 214.85 | 226.1 | 795.3 | — |
long_distance | RRT* | 100.0% (7/7) | 2.7183 | 191.33 | 3436.1 | 25789.7 | — |
long_distance | RRT-Connect | 100.0% (7/7) | 0.0073 | 208.86 | 105.1 | 565.9 | — |
场景可视化
open_space
Mostly open map with two small sparse rectangular obstacles.
narrow_passage
Vertical wall with a narrow central gate; tests passage discovery.
bug_trap
U-shaped trap opening away from the goal, plus a second gate near the goal side.
cluttered
Many rectangles create a cluttered static planning scene.
maze
Alternating walls form a simple maze-like corridor with a final right-side exit gap.
start_goal_near_obstacle
Start and goal are close to obstacle corners; tests collision margin behavior.
long_distance
Longer start-goal distance with sparse barriers over a 150x100 map.
详细运行结果
下表直接来自 rrt_benchmark_results.json,显示 7 个场景 × 3 个算法 × 7 个 seed 的全部 147 条运行结果,避免只看摘要时误以为部分算法结果缺失。
| scenario | algorithm | seed | success | planning_time_sec | path_length | nodes | iterations | collision_checks | failure_reason |
|---|---|---|---|---|---|---|---|---|---|
open_space | RRT | 0 | ✅ | 0.0024 | 128.2344 | 85 | 93 | 191 | — |
open_space | RRT* | 0 | ✅ | 0.5884 | 128.2891 | 1601 | 1600 | 8106 | — |
open_space | RRT-Connect | 0 | ✅ | 0.0012 | 128.6441 | 32 | 4 | 58 | — |
open_space | RRT | 1 | ✅ | 0.0026 | 130.3694 | 109 | 107 | 217 | — |
open_space | RRT* | 1 | ✅ | 0.5864 | 129.0996 | 1601 | 1600 | 8149 | — |
open_space | RRT-Connect | 1 | ✅ | 0.0013 | 127.9872 | 39 | 4 | 65 | — |
open_space | RRT | 2 | ✅ | 0.0030 | 129.2088 | 113 | 119 | 243 | — |
open_space | RRT* | 2 | ✅ | 0.5903 | 127.8347 | 1608 | 1600 | 8987 | — |
open_space | RRT-Connect | 2 | ✅ | 0.0012 | 127.8386 | 35 | 7 | 67 | — |
open_space | RRT | 3 | ✅ | 0.0030 | 128.2246 | 109 | 114 | 243 | — |
open_space | RRT* | 3 | ✅ | 0.5903 | 127.8795 | 1605 | 1600 | 8636 | — |
open_space | RRT-Connect | 3 | ✅ | 0.0013 | 127.7509 | 38 | 8 | 73 | — |
open_space | RRT | 4 | ✅ | 0.0026 | 128.4510 | 103 | 103 | 216 | — |
open_space | RRT* | 4 | ✅ | 0.5770 | 127.8808 | 1587 | 1600 | 8085 | — |
open_space | RRT-Connect | 4 | ✅ | 0.0012 | 128.4081 | 32 | 4 | 58 | — |
open_space | RRT | 5 | ✅ | 0.0016 | 128.3685 | 63 | 61 | 128 | — |
open_space | RRT* | 5 | ✅ | 0.5870 | 128.3263 | 1607 | 1600 | 8204 | — |
open_space | RRT-Connect | 5 | ✅ | 0.0015 | 128.1697 | 51 | 19 | 107 | — |
open_space | RRT | 6 | ✅ | 0.0035 | 128.8499 | 133 | 139 | 285 | — |
open_space | RRT* | 6 | ✅ | 0.5819 | 128.3751 | 1592 | 1600 | 8659 | — |
open_space | RRT-Connect | 6 | ✅ | 0.0012 | 128.0484 | 32 | 4 | 58 | — |
narrow_passage | RRT | 0 | ✅ | 0.0009 | 84.0000 | 50 | 54 | 112 | — |
narrow_passage | RRT* | 0 | ✅ | 2.6284 | 84.0000 | 3413 | 3400 | 23332 | — |
narrow_passage | RRT-Connect | 0 | ✅ | 0.0004 | 84.0000 | 20 | 1 | 24 | — |
narrow_passage | RRT | 1 | ✅ | 0.0009 | 84.0000 | 52 | 50 | 106 | — |
narrow_passage | RRT* | 1 | ✅ | 2.5533 | 84.0000 | 3349 | 3400 | 22306 | — |
narrow_passage | RRT-Connect | 1 | ✅ | 0.0003 | 84.0000 | 20 | 1 | 23 | — |
narrow_passage | RRT | 2 | ✅ | 0.0023 | 84.0000 | 99 | 111 | 229 | — |
narrow_passage | RRT* | 2 | ✅ | 2.6177 | 84.0000 | 3397 | 3400 | 23226 | — |
narrow_passage | RRT-Connect | 2 | ✅ | 0.0004 | 84.0000 | 21 | 1 | 24 | — |
narrow_passage | RRT | 3 | ✅ | 0.0021 | 84.0000 | 98 | 100 | 214 | — |
narrow_passage | RRT* | 3 | ✅ | 2.5982 | 84.0000 | 3388 | 3400 | 21885 | — |
narrow_passage | RRT-Connect | 3 | ✅ | 0.0004 | 84.0000 | 21 | 1 | 25 | — |
narrow_passage | RRT | 4 | ✅ | 0.0017 | 84.0000 | 81 | 85 | 172 | — |
narrow_passage | RRT* | 4 | ✅ | 2.6922 | 84.0000 | 3355 | 3400 | 22157 | — |
narrow_passage | RRT-Connect | 4 | ✅ | 0.0005 | 84.0000 | 20 | 1 | 23 | — |
narrow_passage | RRT | 5 | ✅ | 0.0011 | 84.0000 | 55 | 55 | 111 | — |
narrow_passage | RRT* | 5 | ✅ | 2.7462 | 84.0000 | 3391 | 3400 | 22974 | — |
narrow_passage | RRT-Connect | 5 | ✅ | 0.0004 | 84.0000 | 20 | 1 | 23 | — |
narrow_passage | RRT | 6 | ✅ | 0.0016 | 84.0000 | 75 | 75 | 156 | — |
narrow_passage | RRT* | 6 | ✅ | 2.7693 | 84.0000 | 3400 | 3400 | 21179 | — |
narrow_passage | RRT-Connect | 6 | ✅ | 0.0004 | 84.0000 | 20 | 1 | 23 | — |
bug_trap | RRT | 0 | ✅ | 0.0622 | 136.3446 | 572 | 902 | 1927 | — |
bug_trap | RRT* | 0 | ✅ | 2.3336 | 121.0060 | 3085 | 3800 | 21561 | — |
bug_trap | RRT-Connect | 0 | ✅ | 0.0082 | 139.0891 | 139 | 251 | 733 | — |
bug_trap | RRT | 1 | ✅ | 0.0796 | 141.1349 | 630 | 1087 | 2263 | — |
bug_trap | RRT* | 1 | ✅ | 2.8008 | 122.9534 | 3408 | 3800 | 24525 | — |
bug_trap | RRT-Connect | 1 | ✅ | 0.0129 | 134.6974 | 200 | 399 | 1096 | — |
bug_trap | RRT | 2 | ✅ | 0.0711 | 138.6996 | 549 | 1068 | 2236 | — |
bug_trap | RRT* | 2 | ✅ | 2.8139 | 121.4760 | 3425 | 3800 | 24575 | — |
bug_trap | RRT-Connect | 2 | ✅ | 0.0050 | 137.5999 | 102 | 143 | 445 | — |
bug_trap | RRT | 3 | ✅ | 0.0254 | 134.1953 | 333 | 545 | 1197 | — |
bug_trap | RRT* | 3 | ✅ | 3.0328 | 122.2296 | 3562 | 3800 | 25139 | — |
bug_trap | RRT-Connect | 3 | ✅ | 0.0069 | 151.3274 | 125 | 203 | 621 | — |
bug_trap | RRT | 4 | ✅ | 0.0663 | 125.7063 | 578 | 895 | 1958 | — |
bug_trap | RRT* | 4 | ✅ | 2.6563 | 120.6172 | 3357 | 3800 | 24468 | — |
bug_trap | RRT-Connect | 4 | ✅ | 0.0091 | 134.2606 | 149 | 259 | 763 | — |
bug_trap | RRT | 5 | ✅ | 0.0267 | 124.2703 | 329 | 574 | 1222 | — |
bug_trap | RRT* | 5 | ✅ | 3.0270 | 120.6494 | 3545 | 3800 | 26179 | — |
bug_trap | RRT-Connect | 5 | ✅ | 0.0154 | 160.0215 | 210 | 463 | 1252 | — |
bug_trap | RRT | 6 | ✅ | 0.0808 | 140.0751 | 629 | 1071 | 2313 | — |
bug_trap | RRT* | 6 | ✅ | 2.7712 | 121.6964 | 3395 | 3800 | 23142 | — |
bug_trap | RRT-Connect | 6 | ✅ | 0.0060 | 135.0085 | 111 | 219 | 610 | — |
cluttered | RRT | 0 | ✅ | 0.0054 | 128.9925 | 81 | 109 | 301 | — |
cluttered | RRT* | 0 | ✅ | 2.1930 | 128.9742 | 2955 | 3000 | 21310 | — |
cluttered | RRT-Connect | 0 | ✅ | 0.0048 | 128.0272 | 63 | 89 | 312 | — |
cluttered | RRT | 1 | ✅ | 0.0068 | 140.4922 | 124 | 177 | 421 | — |
cluttered | RRT* | 1 | ✅ | 2.1615 | 128.2923 | 2923 | 3000 | 21232 | — |
cluttered | RRT-Connect | 1 | ✅ | 0.0042 | 130.6087 | 38 | 50 | 205 | — |
cluttered | RRT | 2 | ✅ | 0.0100 | 145.6248 | 145 | 198 | 514 | — |
cluttered | RRT* | 2 | ✅ | 2.1205 | 127.9909 | 2901 | 3000 | 20781 | — |
cluttered | RRT-Connect | 2 | ✅ | 0.0053 | 137.8033 | 50 | 86 | 340 | — |
cluttered | RRT | 3 | ✅ | 0.0072 | 142.4162 | 121 | 151 | 433 | — |
cluttered | RRT* | 3 | ✅ | 2.2120 | 129.9439 | 2969 | 3000 | 19976 | — |
cluttered | RRT-Connect | 3 | ✅ | 0.0040 | 129.7186 | 40 | 37 | 179 | — |
cluttered | RRT | 4 | ✅ | 0.0063 | 133.2393 | 117 | 154 | 382 | — |
cluttered | RRT* | 4 | ✅ | 2.1155 | 127.6702 | 2974 | 3000 | 19622 | — |
cluttered | RRT-Connect | 4 | ✅ | 0.0038 | 130.2173 | 42 | 63 | 244 | — |
cluttered | RRT | 5 | ✅ | 0.0072 | 130.4334 | 122 | 182 | 425 | — |
cluttered | RRT* | 5 | ✅ | 2.0640 | 127.9206 | 2936 | 3000 | 20082 | — |
cluttered | RRT-Connect | 5 | ✅ | 0.0037 | 129.7779 | 41 | 54 | 216 | — |
cluttered | RRT | 6 | ✅ | 0.0070 | 132.4471 | 142 | 163 | 416 | — |
cluttered | RRT* | 6 | ✅ | 2.0969 | 128.3319 | 2958 | 3000 | 20589 | — |
cluttered | RRT-Connect | 6 | ✅ | 0.0035 | 131.2003 | 47 | 55 | 222 | — |
maze | RRT | 0 | ✅ | 0.6828 | 332.0164 | 1961 | 3822 | 8905 | — |
maze | RRT* | 0 | ✅ | 2.9976 | 302.6322 | 3464 | 5200 | 31167 | — |
maze | RRT-Connect | 0 | ✅ | 0.2706 | 330.3947 | 1111 | 2920 | 8232 | — |
maze | RRT | 1 | ✅ | 0.5938 | 319.7014 | 1845 | 3421 | 7948 | — |
maze | RRT* | 1 | ✅ | 3.3028 | 310.5630 | 3600 | 5200 | 30537 | — |
maze | RRT-Connect | 1 | ✅ | 0.1135 | 346.3600 | 679 | 1661 | 4825 | — |
maze | RRT | 2 | ✅ | 0.4576 | 343.7190 | 1494 | 3113 | 7326 | — |
maze | RRT* | 2 | ✅ | 3.6011 | 306.6882 | 3818 | 5200 | 34624 | — |
maze | RRT-Connect | 2 | ✅ | 0.2658 | 339.7888 | 1111 | 3017 | 8530 | — |
maze | RRT | 3 | ✅ | 0.4432 | 345.4164 | 1578 | 3061 | 7232 | — |
maze | RRT* | 3 | ✅ | 2.6954 | 309.6607 | 3241 | 5200 | 26984 | — |
maze | RRT-Connect | 3 | ✅ | 0.3023 | 355.5003 | 1229 | 2996 | 8604 | — |
maze | RRT | 4 | ✅ | 0.3550 | 334.4112 | 1335 | 2841 | 6824 | — |
maze | RRT* | 4 | ✅ | 3.5931 | 303.2871 | 3845 | 5200 | 33987 | — |
maze | RRT-Connect | 4 | ✅ | 0.2273 | 341.3558 | 898 | 2307 | 6538 | — |
maze | RRT | 5 | ✅ | 0.4617 | 328.6606 | 1633 | 2985 | 7026 | — |
maze | RRT* | 5 | ✅ | 3.2271 | 306.0353 | 3631 | 5200 | 33061 | — |
maze | RRT-Connect | 5 | ✅ | 0.2026 | 327.4579 | 930 | 2591 | 7221 | — |
maze | RRT | 6 | ✅ | 0.6704 | 335.6839 | 1952 | 3698 | 8684 | — |
maze | RRT* | 6 | ✅ | 3.0059 | 304.6750 | 3439 | 5200 | 29182 | — |
maze | RRT-Connect | 6 | ✅ | 0.0946 | 334.6825 | 592 | 1640 | 4784 | — |
start_goal_near_obstacle | RRT | 0 | ✅ | 0.1301 | 201.2995 | 913 | 1747 | 3834 | — |
start_goal_near_obstacle | RRT* | 0 | ✅ | 1.6292 | 187.6889 | 2611 | 3300 | 19636 | — |
start_goal_near_obstacle | RRT-Connect | 0 | ✅ | 0.1434 | 263.2906 | 834 | 2229 | 5942 | — |
start_goal_near_obstacle | RRT | 1 | ✅ | 0.2882 | 222.1045 | 1428 | 2281 | 5060 | — |
start_goal_near_obstacle | RRT* | 1 | ✅ | 1.2774 | 187.7114 | 2271 | 3300 | 16674 | — |
start_goal_near_obstacle | RRT-Connect | 1 | ✅ | 0.0434 | 217.1623 | 363 | 1426 | 3735 | — |
start_goal_near_obstacle | RRT | 2 | ✅ | 0.1431 | 229.9611 | 978 | 1589 | 3573 | — |
start_goal_near_obstacle | RRT* | 2 | ✅ | 1.5684 | 189.3866 | 2538 | 3300 | 19249 | — |
start_goal_near_obstacle | RRT-Connect | 2 | ✅ | 0.0356 | 216.6319 | 327 | 1311 | 3350 | — |
start_goal_near_obstacle | RRT | 3 | ✅ | 0.2336 | 235.4203 | 1303 | 2220 | 5007 | — |
start_goal_near_obstacle | RRT* | 3 | ✅ | 1.7610 | 194.3298 | 2678 | 3300 | 24710 | — |
start_goal_near_obstacle | RRT-Connect | 3 | ✅ | 0.0275 | 229.6890 | 260 | 992 | 2622 | — |
start_goal_near_obstacle | RRT | 4 | ✅ | 0.1242 | 212.0907 | 867 | 1760 | 3847 | — |
start_goal_near_obstacle | RRT* | 4 | ✅ | 1.8136 | 186.9121 | 2773 | 3300 | 19738 | — |
start_goal_near_obstacle | RRT-Connect | 4 | ✅ | 0.0241 | 246.1836 | 260 | 888 | 2446 | — |
start_goal_near_obstacle | RRT | 5 | ✅ | 0.1480 | 213.4891 | 902 | 1741 | 3863 | — |
start_goal_near_obstacle | RRT* | 5 | ✅ | 0.9398 | 186.5669 | 1903 | 3300 | 13983 | — |
start_goal_near_obstacle | RRT-Connect | 5 | ✅ | 0.0365 | 216.5519 | 378 | 993 | 2840 | — |
start_goal_near_obstacle | RRT | 6 | ✅ | 0.0773 | 223.8802 | 656 | 1317 | 2972 | — |
start_goal_near_obstacle | RRT* | 6 | ✅ | 1.1342 | 191.1190 | 2113 | 3300 | 17590 | — |
start_goal_near_obstacle | RRT-Connect | 6 | ✅ | 0.0539 | 231.1796 | 434 | 1467 | 3831 | — |
long_distance | RRT | 0 | ✅ | 0.0097 | 195.6262 | 189 | 264 | 644 | — |
long_distance | RRT* | 0 | ✅ | 2.7666 | 192.4994 | 3425 | 3600 | 25688 | — |
long_distance | RRT-Connect | 0 | ✅ | 0.0052 | 195.1612 | 72 | 66 | 322 | — |
long_distance | RRT | 1 | ✅ | 0.0249 | 214.3049 | 358 | 468 | 1115 | — |
long_distance | RRT* | 1 | ✅ | 2.7880 | 188.9744 | 3488 | 3600 | 24103 | — |
long_distance | RRT-Connect | 1 | ✅ | 0.0063 | 215.7277 | 93 | 128 | 469 | — |
long_distance | RRT | 2 | ✅ | 0.0081 | 205.0904 | 148 | 213 | 562 | — |
long_distance | RRT* | 2 | ✅ | 2.6712 | 190.9663 | 3419 | 3600 | 24819 | — |
long_distance | RRT-Connect | 2 | ✅ | 0.0047 | 204.3177 | 72 | 100 | 371 | — |
long_distance | RRT | 3 | ✅ | 0.0138 | 209.9455 | 234 | 374 | 916 | — |
long_distance | RRT* | 3 | ✅ | 2.5962 | 190.9537 | 3362 | 3600 | 26861 | — |
long_distance | RRT-Connect | 3 | ✅ | 0.0153 | 213.0097 | 209 | 422 | 1237 | — |
long_distance | RRT | 4 | ✅ | 0.0147 | 270.8736 | 220 | 398 | 887 | — |
long_distance | RRT* | 4 | ✅ | 2.7850 | 190.5654 | 3485 | 3600 | 27355 | — |
long_distance | RRT-Connect | 4 | ✅ | 0.0092 | 212.2125 | 141 | 241 | 777 | — |
long_distance | RRT | 5 | ✅ | 0.0164 | 201.2063 | 284 | 382 | 930 | — |
long_distance | RRT* | 5 | ✅ | 2.7355 | 192.8293 | 3457 | 3600 | 24948 | — |
long_distance | RRT-Connect | 5 | ✅ | 0.0053 | 211.5468 | 75 | 98 | 380 | — |
long_distance | RRT | 6 | ✅ | 0.0075 | 206.8966 | 150 | 190 | 513 | — |
long_distance | RRT* | 6 | ✅ | 2.6852 | 192.5008 | 3417 | 3600 | 26754 | — |
long_distance | RRT-Connect | 6 | ✅ | 0.0055 | 210.0576 | 74 | 105 | 405 | — |