Study/Robotics

Deep Sensor Fusion Between 2D Laser Scannerand IMU for Mobile Robot Localization

soohwan_justin 2021. 8. 27. 17:19

이 글은 C. Li, S. Wang, Y. Zhuang, F. Yan의 Deep Sensor Fusion Between 2D Laser Scannerand IMU for Mobile Robot Localization 을 번역한 글입니다.

원본은https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8689068입니다.

 

Abstract-

Mult-sensor fusion은 2D laser 기반의 로봇 위치 추정과 내비게이션에서 중요한 역할을 합니다. 이 로봇(2D laser 기반의 로봇)은 이미 큰 성과를 냈지만, 여전히 문제가 남아있는데, 예를 들면 큰 회전운동을 할 때에는 정확도가 낮아진다는 것입니다. 이 논문에서는 딥 러닝을 기반으로 2D laser와 IMU의 데이터를 사용하여 로봇의 위치를 추정하기 위한 접근법을 제시합니다. 제안된 RCNN기반의 구조는 scan-to-scan pose estimation를 위해 레이저 데이터와 관성 데이터를 fusion할 목적으로 만들어졌습니다. enhanced robustness와 정확도를 위한 RCNN에 의해 추정된 pose를 최적화 하기 위한 scan-to-submap 최적화 또한 소개합니다. 또한, 시뮬레이션 환경과 실제 환경에서의 실험을 통해 제안된 deep sensor fusion system의 효과를 검증합니다.

1. Introduction

레이저 스캐너는 로봇의 위치추정과 맵핑에 자주 사용됩니다. 하지만 레이저 데이터에만을 사용하는 알고리즘의 경우, 몇몇 상황에서는 신뢰할만한 성능을 보이지 못합니다. 이렇게 레이저 스캐너를 기반으로 한 로봇의 위치 추정과 내비게이션의 robustness를 개선하기 위한 주요 기술 중 하나는 multi-sensor fusion입니다.

 

multi-sensor fusion은 로봇의 내비게이션과 위치 추정에서 중요한 역할을 하는데, 특히 노이즈가 있는 센서의 데이터를 고려하는 경우에 더 중요합니다. 예를 들어, 베이즈 필터, 칼만 필터, 파티클 필터는 로봇 pose의 최적화된 추정을 위해 여러 센서 데이터를 fusion하도록 디자인되었습니다. 칼만 필터는 레이저 데이터 기반의 Iterative Closet Point(ICP) registration 알고리즘과 IMU를 fusion하기 위해 사용됩니다. 다른 종류의 인기 있는 센서 조합으로는 초음파 센서와 IMU, 레이저 스캐너와 스테레오 비전, 초광대역(ultra-wideband) 시스템과 IMU가 있습니다. 사람들은 이러한 방법들을 통해 인상적인 성능들을 보여줬지만, 이 기능들을 위해서는 일반적으로 센서들 사이의 엄격한 시간 동기화(time synchronization)와 extrinsic calibration이 필요합니다. 또한, 이 방법들은 시간에 따라 다량으로 모이는 데이터들로부터 생기는 이점을 자동으로 학습할 수 있는 능력이 모자랍니다. 어떻게 레이저 센서와 IMU를 fusion으로부터 직접적으로 학습을 하는가 하는 문제는 open question으로 남아있습니다.

 

레이저 기반의 로봇 위치 추정 시스템에서 중요한 요소 중 하나는 레이저 오도메트리(laser odometry)인데, 이 레이저 오도메트리의 정확성과 robustness는 전체 시스템의 성능을 결정합니다. 하지만 레이저 오도메트리는 각도의 변화가 큰 경우에는 신뢰도가 떨어지는 경향이 있습니다. 이 문제에 대한 가능한 솔루션 중 하나는 이런 상황에서 들어오는 데이터들을 통해 딥 러닝을 하는 것입니다. 하지만, deep model을 사용하여 레이저 오도메트리를 학습하는 것은 매우 제한적입니다.

 

이 논문에서는 레이저 스캐너와 IMU를 사용하는 로봇의 위치 추정을 위한 RCNN기반의 센서 fusion 프레임워크를 제안합니다(원문에서는 이 알고리즘을 "A novel RCNN based sensor fusion Algorithm" 이라고 합니다). 이 프레임워크는 sequence-to-sequence pose regression problem으로 공식화됩니다. 이 논문에서의 주요 contribution은 다음과 같습니다.

- A novel RCNN based sensor fusion algorithm은 레이저 관성 pose 추정을 위해 디자인되었습니다. 우리가 아는 한, 이는 딥 러닝을 기반으로 한 최초의 레이저 데이터와 관성 데이터의 fusion입니다.

- 하이브리드 프레임워크는 기존의 어려운 환경(challenging scenarios)에서도 높은 정확도와 robustness를 갖는, 딥 러닝 기반의 스캔 매칭을 기반으로 한 최적화를 통합합니다.

제안된 딥러닝 기반 데이터 fusion은 다른 sampling rate를 갖는 센서들의 데이터도 fusion이 가능하며(이 논문의 경우 레이저는 40Hz, IMU는 100Hz입니다), 정확한 시간 동기화나 extrinsic calibration도 필요로 하지 않습니다.

 

2. Relate Works

multi-sensor fusion은 여러 센서들의 특징들을 고려해서 최적의 상태 추정을 하는 것에 중점을 둡니다. 클래식한 방법의 오도메트리 측정은 일반적으로 휠 오도메트리(wheel odometry)와 IMU를 조합합니다. 이 논문에서는 로봇의 pose 추정을 위한 관측으로써 레이저와 IMU 데이터에 중점을 둡니다.

 

A. Robot Localization

 

1) Laser Odometry:

최근 몇 년간, Point Cloud Registration, location, laser odometry같이 레이저 데이터의 기하학적 분야에서 많은 접근법이 있었습니다. 2D SLAM으로써 가장 인기있는 방법으로는 Gmapping, Hector-SLAM, Google Cartographer가 있으며, 정확도를 높이기 위해 wheel odometry를 사용합니다. Hector-SLAM은 roll/pitch 움직임이 없는, 즉 평면에서만 움직이는 플랫폼을 위한 IMU 데이터를 사용하고, Google cartograhper나 일부 3D laser SLAM은 registration을 더 빠르고 robust하게 하기 위한 laser points registration이전에 초기값으로써 IMU 데이터를 사용합니다. Ezbedee는 3D SLAM을 위해 2D laser scanner와 IMU를 사용했습니다.

 

2) Deep Learning Based Methods:

현재 로봇의 위치 추정을 위해 딥 러닝 모델을 사용한 경우는 대부분이 비전(vision)에 기반한 방법들입니다. 다른 머신러닝 기술의 경우에는 loop-clousre 문제에 적용되었는데, 이는 참고문헌 [20], [21]에 있습니다. [22]는 딥 러닝을 레이저 기반 오도메트리 추정에 사용하였습니다. [23], [24]는 딥 러닝 기반의 laser registration에 대한 결과를 얻었고, [25]는 point cloud localization을 위해 deep Auto-Encoder를 사용했습니다. 딥 러닝 기반의 2d scan matching방법은 [26]에서 제안되었는데, Hector SLAM을 사용하여 좋은 결과를 얻었습니다. 하지만, 레이저와 관성 데이터를 위해 딥 러닝을 사용하는 거에 대한 이점은, 2D laser 데이터의 기하학적 매칭 분야에서는 아직 연구해야 할 부분이 많이 남아있습니다.

 

3) Deep Learning based Multi-Sensor Fusion

data fusion으로부터의 제한된 이점으로 인해서, [27]은 IMU 데이터와 Global Navigation Satellite System(GNSS)를 fusion하기 위해 RNN에 기반한 deep Kalman filter를 나타냅니다. vision 기반의 깊이 추정(depth estimation)의 정확도를 높이기 위해, [28]에서는 카메라와 스테레오 비전 시스템으로부터의 confidence maps 추출을 위해 딥 러닝을 사용합니다. 딥 러닝 기반의 방법들은 다른 분야에서도 많이 사용됩니다. 예를 들어, [29], [30]에서는 이미지와 point cloud를 fusion하기 위해 훈련된 네트워크를 보여줍니다. [31]에서는 standard marker-based visual pose system과 IMU의 출력을 fusion하기 위해 RNN을 사용했고, 이에 따라 통계적 필터링의 필요성을 제거했습니다. [32]에서는 video와 IMU 데이터의 fusion하기 위한 딥 러닝에 의한 visual-inertial odometry를 보여줍니다.

 

[17] S. Wang, R. Clark, H. Wen, and A. Trigoni, “DeepVO: Towards end-toend visual odometry with deep recurrent convolutional neural networks,” in Proc. IEEE Int. Conf. Robot. Automat. (ICRA), May/Jun. 2017, pp. 2043–2050.

[18] T. Zhou, M. Brown, N. Snavely, and D. G. Lowe, “Unsupervised learning of depth and ego-motion from video,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jul. 2017, pp. 1851–1858.

[19] R. Li, S. Wang, Z. Long, and D. Gu, “Undeepvo: Monocular visual odometry through unsupervised deep learning,” in Proc. IEEE Int. Conf. Robot. Automat. (ICRA), May 2018, pp. 7286–7291.

[20] P. Yin, Y. He, L. Xu, Y. Peng, J. Han, and W. Xu, “Synchronous adversarial feature learning for lidar based loop closure detection,” in Proc. Annu. Amer. Control Conf. (ACC), Jun. 2018, pp. 234–239.

[21] Z. Chen et al., “Deep learning features at scale for visual place recognition,” in Proc. IEEE Int. Conf. Robot. Automat. (ICRA), May/Jun. 2017, pp. 3223–3230.

[22] A. Nicolai, R. Skeele, C. Eriksen, and G. A. Hollinger, “Deep learning for laser based odometry estimation,” in Proc. RSS Workshop Limits Potentials Deep Learn. Robot., 2016, pp. 1–6.

[23] H. Deng, T. Birdal, and S. Ilic, “Ppfnet: Global context aware local features for robust 3D point matching,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., Jun. 2018, pp. 195–205.

[24] J. Vongkulbhisal, B. I. Ugalde, F. De la Torre, and J. P. Costeira, “Inverse composition discriminative optimization for point cloud registration,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., Jun. 2018, pp. 2993–3001.

[25] G. Elbaz, T. Avraham, and A. Fischer, “3D point cloud registration for localization using a deep neural network auto-encoder,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jul. 2017, pp. 4631–4640.

[26] J. Li, H. Zhan, B. M. Chen, I. Reid, and G. H. Lee, “Deep learning for 2D scan matching and loop closure,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS), Sep. 2017, pp. 763–768.

[27] S. Hosseinyalamdary, “Deep Kalman filter: Simultaneous multi-sensor integration and modelling; A GNSS/IMU case study,” Sensors, vol. 18, no. 5, p. 1316, 2018.

[28] G. Agresti, L. Minto, G. Marin, and P. Zanuttigh, “Deep learning for confidence information in stereo and ToF data fusion,” in Proc. IEEE Int. Conf. Comput. Vis. Workshops (ICCVW), Oct. 2017, pp. 697–705.

[29] D. Xu, D. Anguelov, and A. Jain, “Pointfusion: Deep sensor fusion for 3D bounding box estimation,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., Jun. 2018, pp. 244–253.

[30] M. Liang, B. Yang, S. Wang, and R. Urtasun, “Deep continuous fusion for multi-sensor 3D object detection,” in Proc. Eur. Conf. Comput. Vis. (ECCV), Sep. 2018, pp. 641–656.

[31] J. R. Rambach, A. Tewari, A. Pagani, and D. Stricker, “Learning to fuse: A deep learning approach to visual-inertial camera pose estimation,” in Proc. IEEE Int. Symp. Mixed Augmented Reality (ISMAR), Sep. 2016, pp. 71–76.

[32] R. Clark, S. Wang, H. Wen, A. Markham, and N. Trigoni, “Vinet: Visualinertial odometry as a sequence-to-sequence learning problem,” in Proc. AAAI, 2017, pp. 3995–4001.

 

3. System Overview

 

그림 1. 로봇 위치 추정을 위한, 제안된 sensor fusion algorithm의 system overview. 레이저와 관성 데이터는 RCNN에 의해 fusion되며, RCNN의 pose 값은 scan-to-submap scan matching에 의해 더욱 최적화됩니다.

 

Fig.1 은 제안된 시스템 프레임워크를 보여줍니다. 두 부분으로 구성되어 있는데, scan-to-scan pose estimation을 위한 RCNN 기반의 데이터 fusion 부분과 scan-to-submap pose optimization을 위한 ICP 기반 부분입니다.

 

RCNN기반의 sensor fusion은 CNN기반의 point cloud feature extraction, RNN기반의 IMU registration, RNN기반의 data fusion으로 구성됩니다. CNN은 fusion을 위한 두 개의 레이저 스캔으로부터 특징을 추출하기 위해 디자인되었습니다. 반면, IMU regstriation을 위한 RNN은 IMU 데이터와 두 개의 레이저 스캔 사이의 시퀀스를 처리합니다. 레이저와 IMU 센서는 일반적으로 다른 sampling rate로 작동하므로, 우리가 생각해야 할 점들 중 하나는 센서 데이터가 multi-rate로 나온다는 것입니다. 이 문제의 해결을 위해, CNN을 통해 학습된 레이저와 RNN을 통과하여 학습된 IMU데이터의 특징들을 fusion하기 위해 추가적으로 RNN을 사용합니다. 이 RNN은 레이저와 IMU센서의 정보들을 조합할 뿐 아니라 로봇의 motion model 또한 학습합니다.

 

scan-to-scan pose estimation은 단 2개의 연속적인 레이저 스캔, 그것도 짧은 주기 동안의 추정이므로 정확한 경향이 있습니다. 하지만, global pose는scan-to-scan의 오차가 누적되기 때문에 시간이 지남에 따라 오차가 커지는 문제가 있습니다. RCNN으로부터의 pose 예측을 더욱 최적화하기 위해, ICP 기반의 scan-to-submap 알고리즘이 사용됩니다. ICP 기반의 pose 최적화는 scan-to-scan 추정의 누적 오차를 줄여줄 수 있습니다.

 

4. Laser Inertial Fusion Through Recurrent Convolutional Neural Networks

A. CNN Based Feature Extraction

특징 추출(feature extraction)은 비선형 mapping 문제로 공식화될 수 있습니다. deep neural network는 유용한 fature representation을 자동으로 학습하는 효과적인 접근법입니다. 합성곱층(convolutional layers)은 입력을 feature representations으로 변환해주는 것이라고 해석될 수 있으며, 이는 회귀나 분류 문제에 사용될 수 있습니다. 레이저 스캔에 적절한, 유용한 특징을 학습하기 위해서, 즉 CNN은 두 개의 레이저 스캔 쌍의 연속으로부터의 특징을 추출하기 위해 개발되었습니다. 오도메트리 시스템은 알려지지 않은 환경에서도 사용될 필요가 있기 때문에, 여기서의 CNN은 의미론적(semantic) 특징 대신 기하학적인 특징을 추출하는 것입니다. 이 CNN의 configuration은 TABLE 1.에 나타내었습니다.

여기에는 6개의 합성곱층이 있으며, 각 층마다 활성화 함수로는 ReLU 함수를 사용합니다. 입력으로는 2차원 레이저 데이터가 사용되므로, 합성곱층은 1차원 합성곱층이 사용됩니다. RNN 네트워크를 위한 입력의 부분으로써 사용될 global feature를 추출하기 위해서는 global max pooling이 사용됩니다.

 

B. RNN Based Sequence Learning and Fusion

RNN은 시간적인 학습에 대한 기억을 가진 뉴럴 네트워크의 한 종류입니다. 이 네트워크는 현재 상태 예측을 위해 historical information을 사용할 수 있고, 시퀀스의 종속성을 모델링할 수 있기 때문에 때문에 순차 데이터(sequential data)를 처리할 수 있습니다. 따라서, RNN은 시간적인 특성(움직임 모델)과 순차 데이터(레이저와 IMU의 순차적 데이터)라는 특성을 가진 위치 추정 문제에 적합한 모델이라고 할 수 있습니다. 예를 들어, 현재 프레임에 대한 pose의 추정을 할 때, 이전 프레임에서의 요약된 정보로부터 이득을 얻을 수 있습니다.

 

1) LSTM Based Sequence Learning:

LSTM은 memory gate와 unit을 사용하여 long-term dependencies를 학습할 수 있기 때문에 RNNs 중 가장 인기있는 모델입니다. LSTM의 gate는 언제 저장해야 할지, 삭제해야 할지를 자동으로 결정합니다. 시간 $k$에서의 입력을 $\pmb{x}_{k}$라고 하고, 이 때의 hidden state를 $\pmb{h}_{k-1}$, 이전 LSTM에서의 meory cell을 $\pmb{c}_{k-1}$이라고 했을 때, LSTM이 타임 스텝 $k$에서 업데이트 하는 방식은 다음과 같습니다.

 

여기서 $\odot$은 두 벡터간의 같은 요소끼리의 곱 입니다. $\sigma$는 시그모이드 함수, $\tanh$는 하이퍼볼릭 탄젠트 함수입니다. $\pmb{W}$는 가중치 행렬, $\pmb{b}$는 바이어스 벡터, $\pmb{i}_k, \pmb{f}_k, \pmb{g}_k, \pmb{c}_k, \pmb{o}_k$는 각각 시간 $k$에서 입력 게이트, forget 게이트, input modulation 게이트, memory cell, 출력 게이트를 의미합니다. LSTM 네트워크는 입력으로서 레이저와 IMU의 joint feature representation를 사용하고, 위치 추정을 위해 sequential model을 학습합니다.

 

2) IMU Sequence Registration:

이 시스템의 출력은 레이저 스캐너를 reference frame으로 하는 scan-to-scan pose estimation입니다. 레이저 스캐너와 IMU 센서는 매우 다른 sampling reate로 작동하므로(이 논문에서는 레이저 스캐너는 40Hz, IMU는 100Hz입니다), 이 센서들의 데이터는 임시적으로 등록될 필요가 있습니다. 따라서, 우리는 두 개의 레이저 스캔 데이터 사이에 생긴 IMU 데이터 시퀀스의 global feature를 학습하기 위해 추가적으로 LSTM을 사용해야 합니다. 실질적으로, IMU 데이터 시퀀스의 길이는 레이저 스캔 데이터의 두 개의 프레임에 대응되며, 고정된 값이 아닙니다. RNN 구조의 flexibility로 인해서 IMU 데이터의 길이가 달라지더라도 LSTM 네트워크에서는 이를 처리할 수 있습니다.

 

3) Laser and IMU Fusion:

이 논문에서는 레이저 스캔 데이터와 IMU의 데이터를 fusion 하기 위해 IMU RNNs와 비슷한 구조를 사용합니다.

 

그림 2. 제안된 데이터 fusion 시스템의 네트워크 구조. 이 네트워크는 1차원 합성곱층, 2개의 완전 연결층을 포함한 2개의 LSTM 층으로 구성됩니다

 

Fig. 2의 그림과 같이, 레이저 스캔의 데이터들이 CNN을 통과한 것과 IMU 데이터가 LSTM을 통과하면서 추출된 두 개의 연결된 global features들이 메인 LSTM 네트워크의 입력으로 사용됩니다. 메인 LSTM 네트워크는 레이저 스캔 데이터와 IMU의 시퀀스를 입력으로 사용하고, 순차적인 학습을 통해 데이터 fusion을 구현합니다. 이는 플랫폼의 complex motion dynamics와 사람이 직접 모델링하기 힘든 sequential dependencies도 학습할 수 있습니다.

 

C. Cost Function

제안된 RCNN 기반의 네트워크는 적절한 하이퍼파라미터를 학습하는 것에 의한 scan-to-scan pose regression function으로 생각할 수도 있습니다. 그러므로, 비용 함수(cost function)은 RCNN을 훈련하기 위해 디자인되었으며, 이에 의한 예측된 pose는 ground truth에 가깝습니다. 특히, 비용 함수는 a scan-to-scan pose error, a sequence pose error, a reconstruction error 이렇게 3개의 부분으로 구성되어있습니다.

 

1) scan-to-scan pose error:

scan-to-scan pose error는 모든 위치와 방향에 대한 평균 제곱 오차(Mean Square Error, MSE)를 사용합니다. 이 함수는 네트워크에 의해 추정된 pose와 ground truth pose 사이의 유클리디안 거리(Euclidean distance)를 최소화 하기 위한 목적을 가지고 있습니다. 이 함수는 다음과 같이 정의됩니다.

 

여기서 $||\centerdot||^2_2$은 2-norm, $\lambda$는 위치와 방향의 가중치의 균형을 위한 factor, $n$은 배치 크기입니다.

 

2) Global Pose Error of Sequence:

로봇의 위치 추정은 초기 pose에 의해 정의된 좌표에 관한 로봇의 global pose 추정값을 얻는 것이기 때문에, scan-to-scan pose estimation의 오차는 시간이 지남에 따라 누적됩니다. 시퀀스의 global pose error는 scan-to-scan 오차를 더 줄이기 위해 하나의 시퀀스 안에서의 누적된 pose error를 줄이도록 설계됩니다. 실험 결과, 시퀀스 오차가 네트워크의 훈련을 더 빠르게 수렴하도록 하는 것을 확인했습니다. sequence global error는 다음과 같이 계산됩니다.

 

 

여기서 $Q$는 시퀀스의 수, $T_q$는 시퀀스의 최종 pose에 대한 pose입니다. $T_q$는 $T_q = T_0\prod_{i=0}^k\Delta T_i$로부터 얻을 수 있는데, 여기서 $k$는 각 시퀀스의 레이저 스캔의 개수 입니다. $\hat{T_q}$는 해당 시퀀스의 ground truth입니다. 2개의 스캔 데이터 사이의, 3자유도를 갖는 pose는 일반적으로 transform의 special Euclidean group인 SE(2)로 표현됩니다. SE(2)는 special orthogonal group SO(2)로부터의 회전과 translation vector로 구성된 요소들을 갖는 미분 가능한 매니폴드입니다. 즉,

 

 

여기서 $T$와 pose vector $[x, y, \theta]$ 사이의 관계는 다음과 같습니다.

 

 

3) Reconstruction Error:

Reconstruction error는 레이저 스캔 매칭에 기반한 ICP의 기하학적 매칭 에러를 고려합니다. 이는 pose estimation의 오차를 줄이기 위해 기하학적 일관성(consistency)를 확인하는 작업을 실행합니다. 

 

그림 3. Reconstruction error에 대한 그림입니다. p_{ij}는 레이저 스캔 데이터 s_i 상의 한 점이고, p_{c(ij)}는 스캔 데이터 s_{i-k}상에서의 p_{ij}에 대응되는 점 입니다. reconstruction error는 transform된 점들 ΔTp_{ij}, j = 1, 2, 3... N과 이에 대응하는 점들 사이의 거리를 합친 값입니다. transform ΔT_i가 더 정확할수록 reconstruction error는 더 줄어들 것입니다.

 

Fig.3 에 나타내었듯이, reconstruction error는 레이저 스캔 $s_i$상의 점과, 스캔 $s_{i-k}$상에서 이에 대응하는 변환된 점들 사이의 거리의 합을 최소화해야 합니다. 이는 다음과 같이 정의됩니다.

 

 

여기서 $p_{ij} \in s_i$와, $p_{c(ij)} \in s_{i-k}$는 모두 레이저 스캔 상의 점들이고, $N$은 각 스캔의 점들의 숫자입니다. $\Delta T_i$는 네트워크로부터 예측된 relative transformation입니다.

요약하자면, 훈련을 위해서 최소화해야 할 비용 함수는 다음과 같습니다.

 

 

$\alpha , \beta , \gamma $는 각 오차 함수의 균형을 위한 가중치 입니다.

 

 

5. Pose Optimization Using Scan-to-map Matching

 

위치 추정을 더 다듬기 위해서는 기하학적인 방법이 필요합니다. 위치 추정 오차는 주로 scan-to-scan matching으로부터의 누적된 오차로 인해 생기기 때문에, 이 논문에서는 기하학적인 제약을 위해, 레이저 스캔을 지역적으로(locally) 매치하는데 사용될 수 있는 지역 지도(local map)을 유지하는 것을 제안합니다. 기본적인 ICP는 scan-to-map matching을 위한 최적화로서 디자인되었습니다.

 

A. Matching Laser Scan to A Local Map

ICP fine-tunning은 RCNN에 의해 추정된 relative transformation에 의해 초기화됩니다. ICP는 2개의 레이저 스캔 값과 한 개의 지역 지도를 입력으로 사용하며, 출력으로는 가장 잘 맞는 변환인 $\Delta T$인데, 이 변환은 변환된 점 $s_i$와 지역 지도상에서 이에 대응되는 점들 사이의 거리를 최소화 하며, 이는 다음과 같이 정의됩니다.

 

relative transofrmation $\Delta T$와 지역 지도에서의 pose $T_{local}$의 조합을 통해 현재 프레임에서의 global pose $T_{global}$을 얻을 수 있습니다.

 

 

B. Local Map Updating

 

지역 지도는 레이저 스캔의 매치를 위해 사용된 feature points의 집합입니다. 지역 지도를 업데이트하는 과정에서, 새로운 점들은 먼저 지역 지도에 추가됩니다. ICP fine-tunning에서 한 번도 사용되지 않거나 거의 사용되지 않은 점들 또한 새로운 점으로 선택됩니다. 다음으로, 지역 지도의 pose는 ICP로부터 계산된 transform을 통해 업데이트 됩니다. 이 때 측정 범위 밖의 점들은 걸러지게 되고, 따라서 대응되는 점들을 찾기 위한 계산 복잡도를 줄이게 됩니다.

지도상의 점들을 걸러내는 것은 저속 주행이나 정지 상태에서 지역 지도가 극단적으로 커지는 것을 막으면서, 계산 효율성을 개선할 수 있습니다.

 

 

6. Experimental Results

 

이 논문에서의 실험은, 먼저 RCNN은 시뮬레이션을 사용하여 수집한 데이터를 통해 훈련하고 시뮬레이션으로 실험하였으며, 해당 결과를 Pioneer 3DX모델에 적용하여 실내 환경에서 실험하였습니다. 실험 결과로써 Hector SLAM과 IMU enhanced Hector SLAM를 비교하였습니다.

 

A. Dataset Training

 

훈련에 사용할 충분한 데이터를 얻기 위해, 시뮬레이션을 통해 2D laser point clouds를 생성했습니다.

 

그림 4. 시뮬레이션 환경입니다. (a)는 환경 G 이며, 미로 같은 환경입니다. (b)는 환경 W이며, 사무실 같은 환경입니다.

 

시뮬레이션 환경은 ROS의 Gazebo를 사용하여 그림 4.와 같이 제작하였습니다. 시뮬레이션 로봇으로는 Hokuyo UTM-30LX 2D 레이저 스캐너와 IMU가 장착된 모델을 사용하였습니다. 로봇의 최대 선속도 및 각속도는 0.6m/s, 1.0rad/s 입니다. 레이저 스캐너의 최대 측정 거리는 30m, 측정 각도는 270º 입니다. 추가적으로, 시뮬레이션에서 레이저 스캐너의 가우시안 노이즈는 $N(0, 0.1^2)$를 따릅니다. ground truth positions $[x, y, \theta]^T]$와 거리 값은 40Hz 속도로 측정됩니다. 트레이닝 샘플은 다음 식에 따라 얻을 수 있습니다.

 

 

$T_i$는 시간 $i$에서의 위치, $k$는 두 개의 거리 측정 값 사이의 인터벌을 정의하기 위한 정수 값입니다.

 

 

종합적으로, Table 2.와 같이 환경 G와 W로부터 총 13개의 시퀀스를 수집하였습니다. Table2는 각 시퀀스의 레이저 스캔과 IMU데이터의 길이를 보여줍니다. 테스트과 검증 데이터는 g01, g02, g03, w01, w02, w04로부터 생성되었고, 나머지 데이터들을 사용하여 훈련하였습니다. RCNN네트워크의 훈련을 위해, 훈련 시퀀스들은 다른 샘플링 주파수로 생성되었는데, 예를 들어 $k = [4, 8, 12]$ 입니다. 이 네트워크는 파이토치를 기반으로 만들었으며, NVIDIA GTX1080을 사용하여 훈련하였습니다. Adam optimizer는 네트워크를 학습할 때 학습률 0.001로 50에포크까지 적용하였습니다.

 

 

B. Experiments in Simulation

 

1) Simulation Results:

 

시뮬레이션 환경에서의 결과는 Table 3.과 같습니다.

 

 

pose 오차에 대한 제곱근 오차(Root Mean Square Errors, RMSEs)를 평균 내어 해당 시스템에서의 성능을 평가하였습니다. 비교하기 위해 추가로 시행한 실험은 다음과 같습니다.

- Fusion Net : 제안한 알고리즘

- Laser Net : IMU 데이터를 사용하지 않은 Fusion Net

- Hector SLAM : open source인 Hector SLAM을 그대로 사용

- Hector SLAM + IMU : EKF기반의 IMU fusion을 사용한 Hector SLAM

 

Table 3.은 시뮬레이션에서 4개의 알고리즘을 실행했을 때의 결과를 보여줍니다. 일부 결과에서는 Laser Net이나 Hector SLAM + IMU가 더 나은 결과를 보이기도 하지만, 평균적으로는 딥 러닝 기반의 Fusion Net이 좋은 결과를 보이는 것을 알 수 있습니다.

 

그림 5. scan-to-map 최적화의 유무에 따른 pose estimation의 결과를 보여줍니다. (a), (b), (c), (d)는 각각 g04, g05, w05, w07의 결과입니다.

 

시뮬레이션 실험에서 예측된 주행 경로는 Fig. 5와 같습니다. 여기서 검은 점선은 ground truth, 붉은 선은 scan-to-map 최적화가 없을 때의 RCNN에 의해 예측된 pose이고, 파란 선은 최적화 후의 결과입니다. 

 

 

2) Pose Estimation of Data Fusion Results

 

그림 6. 시뮬레이션에서 Fusion Net과 Laser Net을 사용해 예측한 주행 경로 입니다. 위쪽 행은 scan-to-map 최적화가 되지 않은 결과, 아래 행은 최적화를 적용한 결과입니다. 1~4열까지 차례대로 g05, w03, w05, w07 환경에서의 실험입니다.

Fig. 6은 Fusion Net과 Laser Net의 결과를 보여줍니다. 파란 선들은 Fusion Net의 결과이고, 녹색 선들은 Laser Net의 결과입니다. Laser Net도 로봇의 pose를 추정할 수 있지만, Fusion Net의 결과가 더 좋은 것을 볼 수 있습니다.

 

 

 

Fig. 7은 딥 러닝 기반의 방법, Hector SLAM, IMU enhanced Hector SLAM의 비교를 보여줍니다. Hector SLAM이 일반적으로 좋은 결과를 보여주긴 하지만, 로봇의 각속도가 큰 경우(1rad/s 같이)에는 결과가 좋지 못한 것을 볼 수 있습니다. IMU enchanced Hector SLAM은 Hector SLAM보다는 더 나은 결과를 보여줍니다. RCNN기반의 방법은 극단적인 경우에도 robustly하게 pose를 추정한다는 것을 볼 수 있습니다. 이는 제안된 방법이 어려운 환경에서도 위치 추정을 학습하는 것이 가능하다는 것을 보여줍니다.

 

 

C. Experiments on Real Robot Platform

 

1) Robot Setup

본 논문에서는 실제 환경에서의 성능을 평가하기 위해 Fig. 8과 같이 Pioneer 3-DX 모델을 사용하였습니다. 

 

 

 시뮬레이션 환경과 같이 Hokuyo 2D laser scanner와 IMU를 장착하였습니다.

 

 

2) Results in Real Environments:

제안된 네트워크는 실제 환경에서 테스트 하기 전에, 실제 데이터를 통해 fine-tuning이 된 상태입니다. fine tuning을 위해 수집한 데이터는 Table 4.에 요약되어 있습니다.

 

각기 다른 움직임에서의 성능을 검증하기 위해, R01~R04 시퀀스들은 Fig. 9의 환경에서 다양한 회전 동작들을 통해 수집되었습니다.

 

 

실제 환경에서의 실험 결과는 Fig. 10과 같습니다.

 

 

위 그림을 보면, Fusion Net이 나머지 세 알고리즘보다 더 좋은 결과를 보여준다는 것을 알 수 있습니다. 일반적으로 코너 같은 부분은 기하학적으로 갑작스런 변화를 주기 때문에, Hector SLAM같이 기하학적 기반의 방법들은 코너 부분에서 문제가 생기는 경우가 많습니다. 

 

D. Real-Time Performance

본 논문에서는 인텔 듀얼코어 i7-4720HQ, 12GB RAM을 사용하여 10Hz의 실행 속도를 확인했으며, GPU는 사용하지 않았습니다. GPU를 사용하면 훨씬 빠른 처리가 가능하며, GTX1080을 사용했을 경우 초당 4000개 이상의 레이저 스캐너 데이터를 처리할 수 있습니다.

 

 

E. Discussion

 

1) Better Frame to Frame Matching from RCNN

기하학 기반의 ICP 방법들은 초기값에 민감하다는 것은 잘 알려져 있습니다. 이로 인해서 초기화 상태가 좋지 않을 때는 큰 오차로 인한 지역 최솟값 문제가 생길 수 있습니다. 대조적으로, 뉴럴 네트워크 기반의 방법들은 스캔 데이터의 global feature를 추출함에 의해 그 스캔 값들을 매칭하기 때문에 일부 상황에서 robustness를 개선할 수 있습니다. Fig. 11은 딥 러닝 네트워크가 전통적인 ICP보다 더 robust하다는 것을 보여줍니다.

 

그림 11. frame to frame 매칭의 예시입니다. 위쪽 행은 예시 1, 아래쪽 행은 예시 2입니다. (a), (e)는 매칭 이전의 원본 스캔 값을, (b)와 (f)는 ground truth를 보여줍니다. (c)와 (g)는 ICP의 결과이며, (d)와 (h)는 제안된 RCNN의 결과입니다.

 

네트워크 기반의 방식은 데이터 기반의 방식으로, 정확한 기하학적 대응을 필요로 하지 않습니다. 레이저 스캐너는 각각의 데이터 사이에 일관되게 1:1 매칭이 되지 않는 불연속적인 point cloud data를 얻습니다. 기하학 기반의 ICP는 일관되게 정확하게 매칭된 점을 찾을 수 없으면 나쁜 성능을 보일 수 있습니다. ICP 알고리즘은 ICP의 search function으로 인해 큰 회전 운동 시에는 문제가 생길수 있다고 잘 알려져 있습니다. 제안된 딥 러닝 기반의 방법의 단점은, 훈련을 위해 많은 양의 데이터가 필요하다는 것입니다.

 

2) Essential to Have the RCNN Fusion:

 

Fig. 12는 제안된 뉴럴 네트워크를 사용하지 않은 결과를 보여줍니다. 이 결과를 보면 RCNN fusion에 의해 제공된 초기화가 없으면 scan-to-submap의 성능이 저하된다는 것을 보여줍니다. 반면, 뛰어난 초기값은 ICP가 더 좋은 결과로 더 빠르게 수렴하는 것을 도와줍니다.

 

 

7. Conclusion And Future Work

본 논문에서는 로봇의 pose를 추정하기 위한 딥 러닝 기반의 센서 데이터 fusion 방식을 제안했습니다. 이 방식은 2D 레이저 스캐너 데이터와 IMU 데이터를 fusion하여 오도메트리 시스템에 적용하였습니다. 실제 로봇과 시뮬레이션 결과에 따르면, 제안된 시스템은 2D 레이저 스캐너와 IMU의 시퀀스 데이터를 사용하여 효과적으로 로봇의 pose를 추정한다는 것을 알 수 있습니다. 또한, 크게 회전을 할 때 오차가 생기는, 전통적인 방식으로는 문제가 생기는 환경에서도 더 robustly하게 작동한다는 것을 보여주었습니다.

 

3D laser odometry 분야의 경우에도 기하학적 방법은 로봇이 회전하는 경우에는 문제가 생깁니다. 그러므로, 딥 러닝 기반의 방식이 여전히 유용할 것입니다. 오도메트리의 정확도를 높이기 위해서는 RNNs와 CNN을 조합하여 motion dynamic를 학습하는 것이 좋은 방향일 것입니다.