Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 17, No. 4, pp.397-406
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date 01 Dec 2022
Received 03 Sep 2022 Revised 04 Oct 2022 Accepted 06 Oct 2022
DOI: https://doi.org/10.7746/jkros.2022.17.4.397

실내 물류 환경에서 라이다-카메라 약결합 기반 맵핑 및 위치인식과 네비게이션 방법

최병희1, * ; 강경수1, * ; 노예진1 ; 조영근
Loosely Coupled LiDAR-visual Mapping and Navigation of AMR in Logistic Environments
Byunghee Choi1, * ; Gyeongsu Kang1, * ; Yejin Roh1 ; Younggun Cho
1Researcher, Department of Robotics Engineering, YeungNam University, GyeongSan, Korea thithin@yu.ac.krbhbhchoi@yu.ac.krsensenyj897@yu.ac.kr

Correspondence to: Assistant Professor, Corresponding author: Department of Electrical Engineering, Inha University, Incheon, Korea ( yg.cho@inha.ac.kr) * Represents equal contribution


CopyrightⓒKROS

Abstract

This paper presents an autonomous mobile robot (AMR) system and operation algorithms for logistic and factory facilities without magnet-lines installation. Unlike widely used AMR systems, we propose an EKF-based loosely coupled fusion of LiDAR measurements and visual markers. Our method first constructs occupancy grid and visual marker map in the mapping process and utilizes prebuilt maps for precise localization. Also, we developed a waypoint-based navigation pipeline for robust autonomous operation in unconstrained environments. The proposed system estimates the robot pose using by updating the state with the fusion of visual marker and LiDAR measurements. Finally, we tested the proposed method in indoor environments and existing factory facilities for evaluation. In experimental results, this paper represents the performance of our system compared to the well-known LiDAR-based localization and navigation system.

Keywords:

AMR, SLAM, Localization, Navigation

1. 서 론

다양한 물류 및 설비환경에서 작업효율 향상 및 안전상의 이유로 로봇의 도입이 가속화되고 있다. 일반적으로 많이 활용하는 실내 이송 및 물류 로봇은 주로 마그네틱 라인 설치를 통한 운행방식을 채택하고 있다. 이에 대한 문제점으로, 로봇의 운행 자유도를 제한한다는 점과 운행 경로 추가 시 새로운 라인 설치와 같은 환경에 대한 변화 요구가 크다는 점이 지적된다.

이러한 문제로 인해 최근 다양한 설비 및 공장환경에서 마그네틱 라인의 설치 없이 자율주행로봇을 도입하는 시도가 증가하고 있다. OMRON사나 MiR Robots과 같이 설비 환경에서 활용되는 로봇 플랫폼은 대부분 2D LiDAR를 활용하여 자율주행기능을 수행하고 있으며 도킹(Docking)을 위해 초음파센서나 V형태의 구조적 마커(Geometric Marker)를 활용하고 있다[1].

본 논문은 실제 설비환경에서 요구하는 로봇 활용성을 바탕으로 로봇의 실내 자율 주행에 사용되는 SLAM 및 Navigation 패키지를 작성하고, LiDAR와 카메라 센서 정보를 약결합(Loosely Coupling)하여 보다 강건한 위치 인식 알고리즘을 제안한다. 센서 약결합은 다수 센서 데이터의 융합에 사용되는 방법으로, 강결합에 비해 센서 간에 낮은 의존성을 갖고 있어 센서 시스템의 결합 및 분리의 유연성을 가진다[2]. 이러한 특성을 통해 어느 한 쪽의 센서 정보가 취약해지더라도 drift 현상을 방지할 수 있고, 지속적인 운행이 가능하도록 구현하였다. 또한 운송한 물류의 적재 기능을 구현하기 위해 Visual Marker를 사용한 정밀 제어를 사용하여 기존 마그네틱 라인의 정밀성을 대체하였다. 그 외에도 점유 격자 지도(Occupancy Grid Map)의 불완전한 작성으로 인한 경로 계획기(Path Planner)의 잘못된 경로 생성을 방지하기 위해 Waypoint Navigation 기법을 사용하여 주행 안전성을 개선하였다.

본 논문이 제안한 방법론에 대한 개략도는 [Fig. 1]과 같으며, Contribution은 다음과 같다.

[Fig. 1]

Illustration of Navigation System

  • ‧ LiDAR 기반 점유격자지도와 Visual Marker 지도를 통합하고, EKF 기반으로 Marker 지도 정보를 실시간 업데이트
  • ‧ LiDAR 및 Visual Marker 기반 로봇 위치인식을 약결합으로 융합하여 효율적인 정보 Update방법을 제안
  • ‧ Marker의 ID를 사용하여 기존 특징점 기반 위치 인식 방법에 비해 높은 정확성
  • ‧ 실제 물류/설비 환경에서 사용 가능한 시스템을 구축하고, 실험을 통해 위치 인식 성능의 강건함을 검증

본 논문의 2장에서는 SLAM 및 Navigation에 대한 관련연구를, 3장에서는 하드웨어의 요소별 분류를 보이고 있다. 4장은 제안하는 시스템 소프트웨어 구조를 설명하고, 5장은 실험결과를 정리하였으며, 6장은 결론으로 마무리하고 있다.


2. 관련 연구

다양한 환경에서의 자율 이동을 위해서는 주변 지도를 작성하고 로봇의 위치를 인식하는 것이 중요하다. 설비 환경에서는 LiDAR를 이용한 방식이 주로 사용되고 있는데, 지도 작성(Mapping) 기법으로는 대표적으로 GMapping, Cartographer가 있고, 위치 인식(Localization) 기법으로는 AMCL (Adaptive Monte Carlo Localization)이 있다. GMapping은 파티클 필터(Particle Filter)를 이용하는 FastSLAM 알고리즘을 사용하여 격자 지도(Grid Map)을 생성한다[3]. Cartographer는 LiDAR 혹은 카메라와 같은 다른 센서와의 융합을 이용한 지도 작성 및 위치 인식 기법 중 하나로, 최적화를 통한 스캔 매칭(Scan Matching)으로 격자 지도를 생성한다[4]. AMCL은 파티클 필터를 이용한 MCL 기법에서 가변 샘플 수를 이용하여 효율성을 높인 위치 인식 기법이다. 또한, 연속 우도 필드기반 스캔매칭을 활용해 빠르게 위치인식을 할 수 있는 LaMa[5]를 활용할 수 있다. 또한, 지도가 준비되었을 때, 로봇의 자율주행을 위해서 경로계획 및 운행 기능을 수행하는 경로 계획기를 사용한다. 본 논문에서 사용한 전역 경로 계획기와 지역 경로 계획기는 각각 Euclidean 거리를 비용으로 하여 Dijkstra 알고리즘을 사용하는 Navfn과, Elastic Band 경로 계획법에 시간에 대한 요소를 포함시킨 방법인 TEB (Timed Elastic Band) Local Planner이다[6,7].

기존 2D LiDAR에 의존하여 Navigation 하는 경우 일반적인 실내환경에서는 비교적 좋은 성능을 나타내지만, 로봇이 처음 운행을 시작하는 초기화 문제나 환경의 구조적 유사성으로 인해 발생하는 drift 문제에 취약해진다. 본 논문에서는 LiDAR 기반 맵핑 및 위치인식 파이프라인과 함께 Visual Marker 맵핑과 위치인식 알고리즘을 EKF 기반의 약결합 방식으로 결합하는 방법을 제안한다. 이러한 접근을 통해 실내 네비게이션을 위한 경로 계획과 주행방법을 그대로 적용하면서 ArUco Marker[8]를 활용하여 로봇의 위치를 보정하는 것뿐만 아니라, 적재 시 Marker 정보를 활용해 정밀 Docking하도록 설계하였다.


3. 하드웨어 시스템 구성

AMR는 기존의 마그넷 라인에 의존하지 않고 Visual Marker 또는 LiDAR 센서를 사용하여 자율 주행하는 플랫폼을 의미한다. Line – Free AMR의 구현을 위한 하드웨어 플랫폼은 [Fig. 2]와 같이 구성하였다. 하드웨어 플랫폼의 경우 인지 부, 판단 부, 제어 부로 나뉘어진다.

[Fig. 2]

Configuration of the robot system

인지 부는 AMR 시스템에서 설비 환경을 인식하고 장애물 및 이동 지형, 시스템의 현재 상태를 인지하도록 한다. 2D LiDAR와 카메라, Encoder 및 Ultrasonic 센서가 이에 해당하며, 2D LiDAR와 카메라의 경우 전방 장애물 및 이동 위치를 파악하도록 한다. Encoder 센서는 로봇의 속도 및 위치를 파악하여 odometry 정보를 생성한다. Ultrasonic 센서는 후방 장애물을 감지하도록 하여 적재 및 운송과정에서 후방 충돌을 방지하도록 한다.

판단 부는 시스템의 위치 인식, 이동경로 생성 및 속도 제어를 판단하도록 한다. 인지 부에서 받은 정보를 Main Process에서 처리하여 지도 작성 과정의 경우 위치인식 및 지도를 생성하고, 주행상황의 경우 위치인식, 이동경로 생성 및 속도를 제어한다.

제어 부는 판단 부에서 생성된 속도를 바탕으로 해당 속도에 맞게 모바일 로봇을 제어한다. Main Process에서 계산된 속도를 시리얼 패킷 통신으로 받으며, 현재 로봇의 상태를 다시 Main Process에게 전달하도록 시스템을 구성하였다.


4. 상세 시스템 소프트웨어

본 논문에서는 설비 환경의 자율 주행을 위해 크게 Mapping & Waypoint Generation 과정과, Localization & Navigation 과정으로 나뉘어 모바일 로봇을 제어한다. 이를 위해 LiDAR 정보와 Visual Marker 정보를 약결합 기반으로 융합하는 시스템을 구축하였다. Mapping & Waypoint Generation 과정의 경우 수동으로 이동하는 사전 환경 주행을 통해 주위환경을 관측하여 저장하고, Localization & Navigation 과정에서는 Mapping & Waypoint Generation 과정을 통해 저장된 정보를 이용하여 설비환경을 자율 주행한다.

4.1 Mapping & Waypoint Generation

본 논문에서는 점유 격자 지도 작성기반 맵핑과 함께 EKF SLAM 알고리즘[9]을 사용하여 격자지도와 공유할 수 있는 marker map을 생성한다. Mapping 및 Waypoint Generation의 모식도는 [Fig. 3]과 같다.

[Fig. 3]

Mapping & waypoint Generation node graph

Mapping: EKF SLAM의 state vector Xtt에서의 로봇의 위치 Rt = (xt, yt, θt)T와 N개의 marker map Mt = (xt,m,0, yt,m,0, θt,m,0 ⋯, xt,m,N, yt,m,N, θt,m,N)T로 구성된다. 초기 지도 작성에 EKF SLAM 알고리즘을 사용하였으며, prediction 과정의 motion model을 적용하는 대신 LiDAR 기반 위치 인식 결과 Rt,l을 사용한다. state vector의 구성은 다음과 같다.

Xt=Rt,l,MtTRt,l=xt,l,yt,l,θt,lMt=xt,m,0,yt,m,0,θt,m,0,xt,m,N,yt,m,N,θt,m,N(1) 

또한, LiDAR 기반 위치 인식 결과의 불확실성이 매우 작음을 가정하여 초기 공분산 Σ0의 로봇 위치 공분산을 0으로 초기화 한다.

Σ0=000Σ0,mm(2) 
Σ0,mm=σxx,000σθθ,N(3) 

Prediction 과정 이후의 공분산 Σt는 marker의 공분산 값만을 가진다. Correction 과정에서 사용하는 observation model은 marker의 위치 값 z^t=x^t,z,y^t,z,θ^t,z를 사용한다. x^t,z  y^t,z는 로봇 좌표계로부터 marker point까지의 (x, y) 좌표를, θ^t,z는 로봇의 head와 관측된 marker head의 각도 간의 차를 의미한다. Correction 과정을 진행하기 위해 marker 관측 값 zt과 예측 값 z^t를 구한다. Marker 관측 값 zt는 다음과 같으며, R은 로봇 좌표계를 기준으로 하는 좌표이다.

zt=xt,zRyt,zRθt,zR(4) 

관측값 zt과 같은 형태로 변환하기 위한 observation model은 다음과 같다.

δ=δxδyδθ=xt,m-xtyt,m-ytθt,m-θt(5) 
z^t=z^t,xz^t,yz^t,θ=δxcosθt+δysinθt-δxsinθt+δycosθtδθ(6) 

해당 observation model은 MtRt를 사용하여 로봇 좌표계로부터 관측한 marker의 예측 값 z^t를 구한다. 칼만 게인을 구하기 위해 observation model의 Xt에 대한 Jacobian matrix H를 계산한다.

H=Jz^t=z^t'(7) 

위 공식에 따라 구한 zt,z^t,H를 이용하여 EKF SLAM의 correction 과정을 진행하며, 식 (8), (9), (10)의 과정을 거쳐 marker의 위치를 보정하게 된다. QtKt는 각각 센서 노이즈의 공분산과 칼만 게인을 의미한다.

Kt=ΣtHtTHtΣtHtT+Qt-1(8) 
Xt+1=Xt+Ktzt-z^t(9) 
Σt+1=I-KtHtΣt=000Σt,mm(10) 

식 (10)의 공분산 Σt,mm은 시간 t에서의 각 marker 간의 상관관계를 의미하며, 전체 공분산 Σt+1은 LiDAR 스캔 매칭 기반 위치 인식 결과가 정확하다는 가정에 의해 Σt,mm 이외의 공분산 요소는 영행렬로 구성된다.

Waypoint Generation: 경로 계획기가 생성하는 불완전한 경로에 대한 보정 방안으로서 Waypoint Navigation을 제안한다. 이에 사용되는 경유 지점들을 지정하기 위해 로봇의 사전 주행 시 일정 조건 하에 waypoint를 저장하는 기능을 구현한다. 사전 주행은 데이터 수집을 위해 사용자가 수동으로 로봇을 운행하는 것을 의미한다. 본 논문에서 제안하는 주행은 이를 적용한 공장 환경 특성상 주행 시작 지점 및 도착 지점은 카메라로 인식할 수 있는 marker가 존재함을 가정한다. 따라서 저장 시작 지점 및 종료 지점에 대한 marker 정보를 목표 지점을 판단할 수 있는 정보로 활용한다. 저장 시작 지점과 종료 지점 사이의 waypoint 저장은 이전 시점의 waypoint와 로봇의 pose가 일정 거리 및 각도 차이가 발생하는 경우 waypoint로 저장하도록 하였다.

4.2 Localization & Navigation

Localization: 주어진 환경 내의 위치를 파악하는 global localization 문제의 경우 로봇의 초기 위치가 큰 영향을 준다. 따라서 본 논문에서는 정확한 위치 인식을 위해 LiDAR-카메라 약결합 기반의 EKF 알고리즘을 사용하였다.

기존 LiDAR에 의존하는 AMR의 위치인식 방법과 달리 본 논문에서는 LiDAR 센서를 사용한 로봇의 위치인식 정확도를 개선하기 위해 카메라 센서의 관측 데이터를 사용하여 정확도를 높이는 방법을 사용하였다. LiDAR 센서로 보정된 로봇의 pose에 카메라 센서로 인식한 marker의 관측 정보를 추가하여 더 정확한 로봇의 위치를 획득한다.

위치 인식 단계에서의 EKF 알고리즘은 Mapping 단계와 유사하게 진행된다. [Fig. 4]의 Localization Stack에서 LiDAR Localization과 Marker Localization을 결합하기 위해 진행되는 과정은 다음과 같다.

[Fig. 4]

Localization & Navigation node graph

Localization이 최초로 진행되는 Initialization 단계에서, Mapping의 경우 marker의 위치를 추정하는 반면, Localization에선 로봇의 위치를 추정하기 때문에, 초기 Σ0의 로봇의 위치에 대한 공분산을 diag(1, 1, 1)로, marker 위치에 대한 공분산을 0으로 한다.

Σ0=Σ0,RR000Σ0,RR=100010001(11) 

초기 state vector는 식 (1)의 형태를 따르며, 로봇의 초기 위치를 추정하기 위해 marker map을 사용한다. 추정되지 않은 초기 위치 R0 = (x0, y0, θ0)는 (0, 0, 0)으로 설정하고 marker map M = (xm,0, ym,0, θm,0, ⋯ xm,N, ym,N, θm,N)은 Mapping 단계의 결과물을 사용한다. 이때 M은 EKF Localization을 진행하더라도 변하지 않으므로 시간 t와 독립적이다. marker가 관측되었을 때, 관측 값 zt를 바탕으로 correction 과정을 실행하여 초기 위치를 추정한다. 추정된 초기 위치를 바탕으로 LiDAR Localization을 통해 현재 로봇의 위치를 다시 추정한다.

Initialization이 완료된 이후 Marker Localization의 prediction 단계는 LiDAR Localization의 결과에 의지한다. 해당 단계의 예측 state vector의 Rt는 LiDAR Localization의 결과 Rt,l을 사용하고, M은 초기값과 동일하다. 로봇의 위치 Rt,l을 LiDAR Localization으로부터 받아오는 과정에서 로봇의 추정된 위치에 odometry가 포함되어 있기 때문에, 본 논문에서 사용하는 EKF Localization의 prediction 과정은 LiDAR Localization 그 자체라고 할 수 있으며, 수식으로 나타내면 다음과 같다.

Xt=Rt,l,MT(12) 
Σt=Σt,l=Σt,l000(13) 

State vector XtRt,l, M을 observation model(식 (5), (6))에 적용하여 예측값 z^t을 구하고, observation model에 대한 Jacobian Matrix H를 식 (7)에 따라 구한다. 또한 카메라 센서로부터 marker 관측 데이터 zt를 전달받아 최종적으로 EKF 알고리즘을 통해 보정된 로봇의 위치를 계산한다. Marker Localization으로부터 도출된 결과인 state vector와 공분산은 다음과 같다.

Kt=ΣtHtTHtΣtHtT+Qt-1(14) 
Xt+1=Xt+Ktzt-z^t(15) 
Σt+1=I-KtHtΣt=Σt,RR000(16) 

Marker Localization의 위치 추정 결과를 LiDAR Localization에 전달하여 로봇의 위치를 다시 보정한다. [Fig. 4]에 표현된 것처럼, 시스템 구조는 재귀 형태로 구축하였다.

Navigation: 설비 환경에서 로봇의 자율주행 시 최종 목적지만을 기반으로 운행하는 경우 발생하는 이동 불가 영역에 경로를 생성하는 문제의 대처 방안으로 본 논문에서는 Waypoint Navigation의 사용을 제안한다. Waypoint Generation 단계에서 저장된 waypoint들을 사용하여 해당 waypoint들을 경유하도록 주행 경로를 생성하는 Waypoint Navigation을 구현하였다.

로봇의 자율주행은 ROS 기반의 Navigation Stack을 활용하되 효율적인 운용을 위해 waypoint를 경유하는 주행을 구현하였다. 또한, 목적지에 도달 시, 설비에서 적재를 구현하기 위해 marker의 상대위치를 이용하는 정밀위치 인식 및 제어를 구현하였다.

주행 상태일 경우, 로봇은 Waypoint Generation에서 저장한 waypoint를 사용하여 최적 waypoint path를 생성하고, 이를 경유하며 주행한다. 최적의 waypoint path를 생성하기 위해 출발지점에서 목표지점까지의 로봇이 이동할 거리를 비용(g(n))으로, 출발지점과 목표지점 사이의 직선 거리를 휴리스틱 추정값(h(n))으로 사용하는 A* 알고리즘[10]을 사용한다.

로봇이 목적지에 도착한 경우 적재상태로 전환되며, marker를 기준으로 로봇의 위치를 조정 후 적재를 위한 정밀 제어를 진행한다. 이를 위해 로봇이 marker를 인식했을 경우 marker로부터 로봇의 회전각도와 거리를 구하도록 한다.

θ=atan2yt,zR,xt,zR(17) 
r=xt,zR2+yt,zR2(18) 

식 (17)식 (18)에서 구한 θr이 각속도와 선속도 명령으로 활용되며, marker로부터 설정한 위치에 도달하는 경우 적재 준비가 완료된 것으로 간주하게 된다. 이후 적재가 완료되면 waypoint path상의 가장 근접한 지점으로 복귀한다.


5. 실험 결과

5.1 실험환경 및 로봇 플랫폼

본 논문에서 제안한 시스템의 성능을 평가하기 실내 빌딩 환경과 실내 설비 및 물류환경에 대한 검증을 진행하였다. 각 환경에서의 위치인식 성능은 목적지에 2D LiDAR를 설치하고, LiDAR 기반 Object Tracking 알고리즘 DATMO[11]를 사용하여 목적 pose와 각 알고리즘의 결과 pose를 비교하였다. 실험에 사용된 시스템은 [Table 1]에서 확인할 수 있고, 각 센서 및 플랫폼의 위치 관계는 [Fig. 5]와 같이 구성하였다. 시스템 소프트웨어는 Intel-Core i5 (11400F)에 구축하였고, 모든 알고리즘은 C++로 구현하여 검증을 진행하였다. 실험에 사용한 Visual Marker의 종류는 ArUco이며, marker의 크기는 카메라의 시야를 고려하여 가로와 세로 모두 0.1 m로 설정하였다.

Configuration of robot hardware

[Fig. 5]

Robot platform and sensor configuration

5.2 실내 빌딩환경 맵핑 및 위치인식 성능 평가

실내 빌딩 환경은 [Fig. 6(a)]와 같이 중앙 영역이 개방되어 있는 형태로 구성되어 있으며, 운송 출발지, 목적지, 그리고 카메라로 관측 가능한 임의의 위치에 marker를 부착하여 알고리즘의 성능을 평가하였다.

[Fig. 6]

Experiment 1: Indoor environment and structure

5.2.1 Mapping 성능 평가

본 논문에서 제안한 시스템의 marker 지도 작성 성능을 테스트하기 위해, 실험 환경의 점유 격자 지도를 작성하여 결과를 확인하고, 지도 상에서의 특정 marker의 위치와 실험 환경에서 레이저 거리측정 센서 값을 비교한다. 또한, 지도 작성 과정에서 실시간성이 보장되는지 확인하기 위해, 최대 등록 가능한 marker의 개수에 따른 각 marker의 평균 등록 시간을 측정하도록 한다. 제안된 시스템의 지도 작성 결과는 [Fig. 7]과 같고, marker의 위치와 실험 환경에서의 실측값은 [Table 2]와 같다. 지도 작성 결과에서 위치와 방향이 모두 map에 저장되는 것을 확인 가능하고, 실측 값과 비교하였을 때 3%의 오차율을 보이는 것으로 보아 알고리즘이 적절히 구현되었음을 알 수 있다. marker 등록 시간의 경우 [Fig. 8]과 같이 결과가 나타났다. 최대 등록 가능한 marker의 개수가 5개일때 각 marker가 계산되어 필터기반으로 marker가 등록되는 시간은 약 0.34 ms가 소요되었고, 50개의 marker 기준으로는 약 32 ms가 소요됨을 알 수 있다.

[Fig. 7]

Occupancy Grid map and registered markers

Evaluation of marker position

[Fig. 8]

Processing time of marker registration

5.2.2 Navigation 및 Localization 성능 평가

주행 및 위치 인식 성능을 평가하기 위해 동적 환경에서 LiDAR 기반 위치 인식과 본 논문에서 제안한 방법을 비교하였으며, 그 결과는 [Fig. 9]과 같다. [Fig. 9(a)]는 정적 환경, 즉 사전 작성된 점유 격자 지도와 동일한 환경에서의 LiDAR 기반 위치 인식을 사용한 주행 결과를 나타내었으며, 목표 pose에 정확히 도달하였음을 보인다. [Fig. 9(a)]의 결과는 동적 물체나 구조물의 이동과 같이 map의 일부분이 변경되는 상황에 대한 검증 기준으로 사용하였다. [Fig. 9(b)]의 경우 정적 환경에 포함되지 않았던 구조물을 배치한 동적 환경에서의 LiDAR 기반 위치 인식을 나타낸 것으로, 위치 인식 결과에 오차가 있음을 보이고 있다. 또한, [Fig. 9(c)]는 [Fig. 9(b)]와 같은 조건에서의 주행 결과이며, 위치 인식 실패로 인해 [Fig. 9(a)]에 표현된 목표 pose에 도달하지 못하는 결과를 도출하였다. 반면 본 논문에서 제안한 위치 인식 방법은 LiDAR 기반 위치 인식이 취약한 환경이라도 marker map에 의존하여 강건하게 위치 인식을 수행하는 것을 확인할 수 있다.

[Fig. 9]

Localization performance evaluation for environmental changes

또한, [Table 3]과 같이 위치 인식 성능의 정량적 평가를 위해 각 위치 인식 알고리즘을 기반으로 목표지점에 로봇이 도달했을 때 DATMO에서 획득한 로봇 pose를 비교하였다. [Table 3]의 Reference는 주행 결과의 성능 평가 기준으로, [Fig. 9(a)]의 주행 결과와 동일한 목표 pose를 의미한다. [Table 3]의 LiDAR, Proposed는 각각 LiDAR 기반 위치 인식만을 사용한 주행 결과([Fig. 9(c)]), 본 논문에서 제안하는 LiDAR-카메라 약결합 기반 위치 인식을 사용한 주행 결과([Fig. 9(d)])를 의미하며, 각각의 성능은 Translation 오차율과 Rotation 오차율로 평가한다. LiDAR 기반 위치 인식만을 사용한 경우의 결과는 Reference 대비 Translation 오차율 17.06%, Rotation 오차율 22.85%로 산출된다. 반면 제안하는 방법을 사용한 경우의 결과는 Translation 오차율 1.1%, Rotation 오차율 5.478%로 산출된다. 두 가지 방법의 센서를 통한 주행 결과를 비교하면, LiDAR 기반 위치 인식만을 사용한 경우는 동적 환경에서 불안정한 위치 인식 성능을 보이며, 이에 따른 주행 성능 역시 저하된다. 반면 제안하는 위치 인식 방법은 주변 구조물로 인해 LiDAR 기반 위치 인식이 취약함에도 불구하고 marker 관측에 의한 보정으로 목표지점에 안정적으로 도달하였음을, 즉 drift 현상을 해결하였음을 확인할 수 있다.

Comparison of robot localization performance

5.2.3 Navigation 경로생성

자율주행의 경로 생성에서 활용되는 Grid map의 경우 투과성 물체나 반사되는 구조물에서 완결한 Map을 생성하지 못하는 경우가 있다. 이러한 환경에서도 원활한 주행이 가능하도록 본 논문에서는 Waypoint Generation을 통해 로봇이 임의로 개방 영역으로 주행 경로를 생성할 수 없도록 설정하였다. [Fig. 10(a)]와 같이 목적지를 설정하였을 때 기존 전역 경로 계획기의 경우 간헐적으로 개방 영역에 경로가 생성되는 것을 확인할 수 있으며 심각한 주행 문제를 야기한다. 반면 본 논문에서 제안한 Waypoint Navigation을 사용하여 [Fig. 10(b)]와 같이 순차적으로 waypoint를 경유함으로써 개방 영역에 주행 경로가 생성되는 문제를 해결할 수 있음을 확인할 수 있다.

[Fig. 10]

Performance of waypoint-based path planning

5.2.4 동적 물체에 대한 회피 경로 생성

로봇의 자율 주행 시 동적 물체의 출현에 관하여 본 논문에서 제안하는 방법의 운행 적절성을 검증하였다. [Fig. 11(a)]와 같이 단일 동적 물체가 LiDAR 센서의 감지 범위 내에 인식된 경우, 해당 물체를 회피하는 경로를 생성하여 로봇의 주행이 이루어진다. 또한 [Fig. 11(b)]와 같이 다수의 동적 물체가 감지된 경우 역시 마찬가지로 각 물체와 충돌하지 않는 경로를 생성하는 것을 확인할 수 있다. [Fig. 11]과 같은 결과를 통해 제안하는 방법을 적용하였을 때 적절한 운행 성능을 갖는 것을 확인할 수 있다.

[Fig. 11]

Obstacle avoidance of the proposed system

5.3 물류/설비 환경 검증

5.3.1 물류 환경

본 논문에서 제안한 시스템이 실제 물류 환경에서의 위치 인식 결과 및 운용 가능성을 확인하기 위해 실제 시설에서 시스템을 검증하였다. 실제 물류시설은 [Fig. 12]와 같이 다양한 이송용 설비가 놓여있는 공간이며, 적재 및 하역 구간에 marker를 위치하여 검증하였다. 실제 물류 환경에서의 지도 작성 결과는 [Fig. 13]과 같다. 설비의 적재 및 하역 위치에 있는 marker가 정상적으로 인식되어 기록된 것을 확인할 수 있다.

[Fig. 12]

Experiment 2: Indoor logistics environment

[Fig. 13]

Occupancy Grid Map and Marker map of Indoor logistics environment

또한, 위치 인식 및 주행결과를 확인하기 위해 [Table 4]와 같이 3번의 자율 주행에서 로봇의 도착 위치를 검출하였고 도달 결과 모두 유사한 것을 알 수 있다.

Localization of the repeated mission

5.3.2 설비 환경

물류 환경 뿐만 아니라 설비 환경에서도 유사한 실험을 진행하였다. 실험이 진행된 환경은 [Fig. 14]와 같은 보일러실이며, 작성된 점유 격자 지도와 marker map은 [Fig. 15]와 같다. 해당 실험은 로봇의 실제 pose와 제안된 방법으로 로봇이 인식한 pose의 비교를 통해 성능을 검증한다. 로봇의 운행 목표지점에 설치된 카메라로 로봇에 부착된 marker의 pose를 검출한다. 검출된 pose를 사용하여 계산한 전역 좌표계 기준 로봇의 pose를 참조하여 로봇의 위치인식 및 주행성능을 평가한다. 이때 기준으로 하는 pose는 [Table 5]의 Reference와 같다. 첫 번째 주행 결과는 Reference 대비 Translation 오차율 0.507%, Rotation 오차율 0.563%로, 두 번째 주행 결과는 Translation 오차율 0.505%, Rotation 오차율 1.137%로 산출된다. 이는 설비 환경에서의 주행 결과 역시 물류 환경과 마찬가지로 적절한 주행 성능을 가지고 있음을 검증한다.

[Fig. 14]

Experiment 3: Indoor facility environment 2

[Fig. 15]

Occupancy Grid Map and Marker map

Comparison of the localization performance in the facility environment


6. 결 론

본 논문에서는 EKF SLAM 알고리즘을 이용하여 LiDAR 정보와 marker 정보를 융합해 더 강건한 위치 인식을 구현하였다. 또한, waypoint 기반 Navigation과 적재상태와 주행상태 구분으로 물류에 적합한 기능을 추가하여 자율 이동하도록 하였다. 즉, 효율적인 시스템 구성을 통해 다양한 물류 환경에서도 정확하고 정밀하게 AMR을 운용할 수 있는 방법에 대해 소개하였다. 실내 빌딩과 물류/설비 환경에서 알고리즘 및 시스템을 검증하였으며 LiDAR 단일 기법보다 더욱 강건한 성능을 나타내는 것으로 확인하였다. 본 연구는 단일 로봇의 안정적인 주행을 목표로 진행되었다. 추후 연구에서는 다중로봇이 존재하는 복합 물류 환경을 대상으로 연구를 진행할 계획이다.

Acknowledgments

This project was funded by Inha University and YJLink. Also, this work was supported by Korea Institute for Advancement of Technology (KIAT) grant funded by the Korea Government (MOTIE) (P0017124) and nstitute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government (MSIT) (No.2022-0-00448) and Korea Institute of Marine Science and Technology Promotion (KIMST) funded by the Ministry of Oceans and Fisheries (20210562)

References

  • MiR Robotics, [Online], https://www.mobile-industrial-robots.com, , Accessed: September 16, 2022.
  • C. Debeunne and D. Vivet, “A review of visual-LiDAR fusion based simultaneous localization and mapping,” Sensors, vol. 20, no. 7, 2020. [https://doi.org/10.3390/s20072068]
  • G. Grisetti, C. Stachniss, and W. Burgard, “Improving gridbased SLAM with Rao-Blackwellized particle filters by adaptive proposals and selective resampling,” 2005 IEEE International Conference on Robotics and Automation, Barcelona, Spain, pp. 2432-2437, 2005. [https://doi.org/10.1109/ROBOT.2005.1570477]
  • W. Hess, D. Kohler, H. Rapp, and D. Andor, “Real-time loop closure in 2D LIDAR SLAM,” 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, pp. 1271-1278, 2016. [https://doi.org/10.1109/ICRA.2016.7487258]
  • E. Pedrosa, A. Pereira, and N. Lau, “Efficient localization based on scan matching with a continuous likelihood field,” 2017 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), Coimbra, Portugal, pp. 61-66, 2017. [https://doi.org/10.1109/ICARSC.2017.7964053]
  • S. Quinlan and O. Khatib, “Elastic bands: connecting path planning and control,” [1993] Proceedings IEEE International Conference on Robotics and Automation, Atlanta, GA, USA, pp. 802-807, 1993. [https://doi.org/10.1109/ROBOT.1993.291936]
  • C. Rosmann, W. Feiten, T. Wosch, F. Hoffmann, and T. Bertram, “Trajectory modification considering dynamic constraints of autonomous,” ROBOTIK 2012 robots, 2012, [Online], http://files.davidqiu.com/research/papers/2012_rosmann_TEB%20Planner%20Trajectory%20modification%20considering%20dynamic%20constraints%20of%20autonomous%20robots%20[ROBOTIK%202012].pdf, , 2012.
  • F. J. Romero-Ramirez, R. Munoz-Salinas, and R. Medina-Carnicer, “Speeded up detection of squared fiducial markers,” Image and Vision Computing, vol. 76, pp. 38-47, 2018. [https://doi.org/10.1016/j.imavis.2018.05.004]
  • S. Yavuz, Z. Kurt, and M. S. Bicer, “Simulataneous localization and mapping with the extended Kalman filter,” 2009 IEEE 17th Signal Processing and Communications Applications ConferenceSola, Antalya, Turkey, pp. 2009. [https://doi.org/10.1109/SIU.2009.5136492]
  • P. E. Hart, N. J. Nilsson, and B. Raphael, “A formal basis for the heuristic determination of minimum cost paths,” IEEE Transactions on Systems Science and Cybernetics, vol. 4, no. 2, pp.100-107, July, 1968. [https://doi.org/10.1109/TSSC.1968.300136]
  • K. Konstantinidis, “Development of a Detection and Tracking of Moving Vehicles system for 2D LIDAR sensors,” M.S thesis, Delft University of Technology, The Netherlands, 2020, [Online], https://repository.tudelft.nl/islandora/object/uuid%3A103fe186-925e-46f7-8275-d746e7c47600, .
최 병 희

2017~현재 영남대학교 로봇공학과(학사)

관심분야: Visual SLAM, Deep Learning

강 경 수

2017~현재 영남대학교 로봇공학과(학사)

관심분야: Visual SLAM, Deep Learning

노 예 진

2019~현재 영남대학교 로봇공학과(학사)

관심분야: Computer Vision, Autonomous Driving

조 영 근

2006~2012 인하대학교 전기공학과(학사)

2013~2015 KAIST 전기공학과(석사)

2015~2020 KAIST 건설및환경공학과/로보틱스(박사)

2020~2021 영남대학교 로봇공학과 조교수

2021~현재 인하대학교 전기공학과 조교수

관심분야: SLAM, Spatial AI, Autonomous Robots

[Fig. 1]

[Fig. 1]
Illustration of Navigation System

[Fig. 2]

[Fig. 2]
Configuration of the robot system

[Fig. 3]

[Fig. 3]
Mapping & waypoint Generation node graph

[Fig. 4]

[Fig. 4]
Localization & Navigation node graph

[Fig. 5]

[Fig. 5]
Robot platform and sensor configuration

[Fig. 6]

[Fig. 6]
Experiment 1: Indoor environment and structure

[Fig. 7]

[Fig. 7]
Occupancy Grid map and registered markers

[Fig. 8]

[Fig. 8]
Processing time of marker registration

[Fig. 9]

[Fig. 9]
Localization performance evaluation for environmental changes

[Fig. 10]

[Fig. 10]
Performance of waypoint-based path planning

[Fig. 11]

[Fig. 11]
Obstacle avoidance of the proposed system

[Fig. 12]

[Fig. 12]
Experiment 2: Indoor logistics environment

[Fig. 13]

[Fig. 13]
Occupancy Grid Map and Marker map of Indoor logistics environment

[Fig. 14]

[Fig. 14]
Experiment 3: Indoor facility environment 2

[Fig. 15]

[Fig. 15]
Occupancy Grid Map and Marker map

[Table 1]

Configuration of robot hardware

Perception 2D LiDAR SICK TIM571
Ultrasonic
/MCU
STMA-503
/Arduino UNO
Camera Intel D435i
Control Platform OMO R1

[Table 2]

Evaluation of marker position

x y Error rate
Reference 2.357 m 0.944 m -
Proposed 2.250 m 0.930 m 3%

[Table 3]

Comparison of robot localization performance

x y θ Translation error rate Rotation error rate
Reference -1.904 m -2.059 m -88.01° - -
LiDAR -2.473 m -1.972 m -108.1° 17.06% 22.85%
Proposed -1.922 m -2.056 m -83.19° 1.100% 5.478%

[Table 4]

Localization of the repeated mission

Robot position x y
1st Trial 8.496 m 32.87 m
2nd Trial 8.507 m 32.88 m
3rd Trial 8.499 m 32.88 m

[Table 5]

Comparison of the localization performance in the facility environment

x y θ Translation error rate Rotation error rate
Reference 13.92 m -0.362 m -94.09° - -
1st Trial 13.85 m -0.336 m -94.62° 0.507% 0.563%
2nd Trial 13.85 m -0.348 m -95.16° 0.505% 1.137%