과수원 환경에서 자율주행로봇을 위한 경로 연속성 기반 GPS오정보 필터링 연구
CopyrightⓒKROS
Abstract
This paper studies a GPS error filtering method that takes into account the continuity of the ongoing path to enhance the safety of autonomous agricultural mobile robots. Real-Time Kinematic Global Positioning System (RTK-GPS) is increasingly utilized for robot position evaluation in outdoor environments due to its significantly higher reliability compared to conventional GPS systems. However, in orchard environments, the robot's current position obtained from RTK-GPS information can become unstable due to unknown disturbances like orchard canopies. This problem can potentially lead to navigation errors and path deviations during the robot's movement. These issues can be resolved by filtering out GPS information that deviates from the continuity of the waypoints traversed, based on the robot's assessment of its current path. The contributions of this paper is as follows. 1) The method based on the previous waypoints of the traveled path to determine the current position and trajectory. 2) GPS filtering method based on deviations from the determined path. 3) Finally, verification of the navigation errors between the method applying the error filter and the method not applying the error filter.
Keywords:
Agricultural Automation, Path Planning, GPS Error Filtering, Continuity of Path1. 서 론
농업 분야에서 고령화 및 농업인 유입 감소로 인해 노동력 확보의 어려움은 중요한 문제이다. 자율 이동 로봇(Autonomous Mobile Robot, AMR)을 이용하여 노동력 확보 또는 농작업을 보조하는 연구가 진행되고 있으며[1-3], 이를 통해 농업 생산성을 극대화하고 생산 비용을 절감하는 노력이 계속되고 있다.
농작업을 보조하는 과정에 투입되는 AMR은 수확 및 이송 과정에 투입되는 경우가 많은데, 이러한 농작업환경에서 작업자가 농기계와 수확물 간 반복 이동을 많이 하게 된다. 본 연구에서는 이송 과정에 적용되는 AMR을 다루고자 한다. 이송 기능의 AMR은 일정 구간을 자율적으로 이동하거나, 작업자를 따라서 이송을 하게 되는 추종 기능을 부여하게 된다. 이를 통해 농기계와 수확물 간에 작업자의 반복 이동을 줄이고자 한다.
자율주행을 하는 이송 로봇은 농업환경에서 지정된 위치로 자율적으로 이동하며 농작업을 보조하게 되는데, 이동해야 하는 환경이 개방된 노지를 주행하는 것이 아니라, 밭의 고랑을 따라서 이동을 하거나, 과수원의 식재가 되지 않은 이동 통로를 따라서 이동하여야 한다. 이는 사용자를 추종하는 과정에서도 마찬가지이다. 이 과정에서 로봇의 위치 및 주행 경로의 인식은 자율주행을 위해서 필수적인 기술이 된다.
로봇의 위치 및 주행 경로를 인식하는 과정에서 GPS (Global Positioning System), 카메라, LiDAR와 같은 센서를 통해 측정된 값에서 위치 정보를 인식하기 위한 방법이 필요하다. 하지만, 카메라 또는 고채널의 LiDAR의 경우, 처리해야 하는 정보가 많으므로, 고성능 컴퓨팅 파워가 필요하게 된다. 따라서, 고성능 컴퓨팅을 활용하지 않고 농업 환경에서 AMR이 자율 주행을 하기 위해 GPS를 많이 활용하게 된다[4]. 특히, 위치정밀도 및 해상도가 높은 RTK-GPS를 이용하는 것이 보편화되고 있다. RTK-GPS는 신호의 양호 정도에 따라서 차이가 있으나, 3~5 cm 정도의 오차 범위 내에서 위치값이 측정된다. 이를 통해서 고수준의 위치 인식과 경로 계획 및 추종이 가능하다. 특히 레벨3이상의 자율주행이 가능한 로봇의 경우, 높은 수준의 위치/경로 지도를 사전에 확보하여 농작업을 보조하도록 되어 있다[5].
일반적으로 논이나 밭의 경우는 노지 상부에 시설물이 없으므로, 적업공간 전반에 안정된 신호가 확보가 가능하다. 하지만 과수원의 경우, 식재된 수목뿐만 아니라, 수목의 올바른 생장 유도와 가지의 처짐을 방지하기 위한 보조목과 시설에 의해서 로봇보다 높은 곳에 시설물이 설치되어 있다. 특히 금속재로 되어 있는 시설물은 GPS의 신호를 교란을 시키게 되고, 이로 인해서 로봇의 위치가 잘못 측정되는 현상을 발생시키게 된다. 이는 로봇이 통로를 이동하는 과정에서 빈번하게 일어나게 되는데, 잘못된 위치의 판단은 로봇의 주행 방향을 잘못 결정하게 만들고, 이로 인해서 수목의 방향으로 로봇이 이동을 하는 경우가 발생할 수 있게 된다.
예를 들어, 밭농업환경 및 과수환경과 같은 환경에서는 AMR이 이동하기 위한 경로는 [Fig. 1]과 같이 설정 가능하다. 4번과 5번의 경로점(Waypoint) 사이에 AMR이 주행하고 있는 경우이다. [Fig. 1]의 왼쪽과 같이 GPS의 오차가 적은 경우에는 AMR이 4번과 5번 사이를 주행하고 있다고 판단되어 계획된 방향과 실제 이동 방향이 일치하고 문제가 없다. 하지만 오른쪽과 같이 GPS 오차가 커져 1번과 2번 경로점 사이를 이동하고 있다고 판단되면, AMR은 4과 5 경로점 사이를 주행하다가 1과 2 경로점으로 이동하게 되면서 로봇의 이동 방향을 잘못 계획한다. 따라서 [Fig. 1]의 오른쪽과 같이 잘못 계획된 이동 방향으로 로봇이 실제 이동을 하게 되면서 농산물을 훼손하는 문제점을 가진다. 농업 환경에서 로봇의 활용은 사람이 공동 작업을 할 가능성이 있으므로, 이러한 로봇의 오동작은 그 활용성을 떨어뜨리게 되는 요소로 작용하게 된다. 이를 방지하기 위하여 현재 주행 중인 경로의 정확한 판단이 필요하다.
본 논문에서는 사전 지정된 경로점을 자율 주행하는 로봇에 대해서, 이동경로 중에서 발생하는 GPS의 오류 정보를 검출하고, 로봇이 이에 대해 방해받지 않게 하기 위한 기술을 제안한다. 이를 위해 경로점 기반 AMR의 경로 트리 생성 방법을 제안하며, 생성된 경로 트리를 이용하여 AMR은 경로 트리에 포함된 경로점을 따라 주행한다. 이들 경로점은 경로 정보와 같이 관리가 되어 로봇이 이동하는 경로에 대한 판단이 가능하도록 하며, 주행중인 경로 외의 GPS 신호를 오신호로 판단할 수 있도록 하여, 로봇의 안정적인 경로 주행이 되도록 한다.
제안한 방법을 통한 논문의 기여도는 다음과 같다.
- • 경로점의 연속성(Continuity)을 활용하여 현재 주행하고 있는 경로 판단이 가능하다.
- • 주행 경로를 이용하여, 오동작이 주로 발생할 수 있는 구간에서 안정적으로 주행 가능하다.
본 논문의 구성은 다음과 같이 구성된다. 2장에서는 경로점 기반 경로 지도 및 주행 정보 관리 방법을 설명한다. 3장에서는 로봇의 이동중인 경로 판단 및 오신호의 검출 방법을 설명한다. 4장에서는 알고리즘의 작동 결과 및 효과를 실험을 통해 검증하며, 5장에서는 결론 및 향후 연구에 대해 설명한다.
2. 경로 트리 생성 및 경로 계획
과수원 환경에서 AMR이 자율주행 하기 위하여 중간경로점을 자동으로 생성하는 경로 트리 생성 및 경로 트리 기반 경로 계획 시스템을 제안한다.
2.1 경로점 기반 경로 지도 생성
경로 지도는 주행 가능 경로내 경로점과 경로, 경로점 간의 연결성(Connectivity), 그리고 경로간의 연속성(Continuity) 정보를 포함한다. 경로점은 식재된 과수, 수확된 농산물의 예상 배치 정도에 따라 경험적으로 지정하며, 이웃된 경로보다 적은 거리 간격으로 경로점을 생성한다. 본 시스템에서는 [Fig. 2]와 같이 경로 지도가 생성된다. 첫째, 사용자가 정의한 경로점의 종단점(Pre-defined Waypoint)을 기준으로 옆 통로의 거리보다 적은 거리가 되도록 중간 경로점(Auto-generated Waypoint)을 자동으로 생성한다. 이때, 경로점간의 거리는 지도 생성시 경로점 관리의 복잡성 및 주행 경로 판단의 계산량을 고려하여 최소화 되도록 설정한다. 생성된 경로점들의 연결성을 정의하며, 각 경로점 집합으로 경로를 설정한다. 마지막으로 경로들간의 연속성을 정의하여 경로 지도를 생성한다. 생성된 경로 지도를 기반으로 본 논문에서는 AMR 현재 위치 파악의 정확성 향상 및 자율 주행 안전성을 확보한다.
2.2 경로 지도 기반 주행정보 관리
현재 위치에서 목적 경로점으로의 로봇 이동 경로 탐색은 BFS(너비 우선 탐색, Breadth-First Search) 알고리즘을 활용한다[6]. 탐색시 비용은 간선 수로 정의하였으며, 식(1)과 같이 비용 함수를 정의한다. 경로점 u에서 경로점 v로 이동하는 데 필요한 간선 수 d를 나타내며, 최소 비용을 계산한다.
(1) |
예를 들어, 현재 0번 경로점에 있는 AMR이 5번 경로점으로 가기 위한 경로점은 [Fig. 3]과 같이 0번 → 1번 → 2번 → 3번→ 4번→ 5번 순서로 이동이 계획된다. 또한 본 경로점이 경로4와 경로1간의 연속성을 가지는 것을 파악할 수 있다.
3. 오정보 필터링 기반 자기 경로 판단 방법
본 논문에서는 경로점 이동시 위치 추정 오차에 의해 이동 방향을 잘못 잡는 문제를 해결하기 위한 GPS 오정보 필터링 시스템을 제안한다. [Fig. 4]는 제안하는 시스템을 나타내고, 세 가지로 구성된다. 첫째, 로봇의 이동 속도 기반 GPS 오정보 필터링, 둘째, 최근접 경로점 인식, 셋째, 경로점 연결성 및 경로 연속성 기반 오정보 필터링 으로 이루어진다. 오정보로 판단되면 해당 정보는 사용하지 않고 로봇의 이동 방향을 결정한다.
3.1 GPS 오신호 필터링
GPS 오신호를 필터링은 로봇의 이동 가능 속도보다 크게 변화한 센서 정보를 필터링 한다. GPS의 현재 값과 이전 값을 비교하여 AMR의 속도를 기준으로 단위시간당 이동 가능한 최대 거리를 초과하는 경우 오신호로 판단한다. 현재 GPS 위치가 (x1,y1)이고, 이후 위치 좌표가 (x2,y2)라고 할 때, 두 좌표 사이에 이동한 거리(Δd)를 계산하는 수식은 식 (2)과 같다.
(2) |
(3) |
위의 두 수식을 이용하여, Δd가 T를 초과하는 경우, 해당 GPS 위치는 필터링한다. Δd는 GPS로부터 수신된 이동변위분을 의미하며, T는 로봇이 이동할 수 있는 최대 거리를 의미한다. 이를 산출하기 위해 V는 현재 로봇의 이동속도를 의미한다. Δd은 시간간격을 의미하는데, GPS의 신호 주기와 동일하게 설정되며, α는 일정 상수값을 가지게 되며, 1보다 큰 값을 부여하여, 오차분이 상쇄되도록 설정한다.
3.2 최근접 경로점 인식
AMR이 현재 주행하고 있는 경로를 판단하기 위하여 현재 측정된 GPS 위치와 경로 지도에 포함된 경로점들 간의 유클리디안 거리 차이를 계산하고, 가장 근접한 경로점을 최근접 경로점으로 설정한다. 경로점 사이에 위치하여 근접한 경로점이 두개인 경우, 이전에 인식된 경로점을 이용하여 경로의 연결 정보를 활용하여 최근접 경로점을 반환한다.
3.3 경로점 연결성 및 경로 연속성 기반 오정보 필터링
[Fig. 5]는 오정보 필터링 시스템의 순서도 이다. 생성된 경로와 현재 GPS값이 입력되면, 최근접 경로점이 계산된다. 다음으로, 현재 경로점과 이전 경로점간 연결성을 유지하고 있는지 확인하고, 경로간의 연속성을 고려하여 경로점을 필터링한다.
[Fig. 6]는 제안하는 방법의 오정보 필터링 예이다. 로봇의 경로 계획은 경로6à경로4à경로1로 계획되어 있으며, 경로내 경로점의 이동 방향은 [Fig. 6]과 같다. 로봇이 경로점 1에서 경로점 2로 이동하고 있는 상황이기 때문에, 현재 경로점은 1 또는 2이며, 경로는 4 또는 1로 판단되야 한다. 만약 로봇의 최근접 경로점이 이와 같지 않으면 획득된 로봇의 경로점을 오정보로 판단하고 사용하지 않는다.
4. 실 험
실험에서는 실험에 사용한 하드웨어 구성 및 실험 환경에 대해 설명하였다. 실험 환경에 설정된 경로 지도를 소개하였으며, 제안한 방법과 기존 방법의 성능을 비교 평가하였다.
4.1 하드웨어 및 실험 환경
농업 환경에 투입되는 실험용 AMR은 [Fig. 7]와 같으며, 4륜 구동으로 노지에서 운용 가능하며, 200 kg 이하의 하중을 이송할 수 있다. AMR에 부착된 듀얼 안테나 RTK-GPS[7]를 이용하여 위치를 측정하였다.
본 논문에서 적용한 농업 환경은 과수원이며, 3.0미터 횡방향, 2.0미터 종방향 수간간격으로 사과나무가 심어져 있는 환경으로 [Fig. 8]과 같다. 과수원의 종방향 길이는 약 60 m 정도 된다. 종방향의 다수의 통로가 있고, 통로 간의 이동은 통로의 끝단에서만 이동이 허용되는 구조를 가지고 있다.
4.2 경로점 기반 농업환경 경로 지도 설정 결과
[Fig. 9]와 같이 농업 환경 경로 지도의 경로는 총 21개로 정의하였고, 21개의 경로 내 포함된 경로점은 총 251개로 설정되었으며, 농작물이 도착해야 되는 곳을 “Home” 으로 설정하였다. AMR이 이동하면서 측정된 GPS를 기반으로 경로점은 횡방향 나무간격보다 작은 값으로 종방향 길이마다 40개의 경로점을 배정을 하여, 약 2.2~2.9 m마다 설정하게 하였다. 해당 경로에 포함하고 있는 경로점과 경로 정보는 [Table 1]과 같다.
4.3 노이즈가 적용된 GPS 데이터 생성
과수원 환경에서는 주행 중에 [Fig. 10]과 같이 과수 지주대나 외부 간섭으로 인해 RTK-GPS 센서가 방해를 받는다. 제안한 알고리즘의 강인성을 검증하기 위해서 아래의 과정을 통해서 노이즈가 포함되어 있는 모의데이터를 생성하고, 시뮬레이션을 통해서 안정성을 검증하였다.
실험에 사용된 AMR의 최대 속도 V를 20 m/s로 설정하였고, RTK-GPS의 경우에는 cm 단위의 적은 오차를 제공하기때문에 오차 보정값 α는 1로 설정하였다. Δt가 0.1일 때, 식 (3)에 의하여, 이전 GPS 신호와 현재 GPS 신호의 거리값이 2 m 이상 차이가 나는 경우를 오신호로 판단하여 필터링한다. 모의데이터에서 총 46개의 GPS 오신호가 필터링되었다.
RTK-GPS 센서가 외부 간섭에 의해 방해를 받는 환경을 구현하기 위해서 식 (4) 와 같이 입력 받는 GPS 값에 노이즈를 더하여 실험 데이터를 생성하였다. x는 입력 받는 GPS 값이고, N은 정규 분포를 따르는 노이즈를 나타낸다.
(4) |
(5) |
여기서, N에 대한 수식은 식 (5)와 같다. μ는 정규 분포의 평균이고, σ는 표준 편차이다. 본 논문에서 μ=0으로 설정하였으며, σ는 전체 구간에서는 0.1로, 방해를 받는 두 구간에서는 0.8로 설정하였다. 해당 값은 실제 실험과정에서 발생되는 노이즈의 최대값에 근거하였으며, 실제보다 그 빈도를 잦게 하여 시뮬레이션을 하고자 구역별로 노이즈 데이터를 생성하였다.
시뮬레이션에 사용한 GPS 데이터는 실제 AMR을 이용하여 과수원에서 [Fig. 11]과 같이 총 7개의 경로 8, 12, 13, 14, 15, 18, 20을 지나며 수집한 GPS 데이터로 구성되어 있다. 구역별로 GPS 데이터에 노이즈를 추가하여 최종데이터를 재생성 후 시뮬레이션을 수행하였다.
4.4 자기 경로 판단 결과
기존 경로점 기반의 자율 주행 방법은 현재 위치로부터 가장 가까운 경로점을 찾아 주행하지만, 제안하는 방법은 오정보 필터링을 통해 자기경로를 판단하며 주행한다. [Fig. 12]는 기존 방법 주행 경로를 그래프로 표현한 결과이고, [Fig. 13]는 제안한 방법을 통해 주행한 결과이다. 각 그래프의 x, y축은 GPS의 위도, 경도 값을 UTM좌표계로 변환하여 표현한다.
기존 방법의 경우에는 현재 GPS와 경로 상의 GPS와의 비교하여 최근접한 경로점으로 설정하였을 때의 결과이다. [Fig. 12]와 같이 노이즈가 있는 부분에서 다른 경로로 자가 경로가 다르게 인식되는 문제점이 있다. 현재 경로가 아닌 다른 경로로 인식되는 문제점을 확인하였다. 하지만 [Fig. 13]과 같이 제안한 방법의 경우에는 노이즈가 포함되어 있는 위치에서도 강인하게 자가 경로를 판단 가능하다는 것을 확인하였다.
[Table 2]는 시뮬레이션 데이터를 통한 실험 결과를 분석한 것이다. [Fig. 12]와 같은 기존 방법의 주행 결과에서 313, 412, 414, 513, 530, 614 지점에서 총 8개의 GPS가 오차가 발생하였으며, 제안한 방법을 통하여 8개의 GPS 오차 제거가 가능하였다.
5. 결 론
본 논문에서는 사전 지정된 경로점을 자율 주행하는 로봇에 대해서, 이동경로 중에서 발생하는 GPS의 오류 정보를 검출하고, AMR이 자율 주행 중에 GPS 오류 정보에 대해 방해 받지 않는 방법을 제안하였다.
실험에서는 RTK-GPS가 방해 받는 환경을 구현하여 모의데이터를 생성하였고, 시뮬레이션을 통해 자율 주행의 안정성을 검증하였다. 기존 방법을 GPS 모의데이터를 통해 시뮬레이션 했을 때, 8번의 주행 오류가 발생하였다. 이는 과수물의 훼손 또는 안전사고의 위험을 유발하게 된다. 하지만, 제안하는 방법으로 시뮬레이션 했을 때에는 주행 오류가 발생하지 않았으며, 주행중인 경로를 정확히 판단하고 있음을 확인하였다. 이는 레벨3 자율 주행의 안전성을 높이는데 도움이 될 것이라 생각한다.
과수원이나 밭 환경은 단일한 환경이 아니라 복수의 경작지를 포함하는 특성을 가지고 있기 때문에 향후 연구에는 대규모 환경이나 다양한 규모의 데이터에 효과적으로 대응할 수 있는 지도 관리 시스템을 도입하는 방법이 필요하다.
Acknowledgments
This research was supported in part by the Korea Evaluation Institute of Industrial Technology (20018401), Republic of Korea
References
- A. Bechar and C. Vigneault, “Agricultural robots for field operations: Concepts and components,” Biosystems Engineering, vol. 149, pp. 94-111, Sept., 2016. [https://doi.org/10.1016/j.biosystemseng.2016.06.014]
- S. Fountas, N. Mylonas, L. Malounas, E. Rodias, C. H. Santos, and E. Pekkeriet, “Agricultural Robotics for Field Operations,” Seonsors, vol. 20, no. 9, pp. 2672-2699, May, 2020. [https://doi.org/10.3390/s20092672]
- K. G. Fue, W. M. Porter, E. M. Barnes, and G. C. Rains, “An Extensive Review of Mobile Agricultural Robotics for Field Operations: Focus on Cotton Harvesting,” AgriEngineering, vol. 2, no. 1, pp. 150-174, Mar., 2020. [https://doi.org/10.3390/agriengineering2010010]
- K.-H. Jo, J.-H. Lee, and C.-S. Jang, “Cooperative Localization in 2D for Multiple Mobile Robots by Optimal Fusion of Odometer and Inexpensive GPS data,” The Journal of Korea Robotics Society, vol. 2, no. 3, pp. 255-261, Sept., 2007, [Online], https://koreascience.kr/article/JAKO200723736028084.paget, .
- H. Gil, D. Lee, G. Song, S. An, and A. Kim, “Tightly-Coupled GNSS-LiDAR-Inertial State Estimator for Mapping and Autonomous Driving,” The Journal of Korea Robotics Society, vol. 18, no. 1, pp. 72-81, Feb., 2023. [https://doi.org/10.7746/jkros.2023.18.1.072]
- H. K. Tripathy, S. Mishra, H. K. Thakkar, and D. Rai, “CARE: A Collision-Aware Mobile Robot Navigation in Grid Environment using Improved Breadth First Search,” Computers & Electrical Engineering, vol. 94, pp. 10737-107347, Sept., 2021. [https://doi.org/10.1016/j.compeleceng.2021.107327]
- D. Atunggal, B. Ma’ruf, T. A. Sunantyo, and C. A. Rokhmana, “Evaluation on the performance of single and dual frequency low cost GPS module observation using geodetic antenna,” Communications in Science and Technology, vol. 3, no. 1, pp. 9-14, 2018. [https://doi.org/10.21924/cst.3.1.2018.78]
2019 동국대학교 전산원 멀티미디어학과(공학사)
2021 동국대학교 멀티미디어공학과(공학석사)
2023~현재 한국로봇융합연구원 주임연구원
2023~현재 서울과학기술대학교 인공지능응용학과 박사과정
관심분야: 인공지능, 딥러닝, 지능 제어
2015 계명대학교 게임모바일콘텐츠학과(공학사)
2017 계명대학교 컴퓨터공학과(공학석사)
2021 동국대학교 멀티미디어공학과(공학박사)
2022~현재 한국로봇융합연구원 선임연구원
관심분야: 인공지능, 딥러닝, 로봇 제어
2011 세종대학교 디지털콘텐츠학과(공학사)
2014 연세대학교 컴퓨터과학과(공학석사)
2018~현재 한국로봇융합연구원 선임연구원
관심분야: 인공지능, 지식추론, 상황인식
1996 울산대학교 전기공학과(공학사)
1996 대우자동차 입사
2001 ㈜대동공업 입사
2019 울산 대학교 전기전자정보시스템공학과(공학석사)
현재 ㈜대동 미래기술실 전무
관심분야: 시스템제어, 임베디드 시스템
2009 영남대학교 첨단기계과(공학사)
2009 ㈜대동공업 입사
현재 ㈜대동 로봇사업개발센터 과장
관심분야: 시스템제어, 임베디드 시스템
1996 충남대학교 컴퓨터공학과(공학사)
1999 광주과학기술원 정보통신공학과(공학석사)
2004 광주과학기술원 정보통신공학과(공학박사)
2004~2020 한국전자통신연구원 시각지능연구실 연구실장/연구위원
2020~현재 서울과학기술대학교 인공지능응용학과 부교수
관심분야: 지능적 추론, 시각지능 시스템, 영상 생성, 성장형 인공지능
1999 고려대학교 전기공학과(공학사)
2001 KAIST 전기및전자공학(공학석사)
2009 동대학(공학박사)
2009~현재 한국로봇융합연구원 지역연구본부 수석연구원
2020~2022 POSTECH 기계공학과 겸직교수
2021~현재 경북대학교 로봇 및 스마트 시스템 공학과 겸임교수
관심분야: 시스템제어, 임베디드 시스템, 웨어러블로봇