[논문] Learning Ground Traversability from Simulations

지토·2023년 5월 17일
0

Abstract

이 논문은 Traversibility 를 판정하는 문제를 heightmap classification 으로 다루는 방법에 관한 논문입니다. 특정 구역의 heightmap 이미지를 입력으로 받아서, 왼쪽에서 오른쪽으로 (->) 로봇이 해당 구역을 통과할 수 있는지를 예측하는 CNN 을 구축했습니다. Classifier 은 맵에 적용되어 방향이 있는 지도를 생성하고, 이로부터 Traversal 한 경로를 계획할 수 있습니다.

이 방법은 6개의 실제 고도 데이터셋에 대해 시뮬레이션 상에서 검증되었습니다.

input data

생김새 (Appearance) 를 입력으로 사용할 때, 가능한 접근 방식 중 하나는 직접적으로 로봇 앞의 지형의 통행 가능한 영역을 분류하는 분류기 (Classifier) 을 학습하는 것입니다. 더 일반적인 방법은 먼저 입력 이미지를 여러 클래스 (포장 도로, 바위, 풀, 장애물) 로 분할하는 분류기를 사용하여 각 세그먼트에 통행에 대한 미리 정의된 cost 를 할당하는 것입니다.

  • Texture Descriptor
  • Standard Classifiers (SVM 또는 Random Forest)
  • CNN 같은 딥러닝 기술을 채택하여 의미 있는 시각적 특징을 학습하기

Geometry Based Approach

기하학을 기반으로 하는 접근법은 지역적 또는 전역적 센서 데이터를 사용하여 지형의 elevation map 을 유도합니다. 일반적인 접근법은 heightmap 의 각 지점에서 기울기, 거칠기, step height 같은 간단한 지역적인 특징을 추출하여 통행 가능성을 handcrafted rule 또는 학습된 분류기를 사용하여 추정합니다.

본 논문에서 사용하는 접근 방식은 오로지 기하학적인 정보만을 사용합니다. 고수준 특징 (High - level Features) 에 의존하는 대신, 각 heightmap 패치 내의 원시 고도 데이터를 CNN 에 입력합니다.

문제에 특화된 특징을 추출하기 위해 CNN 을 사용함으로써, 특정 로봇에게 이동 문제를 일으킬 수 있는 지형 패턴을 사전 가정 없이 학습합니다.

section 4-a 의 실험 결과는 저희 접근 방식이 특징 기반 접근 방식보다 우수한 성능을 발휘한다는 것을 보여줍니다.

Source of Training Data

지도 학습 방식을 사용하려면, 레이블이 지정된 예제 세트가 필요합니다. 이 세트의 크기, 품질 등은 최종 성능에 중요한 역할을 합니다. 저희의 접근 방식은 절차적으로 생성된 지형에서 시뮬레이션을 통해 획득된 훈련 데이터에 완전히 의존합니다.

Traversibility Estimation Framework

  1. 시뮬레이션의 통행 가능성

정확한 물리적 시뮬레이션을 위해 Gazebo 시뮬레이터와 ODE 물리 엔진을 사용합니다. Heightmap 에 의해 결정된 지형에서 Pioneer 로봇을 일정한 속도로 전진시킵니다. 로봇이 지형에서의 경로를 기록하여 통행 가능성 정보를 추출합니다.

a. Heightmap 생성

의미있는 훈련 데이터를 생성하기 위해 다양한 지형에서 로봇의 움직임을 시뮬레이션해야 합니다. 이를 시행하기 위해서는 1) 실제 지형의 데이터를 사용하거나, 2) 수동으로 만들거나 3) 절차적 생성 기법 (procedural generation technique) 을 사용할 수 있습니다.

우리는 30개의 훈련 지형을 생성했습니다. 각 heightmap 의 크기는 512 x 512 이며, 시뮬레이션할 때 10m x 10m 의 표면을 나타내도록 스케일링됩니다. 각 지형은 다른 주기를 가진 여러 개의 랜덤 2D 노이즈의 합으로 생성됩니다. 예를 들어, 주기가 30cm 이고 높이가 20cm 인 simplex noise 로 부터 얻은 heightmap 은 중간 크기의 매끄러운 돌로 이루어진 지형을 생성합니다. 주기가 10m 이고 높이 범위가 3m 인 경우 작고 가파른 언덕이 있는 지형을 생성합니다. 두 구성 요소의 가중합은 돌로 뒤덮인 언덕을 생성합니다.

추가적으로 구멍, 계단, 범프 및 레일 모양의 홈 등을 생성하기 위해 다양한 스칼라 함수를 적용합니다.

b. 시뮬레이션 과정

각 시뮬레이션은 30개의 훈련 지형 중 하나를 무작위로 선택하여 시작합니다. 로봇은 지도 위의 임의의 자세로 설정되고 조향 없이 일정한 속도로 전진합니다. 로봇이 지도의 가장자리에 도달하거나 어느 정도 시간 동안 멈추게 되면, 다른 훈련 지형의 다른 자세로 재생성 되어 새로운 경로를 생성합니다.

각 경로에서 로봇의 자세와 해당하는 Heightmap 패치가 기록됩니다. 자세에 연결된 Heightmap 패치는 로봇의 위치를 중심으로 하고, 로봇이 패치의 오른쪽을 향하도록 방향이 설정됩니다.

현재 자세 Xrobot(t) 와 미래 자세 Xrobot(t+T) 간의 거리가 임계값 d 보다 크고, 로봇의 방향과 정렬된 경우에만 현재 패치는 통행 가능하다고 레이블이 지정됩니다. 그렇지 않은 경우에는 현재 패치는 통행 불가능하다고 레이블이 지정됩니다.

c. 데이터셋 생성

각 시뮬레이션 경로 (평균 20초) 에서 우리는 20Hz 로 로봇 자세와 해당 하는 Heightmap 패치를 샘플링했습니다. 패치와 해당하는 통행 가능성 레이블은 데이터셋의 한 샘플을 나타냅니다.

d. Traversability Classifier 훈련

두 가지 접근 방식을 비교했습니다. 첫 번째는 각 Heightmap 패치에서 기술적인 특징을 추출한 다음, 통계적 분류 기법을 적용하는 것이고 두 번째는 raw 입력 데이터에 직접 작용하는 표준적인 접근 방식인 CNN 을 채택하는 것입니다.

어떤 경우에든 분류기의 출력은 패치가 통행 가능한지 여부를 나타냅니다.

특징 기반 접근 방식에서는 패치에서 통행 가능성을 나타내는 지표를 계산합니다. 예를 들어, 로봇의 이동 방향 (즉, 패치의 왼쪽에서 오른쪽으로) 에서 평균 지형 가파르기 또는 패치 내 장애물의 최대 높이 등이 있습니다. 본 논문에서는 Heightmap 패치의 HOG 를 계산했습니다.

CNN 기반 접근 방식에서는 네트워크가 자율적으로 의미 있는 특징을 학습할 것으로 기대할 수 있습니다. 입력 데이터가 고차원이며 문제에 대한 사전 지식이 모델에 제공되지 않기 때문에, 이 접근 방식은 더 많은 훈련 데이터가 필요합니다.

실험 결과

1. 분류 결과

CNN Classifier 가 시뮬레이션 / 실제에서 모두 특징 기반 접근 방식을 능가한다는 것을 관찰했습니다.

0개의 댓글