Journal of Korea Robotics Society
[ ARTICLE ]
Journal of Korea Robotics Society - Vol. 15, No. 3, pp.205-211
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date Aug 2020
Received 6 Feb 2020 Revised 27 Mar 2020 Accepted 11 May 2020
DOI: https://doi.org/10.7746/jkros.2020.15.3.205

모바일로봇의 정밀 실내주행을 위한 개선된 ORB-SLAM 알고리즘

옥용진1 ; 강호선2 ; 이장명
Modified ORB-SLAM Algorithm for Precise Indoor Navigation of a Mobile Robot
Yongjin Ock1 ; Hosun Kang2 ; Jangmyung Lee
1MS Student, Pusan National University, Busan, Korea (yongjin7379@pusan.ac.kr)
2PhD Student, Pusan National University, Busan, Korea (hosun7379@pusan.ac.kr)

Correspondence to: Professor, Corresponding author: Dept of Electronics Engineering, Pusan National University, Busan, Korea ( jmlee@pusan.ac.kr)

© Korea Robotics Society. All rights reserved.

Abstract

In this paper, we propose a modified ORB-SLAM (Oriented FAST and Rotated BRIEF Simultaneous Localization And Mapping) for precise indoor navigation of a mobile robot. The exact posture and position estimation by the ORB-SLAM is not possible all the times for the indoor navigation of a mobile robot when there are not enough features in the environment. To overcome this shortcoming, additional IMU (Inertial Measurement Unit) and encoder sensors were installed and utilized to calibrate the ORB-SLAM. By fusing the global information acquired by the SLAM and the dynamic local location information of the IMU and the encoder sensors, the mobile robot can be obtained the precise navigation information in the indoor environment with few feature points. The superiority of the modified ORB-SLAM was verified to compared with the conventional algorithm by the real experiments of a mobile robot navigation in a corridor environment.

Keywords:

Modified ORB-SLAM, IMU, Mobile Robot, Indoor Navigation

1. 서 론

최근 4차 산업 혁명에 따라 다양한 기술들이 발전하는 가 운데 자율 주행차에 대한 연구가 활발하게 진행되고 있다. 자 율 주행차는 운전자가 직접 조작하지 않아도 자동차가 주행 환경을 인식해 위험을 판단하고 주행 경로를 스스로 운전하 는 것으로 자율 주행 이동로봇과 같은 주행 기술이 요구된다. 이때 안정한 주행을 위해 주변 환경을 인식하고 정확한 위치 를 파악하는 것이 중요하며 주요 기술로 SLAM (Simultaneous Localization And Mapping)이 있다. SLAM은 부착된 센서를 기반으로 주변의 공간 지형 또는 인공 표식을 인식하고 이를 이용하여 주변 환경의 지도 생성 및 동시적으로 상대적 위치 를 추정하는 기술이다. 하지만 영상 기반인 SLAM의 경우 조 명 변화가 심한 환경과 동적 장애물의 시야 방해가 발생할 경 우 위치 인식의 정확성이 떨어진다는 문제가 존재한다[1-4]. 또 한 영상 내의 특징을 이용하여 지도를 생성할 경우 특징점이 많이 존재하지 않는 복도와 이동 시 환경 변화가 적은 고속도 로 주행 시 이전 위치와 현재 위치 간의 차이를 인식하지 못하 여 잘못된 위치정보를 제공하게 된다.

이러한 문제는 큰 사고로 이어질 수 있으므로 단점을 극복 하기 위해 자신의 현재 위치와 자세 변화를 측정할 수 있는 추 가적인 센서를 부착하여 자신의 위치를 추정할 수 없을 때 위 치를 보정할 수 있는 알고리즘이 필요하다. 주요 센서로 Mono Camera, Stereo Camera, RGB-D Camera, 엔코더, IMU (Inertial Measurement Unit), LiDAR 등이 있다[5-8]. 공장 환경의 AGV (Automated Guided Vehicles)[9], 야외 환경의 차량 및 드론, 실 내 환경의 서비스 로봇 등과 같이 다양한 공간 속에서 활용 이 되며 카메라의 개수와 사용하는 센서에 따라 다양한 알고 리즘들이 연구되었다[10,11]. 정밀한 환경 측정이 가능한 LiDAR (Light Imaging Detection and Ranging)를 사용할 경우 알고리즘 의 정확성이 높다는 장점이 있지만, 현재까지 LiDAR의 가격이 고가이기 때문에 상용화하기 힘들다는 큰 단점이 있다.

따라서 본 연구에서는 비교적 저가의 센서인 IMU와 엔코 더를 통해 특징점이 많이 존재하지 않는 환경 속에서 정밀한 위치를 측정하고 위치를 보정할 수 있는 알고리즘을 개발하고 자 한다. 기존에 선행 연구된 다수의 SLAM 알고리즘의 경우 Visual Odometry 성능에 대한 평가 위주이며 위치 인식 실패 시에 대한 대안이 제시되어 있지 않다. 실시간 주행 시 이러한 인식 실패의 경우 위치 오 인식, 장애물 회피 실패와 같은 문제 를 야기하게 되며 이로 인해 인명피해로 이어질 수 있다. 또한 무수히 많은 환경에서 동일하거나 완벽한 기능수행을 할 수 없기 때문에 위와 같은 문제를 예방하기 위한 알고리즘이 필 요하다. 그러므로 영상기반의 Global Localization을 수행하는 SLAM 알고리즘의 위치 및 자세 정보와 현재 이동 위치와 자 세를 추정할 수 있는 엔코더와 IMU 기반의 Local Localization 정보를 통해 위치 오 인식에 대한 판단과 위치 및 자세 보정하 여 특징점이 적은 환경에서의 위치 인식 정확도와 안정성을 향상하도록 한다.

본 논문의 구성은 다음과 같다. 2절에서 IMU와 엔코더를 이용하여 모바일 로봇의 자세 및 이동거리를 추정한다. 3절에 서는 ORB-SLAM 알고리즘과 본 논문에서 제시하는 Modified ORB-SLAM 알고리즘에 대해 설명하며 이어서 4절에서 실험 을 통해 ORB-SLAM과 Modified ORB-SLAM의 성능을 비교 한다. 마지막으로 5절에서 결론과 향후 연구방향을 제시한다.


2. 모바일로봇 위치 및 자세추정

모바일 로봇의 위치 및 자세를 추정하기 위해 엔코더를 통 해 측정되는 이동에 따른 누적된 회전 값과 IMU의 가속도, 각 속도, 지자계 정보를 가공하여 현재 이동한 거리와 모바일 로 봇의 자세에 대한 정보를 획득해야 한다.

2.1 IMU 기반 자세 추정

IMU는 자이로스코프 센서, 가속도계 센서, 지자계 센서로 구성되어 있다. 자이로스코프 센서는 운동 중 비교적 안정된 값의 변화를 보이는 특징을 가지고 있지만, 회전각을 구하는 과정에 적분 과정이 필요하며 이때 적분 오차가 생겨 회전각 계산 횟수가 증가할수록 오차 누적에 의한 회전각 드리프트 현상이 발생하는 단점이 있다. 가속도계 센서는 물체에 작용 하는 중력 가속도를 X, Y, Z축의 벡터로 나누어 측정하며 시간 의 변화에도 오차가 크지 않다는 장점이 있다. 그러나 물체의 움직임이 생겨 가속도가 발생하게 되면 중력에 의해 측정되는 가속도 값과 구분이 불가하여 비정상적인 값을 추출하는 현상 이 나타난다. 이러한 단점을 보완하기 위해 상보 필터를 통해 둘의 장점을 적절히 융합하여야 한다.

[Fig. 1]은 논문에 사용된 IMU의 좌표계를 나타낸다. 가속 도계 센서는 선형적으로 단위 시간에 대한 속도의 미분 값을 표시하는 센서로 가속도계의 Roll (ρa) 각도, 가속도계의 Pitch (ϕa) 각도는 다음과 같이 구해진다.

ρa=arctan(AxAy2+Az2)(1) 

ϕa=arctan(AyAx2+Az2)(2) 

[Fig. 1]

IMU Coordinate System

위 식(1-2)에서 (Ax, Ay, Az)는 가속도계의 각 축 성분을 나 타낸다.

[Fig. 2]와 같이 저주파 영역에서 응답 특성이 좋은 가속도계 센서는 Low Pass Filter를 거치며 고주파 영역에서 응답 특성이 좋은 자이로 센서는 High Pass Filter를 거치게 된다. 그리고 서로 의 값을 더하여 안정적인 값을 출력하게 된다. 상보 필터를 적용 한 Roll (ρi ) 각도와 Pitch (ϕi ) 각도는 다음과 같이 구해진다.

ρi=α*(ρi1+gyrox*dt)+(1α)*(ρa)(3) 

ϕi=α*(ϕi1+gyroy*dt)+(1α)*(ϕa)(4) 

[Fig. 2]

Complementary Filter Block Diagram

여기서 α는 필터 상수, ρi-1ϕi-1는 이전 Roll (ρ) 각도와 Pitch (ϕ) 각도이다. (gyrox, gyroy)는 자이로스코프 센서에 의 해 측정된 각속도이며 dt는 자이로스코프 센서의 샘플링 주기 이다. 지자계 센서는 지구의 자기장 외에 주변 환경의 영향을 크게 받기 때문에 보정 과정이 필요하다. 이러한 환경적 오차는 Hard Iron, Soft Iron이 있으며 보정되지 않으면 신호 왜곡이 발 생하여 정확성이 저하 될 수 있다. 본 논문에서는 내부적으로 Calibration 기능 제공되는 제품을 적용하여 보정을 진행하였 다. 보정된 지자계 센서를 이용한 Yaw (θ) 각도 추정은 Tilt 변 화에 따른 추가 보정이 필요하며 수식은 다음과 같다.

Xm=Mxcos(ϕ)+Mysin(ρ)Mzcos(ρ)sin(ϕ)(5) 

Ym=Mycos(ρ)+Mzsin(ϕ)(6) 

θ=arctan(YmXm)(7) 

여기서 (Mx, My, Mz)는 지자계 센서의 X, Y, Z 축 성분이며 (Xm′, Ym′)는 Tilt 보정된 X, Y축 성분이다.

2.2 엔코더 기반 위치 추정

모바일 로봇의 위치 추정 방법으로 Dead Reckoning 방법을 사용한다. Dead Reckoning은 바퀴의 이동량만으로 모바일 로 봇의 위치와 방향을 구하는 방법이며 모바일 로봇의 미끄러짐 이 없고 바퀴의 크기와 회전각 등의 구조적인 오차가 없다면 이를 이용하여 확실한 로봇의 위치를 추정할 수 있다 하지만 센서의 오차, 이동 중 바퀴의 미끄러짐, 모바일 로봇의 구조적 오차로 인하여 엔코더를 통한 위치 정보만으로는 정확한 위치 를 추정하기 어렵고 추측항법을 이용한 위치 추정은 오차가 시간이 지남에 따라 누적되어 더 큰 오차를 발생시키기 때문 에 위치 정보를 보정하여 사용해야 한다.

[Fig. 3]은 모바일 로봇의 기구학을 나타내며 4개의 바퀴로 구 성되어 있다. 이때 양쪽의 전방 및 후방 바퀴의 경우 동일한 속도 로 동작하므로 사륜구동 모바일로봇의 기구학을 이륜구동 모바 일로봇의 기구학 모델로 표현할 수 있다. 수식은 다음과 같다.

EL=EFL+EBL2(8-a) 

ER=EFR+EBR2(8-b) 

[Fig. 3]

Mobile Robot Kinematics

여기서 EL은 좌측 EFL, EBL엔코더의 평균값, ER은 우측 EFR, EBR엔코더의 평균값을 의미하며 모바일 로봇의 선속도 υ와 각속도 w는 다음과 같다.

υ=r(ΔER+ΔEL)2(9-a) 

w=r(ΔER-ΔEL)d(9-b) 

r은 바퀴의 직경, d는 왼쪽 바퀴와 오른쪽 바퀴 사이의 거리 이다. X−Y 직교좌표계에서 현재 위치 pi=[xiyiθi] 인 모바일 로봇에 일정한 단위 시간 [ti, ti+1] 동안 속도 입력 υ, w가 주어 졌을 때 이동된 위치 pi+1는 다음과 같다.

pi+1=[xi+1yi+1θi+1](10-a) 

xi+1=xi+υiΔtcosθi(10-b) 

yi+1=yi+υiΔtsinθi(10-c) 

θi+1=θi+wiΔt(10-d) 

Δt=ti+1ti(10-e) 


3. Indoor ORB-SLAM

3.1 ORB-SLAM

ORB-SLAM[12,13]은 2015년에 발표된 논문에서 루프 결합이 라는 지도 수정 과정을 도입하고 이를 병렬적으로 처리하는 방법을 소개하였다. 3개의 스레드(위치 추정, 지도 생성, 루프 결합)로 구성된 병렬 시스템으로 실시간 처리가 가능하다. 주 요 특징으로 ORB (Oriented FAST and Rotated BRIEF) 특징점 검출 방식을 사용한다. 기존에 존재하는 특징점 검출 방법인 FAST와 기술자 표현 방법인 BRIEF를 개선한 방법으로 특징 점 검출과 기술자 계산에 가벼운 알고리즘을 도입하여 실시간 성을 확보하고, 가벼운 알고리즘을 사용하면서 생기는 취약점 을 개선하였다. [Fig. 4]는 ORB-SLAM의 주요 기술이 명시되 어 있는 시스템 블록도 이다.

[Fig. 4]

ORB-SLAM System Block Diagram

신규 프레임이 입력되면 ORB 특징점 검출 및 대조를 통해 이전 프레임과 현재 프레임 사이의 변화를 분석해 움직임을 유추한다. 이때, 프레임 중에서 변화가 크게 발생하는 프레임 을 키 프레임이라 하며 지도 생성 과정은 연산량이 많기 때문 에 키 프레임 발생 시 진행된다. 새로운 키 프레임이 정의되 면 삼각측량법을 사용하여 새로운 특징점의 3차원 좌표를 계 산하고 지도에 추가한다. 이러한 지도데이터의 3차원 좌표는 Local BA (Bundle Adjustment)[14]에 의해 보정된다. Local BA 는 현재 프레임의 특징점과 카메라 위치 정보를 이용하여 국 소 지도 데이터의 3차원 좌푯값을 보정하는 방법을 말한다. 그 이후 문서를 자동으로 분류하는 방법인 BoW (Bag of Words) 기법[15]을 활용하여 이전에 방문한 위치를 재방문하였는지 판 단하는 루프 탐지를 수행한다. 마지막으로 루프 탐지를 통해 루프를 형성하는 키 프레임 쌍을 찾은 후 지도를 교정한다.

위와 같은 시스템을 통해 모바일 로봇의 Visual Odometry P(x, y, z, θ, ϕ, ρ) 를 얻을 수 있으며 아래와 같이 표현된다[16].

P(x,y,z,θ,ϕ,ρ)=[p11p12p13p14p21p22p23p24p31p32p33p340001](11) 

p11=cosρcosϕp12=cosρsinϕsinθsinρcosθp13=cosρsinϕcosθ+sinρsinθp14=xp21=sinρcosϕp22=sinρsinϕsinθ+cosρcosθp23=sinρsinϕcosθcosρsinθp24=yp31=sinϕp32=cosϕsinθp33=cosϕcosθp34=z

위 식 (11)에서 x, y, zp14,p24,p34 로 간단하게 구할 수 있 다. 하지만 Roll (ρ), Pitch (ϕ), Yaw (θ)는 Euler Angle의 Gimbal Lock 문제로 인해 두 단계로 나눠 얻을 수 있다. 먼저 Pitch (ϕ)는 다음과 같다.

ϕ=arctan2(p31,p112+p212)(12) 

그다음, (|ϕ|=90°) 또는 (|ϕ|90°) 일 때 Roll (ρ), Yaw (θ)는 다음과 같다.

{θ=arctan2(p23,p13)ρ=0ifϕ=90°(13-a) 

{θ=arctan2(p23,p13)ρ=0ifϕ=90°(13-b) 

{θ=arctan2(p21,p11)ρ=arctan2(p32,p33)otherwise.(13-c) 

3.2 Modified ORB-SLAM

앞서 설명한 ORB-SLAM은 특징점이 다양한 환경 속에서 뛰어난 위치 인식 성능을 가지지만 특징점이 적은 복도 환경 과 특징점 변화가 미미한 환경에서는 위치를 찾지 못하는 문 제가 발생한다. 또한, 위와 같은 문제는 잘못된 위치정보를 제 공하게 되어 이후 생성되는 위치정보의 신뢰성이 현저하게 낮 아지게 된다. 따라서 이러한 상황 속에서 초기위치 추정을 재 시도하여 새롭게 지도 생성 및 위치 추정을 진행해야 한다. 이 때 추가적인 위치 및 자세를 측정하는 센서를 활용하여 위치 인식이 불가능하였을 때의 상황을 판단한 뒤 위치 보정을 진 행하며 초기 위치 재추정 시 시작점이 되는 위치를 획득할 수 있는 시스템이 필요하다. 아래의 [Fig. 5]는 본 연구에서 제안 하는 Modified ORB-SLAM의 시스템 블록도이며 앞 절에서 설명한 모바일 로봇의 Robot Odometry와 ORB-SLAM의 Visual Odometry를 함께 사용하여 ORB-SLAM의 결과를 보정 하는 기법을 나타낸다.

[Fig. 5]

ORB-SLAM Calibration System Block Diagram

[Fig. 5] 는 ORB-SLAM 보정 시스템의 블록도로 엔코더와 IMU 값을 활용하여 ORB-SLAM을 보정하는 과정을 보여준다.

이 보정 과정을 설명하기 위해, 앞 절에서 구한 ORB-SLAM 의 Visual odometry를 Oυ=[xυyυρυϕυθυ] 으로 정의하고, 모바 일로봇 odometry를 Om=[xmymρmϕmθm] 으로 정의한다. Om의 요소 중 xm, ym은 엔코더의 X축과 Y축 위치 정보를 가 지며 ρm, ϕm, θm은 IMU의 Roll, Pitch, Yaw 각도를 의미한다. 이때, 엔코더로부터 Z축 위치 정보를 획득할 수 없기 때문에 두 odometry정보는 Z축을 제외한 X축, Y축, Roll, Pitch, Yaw 에 대한 정보만 사용한다. Visual odometry의 경우 특징점이 적은 환경이나 빛 반사와 같은 외부적인 환경변화 요소로 인 해 불특정한 상황에서 위치 인식이 불가능해질 수 있다. 그러 므로 두 Odometry간의 크기 차이를 임계 값과 비교하여 위치 인식 상황을 판단하여 이에 따른 보정 과정을 거쳐야 한다. 두 Odometry 차이가 임계 값 이하 일 경우 모바일 로봇의 위치 및 자세는 두 정보의 평균 값을 가지도록 한다. 하지만 임계 값 보 다 초과할 경우 현재 SLAM을 통한 위치 인식이 불가능한 상태 로 판단하여 모바일로봇 odometry를 사용하여 모바일 로봇의 위치 및 자세를 보정한다. 이때 ORB-SLAM은 초기화 과정을 거쳐 다시 위치 추정을 시도하여 다시 위치 인식할 수 있도록 유도한다. 위치 보정 과정을 수식으로 정리하면 다음과 같다.

Odiff=(xmxυ)2+(ymyυ)22*(ρmρυ)2+(ϕmϕυ)2+(θmθυ)3(14) 

여기서 Odiff는 Visual odometry와 모바일로봇 odometry의 위 치 및 자세에 대한 RMSE (Root Mean Square Error) 이다. 이때 odometry의 위치정보와 자세정보는 다른 단위를 가지므로 곱 셈을 통해 단위를 통합한다. 이러한 차이 값을 이용하여 위치 오 인식 판단과 로봇의 최종 위치가 구해진다.

Or=Om+Oυ2ifOdiffthreshold(15-a) 

Or=Omotherwise.(15b) 

Or은 모바일 로봇의 최종 위치 및 자세이다.


4. 실험환경 및 실험결과

4.1 실험환경

위에서 제안한 엔코더, IMU를 이용한 ORB-SLAM 보정 방법 을 검증하기 위해서 실험을 진행하였다. 본 실험에서는 로봇의 위치 추정을 위하여 카메라는 1280*720 해상도를 가지는 webcam 을 사용하였으며 모터-엔코더 일체형 RA-20GM 03TYPE 4개, 가속도 센서, 자이로 센서, 지자계 센서를 포함하는 IMU인 EBIMU-9DOFV3이 부착되어 있다. 아래의 [Fig. 6]은 실제 실 험에 사용된 모바일 로봇이다.

[Fig. 6]

Mobile Robot used in the Experiment

모바일 로봇에서는 실시간으로 획득한 센서 값 및 영상은 TCP/IP 통신 기반 무선통신을 이용하여 Host PC로 전달된다. Host PC에서는 획득한 정보를 통해 ORB-SLAM의 위치 정보 를 보정하여 정확도가 향상된 모바일 로봇의 위치를 추정하게 된다.

[Fig. 7]은 모바일 로봇의 제어 블록 도를 나타내며, 영상처 리를 통한 제어 알고리즘을 구현하기 위하여 PC 가 활용된다.

[Fig. 7]

Mobile Robot Control Block Diagram

4.2 실험결과

본 논문에서 제시하는 알고리즘의 신뢰성을 확인하기 위해 IMU센서가 부착된 모바일로봇을 90° 간격으로 회전하였을 때 추정된 오일러 각 변화에 대한 정확도를 확인하는 실험을 하였다.

위의 [Fig. 8]은 회전에 의해 변화되는 Yaw 각도에 대한 그 래프이며 실험 결과, 90° 회전 시 약 1.9° 내외의 오차가 발생하 지만 회전된 각도에 유사한 값을 유지하였다.

[Fig. 8]

Yaw-axis Euler Angle Experiment

[Fig. 9]는 실험에 사용된 가로 9 m, 세로 14 m의 복도 환경 을 보여주며 초기 위치 1에서 시작하여 반시계 방향으로 이동 로봇이 주행하게 된다.

[Fig. 9]

Experiment Environment

[Fig. 10]은 알고리즘 적용 전 위치 추정 결과로 기존의 ORB-SLAM을 이용하여 위치 추정을 진행하였다. 여기서 Actual 은 주행 경로이며 초기 위치에서 3번 지점까지 안정적인 위치를 추정이 되었으나 특징점이 적은 3번 Corner 지점에서 위치 인 식이 불가능하였다.

[Fig. 10]

Conventional ORB-SLAM Localization

반면, 개선된 알고리즘인 Indoor ORB-SLAM의 경우 [Fig. 11] 과 같이 3번 Corner 지점에서 엔코더와 IMU를 통해 획득한 위 치 및 자세 정보를 토대로 초기 위치까지 안정적인 위치 인식 으로 완전한 주행이 가능하였다.

[Fig. 11]

Proposed ORB-SLAM Localization


5. 결 론

본 논문에서는 ORB-SLAM 사용 시 특징점이 적은 실내 주행 중 발생하는 위치 오차에 대한 문제를 해결하기 위한 Modified ORB-SLAM을 구현하였다. 이를 위해 엔코더와 IMU의 위치 및 자세 정보를 획득하여 ORB-SLAM 에 의한 위 치 인식이 동적인 상황에서 불안정해지는 문제를 극복하는 새 로운 알고리즘을 제안했다. 실험환경에서 ORB-SLAM을 이 용한 위치 인식 및 지도 생성 과정 중 특징점을 인식하지 못하 여 경로를 인식 못하는 경우가 발생하였으며, 이러한 경우에 도 Modified ORB-SLAM 은 내장된 IMU센서와 엔코더의 Local Localization 정보를 활용해 경로를 성공적으로 인식하 였다. 이처럼 주어진 복도 경로를 완전하게 주행가능 함으로 서 알고리즘의 성능을 검증하였다. 제안한 알고리즘은 실내뿐 만 아니라 실외에서도 적용이 가능하기 때문에 실외에서의 Global Localization 수행 시 위치 인식 성능 향상이 기대된다. 향후 연구에서는 모바일 로봇의 속도에 따른 성능 문제 향상 과 조명의 변화가 심한 환경에 대한 연구를 진행할 것이다.

Acknowledgments

This research was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No.2019R1A2C2088859)

References

  • J. S. Ko and J. W. Rheem, “Surface Inspe-ction of a Journal Bearing Using Machine Vision,” J. Korean Soc. Precis. Engineering, vol. 34, no. 8, pp. 557-561, 2017, [https://doi.org/10.7736/KSPE.2017.34.8.557]
  • M. Lee, J. Han, C. Jang, and M. Sunwoo, “Information Fusion of Cameras and Laser Radars for Perceoption Systems of Autonomous Vehicles,” Journal of Korean Institute of Intelligent Systems, vol. 23, no. 1, pp. 35-45, 2013, [https://doi.org/10.5391/JKIIS.2013.23.1.35]
  • H. Jung, S. J. Kim, J. Park, H. Cho, B. Ahn, Y. Na, and Y. Kim, “Challenges of Flexible Surgical Robots: Review,” Trans. Korean Soc. Mech. End. A., vol. 42, no. 10, pp. 891-903, 2018, [https://doi.org/10.3795/KSME-A.2018.42.10.891]
  • T.-H. Cho and H.-M. Kang, “Gaze Tracki-ng Using a Modified Strarburst Algorithm and Homography Normalization,” Journal of the Korea Institute of Information and Communication Engineering, vol. 18, no. 5, pp. 1162-1170, 2014, [https://doi.org/10.6109/jkiice.2014.18.5.1162]
  • J. Engel, J. Sturm, and D. Cremers, “Semi-Dense Visual Odometry for a Monocular Camera,” 2013 IEEE International Conference on Computer Vision, pp. 1449-1456, 2013, [https://doi.org/10.1109/ICCV.2013.183]
  • J. Engel, T. Sch, and D. Cremers, “LSD-SLAM: Large-Scale Direct Monocular SLAM,” European Conference on Computer Vision, pp. 834-849, 2014, [https://doi.org/10.1007/978-3-319-10605-2_54]
  • C. Kerl, J. Sturm, and D. Cremers, “Robust odometry estimation for rgb-d cameras,” 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, pp. 3748-3754, 2013, [https://doi.org/10.1109/ICRA.2013.6631104]
  • J. Graeter, A. Wilczynski, and M. Lauer, “Limo: Lidar-monocular visual odometry,” 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, pp. 7872- 7879, 2018, [https://doi.org/10.1109/IROS.2018.8594394]
  • J. Y. Kim, J. Park, E. K. Kim, and S. Kim, “Filtering Method based on Gabor Wavelet for Improving Accuracy of Initial Position Estimation,” Journal of Korean Institute of Intelligent Systems, vol. 29, no. 5, pp. 327-332, 2007, [https://doi.org/10.5391/JKIIS.2019.29.5.327]
  • J. A. Castellanos, R. Martinez-Cantin, J. D. Tardós, and J. Neira, “Robocentric map joining: Improving the consistency of EKF-SLAM,” Robotics and Autonomous Systems, vol. 17, no. 1, pp. 21-29, Jan., 2007, [https://doi.org/10.1016/j.robot.2006.06.005]
  • J. E. Guivant, and E. M. Nebot, “Optimization of the simultaneous localization and map-building algorithm for real-time implementation,” IEEE Transactions on Robotics and Automation, vol. 17, no. 3 pp. 242-257, 2001, [https://doi.org/10.1109/70.938382]
  • R. Mur-Artal, J. M. M. Montiel, and J. D. Tardos, “ORB-SLAM: a versatile and accurate monocular SLAM system,” IEEE Transactions on Robotics, vol. 31, no. 5, pp. 1147-1163, Oct., 2015, [https://doi.org/10.1109/TRO.2015.2463671]
  • R. Mur-Artal and J. D. Tardós, “Orb-slam2: An open-source slam system for monocular, stereo, and rgb-d cameras,” IEEE Transactions on Robotics, vol. 33, no. 5, pp. 1255-1262, Oct., 2017, [https://doi.org/10.1109/TRO.2017.2705103]
  • B. Triggs, P. F. McLauchlan, R. I. Hartley, and A. W. Fitzgibbon, “Bundle adjustment a modern synthesis,” IWVA 1999: Vision Algorithms: Theory and Practice, pp. 298–372, 2000, [https://doi.org/10.1007/3-540-44480-7_21]
  • D. Galvez-Lopez and J. D. Tardos, “Bags of binary words for fast place recognition in image sequences,” IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188–1197, Oct., 2012, [https://doi.org/10.1109/TRO.2012.2197158]
  • J. L. Blanco, “A tutorial on se(3) transformation parameterizations and on-manifold optimization. Technical report,” 2012, [Online], https://www.semanticscholar.org/paper/A-tutorial-on-SE(3)-transformation-and-on-manifold-Blanco/3a4b4b8d52c795513cf4581ec439c1e216010287.
옥 용 진

2018 경상대학교 제어계측학과(학사)

2018~현재 부산대학교 전자공학과(석사)

관심분야: 영상처리, SLAM, 자율주행

강 호 선

2017 부산대학교 항공우주공학과(학사)

2019 부산대학교 전자공학과(석사)

2020~현재 부산대학교 전자공학과(박사)

관심분야: 인공지능, 영상처리, 위치 추정

이 장 명

1980 서울대학교 전자공학과(학사)

1982 서울대학교 전자공학과(석사)

1990 미국 남가주대학교 전자공학과(박사)

1992~현재 부산대학교 전자공학과 교수

관심분야: 특수환경 Navigation and Localization, 지능로봇시스템 설계 및 제어, 마이크로프로세어 응용

[Fig. 1]

[Fig. 1]
IMU Coordinate System

[Fig. 2]

[Fig. 2]
Complementary Filter Block Diagram

[Fig. 3]

[Fig. 3]
Mobile Robot Kinematics

[Fig. 4]

[Fig. 4]
ORB-SLAM System Block Diagram

[Fig. 5]

[Fig. 5]
ORB-SLAM Calibration System Block Diagram

[Fig. 6]

[Fig. 6]
Mobile Robot used in the Experiment

[Fig. 7]

[Fig. 7]
Mobile Robot Control Block Diagram

[Fig. 8]

[Fig. 8]
Yaw-axis Euler Angle Experiment

[Fig. 9]

[Fig. 9]
Experiment Environment

[Fig. 10]

[Fig. 10]
Conventional ORB-SLAM Localization

[Fig. 11]

[Fig. 11]
Proposed ORB-SLAM Localization