2020년 한국항공우주학회에서 나온 논문으로, 핵심 내용은 PX4 기반 쿼드콥터에 스테레오 카메라를 사용하여 3차원 공간에서 자율탐사와 실시간 경로계획을 수행한 것이다. 경로계획을 위해 크게 광역 경로계획과 지역 경로계획으로 나누어 알고리즘을 수행했다. 

 

광역경로계획

광역경로계획은 그리드 맵을 사용하는 A* 계열 알고리즘이 많이 사용된다. A* 알고리즘은 2차원에서는 8방향 3차원에서는 26방향으로 인접한 노드를 연결하여 경로를 생성한다. 하지만 이러한 A* 알고리즘은 직선과 45도 방향의 대각선만 사용할 수 있다는 단점이 있다. 따라서 이러한 고정된 각도가 아닌 임의의 각도를 사용할 수 있는 Theta* 알고리즘이 만들어졌고, 또 A* 알고리즘의 검색 정보를 다음 검색에 재활용하여 빠른 속도로 탐색할 수 있는 D* 알고리즘 등이 연구되고 있다.

 

해당 논문에서는 A* 계열 알고리즘 중 속도가 가장 빠른 JPS 알고리즘을 사용했다. JPS 알고리즘은 논리적 동치 관계를 이용해 탐색 노드수를 크게 줄인 알고리즘이다. 그리드 맵의 크기가 커질수록 탐색 시간이 지수 함수 형태로 증가하는 A* 알고리즘을 선형에 가까운 탐색시간 증가율을 보이기 때문에 계산효율이 좋다는 특징이 있다.

 

지역경로계획

그리드 맵에 거리 정보를 추가하는 것은 그리드 맵의 각 장애물 셀마다 주변 셀에 거리 정보를 전파하는 방식으로 구현된다. 하지만 3차원 공간에서는 전파해야 할 정보가 상대적으로 많기 때문에 실시간 경로계획에 많은 시간이 소요된다. 이러한 계산효율 문제를 해결하기 위해 지역 그리드 맵이 사용된다. 아래 그림은 광역 경로계획(빨강)으로 출력된 경로를 지역 경로계획으로 수정한 경로(노랑)를 시각화한 것이다. 저자에 따르면 수정된 노란 경로가 더 안전한 경로라고 한다.

 

 

결과적으로 경로계획 알고리즘 수행 알고리즘으로 목표 속도와 yaw rate를 계산하여 PX4 노드에 Offboard 명령 메시지로 전달하여 드론을 제어한다. 이를 Gazebo 시뮬레이션 상에 적용하여 자율탐사로 매핑을 수행한 결과는 다음과 같다.

 

 

새롭게 알게 된 점은 경로계획 관련 알고리즘에 A*, Theta*, D* 이 사용된다는 점이고, 아직 사용해보지 않았지만 SLAM을 위해 Octomap을 사용한다는 점을 알게됨

 

 

+ Recent posts