SGS-Planner: A Skeleton-Guided Spatiotemporal Motion Planner for Flight in Constrained Space

T. Li, S. Zhang, X. Zhang, Q. Dong, and J. Huang, “SGS-Planner: A Skeleton-Guided Spatiotemporal Motion Planner for Flight in Constrained Space,” IEEE/ASME Transactions on Mechatronics, pp. 1–12, 2024, doi: 10.1109/TMECH.2024.3393144.

이 논문은 올해 T-Mech Accept 된 논문으로 기존의 SOTA 로 여겨진 GCOPTER 기반의 nonlinear optimization 방식으로 경로를 생성하던 방식 대신 hierarchical framework 기반의 QP 로 경로를 생성하였다.

따라서, 어떤 부분에서 뚜렷한 contribution 이 있었고 motion planning 에서 얻어갈 요소가 있을지 찾아보자.

주요 contributions

  1. hierarchical motion planner 로 spatial 과 temporal planning 을 순차적으로 진행한다.
  2. skeleton 기반의 sphere inflation method 를 제안하여 빠르고 안전한 경로를 만들 수 있게 하였다.
  3. environmental adaptive parameter tuning 을 통해 path smoothing 이 이루어진다. 이는 unconstrained QP 를 풀어 closed-form solution 도 얻어내 해결한다.

Introduction

본 논문에서 제시하는 시작점은 여러 motion planning method 들이 제안되었음에도, 여전히 제한적인 환경에서는 비행하기 어렵다는 것이다.

실제로 safe flight corridor 에 의존하는 경로 생성 방식으로 인해 좁은 틈이나 복잡한 환경에서는 안전한 경로가 확보되기 어렵고, real-time replanning 이 어렵다!!

Time-optimal 을 고려하고자 한 선행 연구들로는 Scaramuzza 교수님 연구실에서 나온 [21] 과 [22] 가 있다.

Spatial-temporal optimization 을 같이 수행한 대표적인 연구인 Teach-repeat-replan [14] 도 있다. 하지만 이러한 방식들은 computationally expensive 한 단점이 있다.

Considering time optimality in optimization

[21] P. Foehn, A. Romero, and D. Scaramuzza, “Time-optimal planning for quadrotor waypoint flight,” Sci. Robot., vol. 6, no. 56, 2021, Art. no. eabh1221.

[22] R. Penicka and D. Scaramuzza, “Minimum-time quadrotor waypoint flight in cluttered environments,” IEEE Robot. Autom. Lett., vol. 7, no. 2, pp. 5719–5726, Apr. 2022.

[14] F. Gao, L. Wang, B. Zhou, X. Zhou, J. Pan, and S. Shen, “Teach-repeatreplan: A complete and robust system for aggressive flight in complex environments,” IEEE Trans. Robot., vol. 36, no. 5, pp. 1526–1545, Oct. 2020.

이러한 motion planner 들 중 좁은 틈을 잘 지나도록 한 선행 연구들도 제시하였는데, 이는 생략하고 흐름만 요약하도록 하자.

Liu et al. 등의 방법들과 narrow gaps 논문들도 있고 터널 환경을 지나기 위해 center line 을 뽑아서 경로를 계획하는 방식들도 있었다.

넓은 free space 확보를 위한 skeleton graph 방식들도 있는데 대표적으로는 generalized Voronoi diagram(GVD)-based 방법과 clustering-based 방법이 있다.

Skeleton graph methods in motion planning

[31] J. Wen, X. Zhang, H. Liu, H. Liu, J. Yuan, and Y. Fang, “G 2 VD Planner: An efficient motion planning approach with grid-based generalized Voronoi diagrams,” 2022, arXiv:2201.12981.

[32] C. Howie and B. Joel, “Sensor-based exploration: The hierarchical generalized Voronoi graph,” Int. J. Robot. Res., vol. 19, no. 2, pp. 96–125, 2000.

[33] D. Dolgov, S. Thrun, M. Montemerlo, and J. Diebel, “Path planning for autonomous vehicles in unknown semi-structured environments,” Int. J. Robot. Res., vol. 29, no. 5, pp. 485–501, 2010.

[34] H. Oleynikova, Z. Taylor, R. Siegwart, and J. Nieto, “Sparse 3D topological graphs for micro-aerial vehicle planning,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2018, pp. 1–9.

[35] F. Blochliger, M. Fehr, M. Dymczyk, T. Schneider, and R. Siegwart, “Topomap: Topological mapping and navigation based on visual SLAM maps,” in Proc. IEEE Int. Conf. Robot. Autom., 2018, pp. 3818–3825.

[36] X. Chen, B. Zhou, J. Lin, Y. Zhang, F. Zhang, and S. Shen, “Fast 3D sparse topological skeleton graph generation for mobile robot global planning,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2022, pp. 10283–10289.

[34] 에서는 ESDF 기반에서 3D GVD 를 만드는 방법론이 제안되었다. 그러나 ESDF 를 구성하고 저장하는 과정에서 많은 시간이 소요된다.

[35] 에서 clustering-based 방법이 제시되었는데, 이는 free space 를 여러 convex cluster 로 구성하여 skeleton graph 로 구성하는 방식이다. 하지만, cluster 의 convexity 를 확인하는 방식이 매우 time-consuming 하다는 단점이 있다.

Ray sampling 기반으로 빠르게 cluster 를 생성하는 [36] 은 accuracy 와 computational cost 사이의 밸런싱이 어렵다는 단점이 있다. 즉, 3D 환경에서 skeleton 을 얻어내는 것은 여전히 challenging 하다고 한다.

Skeleton-graph methods 를 이번에 알게 되어 자세한 연구 동향은 잘 모름.

여기서 제시된 EGO-Planner 는 soft constrained 방식으로 GCOPTER 에서 사용한 방식에 기반하였다. 그러나, 이 논문에서는 nonlinear optimization 이므로 local minima 에 빠질 수 있고, initial solution 에 민감하다고 지적하고 있다.

반면 hard-constrained 방식인 convex optimization(CO) 기반은 초창기부터 활발히 연구되어왔다. 앞선 방식에 비해 느리다는 단점이 있다고 알고 있다. 본 논문에서 제시한 문제점은 safety 가 hard constrained 로 고려되기 때문에 장애물과 너무 가깝게 경로가 생성될 수 있고, 실제 환경에서는 외란 등으로 인해 unsafe 할 수 있다고 한다.

따라서 본 논문은 위와 같은 문제점들을 해결하여 success rate, computational efficiency, minimum clearance 에서 우수함을 보인다고 한다.

Spatio-temporal Planning Framework

Fig. 1. 에 본 논문의 전체적인 구조가 제시되어 있다. 최근 대부분 연구들은 한번에 spatio-temporal optimization 을 수행하는데, 본 논문은 두 개의 sub-problem 으로 구분하여 별도로 optimization 하여 적은 constraints 와 dimension 을 가진다는 장점이 있다.

Question

  • decouple 로 하면 효율적인 대신 sub optimal 한 것이 아닌지?
  • 전체 problem 을 한번에 optimization 하지 않고 spatial 에 대해 먼저 optima 를 찾고 이에 대한 temporal 을 optimization 하는 것이 아닌가

Spatial planning 부분은 우리가 익숙히 알던 부분과 동일하다. A* 와 같은 searching-based method 로 초기 경로를 생성한다. 그리고 이 경로점들을 기반으로 flight corridor 를 생성한다.

본 논문에서는 fast sphere inflation-based skeleton extraction approach 라고 표현하였다. 그리고 unconstrained QP 를 풀어내 path smoothing 과정이 이루어진다.

최적화 과정에서 환경에 adaptive 하게 parameter tuning 이 이루어진다.

Temporal planning 에서는 최적화된 경로에 대해 time-optimal trajectory generation(TOTG) 방법을 통해 시간 최적화가 이루어진다. 하지만 강건하지 않아 실패할 경우에 trapezoidal velocity profile 이 사용된다.

TOTG

[40] T. Kunz and M. Stilman, “Time-optimal trajectory generation for path following with bounded acceleration and velocity,” in Proc. Robot.: Sci. Syst. VIII, 2012, pp. 1–8.

보다시피 기존 motion planner 와 다른 점은 skeleton approach, adaptive parameter tuning, TOTG 정도가 있겠다.

Fast Sphere Inflation-based Skeleton Extraction

본 논문에서 contribution 으로 제시하는 skeleton extraction 은 선행 연구들처럼 GVD 나 clustering 방식이 아니라, 초기 경로를 장애물로부터 멀리 밀어내면서 생성하기 때문에 훨씬 빠르게 생성할 수 있다고 한다.

주요 생성 방식은 그림을 통해 설명한다.

free space 에서 중심 와 반지름 로 safe sphere 을 정의할 수 있다. 이 때, 가장 가까운 장애물을 통해 최대 크기의 구체 이 정의된다.

경로 생성에서 초기값으로 주어지는 start 와 goal 를 제외하고 나머지 경로점들은 의 끝지점으로 이동한다. 이 때, 가장 가까운 장애물 점의 반대 방향으로 이동하여 높은 clearance 를 확보한다.

새로운 장애물로 인해 더이상 확장되거나 이동할 수 없을 경우 반복과정이 중단된다.

A. Fast Skeleton Waypoints Extraction

앞선 내용을 요약하면 maximum safe sphere generation 과 point adjustment 가 반복되며 이루어진다. 이 때의 adjusting direction 을 수식적으로 정의하고, 보다 효율적인 방식을 위해 어떤 practical 한 방식을 사용하는지 알아보자.

resolution 를 갖는 discrete voxel map 을 가질 때, maximum sphere 를 얻기 위해 만큼 증가하면서 충돌 여부를 탐색한다.

만약, 번 째 voxel 표면에서 충돌이 일어나면 반지름을 갖는 구체에서 충돌이 일어났으므로 의 반지름 값을 갖는다. (i.e. )

point adjustment 는 기존 에서 가까운 장애물의 반대 방향으로 이루어진다.

개의 가까운 장애물 을 다음과 같이 정의한다.

이 의미는 occupied voxel 이라는 의미와 같다.

그렇다면 각 장애물 로 부터 얻어지는 방향을 아래와 같이 정의할 수 있으므로, adjusting direction 도 정의된다.

장애물이 adjusting direction 의 반대 방향에 존재 하는 경우, 즉, 으로 표현할 수 있다.

전체 알고리즘 요약은 위와 같다. 또한 매번 방향을 계산하는거는 많은 계산을 소요하므로 line 3 에서 결정된 adjusting direction 은 고정되어 line 6, 7 과정을 수행한다.

그리고 으로 시작하면 voxel 을 매 마다 체크해야 하므로, 초기 을 아래와 같이 설정한다.

즉, 이전 위치와의 최대 반지름과 거리 차 안에서는 path searching 으로 가 보장된다.

B. Skeleton Path Pruning and Interpolation

앞선 알고리즘 만으로는 특정한 케이스에서 safety 와 optimality 가 보장되지 않는다. 따라서 이를 해결하기 위한 heuristic 한 방식으로 pruning 과 interpolation 을 통해 이러한 케이스들을 해결하고자 했다.

위 그림의 (a) 의 경우에는 가 밀집하게 구성되어 있어 이동된 가 circular 하게 생성되었다. 이를 위해 pruning 이 적용된다.

본 논문에서는 이거나 인 경우에 를 버린다.

그리고 앞선 방식과 pruning 을 통해 만들어진 이 너무 멀리 떨어져 위 그림의 (b)와 같이 intersection 이 생기지 않을 수 있다.

이러한 경우에는 사이의 직선이 safe 한 경우 interpolation 을 수행하고, 그렇지 않은 경우에는 기존의 를 바로 interpolation 한다.

전체 알고리즘은 아래와 같다. 주요하게는 line 5, 7, 10-12 를 보면 된다.

Question

  • 직접 코드로 짜봐야 알겠지만, path-searching 으로 얻은 에서 extractSkeletonWaypoint() 도 수행하는데 safeLine() 이 되지 않는 경우도 생기는지?
  • 의 영향으로 예외적인 케이스가 있을건지?

Skeleton-guided Path Smoothing with Environmental Adaptive Parameter Tuning

이제 만들어진 skeleton graph 와 safety bubble 들을 가지고 path smoothing 이 어떻게 이루어지는지 알아보자.

A. Problem Formulation

Given the skeleton and corresponding spheres

Generate a safe and smooth path

여기서 는 시작점과 목표점을 포함한 반드시 지나야 하는 경로점을 의미한다. 따라서 는 waypoints constraints 에 해당하는 행렬이 된다.

본 논문에서는 목적함수 를 elastic band 로 정의하였다.

Elastic bands

  • S. Quinlan and O. Khatib, “Elastic bands: connecting path planning and control,” [1993] Proceedings IEEE International Conference on Robotics and Automation, Atlanta, GA, USA, 1993, pp. 802-807 vol.2, doi: 10.1109/ROBOT.1993.291936.

장애물 회피를 위한 safety constraints 는 아래와 같이 정의된다.

논문에서 는 skeleton waypoint 뿐만 아니라 의 중심도 포함된다고 말하고 있는데, 둘이 같은 것이 아닌지?

boundary constraints 는 별개로 얻어진다고 한다. velocity direction 은 을 도입하여 아래와 같이 정의한다.

velocity value 를 temporal planning 에서 결정된다.

지금까지의 목적함수와 제한조건을 통해 QCQP 로 문제를 정의할 수 있다.

B. Skeleton-Guided Optimization with Closed-form Solutions

모든 free space 가 동일하게 여겨지기 때문에 이러한 QCQP 를 풀고나면 장애물과 매우 가깝게 경로가 생성될 수 있다.

그래서 본 논문에서는 추가적인 목적함수 를 도입하여 skeleton 와 최적 경로 와의 거리를 줄이고자 하였다.

이러한 목적함수는 high clearance 를 갖는 에 가까운 를 생성하여 safety constraints 를 없앨 수 있게 된다.

그에 따라 새로운 목적함수 를 아래와 같이 정의한다.

이 때 는 smoothness 의 역할을 하고 (like minimum snap) 는 skeleton guidance weight 로 의 중요도를 조절한다.

본 논문에서는 위 내용에 문제가 있는데 가 quadratic form 으로 정리될 때 가 아니라 가 되어야 한다.

를 quadratic form 으로 정리하면 가 되는데 마지막 term 은 상수이므로 최적화 단계에서 무시할 수 있다. 그러나 의 부호가 다르기 때문에 같은 로 묶을 때 부호와 스케일을 정확히 고려해주어야 한다.

목적함수의 최적화 방향을 도식화하면 아래와 같다.

Question

  • 이전의 minimum snap 은 최적제어에서 Minimum Effort Problem 에서부터 유도된 것인데, 단순히 상대거리 최소화와 높은 clearance 로 목적함수를 두는 것이 충분한 최적 경로인가?
  • 이전의 경로 생성 문제들은 safety constraints 가 nonlinear 함으로 인해 풀기 어려웠던 것인데, 그냥 목적함수에 넣어서 해도 되는것인지?
  • 추후 temporal optimization 을 봐야 하겠지만 minimum time 이 잘 될 수 있을지 봐야할듯

이제 이를 통해 closed-form solution 을 구해보자.

이 때 는 elementary matrix 이다. 이전에 polynomial trajectory 생성 논문들에서 주로 로 하여 coefficient 를 얻기 위한 mapping matrix 을 definite 하게 찾았는데 이와 유사한 것으로 이해했다.

notation 는 각각 fixed and free derivatives 이다.

위에서 정의한 를 앞선 에 대입하여 표현해보자.

논문에서 문제되는 부분을 수정해서 수식을 다시 정리하였다.

앞서 elastic bands 로 표현되는 를 통해 는 symmetric matrix 임을 알 수 있고, 로 나타낼 수 있고 와 같다.

여기서 또 의문점은 로 엮이는 부분을 로 나눠서 표현해도 되는 것인가 하는 것이다.

이제 에 대한 의 Jacobian 을 계산해보면 아래와 같다.

논문에서는 로 구성되어 계수 를 지워낼 수 없지만 이 유도에서는 계수를 생략할 수 있다.

Jacobian 을 0으로 만듦으로써, optimal free derivatives 를 아래와 같이 얻어낼 수 있다.

C. Environmental Adaptive Parameter Tuning

Environment 에 adaptive 하게 경로를 조정하는 것은 되게 좋은 아이디어라고 여겼고, 러닝 기반으로 접근할 수도 있겠다는 생각을 했으나 본 논문에서의 용어는 일반적인 이해와는 약간 차이가 있다.

앞서 safety constraints 대신 를 사용하기 때문에 안정성이 보장되기 어렵다.

그래서 를 adaptive 하게 조정한다고 한다.

가 작을 수록 smooth 한 경로가 생성되고 에서도 safety 는 보장되어야 한다. 본 논문에서는 사이에서 스케일로 결정되기를 원했고 아래와 같이 수식을 구성하여 를 결정한다.

구체적인 adaptive parameter tuning 방법은 아래 알고리즘에 표현되어 있다.

그래서 의 최소 안전 거리가 보다 작은 경우 unsafe 로 여긴다. 은 safety ratio 이다.

Question

  • 의 최소 안전거리를 어떻게 알아낼 것인가? 이전의 을 사용하지 않고 얻어낸다는 것인데 전체 경로에 대해 다시 체크를 수행할 것인지?
  • 를 사용하는 것이 굉장히 experimental 하다. 물론 safe margin 을 위해서 필요하긴 할 것…
  • 를 정할까

D. Trajectory Generation

여태까지는 time allocation 을 고려하지 않았다. 본 논문에서는 생성된 경로에 대해 TOTG 를 수행한다고 한다. 그러나 종종 이 방식이 실패하기 때문에 backup 전략으로 trapezoidal velocity profile 로 시간을 할당한다.

TOTG

[40] T. Kunz and M. Stilman, “Time-optimal trajectory generation for path following with bounded acceleration and velocity,” in Proc. Robot.: Sci. Syst. VIII, 2012, pp. 1–8.

여기서 또 궁금증은 앞서서 목적함수에서 시간 관련을 아예 빼버렸기 때문에 optimal time 이 되지 않는 경로인데, backup 으로 trapezoid velocity 방식이 사용되면 전체 도달 시간 측면에서는 성능이 좋지는 않을 것 같다.

Simulations and Experiments

필요한 내용만 요약해서 정리.

본 논문에서는 clearance & safety 에 집중하였기 때문에 관련한 평가지표를 구성하여 선행 연구들과 비교하였다.

Average clearance of path 를 아래와 같이 주변 장애물과의 평균 거리로 구성하였다.

A. Implementation Details

III. B. 에서 사용한 maximum intersection ratio 는 0.7, III. C. 에서 사용한 safey ratio 는 0.8, 최대 iteration은 5, parameter tuning 을 위한 , 이다.

Voxel map 의 resolution 이고, , 이다.

B. Simulations

https://github.com/HKUST-Aerial-Robotics/mockasimulator

위 환경 구성을 활용함. 시뮬에서는 A* 와 최신 skeleton graph 생성 연구, 본인들의 제안방식을 비교하였음.

그리고 Teach-repeat-replan 과 EGO-Planner 를 각각 global, local planning SOTA 로 선정하여 본인들의 방식과 비교하였음.

놀라운 점은 time-optimal 을 고려하지 않아 최단속도 보장이 어려울 것이라고 생각했는데 Trajectory duration 도 더 짧은 경우가 많았고, 연산 시간도 매우 단축되었다. 그리고 SFC 생성 방식의 단점대로 EGO-Planner 는 좁은 환경에서 안전한 경로를 만드는데 여러 번 최적화를 수행해 시간이 오래 걸린다고 하였다.

다만 아쉬운 점은 가 너무 낮아서 빠른 비행에서는 어떨지 궁금하다. (Bubble Planner 는 에서 테스트하였음.)

Conclusion

기존과 차이가 없는듯 하면서도 신선한 접근법들이 많이 사용된 플래너 였다.

기존의 SFC 대신 skeleton graph 라는 용어를 사용한 것이 신선하고, 굉장히 simple 한 방식으로(어쩌면 누군가는 practical 하게 해봤을 법도 한) 시간을 많이 단축시킨 것이 좋았다.

하지만 기존에 알고 있던 접근과 달라서 의문인 부분들도 많았다.

목적함수를 저렇게 구성해도 최적임이 보장되나? nonlinear opt. 방식이 local optima 라고 지적하면서 를 iterative 하게 적당히 찾아서 만드는게 맞나?

Sphere 들 사이에 intersection 에 반드시 를 넣은 것이 아님에도 clearance 로만 잘 회피해도 충분한가?

어쩌면 기존 방법들은 너무 최적최적하는 것에 집중해서 그럴지도 모르겠다. optima 대신 iteration 으로 clearance 확보한 경로를 만드는 것이 본 논문이 주장하는 narrow 한 환경에서도 매우 safe 한 경로에는 더 좋았을 수 있겠다. (thus, success rate looks higher than prev. methods)

그럼에도 본 논문의 목적함수 구성 방식과 skeleton-graph 방식은 특정 목적에 매우 효과적인 Planner 를 만드는데 좋아보인다.

이상 끝.