Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 15, No. 4, pp.357-364
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date 30 Nov 2020
Received 27 Jun 2020 Revised 12 Aug 2020 Accepted 04 Sep 2020
DOI: https://doi.org/10.7746/jkros.2020.15.4.357

위치인식 및 환경 가시화를 위한 이동 가능한 마커 위치 추정 연구

양견모1 ; 곽동기1 ; 한종부2 ; 함제훈3 ; 서갑호
A Study on Position Estimation of Movable Marker for Localization and Environment Visualization
Kyon-Mo Yang1 ; Dong-Gi Gwak1 ; Jong-Boo Han2 ; Jehun Hahm3 ; Kap-Ho Seo
1Assistant Researcher, KIRO, Pohang, Korea kmyang@kiro.re.krdg.gwak@kiro.re.kr
2Senior Researcher, KRISO, Daejeon, Korea jbhan@kriso.re.kr
3Senior Researcher, KIRO, Pohang, Korea jhham@kiro.re.kr

Correspondence to: Chief Researcher, Affiliate Professor, Corresponding author: KIRO, Pohang, Korea. POSTECH, Pohang, Korea ( neoworld@kiro.re.kr)

© Korea Robotics Society. All rights reserved.

Abstract

Indoor localization using an artificial marker plays a key role for a robot to be used in a service environment. A number of researchers have predefined the positions of markers and attached them to the positions in order to reduce the error of the localization method. However, it is practically impossible to attach a marker to the predetermined position accurately. In order to visualize the position of an object in the environment based on the marker attached to them, it is necessary to consider a change of marker's position or the addition of a marker because of moving the existed object or adding a new object. In this paper, we studied the method to estimate the artificial marker’s global position for the visualization of environment. The system calculates the relative distance from a reference marker to others repeatedly to estimate the marker’s position. When the marker’s position is changed or new markers are added, our system can recognize the changed situation of the markers. To verify the proposed system, we attached 12 markers at regular intervals on the ceiling and compared the estimation result of the proposed method and the actual distance. In addition, we compared the estimation result when changing the position of an existing marker or adding a new marker.

Keywords:

Artificial Marker, Indoor Localization, Position Estimation, Environment Visualization

1. 서 론

최근 이동 로봇은 무인 경비, 배달 등 다양한 서비스에 적용되고 있다. 위치인식(Localization)은 이동 로봇을 서비스에 적용하기 위한 핵심기술로 로봇이 속한 공간에서 2차원 좌표와 로봇 또는 물체의 위치와 방향정보를 파악한다[1]. 절대 위치인식 기술은 크게 실외와 실내로 구분할 수 있는데, 실외 위치인식은 주로 GPS를 사용한 연구가 수행되고 있다[2]. 하지만 통상적으로 실외보다 고정밀 측위가 필요한 실내 위치인식에서 GPS는 적용이 불가능하다.

비전 기반 실내 위치인식 기술은 환경 내 특징점 기반 위치인식 기술과 인공 마커 기반 위치인식 기술로 구분한다[3]. 특징점을 이용한 위치 추정 기술은 서비스 환경에 적용하기 위한 추가적인 작업이 필요 없으나, 특징점 인식을 위한 복잡한 연산을 필요로 한다[4]. 또한 특징점의 개수가 적은 복도, 공장같은 단조로운 벽으로 구성된 환경에 적용이 어려운 문제가 있다. 반면, AR 또는 QR마커와 같은 인공 마커(Artificial marker)을 부착하여 위치를 인식하는 기술은 단조로운 공간 내에서 약속된 패턴을 인식하기 때문에 상대적으로 빠르고 정확한 위치인식이 가능하다[5-7]. 마커 기반 절대위치인식 기술은 마커로부터 인식기까지의 상대거리를 계산하고, 전역 좌표계(Global coordinate)의 마커의 위치를 미리 정의하여 로봇의 위치를 추정한다. 따라서 미리 정의된 위치에 정확하게 마커를 부착해야 하는데 이는 마커의 수가 증가될수록 어렵다. 즉, 마커의 절대 위치를 자동으로 추정할 필요가 있다.

[Fig. 1]과 같이 마커의 절대 위치를 추정하면, 마커를 이용하여 로봇의 서비스 환경을 가상 환경으로 구성하고 가시화하는 시스템으로 확장할 수 있다. 이때, 서비스 환경 내 위치 이동이 발생하는 물체에 마커를 부착하고, 마커의 절대 위치를 기반으로 가상 환경 내 동일한 위치에 정해진 물체를 생성한다. 이를 위해, 마커의 절대 위치를 추정하는 시스템은 마커의 위치 이동 및 마커가 추가되는 상황을 고려해야한다.

[Fig. 1]

Example of generation object in virtual environment based on marker position

본 기초연구에서는 하나의 마커를 기준으로 다수의 마커와의 상대 위치계산을 통한 마커 전역 위치인식 자동화를 통해 정확한 위치에 마커를 부착하고 위치를 갱신해야 하는 문제를 해결한다. 즉, 로봇의 이동을 통해 반복적으로 획득되는 영상정보에서 다수의 마커들간의 상대 위치를 계산하고 이동 평균 필터를 이용하여 실제 마커의 위치를 추정한다. 이를 통해 실제 마커 부착 위치에 대한 오차로부터 발생되는 문제를 해결할 수 있다. 또한 신규 마커를 추가하거나 마커의 위치가 변경되는 환경 에서도 반복적인 추정을 통해 마커의 위치의 자동 갱신 및 관리가 가능하다.

제안하는 방법을 검증하기 위해 복도 천장에 12개의 StarGazer 마커를 일정 간격으로 부착하였으며, 제안하는 마커 위치 추정 시스템의 상대 위치와 실제 측정값을 비교하였다. 그 결과 제안하는 방법을 통해 마커의 위치 값이 실제 측정값으로 수렴하는 것을 확인하였다. 또한, 기존 마커의 위치를 변화시키거나, 신규 마커를 추가시 마커의 위치 정보가 갱신되는 것을 검증하였다.

본 논문은 아래와 같이 구성되어 있다. 2장에서는 제안 하는 방법과 관련된 연구에 대해서 설명할 것이며, 3장에서는 제안하는 위치인식을 위한 마커 추정 연구를 상세히 설명한다. 마지막으로 실험 및 결론을 기술한다.


2. 마커기반 위치인식 관련 연구

마커기반 위치인식 기술은 카메라를 이용하여 영상정보 내 마커를 인식하고 인식된 마커와 카메라의 지역 좌표, 헤딩각을 추정한다[8]. 추정된 결과와 마커에 정의된 전역 지도상의 위치와 지역 좌표를 이용하여 카메라의 전역 좌표와 헤딩각을 계산한다.

[Fig. 2]는 마커와 로봇의 상대 좌표와 앵글을 기반으로 전역 좌표계에서 로봇의 위치 및 헤딩각을 계산하는 방법이다. 로봇의 일반 좌표계(Generalized coordinate) qc = [xc, yc, θc]T로 정의하였으며, 마커의 일반 좌표계 qm = [xm, ym, θm]T로 정의하였다. 카메라의 영상 정보를 이용하여 마커로부터 계측된 로봇의 위치 q~mc'을 이용하여 전역 좌표계 XG, YG에서의 로봇 위치를 아래 식 (1)로 정리할 수 있다.

qc=qm+Amqmc'(1) 
[Fig. 2]

Concept of localization algorithm using marker

식 (1)을 일반 좌표계를 대입하여 정리하면 식 (2)와 같다.

xcycθc=xmymθm+cosϕ-sinϕ0sinϕcosϕ0001qmc'xqmc'yqmc'θ(2) 

ϕ는 마커의 좌표계와 전역 좌표계가가 이루는 각도로, 두 좌표계를 동일하게 마커를 부착하면 ϕ=0이 된다. 즉, Am = I이므로 마커좌표계에서 계측된 로봇의 앵글이 전역좌표계와 동일하게 된다.

모바일 로봇의 위치인식을 위해 StarGazer마커를 이용하여 위치를 계산하였다[9]. 로봇이 적용되는 공간에 마커를 붙이고 마커의 위치를 DB화하여 관리하였으며, 로봇의 위치는 식2를 이용하여 계산된다. AR마커를 이용하여 모바일 로봇의 위치를 인식한 연구도 진행되었다[10]. AR마커는 단순한 패턴으로 구성되어 마커로부터 카메라의 거리 및 방향이 추정되며, 마커를 일정 간격으로 부착하여 로봇이 실내공간에서 자율주행을 할 때 자신의 위치를 보정한다. 드론의 이륙 및 착륙 시, 위치를 인식하기 위한 연구도 진행 되었다[11]. 드론이 이륙 및 착륙을 위한 공간에 AR마커를 균일하게 배치하여 GPS가 인식되지 않는 실내 공간에 드론을 제어한다.

하지만 이러한 기존 마커기반 위치인식 관련 연구에서는 다양한 종류의 마커의 좌표를 미리 DB화하고 위치를 인식한다. 따라서 마커의 위치를 변경하거나 마커가 추가되는 상황에 적용할 수 없다. 또한, 로봇이 적용되는 다양한 환경에 계측을 통해 마커의 위치를 DB의 정보와 동일한 위치에 부착하는 것은 매우 어려운 작업이다.


3. 마커의 이동 및 확장을 고려한 위치 추정

3.1 전체 시스템 구성

제안하는 시스템은 하나의 마커를 전역 좌표계에 정의하고, 정의된 마커를 기준으로 마커간의 상대 위치 계산을 통해 모든 마커의 전역 위치를 계산한다. 아래는 제안하는 시스템을 위한 마커 및 위치 표현이다.

  • Mref기준 마커(Reference marker): 전역 좌표계에서 전역 위치를 미리 정의한 마커
  • Mrefi: 전역 좌표계에서 마커 mi의 위치
  • mrep 대표 마커(Representative marker): 지역 좌표계에서 인식된 마커간의 상대 위치 계산을 위한 마커
  • mrepi: 지역 좌표계에서 대표 마커로부터 인식된 마커 mi의 상대 위치 벡터

[Fig. 3]은 제안하는 마커의 전역 위치 추정 흐름도이다. 붉은색 화살표 윗부분의 단계별 결과이며 그 세부 과정을 화살표 아래에 도식화 하였다. 시스템은 마커 인식, 상대 위치 계산, 마커 전역 위치 계산으로 구성된다. 첫째, 마커 인식 단계에서는 카메라 등의 계측장치에서 획득된 영상정보 내 마커를 인식하고, 3차원 직교 좌표로 정보를 추출한다. 인식된 마커가 2개 미만일 경우 마커가 2개 이상 인식될 때 가지 대기하며, 인식된 마커의 수가 최소 2개 이상인 경우 상대 거리 계산을 시작한다. 마커의 상대 위치 계산 단계에서는 인식된 마커중 대표 마커를 선택하고 대표 마커에 대한 나머지 마커들의 상대 위치를 계산하여 저장한다. 대표 마커를 선택하는 알고리즘은 3.2절에서 자세히 설명했다. 마지막으로 대표 마커의 전역 위치와 계산된 마커들간의 지역좌표계의 상대 위치를 이용하여 모든 마커의 전역 위치를 계산한다. 평균 필터를 적용하여 마커들의 전역 위치 갱신을 반복적으로 수행한다. 제안하는 시스템은 항상 기준 마커로부터 시작하며, 인식되는 마커가 전혀 없는 지역(deadzone)은 없는 것을 가정한다.

[Fig. 3]

General workflow of proposed method for marker’s position estimation

3.2 대표마커 기반 마커 상대 위치 추정

2개 이상의 마커가 인식되면 마커의 상대 위치를 계산하기 위해 대표 마커를 설정한다. [Algorithm 1]은 인식된 마커들 중 대표 마커를 설정하는 방법이다. 대표 마커 선택 알고리즘은 인식된 모든 마커 {m1, m2, ...,mn}∈ Mdetect에 대하여 수행된다. [Algorithm 1]의 2와 같이, Mdetect에 기준 마커 Mref이 있을 경우, 기준마커를 대표 마커로 설정한다. 3~9단계는 인식된 마커 mi가 첫 번째 방문된 마커가 아닐 경우(추정된 전역 위치 Mrefi가 있는 경우), 기준 마커의 전역 위치와 마커 mi의 전역 위치 Mrefi의 거리distance of(Mrefi, Mref)가 가장 작은 마커 mi를 대표 마커로 설정한다. 만약 인식된 마커중 기준 마커가 없거나, 모든 마커가 전역 위치가 결정되지 않았을 경우엔 상대 위치를 계산하지 않는다.

Selecting representative marker

인식된 마커들 중 대표 마커가 결정되면 대표마커를 기준으로 상대 위치 벡터를 계산한다. [Fig. 4]는 3개 마커 중 대표 마커mrep를 기준으로 나머지 두 개 마커 m1, m2의 상대위치 벡터 관계이다. 마커 인식기를 기준으로 측정된 거리값을d 로 명시할 때, 대표마커 mrep의 계측 값 drepm1, m2각각의 계측 값이 d1, d2이라면 지역 좌표계에서 대표마커와 마커1의 상대위치mrep1, mrep2의 관계식은 식 (3)과 같다.

mrep=drep, m1=d1, m2=d2mrep1=drep-d1mrep2=drep-d2(3) 
[Fig. 4]

Calculation of relative distance among markers

3.3 마커 전역 위치 계산 및 위치 보정

[Fig. 5]는 인식기의 이동에 따라 대표 마커가 [Algorithm 1]과 같이 결정 된다. 마커의 절대 위치는 대표 마커의 절대위치와 상대 위치 벡터를 이용하여 계산된다. t=0시점에서 마커 인식기는 기준 마커 Mref만 인식된 상태 이다. 인식된 마커가 2개 미만이기 때문에 아무런 계산을 수행하지 않는다. t=1시점에서 새로운 마커 m1이 인식되어 인식 가능 마커가 Mref,m1이 인식되었다. 이때 [Algorithm 1]에 의해 Mref은 상대 위치를 계산하기 위한 대표 마커로 결정된다. m1의 절대 위치를 계산하기 위해 식 (3)과 같이 상대 위치 벡터 mrep1를 계산한다. 계산된 상대 위치와 Mref의 절대 위치를 이용하여 마커 m1의 위치를 계산한다. 마찬가지로 t=2, t=3시점에서 각각의 마커 m2, m3, m4에 대한 대표 마커와의 상대 위치 벡터를 계산한다. 계산된 상대 위치 벡터와 대표 마커의 절대 위치를 이용하여 마커들의 절대 위치를 계산한다. 식 (4)는 2차원 직교좌표 X, Y축에서 전역 좌표계 내 기준 마커 Mref(xref, yref)일 때, 상대 위치벡터를 이용한 마커mi의 전역 위치 Mrefi(xi, yi)의 연산이다.

Mrefi=Mi-1i+Mi-2i-1+Mrefi+eMrefi=xi-xi-1+x1-xref+e+yi-yi-1+y1-yref+e=xi+yi-xref-yref+e(4) 
[Fig. 5]

Global position estimation of marker according to changes in measurement range

식 (4)의 e처럼 마커 인식 센서의 오차에 의해서 대표 마커와의 상대 위치 벡터 계산에는 오차 존재한다. 전역 위치Mrefi를 계산할 때 누적 오차 e는 대표 마커의 절대 위치를 이용하여 계산되기 때문에 기준 마커 Mref와 멀어질수록 점진적으로 증가한다. 절대 위치 계산의 누적 오차를 보정하기 위해 제안하는 시스템에서는 이동 평균 필터를 이용하여 참 값을 추정한다. 실제 위치와 계측 위치의 차이를 단일 계측값에 의존하는 것이 아닌 반복적으로 샘플링된 데이터의 평균치를 적용하여 추정한다. 식 (5)는 마커 M의 현재 추정된 절대 위치가 Mrefi(n)이고 n-1번째 전 측정값이 Mrefi(n-1) 일 때 동일 가중치의 평균인 단순이동평균(Simple Moving Average) 값 Mrefi의 계산 값이다[12].

Mrefi=Mrefin+Mrefin-1+Mrefi1n(5) 

3.4 마커 위치 변화 및 신규 마커 인식

마커 기반 절대 위치인식의 적용환경에서는 필요에 의해 마커의 위치를 변경하거나, 신규 마커를 이용하여 위치인식 영역을 확장하는 경우가 있다. 신규 마커를 이용하여 위치인식 영역이 확장되는 경우 이동 평균 필터를 사용하여 반복적으로 마커의 위치를 계산하기 때문에 신규 마커의 위치 역시 동일한 방법으로 추가된다.

하지만 마커의 위치를 변경할 경우, 다수의 데이터의 평균값을 이용하는 이동 평균 필터는 기존 데이터가 전체에 반영되기 전까지 변경된 마커의 위치를 정확하게 보정하지 못한다. [Fig. 6]은 마커의 위치가 변경되었을 때, 마커의 상대 위치값이 이동 평균 필터에 의해 잘못 추정되는 과정이다. 마커의 위치가 변경된 초기에는 [Fig. 6(a)]상태와 같이 이전 마커mi의 위치에서 계산된 전역 위치 정보가 현재 위치에서 계산된 전역 위치 정보보다 상대적으로 많기 때문에 이전 마커의 전역 위치에 가깝게 추정된다. 하지만 중간 단계인 [Fig.6(b)]와 마지막 단계인 [Fig. 6(c)]로 이동된 마커에 대한 전역 위치의 정보가 많이 누적되면서 현재 마커의 위치와 가깝게 평균값이 추정된다. 따라서 변경된 마커의 전역 위치를 추정하는데 시간이 소요되는 문제가 있다.

[Fig. 6]

Problem of using average filter from changing marker’s position

제안하는 시스템에서는 이러한 이동 평균 필터의 문제를 해결하기 위해 데이터 초기화를 위한 임계값(Threshold)를 설정하고 기존 마커의 절대 위치 정보를 제거한다. 기존 마커의 상대 위치 평균값과 현재 계측되어 계산된 상대위치의 결과값이 임계값보다 크면 이동 평균 필터에서 사용되는 모든 데이터를 초기화한다. [Fig. 7]은 제안하는 임계값기반 이동 평균 필터 초기화 및 마커 상대 위치 갱신 알고리즘의 순서도이다.

[Fig. 7]

Flow chart for updating marker’s position


4. 실 험

제안하는 시스템을 검증하기 위하여 하기소닉에서 개발된 Stargazer를 이용하여 마커의 3차원 위치를 추정하고, 마커 12개를 이용하여 [Fig. 8]과 같이 실험 환경을 구성하였다[13]. 각각의 마커는 180 cm의 동일한 간격을 두었으며, 마커 인식이 주로 활용되는 반복되는 복도 공간에 실험 환경을 구성하였다. 마커 인식을 위한 인식기로 Stargazer를 사용하였으며 인식기의 이동을 위해 Turtlebot3에 부착하여 0.1m/s의 속도로 로봇의 이동 경로가 가장 긴 마커 ID 0→1→2→3→⋯→7→8→9로 이동하였다[14]. 또한 마커 0을 기준 마커Mref로 두었으며 절대 위치는 (0, 0)으로 설정하였다. 마커를 계측은 10Hz로 측정한다.

[Fig. 8]

Experimental environment configuration

4.1 고정된 마커의 절대 위치 추정

제안하는 방법의 마커의 절대 위치를 측정 결과를 확인하기 위해 부착된 마커의 위치를 실제 계측하고, 제안하는 방법의 결과와 비교하였다. [Table 1]은 부착 된 마커 실험 환경에서 마커들의 절대 위치 추정 알고리즘을 통한 마커의 전역 좌표를 나타낸다. 인식기는 실험 환경 설정의 경로를 3회 반복하여 이동하였다. 전역 위치인식 결과 최대 오차는 6.63 cm 최소 오차는 0.49 cm로 마커의 위치를 추정한다.

Result of position estimation using proposed method

4.2 이동된 마커의 위치 추정

제안하는 시스템은 [Fig. 1]과 같이 마커의 위치 변동이 빈번하게 일어나거나, 공간의 확장에 따른 마커를 추가적으로 사용하는 환경에 적용하는 것을 목표로 한다. 따라서 마커의 이동과 신규 마커가 추가 되는 경우 제안하는 시스템이 마커의 절대 위치 추정하는 것을 확인하였다.

[Fig. 9]는 마커 이동에 대한 추정을 수행하기 위해 마커4와 마커5의 위치 변경이다. 마커 4는 전역 좌표계 (0, 360)에서 (60, 420)로 변경하였으며, 마커 5는 (180, 300)에서 (180, 360)으로 변경하였다. 마커의 위치를 변경한 후 마커의 동일한 이동 경로로 마커를 계측하고 절대 위치를 추정하였다.

[Fig. 9]

Position change of marker 4 and 5

[Table 2]는 마커 3, 4를 이동한 후 추가적으로 인식기를 동일한 경로로 1회 이동하였을 때 절대 위치 추정 결과이다. 마커 3, 4가 [Fig. 8]과 같이 이동하였을 때, 0.21, 2.42 cm의 오차로 이동된 마커의 절대 위치를 추정하는 것을 확인하였다.

Result of position estimation after changing marker’s position using proposed system

4.3 신규 마커 위치 추정

마커를 이용하여 로봇의 서비스 환경을 가상 환경으로 구성할 때 환경 내에 새로운 마커들을 추가하게 되면, 기존 인식된 마커 외에 신규 마커의 위치를 인식해야 한다. 제안하는 시스템의 신규 마커에 대한 인식을 확인하기 위해 [Fig. 10]과 같이 두 개의 마커를 마커 8과 9 뒤로 추가로 부착하고 동일 경로로 이동하여 마커의 절대 위치를 추정하였다.

[Fig. 10]

Marker position after adding marker 10 and 11

로봇의 서비스 환경을 가상 환경으로 구성할 때 기존 인식된 마커 외에 신규 마커의 위치를 인식해야할 필요가 있다. 제안하는 시스템의 신규 마커에 대한 인식 기능을 검증하기 위해 [Fig. 10]과 같이 두 개의 마커를 마커 8과 9 뒤로 추가로 부착하고 동일 경로로 이동하여 마커의 절대 위치를 추정하였다.

[Table 3]는 신규 마커 10과 11이 추가로 부착하고 추가적으로 인식기를 동일한 경로로 1회 이동하였을 때의 절대 위치 추정 결과이다. 제안하는 시스템이 기존 마커 ID 1~9의 절대 위치를 갱신하고 또한 신규 마커 10과 11의 절대 위치가 추가적으로 추정되는 것을 확인하였다.

Result of position estimation after adding marker’s position


5. 결론 및 향후연구

본 논문에서는 실제 환경의 물체에 부착된 마커를 이용하여 가상 환경을 동일하게 생성하는 시스템을 개발하기 위해, 마커의 위치 변화와 신규 마커의 추가 상황을 고려한 마커의 절대 위치 추적 방법을 제안하였다. 제안하는 시스템은 인식된 마커들과 대표 마커와의 상대 위치 벡터를 계산하고, 하나의 기준 마커를 이용하여 모든 마커에 대한 절대 위치를 계산하였다. 제안하는 시스템의 유용성을 확인하기 위해 12개의 Stargazer마커를 이용하여 환경을 구성하고 마커 위치 변경, 신규 마커 추가 상황에서도 절대 위치가 추종되는 것을 확인하였다.

향후에는 제안 하는 시스템의 전제인 기준 마커로부터 출발 및 마커가 인식되지 않는 곳에서 대응하는 방법을 개발해야하며, 실제 환경에서 로봇의 움직임을 통한 다양한 이동 경로에 대한 실험이 필요하다 . 또한 마커 위치에 대한 그래프 기반의 절대 위치 관리 기법 및 마커의 오차를 줄이기 위한 칼만 필터와 같은 다양한 확률적 필터링 방법에 대한 연구가 추가적으로 진행되어야 한다.

Acknowledgments

This material is based upon work supported by the Ministry of Trade, Industry & Energy (MOTIE, Korea) under Industrial Technology Innovation Program. No.10067169, ‘Development of Disaster Response Robot System for Lifesaving and Supporting Fire Fighters at Complex Disaster Environment’

References

  • Y.-J. Han and T.-H. Park, “Localization of a mobile robot using multiple ceilng lights,” Journal of Institute of Control, Robotics and Systems, vol. 19, no. 4, pp. 379-384, 2013. [https://doi.org/10.5302/J.ICROS.2013.13.1863]
  • B. Hofmann-Wellenhof, B. Lichtenegger, and J. Colins, “Global p ositioning System: Theory and practice,” Global Positioning System, Springer-Verlag Wien, 2013. [https://doi.org/10.1007/978-3-7091-6199-9]
  • R. Mur-Artal and J. D. Tardós, “ORB-SLAM2: An open-source SLAM system for monocular, stereo and RGB-D cameras,” IEEE Transaction on. Robotics. vol. 33, no. 5, pp. 1255-1262, Oct., 2017. [https://doi.org/10.1109/TRO.2017.2705103]
  • X. Gao, R. Wang, N. Demmel, and D. Cremers, “LDSO: Direct sparse odometry with loop closure,” 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, pp. 2198-2204, 2018. [https://doi.org/10.1109/IROS.2018.8593376]
  • M. Fiala, “Designing highly reliable fiducial markers,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 32, no. 7, pp. 1317-1324, Jul., 2010. [https://doi.org/10.1109/TPAMI.2009.146]
  • E.-H. Lee, Y. Lee, J. Choi, and S. Lee, “Study of marker detection performance on deep learning via distortion and rotation augmentation of training data on underwater sonar image,” Journal of Korea Robotics Society, vol.14, no.1, pp. 14-21, Mar., 2019. [https://doi.org/10.7746/jkros.2019.14.1.014]
  • J. Cho, S. S. Kang, and K. K. Kim, “Object Recognition and Pose Estimation Based on Deep Learning for Visual Servoing,” Journal of Korea Robotics Society, vol. 14, no. 1, pp. 14-21, Mar., 2019. [https://doi.org/10.7746/jkros.2019.14.1.001]
  • W.-W. Lee and W.-T. Woo, “Rectangular marker recognition using embedded context information,” The HCI Society of Korea 2009, pp. 74-79, 2009, [Online], https://www.koreascience.or.kr/article/CFKO200925752343977.page, .
  • B. M. Ahn, Y.-H Ko, and J. H. Lee, “Indoor location and pose estimation algorithm using artificial attached marker,” Journal of Korea Multimedia Society, vol. 19, no.2, pp. 240-251, 2016. [https://doi.org/10.9717/kmms.2016.19.2.240]
  • H. Zhang, C. Zhang, W. Yang, and C.-Y. Chen, “Localization and navigation using QR code for mobile robot in indoor environment,” 2015 IEEE International Conference on Robotics and Biomimetics (ROBIO), Zhuhai, China, pp. 2501-2506, 2015. [https://doi.org/10.1109/ROBIO.2015.7419715]
  • M. F. Sani and G. Karimian, “Automatic navigation and landing of an indoor AR. drone quadrotor using ArUco marker and inertial sensors,” 2017 International Conference on Computer and Drone Applications (IConDA), Kuching, Malaysia, pp. 102-107, 2017. [https://doi.org/10.1109/ICONDA.2017.8270408]
  • L. Cheng, C.-D. Wu, and Y.-Z. Zhang, “Indoor robot localization based on wireless sensor networks,” IEEE Transactions on Consumer Electronics, vol. 57, no. 3, pp. 1099-1104, 2011. [https://doi.org/10.1109/TCE.2011.6018861]
  • A. A. Abdulla, H. Liu, N. Stoll, and K. Thurow, “Multi-floor navigation method for mobile robot transportation based on StarGazer sensors in life science automation,” 2015 IEEE International Instrumentation and Measurement Technology Conference (I2MTC), Pisa, Italy, pp. 428-433, 2015. [https://doi.org/10.1109/I2MTC.2015.7151306]
  • R. Amsters and P. Slaets, “Turtlebot 3 as a Robotics Education Platform,” International Conference on Robotics in Education (RiE), pp. 170-181, 2017. [https://doi.org/10.1007/978-3-030-26945-6_16]
양 견 모

2011 세종대 디지털콘텐츠 학과(학사)

2014 연세대 컴퓨터과학(석사)

2018~현재 한국로봇융합연구원 주임연구원

관심분야: 인공지능, 지식추론, 상황인식

곽 동 기

2015 서울과학기술대학교 기계시스템디자인공학(학사)

2017 서울과학기술대학교 기계시스템디자인 공학(석사)

2019~현재 한국로봇융합연구원 주임연구원

관심분야: 지능로봇제어, 영상처리

한 종 부

2009 충남대 메카트로닉스공학(학사)

2011 충남대 메카트로닉스공학(석사)

2018 충남대 메카트로닉스공학(박사)

2018~2020.06 한국로봇융합연구원 선임연구원

2020.07~현재 선박해양플랜트연구소 선임연구원

관심분야: 다물체동역학, 유연체동역학, 자율주행로봇

함 제 훈

2008 서울과학기술대학교 전기공학과(학사)

2010 연세대학교 전기공학과(석사)

2016 연세대학교 전기공학과(박사)

2016~현재 한국로봇융합연구원 선임연구원

관심분야: 지능 제어, 자율 주행 로봇

서 갑 호

1999 고려대학교 전기공학과(학사)

2001 한국과학기술원 전기공학과(석사)

2009 한국과학기술원 전기공학과(박사)

2009~현재 한국로봇융합연구원 책임연구원

2020~현재 포항공과대학교 기계공학과 겸직교수

관심분야: 지능 제어, 임베디드 시스템, 영상처리

[Fig. 1]

[Fig. 1]
Example of generation object in virtual environment based on marker position

[Fig. 2]

[Fig. 2]
Concept of localization algorithm using marker

[Fig. 3]

[Fig. 3]
General workflow of proposed method for marker’s position estimation

[Fig. 4]

[Fig. 4]
Calculation of relative distance among markers

[Fig. 5]

[Fig. 5]
Global position estimation of marker according to changes in measurement range

[Fig. 6]

[Fig. 6]
Problem of using average filter from changing marker’s position

[Fig. 7]

[Fig. 7]
Flow chart for updating marker’s position

[Fig. 8]

[Fig. 8]
Experimental environment configuration

[Fig. 9]

[Fig. 9]
Position change of marker 4 and 5

[Fig. 10]

[Fig. 10]
Marker position after adding marker 10 and 11

[Algorithm 1]

Selecting representative marker

Input: Set of marker {m1, m2, ...,mn}∈Mde tect, Mref
Output: Representative marker mrep
i←1, d←0
1: While in do
2: if (mi = Mref ) then mrepmi
3: if (Mrefi (x) & Mrefi (y) ≠ ∅) then
4: if(i=1) then
5: d←distance of(Mref1 ,Mref)
6: mrepm1
7: if(i≠1)
8: if(ddistance of(Mrefi ,Mref)) then
9: mrepmi
10: ii+1
11: return mrep

[Table 1]

Result of position estimation using proposed method

Marker
ID
Reference position (x,y) Estimation result (x,y) Error
(cm)
0 (0, 0) (0, 0) 0
1 (180, 0) (182.85, -1.23) 3.11
2 (0, 180) (0.47, 180.15) 0.49
3 (180, 180) (182.51, 178.39) 2.98
4 (0, 360) (0.91, 363.81) 3.92
5 (180, 360) (183.42, 362.9) 4.48
6 (0, 540) (2.34, 544) 4.63
7 (180, 540) (184.99, 542.22) 5.46
8 (0, 720) (3.13, 725.85) 6.63
9 (180, 720) (180.83, 726.55) 6.60

[Table 2]

Result of position estimation after changing marker’s position using proposed system

Marker
ID
Reference position (x,y) Estimation result (x,y) Error
(cm)
Previous 3 (180, 180) (180.37, 178.82) 1.24
Previous 4 (0, 360) (0.93, 361.21) 1.53
Current3 (0, 180) (0.00, 180.21) 0.21
Current4 (180, 300) (182.28, 299.17) 2.42

[Table 3]

Result of position estimation after adding marker’s position

Marker
ID
Reference position (x,y) Estimation result (x,y) Error
(cm)
0 (0, 0) (0, 0) 0
1 (180, 0) (181.83, 0.50) 1.9
2 (0, 180) (1.17, 180.12) 1.18
3 (180, 180) (180.37, 178.82) 1.24
4 (0, 360) (0.93, 361.21) 1.53
5 (180, 360) (180.34, 362.91) 2.93
6 (0, 540) (2.59, 541.83) 3.17
7 (180, 540) (182.21, 540.79) 2.34
8 (0, 720) (3.51, 723.46) 4.93
9 (180, 720) (182.07, 722.39) 2.39
10 (0, 900) (4.54, 903.89) 5.97
11 (180, 900) (185.75, 903.34) 6.49