Skip to content

Latest commit

 

History

History
401 lines (334 loc) · 17.1 KB

index.md

File metadata and controls

401 lines (334 loc) · 17.1 KB

Sipu Ruan 1{:target="_blank"}, Karen L. Poblete 2, Hongtao Wu 3{:target="_blank"}, Qianli Ma 4{:target="_blank"} and Gregory Chirikjian 1{:target="_blank"}

1 Department of Mechanical Engineering, National University of Singapore, Singapore

2 Epic Systems, Verona, WI, USA

3 Laboratory for Computational Sensing and Robotics, Johns Hopkins University, Baltimore, MD, USA

4 Motional Inc., Pittsburgh, PA, USA

Published in IEEE Transactions on Robotics (T-RO)

Introduction

My photo{:style="float: left;margin-right: 7px;margin-top: 7px;" height="40%" width="40%"} Path planning has long been one of the major research areas in robotics, with PRM and RRT being two of the most effective classes of planners. Though generally very efficient, these sampling-based planners can become computationally expensive in the important case of "narrow passages". This paper develops a path planning paradigm specifically formulated for narrow passage problems. The core is based on planning for rigid-body robots encapsulated by unions of ellipsoids. Each environmental feature is represented geometrically using a strictly convex body with a C1 boundary (e.g., superquadric). The main benefit of doing this is that configuration-space obstacles can be parameterized explicitly in closed form, thereby allowing prior knowledge to be used to avoid sampling infeasible configurations. Then, by characterizing a tight volume bound for multiple ellipsoids, robot transitions involving rotations are guaranteed to be collision-free without needing to perform traditional collision detection. Furthermore, by combining with a stochastic sampling strategy, the proposed planning framework can be extended to solving higher dimensional problems in which the robot has a moving base and articulated appendages. Benchmark results show that the proposed framework often outperforms the sampling-based planners in terms of computational time and success rate in finding a path through narrow corridors for both single-body robots and those with higher dimensional configuration spaces. Physical experiments using the proposed framework are further demonstrated on a humanoid robot that walks in several cluttered environments with narrow passages.

Links

Benchmark experiments

Baselines: PRM (with various samplers), LazyPRM, RRT, RRT-connect, EST.

Choose a planning scene: Sparse environment; Rabbit-like robot Cluttered environment; Rabbit-like robot Maze environment; Rabbit-like robot Home environment; Chair object Sparse environment; Snake-like robot Sparse environment; Tree-like robot Cluttered environment; Rabbit-like robot Cluttered environment; Tree-like robot Maze environment; Snake-like robot Home environment; Snake-like robot Narrow environment; Snake-like robot Narrow environment; Tree-like robot

Benchmark results

Planning scene Solving time Success rate
sparse_rabbit sparse_rabbit_time sparse_rabbit_success
cluttered_rabbit cluttered_rabbit_time cluttered_rabbit_success
maze_rabbit maze_rabbit_time maze_rabbit_success
home_chair home_chair_time home_chair_success
sparse_snake sparse_snake_time sparse_snake_success
sparse_tree sparse_tree_time sparse_tree_success
cluttered_snake cluttered_snake_time cluttered_snake_success
cluttered_tree cluttered_tree_time cluttered_tree_success
maze_snake maze_snake_time maze_snake_success
home_snake home_snake_time home_snake_success
narrow_snake narrow_snake_time narrow_snake_success
narrow_tree narrow_tree_time narrow_tree_success

Parameters for HRM (rigid)/Prob-HRM (articulated) planner

Initial input number Number after planning (averaged over 50 trials)
C-slices Sweep lines (grid size) C-slices Sweep lines
60 10 (5 x 2) 60 10
60 55 (11 x 5) 60 55
60 55 (11 x 5) 60 55
60 400 (20 x 20) 60 400
-- 18 (6 x 3) 2 18
-- 18 (6 x 3) 2 18
-- 72 (12 x 6) 9 72
-- 72 (12 x 6) 9 72
-- 72 (12 x 6) 16 102
-- 400 (20 x 20) 11 400
-- 18 (6 x 3) 20 22
-- 72 (12 x 6) 117 314

Results (averaged over 50 trials) for HRM (rigid)/Prob-HRM (articulated) planner

Num. graph vertices Num. graph edges Num. path points
841 1883 6
4794 10421 16
1495 2494 24
34197 72063 79
60 140 8
70 174 9
1353 3550 14
1270 2945 12
1854 3994 31
6688 14147 105
367 771 16
36837 83715 20

Physical experiments

Choose an example: Experiment 1 Experiment 2 Experiment 3 Experiment 4 Experiment 5

Robot execution screenshot Planned motion in RViz
exp_1_motion exp_1_rivz
exp_2_motion exp_2_rivz
exp_3_motion exp_3_rivz
exp_4_motion exp_4_rivz
exp_5_motion exp_5_rivz
<script> function selectScene(optionName, benchTableName, hrmParamTableName, hrmResTableName) { var select = document.getElementById(optionName); var table = document.getElementById(benchTableName); var tr = table.getElementsByTagName("tr"); var tableHrmParam = document.getElementById(hrmParamTableName); var trHrmParam = tableHrmParam.getElementsByTagName("tr"); var tableHrmRes = document.getElementById(hrmResTableName); var trHrmRes = tableHrmRes.getElementsByTagName("tr"); for (i = 1; i < tr.length; i++) { if (select.value == tr[i].id){ tr[i].style.display = ""; trHrmParam[i+1].style.display = ""; trHrmRes[i].style.display = ""; } else{ tr[i].style.display = "none"; trHrmParam[i+1].style.display = "none"; trHrmRes[i].style.display = "none"; } } } function selectSceneExp(optionName, tableName) { var select = document.getElementById(optionName); var table = document.getElementById(tableName); var tr = table.getElementsByTagName("tr"); for (i = 1; i < tr.length; i++) { if (select.value == tr[i].id){ tr[i].style.display = ""; } else{ tr[i].style.display = "none"; } } } </script>

Supplementary Video

<iframe width="640" height="340" src="https://www.youtube.com/embed/dpAim6Fq3bo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>