Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 21, No. 3, pp.409-417
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date 31 Aug 2026
Received 06 Apr 2026 Revised 09 Jul 2026 Accepted 10 Jul 2026
DOI: https://doi.org/10.7746/jkros.2026.21.3.409

로봇 주행 허용 영역 판단 효율화를 위한 국소 지오펜스 시스템 개발

구재완1 ; 양견모1 ; 박상현2 ; 서갑호†
Development of a Local Geofence System for Efficient Operational Area Determination in Robot Navigation
Jaewan Koo1 ; Kyon-Mo Yang1 ; Sanghyeon Park2 ; Kap-Ho Seo†
1Senior Researcher, Korea Institute of Robotics & Technology Convergence (KIRO), Pohang, Korea jwkoo3236@kiro.re.krkmyang@kiro.re.kr
2Assistant Manager, Daedong Robotics, Seoul, Korea parksanghyeon@daedong.co.kr

Correspondence to: †Chief Researcher, Corresponding author: Korea Institute of Robotics & Technology Convergence (KIRO), Pohang, Korea ( neoworld@kiro.re.kr)

CopyrightⓒKROS

Abstract

Recently, autonomous mobile robots have been widely adopted across various industrial fields, including transportation, logistics, agriculture, and construction, and the importance of geofence-based safety control for distinguishing operational and restricted areas has increased in unstructured environments. However, conventional global geofence-based methods continuously determine whether the robot position lies inside the predefined area using all boundary information of the entire workspace. As a result, unnecessary points and boundary data are also processed, which increases data complexity and computational burden. To address this limitation, this study proposes a local geofence-based position determination method that selectively uses only a subset of boundary points around the robot while preserving the global geofence. The proposed method extracts only the boundary points required for position determination based on the current robot location and dynamically adjusts the number of points used according to the geometric characteristics of the driving environment, such as straight and curved sections. Experimental results show that, while the global geofence consisted of 147 points in total, the proposed method required only 8.7 points on average for position determination, using about 5 points in simple sections and about 13 points in complex sections. These results demonstrate a reduction of more than 91% in the number of points used and verify that the proposed method significantly improves the computational efficiency of position determination while maintaining the same geofence shape.

Keywords:

Geofence, Local Geofence, Unstructured Environment, Operational Area Determination

1. 서 론

최근 자율주행 로봇은 운송, 물류, 농업, 건설 등 다양한 산업 분야에서 활용되고 있으며, 특히 도심지와 같은 비정형 환경에서는 반복 작업의 자동화를 위한 자율주행 작업 시스템의 수요가 증가하고 있다[1,2]. 이러한 비정형 환경에서는 작업 가능 영역, 접근 제한 영역, 위험 구역을 명확히 구분하여 로봇의 운용 범위를 관리할 필요가 있으며, 사람과 로봇이 협업하는 경우에는 이러한 공간 기반 안전 관리의 중요성이 더욱 커진다. 이를 해결하기 위해 지오펜스(Geofence) 기반의 운용 영역 설정 및 안전 제어 기술이 사용되어 왔다[3,4].

지오펜스는 로봇이 이동할 수 있는 허용 영역과 제한 영역을 공간적으로 정의하고, 설정된 영역을 기준으로 로봇의 주행을 제한하거나 제어하는 안전 기술이다. 이를 위해서 지도상의 웨이포인트와 링크 정보를 기반으로 주행 가능 구간의 경계를 폴리곤 형태로 설정하여 지오펜스 영역을 정의한다. 이후 로봇은 사전에 생성된 지오펜스를 주행 지도와 함께 적용하고, 주행 중 추정된 로봇 위치가 설정된 영역 내에 포함되는지를 지속적으로 판단하여, 영역 이탈 시 정지와 같은 안전 제어를 수행한다.

그러나 기존 전체 작업 환경을 포괄하는 지오펜스정보를 기준으로 안전 제어를 수행하는 방식은 몇 가지 한계를 가진다. 첫째, 전체 맵 영역을 포함하는 전역 지오펜스는 실제 주행에 필요하지 않은 영역까지 함께 포함하므로 불필요한 포인트와 경계 정보가 증가하고, 비정형 환경에서는 이러한 지오펜스 형상이 더욱 복잡해져 데이터 관리 및 포함 여부 판단에 필요한 연산 부담이 커진다[5-7]. 둘째, 로봇이 실제로 이동하지 않는 영역에 대해서도 지속적으로 포함 여부를 판단해야 하므로 비효율적인 연산이 반복적으로 수행된다[8,9].

이러한 문제를 해결하기 위해 본 연구에서는 로봇 위치 정보를 기반으로 로봇 주변의 국소 영역에 포함되는 지오펜스만을 선택적으로 활용하는 국소 지오펜스 기반 주행 허용 영역 판단 방법을 제안한다. 제안한 방법은 전체 작업 환경에 포함된 모든 지오펜스를 대상으로 포함 여부를 판단하는 기존 방식과 달리, 로봇의 현재 위치를 기준으로 일정 범위 내에 존재하는 지오펜스만을 연산 대상으로 제한함으로써 전체 영역을 일괄적으로 다루는 방식에 비해 데이터 처리량과 연산 부담을 효과적으로 줄일 수 있다. 제안하는 방법의 효율성을 정량적으로 평가하기 위해 연산에 포함되는 지오펜스의 꼭지점수를 비교 지표로 설정하고, 시뮬레이션 환경 및 실제 수집 데이터를 기반으로 성능을 평가하였다. 실험 결과, 제안한 방법은 기존 전체 지오펜스 기반 방식에 비해 더 적은 지오펜스의 영역 정보 만으로도 주행에 필요한 영역 판단을 수행할 수 있음을 확인하였다. 본 논문의 기여점은 다음과 같다.

  • ⋅로봇의 현재 위치를 기준으로 주변의 국소 영역에 포함되는 지오펜스만을 선택적으로 활용하는 주행 허용 영역 판단 방법을 제안
  • ⋅실제 주행과 관련된 지오펜스만을 연산 대상으로 제한함으로써 데이터 복잡도와 연산 부담을 줄일 수 있는 효율적인 영역 판단 구조를 제시
  • ⋅연산 대상 지오펜스를 구성하는 꼭지점수 기반의 정량 비교를 통해 제안한 방법의 효율성을 기존 전체 지오펜스 방식과 비교 검증

본 논문의 구성은 다음과 같다. 2장에서는 로봇 위치 기반 국소 지오펜스 생성 알고리즘의 구조와 생성 과정을 설명하고, 3장에서는 전역 지오펜스와 제안하는 국소 지오펜스의 꼭지점 수와 연산량을 비교하여 성능을 분석한다. 마지막으로 4장에서는 결론 및 향후 연구 방향을 제시한다.


2. 국소 지오펜스기반 운행영역 판단 시스템

본 장에서는 먼저 기존 전역 방식과 제안 방식의 개념적 차이를 설명하고, 이후 국소 지오펜스의 생성 과정과 이를 이용한 In/Out 판단 절차를 순차적으로 설명한다.

2.1 로봇 위치 기반 국소 지오펜스 선택 시스템

[Fig. 1]은 제안하는 국소 지오펜스기반 운영영역 판단 시스템의 개념도이다. 먼저 기존 시스템과 동일하게 로봇이 주행하기 위해 정의된 웨이포인트와 링크를 기반으로 일정 영역에 대한 전역 지오펜스를 생성한다[2]. 전역 지오펜스의 생성 과정은 본 논문의 주요 연구 범위가 아니므로, 이에 대한 상세한 설명은 생략한다. 다음으로 정의된 전역 지오펜스를 기반으로 로봇의 현재 위치 주변에서 필요한 지오펜스만을 선택하는 국소 지오펜스 설정 과정을 수행한다. 국소 지오펜스 선택 과정은 크게 두 단계로 구성된다. 첫 번째 단계는 로봇 위치를 기준으로 국소 영역을 정의하는 과정이며, 두 번째 단계는 정의된 국소 영역을 구성하는 점들을 이용하여 해당 영역과 관련된 지오펜스를 선택한다.

[Fig. 1]

Global Geofence-Based Local Geofence Creation Process

로봇 위치를 기준으로 국소 영역을 정의하는 과정에서는 [Fig. 1]의 하단 좌측과 같이 로봇의 현재 위치를 중심으로 일정 반경을 가지는 원형 국소 영역을 설정한다. 이 영역은 로봇 주변의 공간적 범위를 제한하기 위한 기준으로 사용되며, 이후 지오펜스 선택의 기준 영역으로 활용된다. 탐색 반경 r은 로봇의 주행 속도, 국소 지오펜스 갱신 주기, 위치 추정 오차 및 경로 형상 변화 등을 고려하여 설정되는 파라미터이며, 구체적인 선정 과정과 성능 비교 결과는 3.1절에서 제시한다. [Fig. 1]의 하단 우측과 같이 실제 지오펜스 내부 영역을 구분할 때에는 정의된 원형 국소 영역의 둘레를 일정 간격으로 샘플링하여 복수의 점 집합으로 표현한 후, 각 점이 지오펜스 폴리곤 내부에 포함되는지를 검사하는 방식으로 수행된다. 샘플링 간격 Δs는 원형 국소 영역 경계 상의 샘플 포인트 밀도를 결정하는 파라미터로, 국소 영역 내부 경계 형상을 보완하기 위해 사용된다. Δs의 상세 역할과 최종 선정 기준은 3.1절에서 함께 분석하였다.

본 시스템에서 전역 지오펜스는 웨이포인트 외곽 기준으로 생성되므로, 내부 중심 영역에는 직접적인 경계 꼭지점이 존재하지 않는 구간이 발생할 수 있다. 이 경우 원형 국소 영역과 전역 지오펜스 경계 간의 교차점만으로는 폐곡선 형태의 국소 지오펜스를 구성하기 어렵다. 따라서 원형 국소 영역 경계를 일정 각도 간격으로 샘플링하여 추가 경계점을 생성하고, 이를 이용하여 내부 국소 경계를 보완한다. 생성된 국소 영역 경계 점들 중 하나 이상이 특정 지오펜스 폴리곤 내부에 포함되는 경우, 해당 지오펜스를 로봇 주변의 국소 지오펜스로 선택하여 국소 지오펜스 집합을 구성한다. 이 과정에서는 전체 지오펜스 중 로봇의 주행에 직접적인 영향을 미치는 폴리곤만을 선별하게 되며, 로봇과 무관한 영역의 지오펜스는 연산 대상에서 제외된다.

[Algorithm 1]은 전체 지오펜스 집합으로부터 로봇 주변의 국소 지오펜스를 선택하는 과정을 나타낸다. 입력은 전체 지오펜스 집합 G, 로봇 위치 p_r, 탐색 반경 r, 그리고 샘플링 간격 Δs이며, 출력은 로봇 주변과 공간적으로 관련된 국소 지오펜스 집합 G_local이다. 먼저 로봇 위치를 중심으로 반경 r의 원형 국소 영역을 생성하고, 그 경계를 일정 간격으로 샘플링하여 점 집합 S_local을 구성한다. 이후 전체 지오펜스 집합 G의 각 폴리곤 P_i에 대해, S_local의 샘플 점이 해당 폴리곤 내부에 포함되는지를 순차적으로 검사한다. 이때 하나 이상의 점이 폴리곤 내부에 포함되면 해당 폴리곤을 국소 지오펜스로 간주하여 G_local에 추가한다. 이러한 과정을 모든 지오펜스에 대해 반복한 뒤, 최종적으로 선택된 국소 지오펜스 집합 G_local을 반환한다.

Local Geofence Selection

2.2 주행 허용 영역 판단 및 복잡도 분석

본 절에서는 전체 지오펜스 기반 판단 방식과 제안하는 국소 지오펜스 기반 판단 방식을 비교하고, 두 방법의 연산 구조 차이를 통해 복잡도를 분석한다.

[Fig. 2]은 기존 전체 지오펜스 기반 판단 방식과 국소 지오펜스 기반 판단 방식을 비교하여 나타낸 것이다. 좌측은 전체 지오펜스를 대상으로 포함 여부를 판단하는 기존 방식을 나타내며, 우측은 로봇 중심의 반경 R 내에 포함되는 국소 영역만을 활용하여 판단을 수행하는 제안 방식을 나타낸다. 기존의 전체 지오펜스 기반 판단 방식에서는 지오펜스를 구성하는 모든 꼭지점과 선분을 대상으로 로봇 위치의 포함 여부를 검사한다. 이때 내부 지오펜스와 외부 지오펜스를 모두 고려하여, 로봇 위치가 내부 지오펜스에 포함되면서 동시에 외부 지오펜스에는 포함되지 않는 경우를 주행 가능 상태로 판단한다. 이러한 과정에서는 전체 지오펜스에 포함된 모든 꼭지점과 선분에 대해 반복적인 포함 여부 판단이 수행된다.

[Fig. 2]

Comparison between global and local geofence-based in/out decision

반면, 제안하는 국소 지오펜스 기반 판단 방식에서는 2.1절에서 설명한 방식으로 생성된 국소 지오펜스의 꼭지점만을 이용하여 로봇 위치의 포함 여부를 판단한다. 즉, 전체 지오펜스의 꼭지점 집합 V 대신, 로봇 위치를 중심으로 반경 R 내에서 선택 및 재구성된 국소 지오펜스 꼭지점 집합 VR을 입력으로 사용하여 [Algorithm 2]와 동일한 방식으로 In/Out 판단을 수행한다. 두 방식의 차이는 복잡도 측면에서 명확하게 나타난다. 전체 지오펜스를 구성하는 꼭지점의 개수를 V라 할 때, 전체 지오펜스 기반 판단 방식에서는 모든 꼭지점과 선분에 대해 포함 여부 판단이 수행되므로 복잡도는 다음과 같이 표현된다.

Tglobal=O(V)(1) 

In/Out Determination based on Geofence

반면, 국소 지오펜스 기반 판단 방식에서는 반경 R 내에서 선택된 꼭지점의 개수를 VR라 할 때, 선택된 꼭지점과 이에 대응하는 선분에 대해서만 판단이 수행되므로 복잡도는 다음과 같이 표현된다.

Tinout=O(VR)(2) 

그러나 제안 방식은 포함 여부 판단 이전에 [Algorithm 1]의 국소 지오펜스 선택 과정이 선행된다. 따라서 전체 처리 시간은 국소 지오펜스 선택 시간과 포함 여부 판단 시간을 합한 형태로 표현할 수 있다.

Tlocal=Tselection+Tinout(3) 

여기서 Tselection은 전체 지오펜스 집합 G에 대해 로봇 주변 국소 영역과 관련된 지오펜스를 선택하는 시간이며, Tinout은 선택된 국소 지오펜스를 대상으로 수행되는 포함 여부 판단 시간이다. 국소 지오펜스 선택 과정에서는 전체 지오펜스 집합 G의 각 폴리곤에 대해 샘플링 점 집합 Slocal의 포함 여부를 검사하므로, 선택 과정의 복잡도는 다음과 같이 근사할 수 있다.

Tselection≈O(|G|×|Slocal|)(4) 

따라서 제안 방식의 전체 복잡도는 다음과 같이 표현된다.

Tlocal≈O(|G|×|Slocal|+VR)(5) 

일반적으로 VR ≪ V이며, |Slocal|은 탐색 반경 r과 샘플링 간격 Δs에 의해 제한되는 비교적 작은 값으로 유지된다. 따라서 국소 지오펜스 선택 단계의 추가 연산이 존재하더라도, 이후 포함 여부 판단 단계에서 처리해야 하는 꼭지점 수가 크게 감소하므로 전체 처리 시간은 기존 전역 지오펜스 방식보다 감소하게 된다. 즉, 기존 방식은 전체 지오펜스를 매 주기마다 직접 판단하는 구조인 반면, 제안 방식은 국소 지오펜스 선택 후 축소된 경계에 대해서만 판단을 수행하므로 실제 주행 환경에서 보다 효율적인 연산 구조를 가진다.


3. 실험 및 결과

3.1 시뮬레이션 기반 성능 평가

본 연구에서는 제안하는 국소 지오펜스 기반 주행 허용 영역 판단 방법의 성능을 검증하기 위해 시뮬레이션 환경을 구축하였다. 실험 지도는 웨이포인트 기반 주행 경로를 바탕으로 생성되었으며, 이를 기준으로 전체 지오펜스를 구성하였다. [Fig. 3]은 시뮬레이션 환경에서 생성된 전체 지오펜스를 나타낸다. 생성된 지오펜스는 직선 구간과 곡선 구간이 반복되는 하나의 연속된 폴리곤 형태로 구성되며, 총 3,460개의 꼭지점을 가진다. 기존 전역 지오펜스 기반 방식에서는 주행 허용 영역 판단 시 모든 꼭지점과 선분에 대해 포함 여부를 반복적으로 검사해야 하므로 연산량이 크다. 제안하는 국소 지오펜스 방식의 성능은 탐색 반경 r과 샘플링 간격 Δs에 직접적인 영향을 받는다. 따라서 본 성능 비교에 앞서, 두 파라미터 변화에 따른 민감도 분석을 수행하였다.

[Fig. 3]

Result of Global Geofence Generation

[Fig. 4]는 시뮬레이션 환경에서 탐색 반경 r과 샘플링 간격 Δs 변화에 따른 국소 지오펜스 생성 결과를 나타낸다. [Fig. 4(a)]는 샘플링 간격을 Δs = 20°로 고정한 상태에서 탐색 반경 r을 5 m, 10 m, 15 m로 변화시킨 결과이다. 탐색 반경이 증가함에 따라 선택된 경계 꼭지점 수는 각각 15개, 21개, 44개로 증가하였다. 이는 탐색 반경이 넓어질수록 로봇 주변에서 포함되는 전역 지오펜스 경계 구간이 증가하기 때문이다. 반면, r = 5 m의 경우 연산량 측면에서는 유리하나 로봇 이동 중 경로 변화 및 위치 오차에 대응할 수 있는 공간적 여유가 상대적으로 작다. r = 15 m의 경우 충분한 탐색 범위를 확보할 수 있으나 선택 꼭지점 수가 크게 증가하여 연산 효율성이 저하된다. 실험에 사용된 자율주행 로봇의 최대 주행 속도는 약 2.1 km/h(약 0.58 m/s)이며, 국소 지오펜스는 주행 중 반복적으로 갱신된다. 따라서 탐색 반경은 갱신 주기 동안 로봇 이동 거리보다 충분히 큰 값으로 설정될 필요가 있다. 본 연구에서는 실제 주행 속도와 경로 형상 변화, 위치 오차에 대한 여유를 종합적으로 고려하여 r = 10 m를 최종 선정하였다.

[Fig. 4]

Parameter sensitivity analysis of the proposed local geofence method in simulation

[Fig. 4(b)]는 탐색 반경을 r = 10 m로 고정한 상태에서 샘플링 간격 Δs를 10°, 20°, 30°로 변화시킨 결과이다. 선택된 경계 꼭지점 수는 각각 23개, 21개, 21개로 큰 차이를 보이지 않았다. 이는 Δs가 탐색 범위를 결정하는 파라미터가 아니라, 전역 지오펜스 내부 구간의 경계 형상을 보완하기 위한 샘플링 파라미터이기 때문이다. 본 시스템에서 전역 지오펜스는 웨이포인트 외곽 약 2 m 기준으로 생성되므로, 내부 중심 영역에는 직접적인 경계 꼭지점이 존재하지 않는 구간이 발생할 수 있다. 이 경우 원형 국소 영역과 전역 지오펜스 경계 간의 교차점만으로는 폐곡선 형태의 국소 지오펜스를 구성하기 어렵다. 따라서 원형 국소 영역 경계를 일정 각도 간격으로 샘플링하여 추가 꼭지점을 생성하고, 이를 이용하여 내부 국소 경계를 보완하였다. Δs = 10°는 조밀한 샘플링이 가능하나 추가 점 수 증가에 따른 불필요한 연산이 발생하였으며, Δs = 30°는 점 수는 유사하나 일부 곡선 구간에서 경계 표현이 상대적으로 거칠게 나타났다. 따라서 본 연구에서는 경계 형상 유지와 연산 효율을 종합적으로 고려하여 Δs = 20°를 최종 선정하였다. 따라서 이후의 국소 지오펜스 성능 평가는 r = 10 m 및 Δs = 20° 조건을 기준으로 수행하였다.

[Fig. 5]는 제안하는 국소 지오펜스 생성 결과를 나타낸다. [Fig. 5(a)]는 로봇이 직선 구간에 위치한 경우이며, 국소 영역 내에 포함되는 꼭지점 수는 약 16개로 나타났다. [Fig. 5(b)]는 곡선 구간에 위치한 경우이며, 약 11개의 꼭지점이 선택되었다. 이는 로봇 위치 및 경로 형상에 따라 선택되는 꼭지점 수가 동적으로 변화함을 보여준다.

[Fig. 5]

Result of Local Geofence Generation

[Table 1]은 전체 지오펜스 기반 방식과 제안하는 국소 지오펜스 기반 방식의 복잡도 및 연산 특성을 비교한 결과를 나타낸다. 전체 지오펜스는 총 3,460개의 꼭지점으로 구성되며, 주행 허용 영역 판단 시 모든 꼭지점과 선분을 대상으로 연산이 수행된다. 반면, 국소 지오펜스 기반 방식에서는 로봇 위치를 중심으로 반경 R 내에 포함되는 일부 꼭지점만을 선택하여 판단을 수행하며, 선택되는 꼭지점의 수는 최소 5개에서 최대 16개, 평균 약 11.7개로 나타났다. 이를 전체 지오펜스와 비교하면, 국소 지오펜스 기반 방식은 평균적으로 약 99.66%의 데이터 감소 효과를 보이며, 최악의 경우에도 약 99.54%, 최선의 경우 약 99.86% 수준의 감소율을 나타낸다. 또한, 지오펜스 내부·외부(In/Out) 판단 연산은 처리 대상이 되는 꼭지점 수에 영향을 받기 때문에, 꼭지점 수 감소는 처리 시간 감소로 이어질 수 있다.

Geofence Complexity and Runtime Comparison (simulation)

처리 시간은 시뮬레이션 환경에서 각 웨이포인트 위치에서 측정된 처리 시간을 평균하여 사용였으며, 전역 지오펜스 기반 판단 방식(Global Runtime)과 국소 지오펜스 기반 판단 방식(Local Runtime)을 각각 비교하였다. 실험 결과, 전역 지오펜스 기반 방식의 평균 처리 시간은 3.487 ms로 측정되었으며, 국소 지오펜스 기반 방식의 평균 처리 시간은 0.671 ms로 측정되었다. 또한 최대 처리 시간은 각각 3.997 ms와 0.852 ms로 나타났다. 이를 통해 제안하는 국소 지오펜스 기반 방식은 평균 기준 약 80.8%의 처리 시간 감소 효과를 보였으며, 최대 처리 시간 기준으로도 약 78.7%의 감소 효과를 확인하였다. 이러한 결과는 제안하는 방법이 로봇 주변의 국소 영역에 해당하는 꼭지점과 선분만을 선택적으로 활용함으로써 불필요한 연산을 효과적으로 제거할 수 있음을 보여준다. 또한 이는 2장에서 제시한 시간복잡도 분석과 같이, 전체 지오펜스 기반 방식의 O(V) 연산이 국소 지오펜스 기반 방식의 O(VR) 수준으로 감소함을 실험적으로 검증한 결과이다.

한편, 제안 방식은 포함 여부 판단 이전에 2.1절의 국소 지오펜스 선택 과정이 선행되지만, 선택 이후 처리해야 하는 꼭지점 수가 크게 감소하므로 전체 시스템 관점에서도 연산 부담은 기존 방식보다 현저히 낮다. 즉, 선택 단계의 추가 비용보다 판단 단계에서 감소되는 연산 효과가 더 크게 나타남을 확인하였다. 또한 최대 연산량은 곡선 구간 또는 국소 영역 내 다수의 경계가 포함되는 경우에 발생하며, [Table 1]의 최대 꼭지점 수는 16개로 나타났다. 이는 전체 지오펜스의 3,460개 꼭지점 대비 약 99.54% 감소된 수준으로, worst-case 조건에서도 제안 방식의 연산 효율이 유지됨을 의미한다.

실험에 사용된 자율주행 로봇의 최대 주행 속도는 약 2.1 km/h(약 0.58 m/s)이며, 탐색 반경 10 m 조건에서 국소 지오펜스는 반복적으로 갱신된다. 따라서 로봇이 국소 영역을 완전히 벗어나기까지 충분한 시간적 여유가 확보되므로, 일반적인 주행 환경에서도 실시간 주행 허용 영역 판단에 적용 가능함을 확인하였다.

3.2 도심지 주행 환경 기반 성능 평가

도심지의 실제 주행 환경내의 제안하는 국소 지오펜스 시스템의 성능 평가를 위하여 [Fig. 6]과 같이 (주)대동로보틱스에서 개발한 자율운반로봇 RT100을 실험 플랫폼으로 사용하였다. RT100은 4륜 구동 기반의 자율주행 로봇으로, 비정형 환경에서도 안정적인 주행이 가능하도록 설계된 플랫폼이다.

[Fig. 6]

Autonomous Mobile Platform (RT100)

해당 플랫폼에는 자율주행을 위한 다양한 센서가 탑재되어 있으며, 주요 센서로는 RTK-GNSS 기반의 위치 측정 센서, IMU(Inertial Measurement Unit), 그리고 주변 환경 인식을 위한 카메라 및 LiDAR 센서가 포함된다. RTK-GNSS를 통해 고정밀 위치 정보를 획득하고, IMU를 이용하여 자세 및 방향 정보를 보정하며, 카메라 및 LiDAR를 활용하여 주변 환경 정보를 인식한다. 또한, 본 연구에서는 경로 생성 및 지오펜스 생성을 위해 RTK-GNSS 기반의 위치 데이터를 중심으로 활용하였으며, 주행 중 획득된 GPS 데이터를 기반으로 웨이포인트 및 지오펜스 생성을 수행하였다.

[Fig. 7(a)]은 실험 환경에서 수집된 GPS 데이터와 이를 기반으로 생성된 웨이포인트를 나타낸다. 실험은 약 51,027.8 m2 규모의 영역에서 수행되었으며, 자율주행 로봇을 실제로 주행시켜 GPS 데이터를 수집하였다. 수집된 GPS 데이터는 일정 주기로 기록되었으며, 웨이포인트의 총 개수는 194개이며, 해당 데이터를 기준으로 전역 지오펜스를 [Fig. 7(b)]와 같이 구성하였다. 전역 지오펜스는 경계선을 따라 총 147개의 지오펜스 포인트(geofence point)가 생성되었으며, 이 포인트들을 연결하여 단일 폐곡선 형태의 지오펜스를 구성하였다.

[Fig. 7]

Urban Driving Path and Geofence Configuration

[Fig. 8]는 제안하는 로봇의 위치 기반으로 국소 지오펜스를 생성한 결과 예이다. [Fig. 8(a)]는 웨이포인트 종료 지점에서의 결과를 나타내며, 국소 영역과 전역 지오펜스 경계가 만나는 교점들이 국소 지오펜스 경계로 사용된다. 이 경우 경계 형상이 단순하여 비교적 적은 수의 교점만으로도 국소 지오펜스가 구성된다. [Fig. 8(b)]는 로봇이 전역 지오펜스 내부에 위치한 경우를 나타낸다. 이 경우 국소 영역은 원형 형태로 정의되며, 경계는 일정 각도 간격으로 샘플링된 포인트들로 구성된다. 본 실험에서는 실험적으로 20°의 간격으로 샘플링이 되도록 하였다.

[Fig. 8]

Local geofence generation in various terrain conditions

[Table 2]는 실 주행 데이터를 기반으로 전체 지오펜스 기반 방식과 제안하는 국소 지오펜스 기반 방식의 복잡도 및 연산 특성을 비교한 결과를 나타낸다. 기존 전역 지오펜스 방식은 항상 147개의 지오펜스 포인트를 이용하여 위치 판단을 수행하는 반면, 제안하는 국소 지오펜스 방식은 직선 및 곡선 구간에 따라 5~13개의 포인트만을 사용하였다. 웨이포인트가 끝나는 구간에서는 약 5개의 포인트만으로 국소 지오펜스를 구성할 수 있었으며, 곡선 구간 및 전역 지오펜스 내부 구간에서는 경계 형상을 반영하기 위해 약 13개의 포인트가 사용되었다. 전체적으로 평균 약 8.7개의 포인트가 사용되었으며, 이는 기존 방식 대비 약 91% 이상의 포인트 수 감소에 해당한다. 특히 웨이포인트 끝점 구간에서는 최대 약 96.6%의 감소 효과를 보였으며, 곡선 구간에서도 약 91.16% 수준의 감소가 확인되었다. 이를 통해 제안하는 방법은 경계 형상에 따라 필요한 최소한의 포인트만을 유지하면서도 전체 연산 부담을 효과적으로 줄일 수 있음을 확인하였다.

Geofence Complexity and Runtime Comparison (Real Environment)

또한 실제 주행 환경에서 생성된 대표 웨이포인트 인근 위치를 대상으로 전역 지오펜스 기반 판단 방식(Global Runtime)과 국소 지오펜스 기반 판단 방식(Local Runtime)의 처리 시간을 측정하였다. 측정 결과 전역 지오펜스 기반 방식의 평균 처리 시간은 0.943 ms, 국소 지오펜스 기반 방식의 평균 처리 시간은 0.610 ms로 나타났다. 최대 처리 시간은 각각 0.979 ms와 0.645 ms로 측정되었다. 이를 통해 제안하는 국소 지오펜스 방식은 동일한 위치 판단 기능을 유지하면서도 평균 기준 약 35.3%의 처리 시간 감소 효과를 보였으며, 최대 처리 시간 기준으로도 약 34.1%의 감소 효과를 확인하였다.

전역 지오펜스 방식에서 지오펜스를 구성하는 포인트 수를 N이라 할 때, 위치 판단의 계산량은 일반적으로 O(N)으로 볼 수 있다. 본 실험에서는 N=147이다. 반면 제안하는 국소 지오펜스 방식에서는 로봇 주변의 일부 포인트만을 선택하여 위치 판단을 수행하므로 실제 연산은 선택된 포인트 수 k에 대해 수행되며 계산량은 O(k)로 표현할 수 있다. 본 실험에서는 직선 구간에서 k≈5, 곡선 구간에서 k≈5~13 수준으로 나타났다. 따라서 위치 판단에 사용되는 포인트 수는 평균적으로 전체 방식 대비 약 6% 수준으로 감소하였으며, 이는 위치 판단 과정에서 처리해야 하는 데이터의 양을 크게 줄일 수 있음을 의미한다. 이러한 결과는 제안 방식이 전체 전역 지오펜스를 그대로 사용하는 방식에 비해 위치 판단에 필요한 연산 대상을 N에서 k로 축소함으로써 계산량을 효과적으로 감소시킴을 의미한다. 특히 k≪N 조건이 유지되는 실제 주행 환경에서는 전역 지오펜스의 전체 형상을 유지하면서도 실시간 위치 판단 효율성을 향상시킬 수 있다.

추가적으로, 제안 방식이 기존 전역 지오펜스 기반 판단과 동일한 In/Out 결과를 안정적으로 산출하는지 검증하기 위해 대표 위치 샘플에 대한 판정 일치율 비교 실험을 수행하였다. 실험은 실제 주행 환경에서 생성된 전역 지오펜스 경계 주변을 따라 총 100개의 샘플 위치를 선정하고, 각 위치에 대해 전역 지오펜스 기반 판단 결과와 제안하는 국소 지오펜스 기반 판단 결과를 비교하는 방식으로 수행하였다. [Fig. 9(a)]는 전역 지오펜스 기반 In/Out 판단 결과를 나타내며, [Fig. 9(b)]는 동일 위치에 대한 제안 방식의 판단 결과를 나타낸다. 두 방식의 판정 결과는 모든 샘플 위치에서 동일하게 나타났으며, 불일치 사례는 발생하지 않았다.

[Fig. 9]

Comparison of In/Out Decision Results Between Global and Proposed Local Geofence Methods in Real Driving Environment

[Table 3]은 실제 주행 환경에서 수행한 In/Out 판정 비교 결과를 나타낸다. 내부 및 외부 샘플 각각 50개에 대해 전역 지오펜스 방식과 제안하는 국소 지오펜스 방식 모두 동일한 판정 결과를 나타내었으며, 전체 100개 샘플에 대한 판정 일치율은 100%로 확인되었다. 이를 통해 제안 방식은 전역 지오펜스의 경계 형상을 유지하면서도, 계산량을 감소시키는 동시에 기존 방식과 동일한 주행 허용 영역 판단 성능을 안정적으로 제공할 수 있음을 확인하였다.

Decision Agreement Result (Real Environment)


4. 결론 및 향후연구

본 연구에서는 자율주행 로봇의 위치 판단 효율을 향상시키기 위해, 전역 지오펜스를 그대로 유지하면서 로봇 주변의 일부 경계 포인트만을 선택적으로 활용하는 국소 지오펜스 기반 위치 판단 방법을 제안하였다. 기존 방식은 전체 지오펜스를 구성하는 모든 포인트를 이용하여 내부/외부(In/Out) 판정을 수행함으로써, 작업 영역이 확장될수록 연산량이 증가하는 한계를 가진다. 반면, 제안하는 방법은 로봇의 현재 위치를 기준으로 필요한 경계 포인트만을 선택하여 위치 판단을 수행하며, 직선 및 곡선 구간의 기하학적 특성을 반영하여 사용되는 포인트 수를 동적으로 조절한다.

제안하는 국소 지오펜스 기반 운행영역 판단 시스템의 효율성을 검증하기 위하여 시뮬레이션 환경과 실제 도심 주행 환경에서 생성된 지오펜스 데이터를 이용한 실험을 수행하였다. 실험 결과, 시뮬레이션 환경에서는 전체 지오펜스 대비 평균 약 99.66%의 포인트 감소 효과를 확인하였으며, 실제 환경에서는 91.16%~96.60% 수준의 감소 효과를 확인하였다. 또한 처리 시간 측정 결과, 시뮬레이션 환경에서는 전역 지오펜스 기반 방식 대비 약 80.8%의 처리 시간 감소 효과를 보였으며, 실제 환경에서도 약 35.3%의 처리 시간 감소 효과를 확인하였다. 더불어 전역 지오펜스 기반 방식과 제안하는 국소 지오펜스 기반 방식은 모든 실험 위치에서 동일한 In/Out 판단 결과를 나타내어, 연산 효율 향상과 판단 정확성을 동시에 확보할 수 있음을 확인하였다.

향후 연구에서는 LiDAR 및 카메라 기반 환경 인식 정보를 통합하여 동적 장애물을 고려한 지오펜스 생성 기법으로 확장할 예정이다. 또한 국소 지오펜스 선택 과정에서 경계 곡률 및 로봇 속도를 함께 고려하는 적응형 포인트 선택 알고리즘을 개발하여, 다양한 주행 환경에서 보다 안정적이고 정밀한 위치 판단이 가능하도록 연구를 수행할 예정이다. 나아가 농업, 물류 등 다양한 실환경에 대한 적용 및 장기 실증을 통해 제안 기법의 활용성을 검증할 예정이다.

Acknowledgments

This research was supported in part by the Korea Evaluation Institute of Industrial Technology (20018401), Republic of Korea.

References

  • V. Rondelli, B. Franceschetti, and D. Mengoli, “A review of current and historical research contributions to the development of ground autonomous vehicles for agriculture,” Sustainability, vol. 14, no. 15, 2022. [https://doi.org/10.3390/su14159221]
  • J. Koo, K.-M. Yang, J. Kwak, B.-W. Gam, J. Lee, and K.-H. Seo, “Automatic Waypoint-Based Map Generation Using GPS Trajectory Data,” Journal of Korea Robotics Society, vol. 21, no. 1, 2026. [https://doi.org/10.7746/jkros.2026.21.1.014]
  • A. Alarifi, A. Al-Salman, M. Alsaleh, A. Alnafessah, S. Al-Hadhrami, M. Al-Ammar, and H. Al-Khalifa, “Ultra wideband indoor positioning technologies: Analysis and recent advances,” Sensors, vol. 16, no. 5, May, 2016. [https://doi.org/10.3390/s16050707]
  • F. Zafari, A. Gkelias, and K. K. Leung, “A Survey of Indoor Localization Systems and Technologies,” IEEE Communications Surveys & Tutorials, vol. 21, no. 3, pp. 2568–2599, 2019. [https://doi.org/10.1109/COMST.2019.2911558]
  • M. Hormann and A. Agathos, “The point in polygon problem for arbitrary polygons,” Computational Geometry, vol. 20, no. 3, pp. 131-144, 2018. [https://doi.org/10.1016/S0925-7721(01)00012-8]
  • K.-M. Yang, S. Kim, and K.-H. Seo, “Grid-based 3D point cloud mapping for outdoor robot localization,” The Journal of Korea Robotics Society, vol. 21, no. 1, pp. 1-7, 2026. [https://doi.org/10.7746/jkros.2026.21.1.001]
  • L. Wijayathunga, A. Rassau, and D. Chai, “Challenges and Solutions for Autonomous Ground Robot Scene Understanding and Navigation in Unstructured Outdoor Environments: A Review,” Applied Sciences, vol. 13, no. 17, 2023. [https://doi.org/10.3390/app13179877]
  • W. Peng, L. Chen, X. Ouyang, and W. Xiong, “A Time-Identified R-Tree: A Workload-Controllable Dynamic Spatio-Temporal Index Scheme for Streaming Processing,” ISPRS International Journal of Geo-Information, vol. 13, no. 2, 2024. [https://doi.org/10.3390/ijgi13020049]
  • S. Kim, K.-M. Yang, and K.-H. Seo, “Real-time grid-based 3D point cloud merging for outdoor robot localization,” The Journal of Korea Robotics Society, vol. 21, no. 1, pp. 8-13, 2026. [https://doi.org/10.7746/jkros.2026.21.1.008]
구 재 완

2017 계명대학교 의용공학과(공학사)

2020 경북대학교 기계공학과(공학석사)

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

2024~2026 ㈜ 대동로보틱스 과장

관심분야: 기계설계, 구조해석

양 견 모

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

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

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

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

박 상 현

2020 청주대학교 전자공학과(공학사)

2025~현재 대동 로보틱스 선행연구본부 대리

관심분야: 이동로봇 자율주행

서 갑 호

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

2001 KAIST 전기및전자공학(공학석사)

2009 동대학(공학박사)

2009~현재 한국로봇융합연구원 수석연구원

2021~현재 경북대학교 로봇 및 스마트 시스템 공학과 겸임교수

2024~2026 ㈜대동로보틱스 상무

관심분야: 시스템 제어, 농업로봇, 자율주행

[Fig. 1]

[Fig. 1]
Global Geofence-Based Local Geofence Creation Process

[Fig. 2]

[Fig. 2]
Comparison between global and local geofence-based in/out decision

[Fig. 3]

[Fig. 3]
Result of Global Geofence Generation

[Fig. 4]

[Fig. 4]
Parameter sensitivity analysis of the proposed local geofence method in simulation

[Fig. 5]

[Fig. 5]
Result of Local Geofence Generation

[Fig. 6]

[Fig. 6]
Autonomous Mobile Platform (RT100)

[Fig. 7]

[Fig. 7]
Urban Driving Path and Geofence Configuration

[Fig. 8]

[Fig. 8]
Local geofence generation in various terrain conditions

[Fig. 9]

[Fig. 9]
Comparison of In/Out Decision Results Between Global and Proposed Local Geofence Methods in Real Driving Environment

[Algorithm 1]

Local Geofence Selection

Input : G (global geofence set), p_r (robot position),
r (search radius), Δs (sampling interval)
Output : G_local (Local geofence set)
1. G_local ← ∅
2. C_local ← generate_local_circle(p_r, r)
3. S_local ← sample_points_on_boundary(C_local, Δs)
4. for each P_i ∈ G do
5. for each s_k ∈ S_local do
6. if inside(s_k, P_i) then
7. G_local ← G_local ∪ {P_i}
8. break
9. end if
10. end for
11. end for
12. return G_local

[Algorithm 2]

In/Out Determination based on Geofence

Input : p_r (robot position), V (geofence vertices)
Output : state (inside / outside)
1. inside ← False
2. for each edge formed by consecutive vertices in V do
3. if intersects(ray_from(p_r), edge) then
4. inside ← not inside
5. end if
6. end for
7. return inside if inside = True, otherwise outside

[Table 1]

Geofence Complexity and Runtime Comparison (simulation)

Category Global Local (Reduction Rate, %) Global Runtime (ms) Local Runtime (ms)
Maximum
Vertices
3,460 16.0
(99.54)
3.997 0.852
Minimum
Vertices
3,460 5.0
(99.86)
3.321 0.594
Average
Vertices
3,460 11.7
(99.66)
3.487 0.671

[Table 2]

Geofence Complexity and Runtime Comparison (Real Environment)

Category Global Local (Reduction Rate, %) Global Runtime (ms) Local Runtime (ms)
Maximum
Vertices
147 13.0
(91.16)
0.979 0.645
Minimum
Vertices
147 5.0
(96.60)
0.905 0.575
Average
Vertices
147 8.7
(94.08)
0.943 0.610

[Table 3]

Decision Agreement Result (Real Environment)

Actual State Samples Global Local Match Rate
(%)
In 50 50 50 100
Out 50 50 50 100
Total 100 100 100 100