KR20230001949A - 자율주행 경로 생성 방법 및 장치 - Google Patents

자율주행 경로 생성 방법 및 장치 Download PDF

Info

Publication number
KR20230001949A
KR20230001949A KR1020210085090A KR20210085090A KR20230001949A KR 20230001949 A KR20230001949 A KR 20230001949A KR 1020210085090 A KR1020210085090 A KR 1020210085090A KR 20210085090 A KR20210085090 A KR 20210085090A KR 20230001949 A KR20230001949 A KR 20230001949A
Authority
KR
South Korea
Prior art keywords
waypoint
path
straight line
waypoints
generating
Prior art date
Application number
KR1020210085090A
Other languages
English (en)
Other versions
KR102613401B1 (ko
Inventor
한중희
박지호
Original Assignee
재단법인대구경북과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인대구경북과학기술원 filed Critical 재단법인대구경북과학기술원
Priority to KR1020210085090A priority Critical patent/KR102613401B1/ko
Publication of KR20230001949A publication Critical patent/KR20230001949A/ko
Application granted granted Critical
Publication of KR102613401B1 publication Critical patent/KR102613401B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)

Abstract

본 발명은 농기계에 대한 자율주행 경로 생성 방법 및 장치에 관한 것이다. 본 발명의 일 실시 예에 따른 자율주행 경로 생성 방법은, 자율주행 경로 생성 장치에 의해 수행되며, 자율주행할 작업 경로를 수동으로 주행하는 대상체에 대하여 측위센서로부터 수집한 대상체의 제1 위치 데이터를 이용하여 웨이포인트(waypoints) 기반의 작업 경로를 생성하는 단계와, 작업 경로를 제외한 경로로서의 보조 경로를 수동으로 주행하는 대상체에 대하여 측위센서로부터 수집한 대상체의 제2 위치 데이터를 이용하여 웨이포인트 기반의 보조 경로를 생성하는 단계와, 작업 경로 및 보조 경로를 병합하여 생성한 웨이포인트 기반의 전체 경로로부터, 대상체가 최단거리로 자율주행 할 수 있는 경로를 네트워크 데이터로 생성하는 단계를 포함할 수 있다.

Description

자율주행 경로 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING AUTONOMOUS DRIVING PATH}
본 발명은 농기계에 대한 자율주행 경로 생성 방법 및 장치에 관한 것이다.
농업 분야는 농업 인구의 감소 및 고령화, 농업 경영비 상승 등으로 농업 여건 개선이 시급한 실정이다. 따라서, 농업 분야의 경쟁력을 갖추어야 하는데, 그 중 가장 중요한 요소가 IT 및 센서 기술과의 접목을 통한 고부가가치 산업으로의 변신이다.
한편, 최근 전자 기술의 발전으로, 농기계를 무인으로 운용하고 있다. 농기계를 무인으로 운용하기 위해서는, 자율주행 경로가 필요한데, 자율주행 경로를 구축하기 위해서는 많은 비용이 요구된다는 문제점이 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
국내 등록특허공보 제10-1221485호(2013.01.07)
본 발명의 일 과제는, 위치 정보를 이용하여 지도 없이도 농기계가 운용될 수 있는 모든 구역에 대해 자율주행 경로 생성을 가능하도록 하는데 있다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 일 실시 예에 따른 자율주행 경로 생성 방법은, 자율주행 경로 생성 장치에 의해 수행되며, 자율주행할 작업 경로를 수동으로 주행하는 대상체에 대하여 측위센서로부터 수집한 대상체의 제1 위치 데이터를 이용하여 웨이포인트(waypoints) 기반의 작업 경로를 생성하는 단계와, 작업 경로를 제외한 경로로서의 보조 경로를 수동으로 주행하는 대상체에 대하여 측위센서로부터 수집한 대상체의 제2 위치 데이터를 이용하여 웨이포인트 기반의 보조 경로를 생성하는 단계와, 작업 경로 및 보조 경로를 병합하여 생성한 웨이포인트 기반의 전체 경로로부터, 대상체가 최단거리로 자율주행 할 수 있는 경로를 네트워크 데이터로 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따른 자율주행 경로 생성 장치는, 프로세서 및 프로세서와 동작 가능하게 연결되고 프로세서에서 수행되는 적어도 하나의 코드를 저장하는 메모리를 포함하고, 메모리는 프로세서를 통해 실행될 때, 프로세서가 자율주행할 작업 경로를 수동으로 주행하는 대상체에 대하여 측위센서로부터 수집한 대상체의 제1 위치 데이터를 이용하여 웨이포인트(waypoints) 기반의 작업 경로를 생성하고, 작업 경로를 제외한 경로로서의 보조 경로를 수동으로 주행하는 대상체에 대하여 측위센서로부터 수집한 대상체의 제2 위치 데이터를 이용하여 웨이포인트 기반의 보조 경로를 생성하고, 작업 경로 및 보조 경로를 병합하여 생성한 웨이포인트 기반의 전체 경로로부터, 대상체가 최단거리로 자율주행 할 수 있는 경로를 네트워크 데이터로 생성하도록 야기하는 코드를 저장할 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 의하면, 위치 정보를 이용하여 지도 없이도 농기계가 운용될 수 있는 모든 구역에 대해 자율주행 경로를 생성할 수 있다.
또한, 농기계가 운용될 수 있는 모든 지역에서 자율주행이 가능하므로, 무인 농기계 상용화 개발을 촉진시킬 수 있다.
또한, 무인 농기계 기술을 스마트 농장에 접목하여 농업 기술 선진화에 기여할 수 있다.
또한, 본 실시 예에 따른 자율주행 경로 생성을 로봇, 자동차 등 다양한 자율주행 분야에 적용하여 해당 분야의 기술 향상에 기여할 수 있다.
또한, 자율주행을 통한 농업 작업의 효율화로 인건비 절감, 최적 주행에 의한 생산비 절감 등 농업 경쟁력을 확보할 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 실시 예에 따른 농기계의 구성을 개략적으로 설명하기 위하여 도시한 블록도이다.
도 2는 본 실시 예에 따른 자율주행 경로 생성 장치의 구성을 개략적으로 설명하기 위하여 도시한 블록도이다.
도 3은 도 2의 자율주행 경로 생성 장치 중 경로 생성 모듈의 구성을 개략적으로 설명하기 위하여 도시한 블록도이다.
도 4 및 도 5는 본 실시 예에 따른 개별 경로 생성 방법을 설명하기 위한 흐름도이다.
도 6은 본 실시 예에 따른 웨이포인트 생성 방법을 설명하기 위한 흐름도 이다.
도 7은 본 실시 예에 따른 웨이포인트 종류 지정 방법을 설명하기 위한 흐름도 이다.
도 8은 본 실시 예에 따른 작업 구간을 정의하는 방법을 설명하기 위한 흐름도 이다.
도 9는 본 실시 예에 따른 위치 데이터와 개별 경로 생성 모듈을 통해 생성된 웨이포인트 데이터의 예시도이다.
도 10은 본 실시 예에 따른 제1 병합 모듈의 동작 방법을 설명하기 위한 흐름도 이다.
도 11은 본 실시 예에 따른 직선 기반 교차점 검색 방법을 설명하기 위한 흐름도 이다.
도 12는 본 실시 예에 따른 직선 기반 교차점 검색 방법을 이용하여 두 개의 작업 경로를 병합하는 예시도이다.
도 13은 본 실시 예에 따른 거리 기반 교차점 검색 방법을 설명하기 위한 흐름도 이다.
도 14는 본 실시 예에 따른 거리 기반 교차점 검색 방법을 이용하여 두 개의 작업 경로를 병합하는 예시도이다.
도 15는 본 실시 예에 따른 제2 병합 모듈의 동작 방법을 설명하기 위한 흐름도 이다.
도 16 내지 도 18은 본 실시 예에 따른 전체 경로 생성의 예시도이다.
도 19는 본 실시 예에 따른 전체 경로에 대한 네트워크 데이터 생성의 예시도 이다.
도 20은 본 실시 예에 따른 자율주행 경로 생성 방법을 설명하기 위한 예시도 이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 실시 예에 따른 농기계의 구성을 개략적으로 설명하기 위하여 도시한 블록도이고, 도 2는 본 실시 예에 따른 자율주행 경로 생성 장치의 구성을 개략적으로 설명하기 위하여 도시한 블록도이다. 도 1 및 도 2을 참조하면, 본 실시 예에 따른 자율주행 경로 생성 장치는 대상체로서의 농기계(1) 내부에 구비될 수 있다.
한편, 대상체로서의 농기계(1)는 트랙터, 콤바인, 경운기 등과 같이 경작지의 밭갈이, 비료살포, 비료운반, 각종 농작물 운반 등의 작업에 이용되는 다양한 운행 수단을 의미할 수 있다. 이를 위해, 농기계(1)는 본체와 본체의 전방 및 후방 각각의 하부에 구비된 바퀴를 포함할 수 있다.
한편, 농기계(1)는 인간이 탑승하지 않더라도, 미리 설정된 경로를 따라 자율적으로 이동이 가능한 무인 농기계로 구현될 수 있으며, 이를 위해, 농기계(1)는 도 1에 도시된 바와 같이 구동부(100), 센서(200), 메모리(300) 및 프로세서(400)를 포함할 수 있다.
구동부(100)는 농기계(1)의 주행을 제어하기 위한 구성을 포함할 수 있다. 예를 들어, 구동부(100)는 엑셀레이터 액추에이터를 통해 농기계(1)에 마련된 바퀴의 회전 속도를 증가시키고, 브레이크 액추에이터를 통해 농기계(1)에 마련된 바퀴의 회전 속도를 감소시키거나 바퀴를 정지시키고, 조향각 제어 액추에이터를 통해 농기계(1)에 마련된 바퀴의 회전축을 회전시켜, 농기계(1)를 좌측 또는 우측 방향으로 회전시킬 수 있다.
센서(200)는 농기계(1)의 위치 및 움직임을 감지한다. 이를 위해, 센서(200)는 도 2에 도시된 바와 같이 GNSS(global navigation satellite system) 센서(210) 및 구동체 센서(220)를 포함할 수 있다.
GNSS 센서(210)(또는, GNSS 수신기)는 위성을 이용하여 농기계(1)의 위치, 속도, 방향각 등을 측정할 수 있다. GNSS는 우주의 위성에서 송신은 전파를 이용하여 특정 위치의 좌표를 산출하는 시스템을 의미하며, 미국의 위성위치 측정시스템(GPS: global positioning system), 러시아의 GLONASS(global navigation satellite system), 유럽의 GALILEO(european satellite navigation system) 및 중국의 Beidou(바이두, Compass) 등의 위성을 이용하는 다양한 위치 측정 시스템을 통합한 명칭이다.
이와 같이, GNSS는 위성을 이용한다는 점에서, 시간 및 공간에 구애 받지 않으며 다른 시스템에 비해 비교적 안정적으로 위치, 속도 및 시간 정보 등을 획득할 수 있다.
GNSS 센서(210)는 위성으로부터 수신된 GNSS 신호를 이용하여 자신의 위치를 결정하고, RTK(Real Time Kinematic) 기준국(3)으로부터 측위 보정 정보를 전달받고, 측위 보정 정보를 이용하여, GNSS 신호를 통해 결정된 자신의 위치를 보정할 수 있다.
한편, 본 발명의 일 실시 예에 따르면, GNSS 센서(210)는 단일 주파수 기반의 저가형 GNSS 센서로 구현될 수 있다. 즉, 농기계의 경우, 드론(drone), 비행체, 선박 등에 비해 상대적으로 저속으로 이동한다는 점에서, 단일 주파수만으로도 충분히 정확한 위치가 측정될 수 있다. 이와 같이, 본 발명의 일 실시 예에 따르면, 단일 주파수 기반의 GNSS 센서를 이용한다는 점에서, 2개 이상의 주파수를 이용하는 센서보다 저렴하게 농기계(1)의 위치를 측정할 수 있다. 이 경우, RTK 기준국(3)은 cm급 정확도를 갖는 위치를 계산할 수 있도록 측위 보정 정보를 생성하여 저가형의 GNSS 센서(210)로 제공할 수 있다.
본 실시 예에서, GNSS 센서(210) 대신에, GNSS/IMU(inertial measurement unit) 융합 센서를 이용하여 농기계(1)의 위치, 속도, 방향각 등을 측정할 수 있다.
구동체 센서(220)는 농기계(1)의 속도, 방향각 등을 측정할 수 있다. 이를 위해, 구동체 센서(220)는 농기계(1)의 방향각을 측정하기 위한 조향각 센서 및 농기계(1)의 속도를 측정하기 위한 속도 센서 등을 포함할 수 있다.
메모리(300)는 자율주행 경로를 저장할 수 있다. 이 경우, 농기계(1)는 사람에 의하지 않고, 무인으로 자율주행 경로에 따라 자율적으로 주행할 수 있다. 여기에서, 자율주행 경로는 기설정된 경로를 농기계(1)가 주행하는 동안에, GNSS 센서(210)에서 획득된 데이터에 기초하여 생성될 수 있다.
예를 들어, 자율주행 경로는 농기계(1)가 앞으로 주행할 경로(가령, 경작지, 험로, 도로 등 작업 경로 및 보조 경로)를 미리 주행하고, 주행 중에 GNSS 센서(210)로부터 획득된 농기계(1)의 위치, 속도 및 방향각 등에 의해 생성될 수 있다.
또한, 메모리(300)는 도 2에 도시된, 경로 생성 모듈(410) 및 움직임 제어 모듈(420) 등을 저장할 수 있다. 한편, 도 2에서는 모듈들을 개별적으로 도시하였으나, 적어도 2 개의 모듈들이 조합되어 구현될 수도 있음은 물론이다.
프로세서(400)는 농기계(1)의 전반적인 동작을 제어할 수 있다. 먼저 프로세서(400)는 자율주행 경로를 생성할 수 있다. 이 경우 프로세서(400)는 경로 생성 모듈(410)을 실행하고, GNSS 센서(210)로부터 획득한 위치 데이터를 경로 생성 모듈(410)의 입력으로 하여 자율주행 경로를 생성할 수 있다.
본 실시 예에서, 경로 생성 모듈(410)은 자율주행할 작업 경로를 수동으로 주행하는 농기계(1)에 대하여 측위센서로써의 GNSS 센서(210)로부터 수집한 농기계(1)의 제1 위치 데이터를 이용하여 웨이포인트(waypoints) 기반의 작업 경로를 생성할 수 있다. 여기서 웨이포인트는, 자율주행 경로를 점들의 집합으로 표현한 위치 좌표를 의미할 수 있다. 또한 작업 경로는 농기계(1)의 농작업(약액 살포, 제초 등)을 수행하는 구간에 대한 자율주행 경로를 의미할 수 있다.
경로 생성 모듈(410)은 작업 경로를 제외한 경로로서의 보조 경로를 수동으로 주행하는 농기계(1)에 대하여 GNSS 센서(210)로부터 수집한 농기계(1)의 제2 위치 데이터를 이용하여 웨이포인트 기반의 보조 경로를 생성할 수 있다. 여기서, 보조 경로는 상술한 작업 경로를 제외한 모든 경로로서, 농기계(1)가 지나갈 수 있는 자율주행 경로를 의미할 수 있다.
경로 생성 모듈(410)은 작업 경로가 복수 개인 경우 복수 개의 작업 경로를 하나의 작업 경로로 병합할 수 있다. 경로 생성 모듈(410)은 후술하는 전체 작업 경로에 대해 부분적으로 생성한 작업 경로를 병합하여 하나의 작업 경로를 생성할 수 있다.
경로 생성 모듈(410)은 작업 경로 및 보조 경로를 병합하여 생성한 웨이포인트 기반의 전체 경로를 생성할 수 있다. 경로 생성 모듈(410)은 전체 경로로부터, 대상체가 최단거리로 자율주행 할 수 있는 경로를 네트워크 데이터로 생성할 수 있다.
경로 생성 모듈(410)은 전체 경로에 포함된 데이터의 이상 여부를 확인하고 농기계의 자율주행에 적용할 수 있는 최종 경로를 생성할 수 있다.
한편, 프로세서(400)는 농기계(1)가 자율주행 경로를 따라 주행하도록 구동부(100)를 제어할 수 있다.
즉, 프로세서(400)는 농기계(1)가 자율주행 경로를 따라 이동할 때, 농기계(1)가 자율주행 경로에서 벗어나지 않고, 일정한 운용 속도로 자율주행 경로를 따라 주행하도록 구동부(100)를 제어할 수 있다.
이 경우, 프로세서(400)는 움직임 제어 모듈(420)을 실행하고, 센서(200)에서 획득한 데이터, 메모리(300)로부터 획득한 자율주행 경로에 대한 데이터 등을 움직임 제어 모듈(420)의 입력으로 하여, 구동부(100)를 제어하기 위한 제어 신호를 생성하고, 생성된 제어 신호를 구동부(100)로 출력할 수 있다. 이에 따라, 구동부(100)는 프로세서(400)로부터 제공받은 제어 신호에 따라 엑셀레이터 액추에이터, 브레이크 액추에이터 및 조향각 제어 액추에이터를 구동하여, 농기계(1)의 주행을 제어할 수 있다.
본 실시 예에서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령어로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
본 실시 예에서, 메모리(300)는 프로세서(400)와 동작 가능하게 연결되고, 프로세서(400)에서 수행되는 동작과 연관하여 적어도 하나의 코드를 저장할 수 있다.
이러한 메모리(300)는 프로세서(400)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 여기서, 메모리(300)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 이러한 메모리(300)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.
한편, 도 2를 참조하면, 통신부(500)는 다양한 유형의 통신 방식에 기초하여 서버(2)와 통신을 수행할 수 있다. 예를 들어, 통신부(500)는 3G(3Generation), LTE(Long Term Evolution) 등의 이동 통신망을 통해, 서버(2)와 통신을 수행할 수 있다. 이 경우, 프로세서(400)는 통신부(500)를 통해 서버(2)와 다양한 데이터를 송수신할 수 있다.
예를 들어, 프로세서(400)는 농기계(1)의 위치, 속도 및 방향각 등을 포함하는 데이터 및 농기계(1)의 주행/운용 상황에 대한 정보(가령, 농기계(1)의 주행 시작 시간 정보, 주행 시간 정보, 이상 상태에 대한 정보 등) 등을 통신부(500)를 통해 서버(2)로 전송할 수 있다. 또한, 프로세서(400)는 농기계(1)의 동작을 제어하기 위한 제어 정보 및 펌웨어 업데이트를 위한 정보 등을 통신부(500)를 통해 서버(2)로부터 수신할 수 있다.
서버(2)(가령, 농기계 IoT(Internet of Things) 서버)는 사용자나 관리자가 농기계(1)의 운용과 관련된 정보를 확인할 수 있는 IoT 기반의 플랫폼으로, 농기계(1)로부터 제공받은 정보를 포함하는 농기계(1)의 운용과 관련된 각종 정보를 저장할 수 있다.
그리고, 서버(2)는 농기계(1)의 운용과 관련된 각종 정보를 사용자나 관리자의 전자 장치(4)로 전송할 수 있다.
예를 들어, 서버(2)는 3G, LTE 등의 이동 통신망을 통해, 농기계(1)의 위치, 속도 및 방향각 등을 포함하는 데이터 및 농기계(1)의 주행/운용 상황에 대한 정보 등을 전자 장치(4)로 전송할 수 있다.
전자 장치(4)는 농기계(1)를 제어하기 위한 기능을 수행할 수 있다. 이 경우, 전자 장치(4)는 농기계(1)를 제어하기 위한 전용 컨트롤러로 구현되거나, 또는 해당 기능을 실행하기 위한 어플리케이션이 설치된 스마트폰(smartphone) 또는 태블릿 PC(tablet personal computer) 등으로 구현될 수 있다.
이를 위해, 전자 장치(4)는 농기계(1)를 제어하기 위한 유저 인터페이스(미도시)를 전자 장치(4)에 마련된 디스플레이(미도시)에 표시할 수 있다. 이 경우, 유저 인터페이스에는 서버(2)로부터 제공받은 농기계(1)의 현재 운용 상황을 나타내는 정보가 표시될 수 있고, 또한, 농기계(1)를 제어하기 위한 사용자 명령을 입력 받는 GUI(Graphical User Interface)가 표시될 수 있다.
이에 따라, 전자 장치(4)는 GUI가 선택되면, 선택된 GUI에 따라 농기계(1)의 동작을 제어하기 위한 제어 정보를 서버(2)를 통해 농기계(1)로 전송할 수 있다. 이 경우, 프로세서(400)는 서버(2)로부터 수신된 제어 정보에 따라 농기계(1)의 동작을 제어할 수 있다.
예를 들어, 프로세서(400)는 농기계(1)의 주행 시작을 위한 제어 정보가 수신되면, 농기계(1)가 주행을 시작하도록 하는 제어 명령을 구동부(100)로 제공할 수 있고, 구동부(100)는 제어 명령에 따라 엑셀레이터 액추에이터를 제어하여 바퀴를 구동시킬 수 있다.
이와 같이, 사용자는 전자 장치(4)를 통해, 농기계(1)의 각종 운용 상황을 모니터링하고, 농기계(1)의 각종 동작을 제어할 수 있다.
한편, 전자 장치(4)는 사용자 명령에 따라 펌웨어 업데이트에 대한 정보를 서버(2)를 통해 농기계(1)로 전송할 수 있다.
이 경우, 프로세서(400)는 서버(2)로부터 수신된 펌웨어 업데이트에 대한 정보에 따라 농기계(1)의 펌웨어에 대한 업데이트를 진행할 수 있다.
이와 같이, 관리자는 전자 장치(4)를 통해 농기계(1)의 각종 운용 상황을 모니터링하여 농기계(1)에 기술 이상 여부를 확인하고, 이상이 있는 경우 전자 장치(4)를 통해 농기계(1)의 펌웨어에 대한 업데이트를 진행할 수 있게 된다.
도 3은 도 2의 자율주행 경로 생성 장치 중 경로 생성 모듈의 구성을 개략적으로 설명하기 위하여 도시한 블록도이다. 이하의 설명에서 도 1 및 도 2에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 3을 참조하면, 경로 생성 모듈(410)은 개별 경로 생성 모듈(411), 제1 병합 모듈(412), 제2 병합 모듈(413) 및 최종 경로 생성 모듈(414)을 포함할 수 있다.
개별 경로 생성 모듈(411)은 자율주행할 경로에 대하여 GNSS 센서(210)로부터 수집한 위치 데이터를 이용하여 경로를 생성할 수 있다. 본 실시 예에서 개별 경로 생성 모듈(411)은 작업 경로 생성 모듈(411-1) 및 보조 경로 생성 모듈(411-2)을 포함할 수 있다.
작업 경로 생성 모듈(411-1)은 자율주행할 작업 경로를 수동으로 주행하는 농기계(1)에 대하여 측위센서로써의 GNSS 센서(210)로부터 수집한 농기계(1)의 제1 위치 데이터를 이용하여 웨이포인트(waypoints) 기반의 작업 경로를 생성할 수 있다.
보조 경로 생성 모듈(411-2)은 작업 경로를 제외한 경로로서의 보조 경로를 수동으로 주행하는 농기계(1)에 대하여 GNSS 센서(210)로부터 수집한 농기계(1)의 제2 위치 데이터를 이용하여 웨이포인트 기반의 보조 경로를 생성할 수 있다.
제1 병합 모듈(412)은 작업 경로를 병합하는 모듈로서, 전체 작업 경로에 대해 부분적으로 생성한 작업 경로(예를 들어, 제1 작업 경로 웨이포인트 및 제2 작업 경로 웨이포인트)를 병합하여 하나의 작업 경로를 생성할 수 있다
제1 병합 모듈(412)은 두 개의 작업 경로 웨이포인트를 입력 데이터로 하여 하나의 전체 웨이포인트를 생성하고, 개별 경로 생성 모듈(411)에서의 웨이포인트 생성 및 종류 지정을 수행한 후, 측지 좌표로 변환하여 병합된 작업 경로의 웨이포인트를 생성할 수 있다.
제2 병합 모듈(413)은 작업 경로 및 보조 경로를 병합하여 생성한 웨이포인트 기반의 전체 경로를 생성할 수 있다. 여기서 작업 경로는 개별 경로 생성 모듈(411)에서 출력되는 작업 경로 및/또는 제1 병합 모듈(412)에서 출력되는 작업 경로를 포함할 수 있다.
제2 병합 모듈(413)은 작업 경로 외에 농기계(1) 주행이 가능한 경로인 보조 경로를 작업 경로와 병합하여, 자율주행 중에 특정점으로 복귀, 특정점으로 이동 시에 보조 경로를 활용하여 최단 거리 기반 자율주행 경로를 생성할 수 있도록 전체 경로 데이터와 전체 경로 데이터에 대한 네트워크 데이터를 생성할 수 있다. 여기서 특정점은 농기계(1)의 배터리를 충전할 수 있는 포인트, 또는 농작업 수행 시해 필요한 물품을 보충할 수 있는 포인트 등을 포함할 수 있다.
제2 병합 모듈(413)은 작업 경로 웨이포인트와 보조 경로 웨이포인트를 입력 데이터로 하여 하나의 전체 경로 데이터와 전체 경로에 대한 네트워크 데이터를 생성한 후, 전체 경로 데이터의 좌표를 측지 좌표로 변환할 수 있다.
최종 경로 생성 모듈(414)은 전체 경로에 포함된 데이터의 이상 여부를 확인하고 농기계의 자율주행에 적용할 수 있는 최종 경로를 생성할 수 있다.
본 실시 예에서 전체 경로에 포함된 데이터는, 전체 경로에 대한 웨이포인트 정보로, 웨이포인트 번호, 웨이포인트 측지 좌표(geodetic coordinates, 위도, 경도, 타원체고), 작업 경로 웨이포인트, 보조 경로 웨이포인트, 작업 경로와 보조 경로의 교차점, 경로 병합 시 추가된 웨이포인트 등을 포함할 수 있다.
본 실시 예에서, 작업 경로 웨이포인트는, 작업 경로에 대한 웨이포인트 정보로, 농기계(1)의 진행방향에 따라 순차적으로 웨이포인트가 저장되며, 웨이포인트 번호, 웨이포인트의 측지 좌표, 웨이포인트 종류(시작점, 종료점, 직선구간, 회전구간), 다음 웨이포인트와 연결된 직선의 방위각, 현재 웨이포인트를 기준으로 순차적으로 생성되는 두 개의 직선 사이의 각도를 포함할 수 있다.
본 실시 예에서 보조 경로 웨이포인트는, 보조 경로에 대한 웨이포인트 정보로, 연결되어 있는 웨이포인트가 순차적으로 저장되며, 데이터의 속성은 작업 경로 웨이포인트와 동일할 수 있다.
본 실시 예에서 전체 경로에 대한 네트워크 데이터는, 전체 경로의 웨이포인트 개수 × 전체 경로의 웨이포인트 개수 행렬로 정의되며, (
Figure pat00001
Figure pat00002
,
Figure pat00003
) 값은 웨이포인트 번호
Figure pat00004
에서 웨이포인트 번호
Figure pat00005
사이의 거리이며, (
Figure pat00006
Figure pat00007
,
Figure pat00008
) 값이 99999999이면 연결되어 있지 않은 경로임을 의미할 수 있다.
도 4는 본 실시 예에 따른 개별 경로 생성 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 3에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 4에 도시된 개별 경로 생성 방법은 프로세서(400)의 제어 하에 개별 경로 생성 모듈(411)에서 수행될 수 있으며, 프로세서(400)에 의해 수행될 수도 있다.
도 4를 참조하면, S410단계에서, 개별 경로 생성 모듈(411)은 측위센서로써의 GNSS 센서(210)로부터 위치 데이터를 수집할 수 있다.
S420단계에서, 개별 경로 생성 모듈(411)은 수집한 위치 데이터의 품질을 검사할 수 있다. 개별 경로 생성 모듈(411)은 GNSS 센서(210)로부터 수집한 농기계(1)의 위치 데이터와, 위치 데이터에 대한 품질(위치 정밀도)을 이용하여 개별 경로 생성시에 사용할 위치 데이터를 추출하는 것으로, 일반적으로 위치 데이터 품질 검사의 기준은 요구되는 자율주행 성능의 정밀도 도는 농기계(1) 크기의 절반으로 기준값을 정의할 수 있다.
여기서, 위치 데이터에 대한 품질은, GNSS 센서(210)의 품질 판단 인자와 기설정된 기준값의 비교를 통해 결정될 수 있다. 여기서, 품질 판단 인자는 GNSS 센서(210)의 모호수 종류, 위치 정밀도, 위성의 개수, DOP(dilution of precision) 중 적어도 하나를 포함할 수 있으며, 이러한 정보는 GNSS 센서(210)로부터 획득될 수 있다.
이 경우, 개별 경로 생성 모듈(411)은 품질 판단 인자가 기설정된 기준값을 만족하지 않는 경우, 현재 위치 상태가 불량한 것으로 판단할 수 있다. 품질 판단 인자가 기설정된 기준값을 만족하지 않으면, 개별 경로 생성 모듈(411)은 GNSS 센서(210)로부터 획득되는 데이터의 정확도가 떨어지는 것으로 판단하고, GNSS 센서(210)로부터 획득되는 위치 데이터를 농기계(1)의 주행의 제어에 이용하지 않으며, 농기계(1)가 주행 중인 경우에는 농기계(1)의 주행을 멈추도록 구동부(100)를 제어할 수 있다.
예를 들어, 개별 경로 생성 모듈(411)은 바퀴의 구동을 중단시키기 위한 제어 신호를 생성하고, 생성된 제어 신호를 구동부(100)로 제공할 수 있다. 이 경우, 구동부(100)는 개별 경로 생성 모듈(411)로부터 제공받은 제어 신호에 따라 브레이크 액추에이터를 구동하여, 바퀴의 구동을 중단시킬 수 있다.
한편, 개별 경로 생성 모듈(411)은 품질 판단 인자가 기설정된 기준값을 만족하는 경우, GNSS 센서(210)를 통해 획득된 데이터를 메모리(300)에 저장할 수 있다. 여기에서, GNSS 센서(210)를 통해 획득된 데이터는 농기계(1)의 위치, 속도 및 방향각 등을 포함할 수 있다.
430단계에서, 개별 경로 생성 모듈(411)은 품질이 양호한 위치 데이터와 경로 생성 조건(웨이포인트 간의 최소 거리, 직선 여부를 결정하는 직선 사이의 각도, 회전구간을 정의하기 위한 기준 각도, 작업 구간을 정의하기 위한 직선 사이의 각도)을 이용하여 웨이포인트 기반의 개별 경로를 생성할 수 있다.
440단계에서, 개별 경로 생성 모듈(411)은 웨이포인트 기반의 개별 경로를 출력할 수 있다.
도 5는 도 4의 개별 경로 생성 방법 중, S430단계의 개별 경로 생성 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 4에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 5를 참조하면, S510단계에서, 개별 경로 생성 모듈(411)은 품질 검사가 완료된 위치 데이터를 메모리(300)로부터 로딩할 수 있다.
S520단계에서, 개별 경로 생성 모듈(411)은 위치 데이터에 대한 측지 좌표를 NED(north, east, down) 좌표로 변환할 수 있다. 개별 경로 생성 모듈(411)은 위치 데이터가 측지 좌표로 입력될 경우에 타원체 상의 위치임에 따라 평면상의 위치로 표현하고, 점들의 위치를 미터로 변환하기 위하여, 입력된 측지 좌표를 첫 위치 데이터를 원점으로 한 NED 좌표로 변환할 수 있다.
S530단계에서, 개별 경로 생성 모듈(411)은 NED 좌표로 변환된 위치 데이터를 이용하여 웨이포인트를 생성할 수 있다. 개별 경로 생성 모듈(411)은 웨이포인트 간의 기설정된 최소 거리(
Figure pat00009
)와 직선 여부를 결정하는 직선 사이의 기설정된 각도(
Figure pat00010
)를 기준으로 후술하는 도 6을 이용하여 위치 데이터 중 일부를 웨이포인트로 하여 경로를 생성할 수 있다.
S540단계에서, 개별 경로 생성 모듈(411)은 생성한 웨이포인트에 대한 종류를 지정할 수 있다. 개별 경로 생성 모듈(411)은 회전 구간을 정의하기 위한 기설정된 기준 각도(
Figure pat00011
)와 후술하는 도 7을 이용하여 생성한 웨이포인트에 시작점, 종료점, 회전구간 및 직선구간 중 하나를 포함하는 웨이포인트 종류를 지정할 수 있다.
여기서, 개별 경로 생성 모듈(411)은 개별 작업 경로를 생성하는 경우, 추가적으로 작업 구간을 정의하기 위한 직선 사이의 기설정된 각도(
Figure pat00012
)와 도 8을 이용하여 직선 구간의 일부를 작업 구간으로 정의할 수 있다.
S550단계에서, 개별 경로 생성 모듈(411)은 웨이포인트에 대한 NED 좌표를 측지 좌표로 변환할 수 있다.
도 6는 도 5의 개별 경로 생성 방법 중, S530단계의 웨이포인트 생성 방법을 설명하기 위한 흐름도 이다. 이하의 설명에서 도 1 내지 도 5에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 6을 참조하면, S601단계에서, 개별 경로 생성 모듈(411)은 메모리(300)로부터 NED 좌표로 변환된 위치 데이터 로딩할 수 있다.
S603단계에서, 개별 경로 생성 모듈(411)은 로딩한 위치 데이터로부터
Figure pat00013
번째 위치 데이터(
Figure pat00014
)를 추출하고,
Figure pat00015
번째 위치 데이터(
Figure pat00016
)를 추출하고,
Figure pat00017
번째 위치 데이터(
Figure pat00018
)를 추출할 수 있다.
S605단계에서, 개별 경로 생성 모듈(411)은
Figure pat00019
번째 위치 데이터(
Figure pat00020
)와
Figure pat00021
번째 위치 데이터(
Figure pat00022
) 사이의 제1 직선(
Figure pat00023
)을 생성하고, 제1 직선(
Figure pat00024
)의 기울기(
Figure pat00025
)생성할 수 있다. 마찬가지로 개별 경로 생성 모듈(411)은
Figure pat00026
번째 위치 데이터(
Figure pat00027
)와
Figure pat00028
번째 위치 데이터(
Figure pat00029
)사이의 제2 직선(
Figure pat00030
)을 생성하고, 제2 직선(
Figure pat00031
)의 기울기(
Figure pat00032
)를 생성할 수 있다.
S607단계에서, 개별 경로 생성 모듈(411)은 제1 직선(
Figure pat00033
)의 기울기 각도(
Figure pat00034
)와, 제2 직선(
Figure pat00035
)의 기울기 각도(
Figure pat00036
)를 계산할 수 있다.
S609단계에서, 개별 경로 생성 모듈(411)은 두 직선의 기울기 각도의 차이(
Figure pat00037
)를 계산할 수 있다.
S611단계에서, 개별 경로 생성 모듈(411)은 두 직선의 기울기 각도의 차이(
Figure pat00038
)가 직선 여부를 결정하는 직선 사이의 각도(
Figure pat00039
)보다 큰지를 판단할 수 있다.
S613단계에서, 개별 경로 생성 모듈(411)은 두 직선의 기울기 각도의 차이(
Figure pat00040
)가 직선 여부를 결정하는 직선 사이의 각도(
Figure pat00041
)보다 큰 경우, 최근 생성된 웨이포인트와
Figure pat00042
번째 위치 데이터와의 거리(
Figure pat00043
)를 계산할 수 있다.
S615단계에서, 개별 경로 생성 모듈(411)은, 최근 생성된 웨이포인트와
Figure pat00044
번째 위치 데이터와의 거리(
Figure pat00045
)가 웨이포인트 간의 최소 거리(
Figure pat00046
)보다 큰지를 판단할 수 있다.
S617단계에서, 개별 경로 생성 모듈(411)은 최근 생성된 웨이포인트와
Figure pat00047
번째 위치 데이터와의 거리(
Figure pat00048
)가 웨이포인트 간의 최소 거리(
Figure pat00049
)보다 큰 경우,
Figure pat00050
번째 위치 데이터를 웨이포인트로 저장할 수 있다.
S619단게에서, 개별 경로 생성 모듈(411)은 웨이포인트로 저장된
Figure pat00051
번째 위치 데이터를 최근 생성된 웨이포인트로 지정(
Figure pat00052
)할 수 있다.
도 7은 도 5의 개별 경로 생성 방법 중, S540단계의 웨이포인트 종류 지정 방법을 설명하기 위한 흐름도 이다. 이하의 설명에서 도 1 내지 도 6에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 7을 참조하면, S701단계에서, 개별 경로 생성 모듈(411)은 메모리(300)로부터 웨이포인트 데이터를 로딩할 수 있다.
S703단계에서, 개별 경로 생성 모듈(411)은 로딩한 웨이포인트 데이터로부터
Figure pat00053
번째 웨이포인트(
Figure pat00054
)를 추출하고,
Figure pat00055
번째 웨이포인트(
Figure pat00056
)를 추출하고,
Figure pat00057
번째 웨이포인트(
Figure pat00058
)를 추출할 수 있다.
S705단계에서, 개별 경로 생성 모듈(411)은
Figure pat00059
번째 웨이포인트,
Figure pat00060
번째 웨이포인트 및
Figure pat00061
번째 웨이포인트 중
Figure pat00062
번째 웨이포인트가 첫 번째 웨이포인트인지 판단할 수 있다.
S707단계에서, 개별 경로 생성 모듈(411)은
Figure pat00063
번째 웨이포인트가 첫 번째 웨이포인트인 경우,
Figure pat00064
번째 웨이포인트를 시작점 웨이포인트로 지정할 수 있다.
S709단계에서, 개별 경로 생성 모듈(411)은
Figure pat00065
번째 웨이포인트,
Figure pat00066
번째 웨이포인트 및
Figure pat00067
번째 웨이포인트 중
Figure pat00068
번째 웨이포인트가 마지막 웨이포인트인지 판단할 수 있다.
S711단계에서, 개별 경로 생성 모듈(411)은
Figure pat00069
번째 웨이포인트가 마지막 웨이포인트인 경우,
Figure pat00070
번째 웨이포인트를 종료점 웨이포인트로 지정할 수 있다.
S713단계에서, 개별 경로 생성 모듈(411)은
Figure pat00071
번째 웨이포인트가 첫 번째 및 마지막 웨이포인트가 아닐 경우,
Figure pat00072
번째 웨이포인트(
Figure pat00073
) 및
Figure pat00074
번째 웨이포인트(
Figure pat00075
)를 이용하여 생성한 제1 직선(
Figure pat00076
)의 방위각(
Figure pat00077
)을 계산할 수 있다. 마찬가지로, 개별 경로 생성 모듈(411)은 은
Figure pat00078
번째 웨이포인트가 첫 번째 및 마지막 웨이포인트가 아닐 경우,
Figure pat00079
번째 웨이포인트(
Figure pat00080
) 및
Figure pat00081
번째 웨이포인트(
Figure pat00082
)를 이용하여 생성한 제2 직선(
Figure pat00083
)의 방위각(
Figure pat00084
)을 계산할 수 있다.
S715단계에서, 개별 경로 생성 모듈(411)은 두 직선의 방위각 차이(
Figure pat00085
)를 계산할 수 있다.
S717단계에서, 개별 경로 생성 모듈(411)은 두 직선의 방위각 차이(
Figure pat00086
)가 회전 구간을 정의하기 위한 기설정된 기준 각도(
Figure pat00087
)보다 큰가를 판단할 수 있다.
S719단계에서, 개별 경로 생성 모듈(411)은 두 직선의 방위각 차이(
Figure pat00088
)가 회전 구간을 정의하기 위한 기설정된 기준 각도(
Figure pat00089
)보다 큰 경우,
Figure pat00090
번째 웨이포인트를 회전구간 웨이포인트로 지정할 수 있다.
S721단계에서, 개별 경로 생성 모듈(411)은 두 직선의 방위각 차이(
Figure pat00091
)가 회전 구간을 정의하기 위한 기설정된 기준 각도(
Figure pat00092
)보다 작을 경우 직선구간 웨이포인트로 지정할 수 있다.
도 8은 도 5의 개별 경로 생성 방법 중, 작업 구간을 정의하는 방법을 설명하기 위한 흐름도 이다. 이하의 설명에서 도 1 내지 도 7에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 8을 참조하면, S810단계에서, 개별 경로 생성 모듈(411)은 메모리(300)로부터 웨이포인트 데이터를 로딩할 수 있다.
S820단계에서, 개별 경로 생성 모듈(411)은 현재 웨이포인트가 회전구간인지 판단할 수 있다.
S830단계에서, 개별 경로 생성 모듈(411)은 현재 웨이포인트가 회전구간이 아닌 경우, 현재 웨이포인트 데이터를 메모리(300)에 저장할 수 있다.
S840단계에서, 개별 경로 생성 모듈(411)은 현재 웨이포인트가 회전구간이라고 판단한 경우, 현재까지 저장된 웨이포인트의 첫점과 끝점의 좌표를 이용하여 거리(
Figure pat00093
)를 계산할 수 있다.
S850단계에서, 개별 경로 생성 모듈(411)은 계산한 거리(
Figure pat00094
)가 작업 구간을 정의하기 위한 직선 사이의 각도(
Figure pat00095
)보다 큰가를 판단할 수 있다.
S860단계에서, 개별 경로 생성 모듈(411)은 계산한 거리(
Figure pat00096
)가 작업 구간을 정의하기 위한 직선 사이의 각도(
Figure pat00097
)보다 큰 경우, 현재 저장된 웨이포인트를 작업 경로로 지정할 수 있다.
S870단계에서, 개별 경로 생성 모듈(411)은 현재 저장된 웨이포인트를 작업 경로로 지정한 후, 현재 저장된 웨이포인트를 삭제할 수 있다.
도 9는 본 실시 예에 따른 위치 데이터와 개별 경로 생성 모듈을 통해 생성된 웨이포인트 데이터의 예시도이다. 이하의 설명에서 도 1 내지 도 8에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 9를 참조하면, 빨간색 표시의 데이터는 웨이포인트 데이터를 나타내고, 파란색 표시의 데이터는 위치 데이터를 나타낼 수 있이다.
도 10은 본 실시 예에 따른 제1 병합 모듈의 동작 방법을 설명하기 위한 흐름도 이다. 이하의 설명에서 도 1 내지 도 9에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 10을 참조하면, S1010단계에서, 작업 경로 병합 모듈로서의 제1 병합 모듈(412)은 제1 작업 경로 웨이포인트 및 제2 작업 경로 웨이포인트를 메모리(300)로부터 로딩할 수 있다. 예를 들어, 제1 작업 경로 웨이포인트는 첫 번째 작업 경로 웨이포인트를 포함할 수 있고, 제2 작업 경로 웨이포인트는 두 번째 작업 경로 웨이포인트를 포함할 수 있다.
S1020단계에서, 제1 병합 모듈(412)은 웨이포인트의 위치가 측지 좌표로 표현됨에 따라 NED 좌표로 변환할 수 있다. 즉, 제1 병합 모듈(412)은 측지 좌표로 표현된 제1 작업 경로 웨이포인트 및 제2 작업 경로 웨이포인트를 NED 좌표로 변환할 수 있다.
S1030단계에서, 제1 병합 모듈(412)은 NED 좌표로 변환된 제1 작업 경로 웨이포인트 및 제2 작업 경로 웨이포인트를 이용하여 전체 웨이포인트를 생성할 수 있다. 여기서, 전체 웨이포인트라 함은 제1 작업 경로 웨이포인트 및 제2 작업 경로 웨이포인트를 병합한 하나의 웨이포인트를 포함할 수 있다. 제1 병합 모듈(412)은 두 개의 작업 경로 웨이포인트의 교차점 검색은 후술하는 도 11 및 도 13을 이용하여 두 개의 작업 경로를 하나의 작업 경로 웨이포인트인 전체 웨이포인트로 생성할 수 있다.
제1 병합 모듈(412)은 웨이포인트 간의 기설정된 최소 거리(
Figure pat00098
)와 직선 여부를 결정하는 직선 사이의 기설정된 각도(
Figure pat00099
)를 기준으로 상술한 도 6을 이용하여 전체 웨이포인트를 위치 데이터로 하고, 위치 데이터 중 일부를 웨이포인트로 하여 경로를 생성할 수 있다.
S1040단계에서, 제1 병합 모듈(412)은 생성한 웨이포인트에 대한 종류를 지정할 수 있다. 제1 병합 모듈(412)은 회전 구간을 정의하기 위한 기설정된 기준 각도(
Figure pat00100
)와 상술한 도 7을 이용하여 생성한 웨이포인트에 시작점, 종료점, 회전구간 및 직선구간 중 하나를 포함하는 웨이포인트 종류를 지정할 수 있다.
S1050단계에서, 제1 병합 모듈(412)은 웨이포인트에 대한 NED 좌표를 측지 좌표로 변환할 수 있다.
도 11은 도 10의 S1030단계에서 수행되는 웨이포인트의 교차점을 검색하는 방법 중, 직선 기반 교차점 검색 방법을 설명하기 위한 흐름도 이다. 이하의 설명에서 도 1 내지 도 10에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 11을 참조하면, S1110단계에서, 제1 병합 모듈(412)은 제1(예를 들어, 첫 번째) 작업 경로 웨이포인트 및 제2(예를 들어, 두 번째) 작업 경로 웨이포인트를 메모리(300)로부터 로딩할 수 있다.
S1120단계에서, 제1 병합 모듈(412)은 제1 작업 경로 웨이포인트로부터
Figure pat00101
번째 웨이포인트와
Figure pat00102
번째 웨이포인트(
Figure pat00103
)를 추출하고,
Figure pat00104
번째 웨이포인트(
Figure pat00105
)와
Figure pat00106
번째 웨이포인트(
Figure pat00107
)를 이용하여 제1 직선(
Figure pat00108
)을 생성할 수 있다. 마찬가지로, 제1 병합 모듈(412)은 제2 작업 경로 웨이포인트로부터
Figure pat00109
번째 웨이포인트와
Figure pat00110
번째 웨이포인트(
Figure pat00111
)를 추출하고, 웨이포인트로부터
Figure pat00112
번째 웨이포인트(
Figure pat00113
)와
Figure pat00114
번째 웨이포인트(
Figure pat00115
)를 이용하여 제2 직선(
Figure pat00116
)을 생성할 수 있다.
S1130단계에서, 제1 병합 모듈(412)은 두 직선
Figure pat00117
Figure pat00118
과의 교차점 검색할 수 있다.
S1140단계에서, 제1 병합 모듈(412)은 교차점이 존재하는지 판단할 수 있다.
S1150단계에서, 제1 병합 모듈(412)은 교차점이 존재한다고 판단되면 교차점을 메모리(300)에 저장할 수 있다.
S1160단계에서, 제1 병합 모듈(412)은 제2 작업 경로 웨이포인트의 인덱스가 끝인가를 판단할 수 있다.
S1170단계에서, 제1 병합 모듈(412)은 제2 작업 경로 웨이포인트의 인덱스가 끝이 아니면, 제2 작업 경로 인덱스를 증가시킬 수 있다.
S1180단계에서, 제1 병합 모듈(412)은 제2 작업 경로 웨이포인트의 인덱스가 끝이면, 제1 작업 경로 인덱스를 증가시킬 수 있다.
본 실시 예에서, 제1 작업 경로의 인접 웨이포인트로 생성된 제1 직선(
Figure pat00119
)과, 제2 작업 경로의 인접 웨이포인트로 생성된 제2 직선(
Figure pat00120
)의 교차점 검색은 다음과 같은 방법에 의해 처리될 수 있다. 여기서 교차점은 직선끼리 교차하고 직선 내에 있는 점을 의미할 수 있다.
1) 제1 병합 모듈(412)은 교차점을 계산하기 위한 하기 수학식 1과 같이
Figure pat00121
Figure pat00122
를 계산할 수 있다. 여기서,
Figure pat00123
는 1 작업 경로의 인접 웨이포인트로 생성된 직선(
Figure pat00124
)의 벡터 값을 나타내고,
Figure pat00125
는 제2 작업 경로의 인접 웨이포인트로 생성된 직선(
Figure pat00126
)의 벡터 값을 나타낼 수 있다.
Figure pat00127
Figure pat00128
수학식 1에서,
Figure pat00129
은 제1 작업 경로의
Figure pat00130
번째 웨이포인트의 북쪽 방향 좌표를 나타내고,
Figure pat00131
은 제1 작업 경로의
Figure pat00132
번째 웨이포인트의 동쪽 방향 좌표를 나타내고,
Figure pat00133
은 제1 작업 경로의
Figure pat00134
번째 웨이포인트의 북쪽 방향 좌표를 나타내고,
Figure pat00135
은 제1 작업 경로의
Figure pat00136
번째 웨이포인트의 동쪽 방향 좌표를 나타내고,
Figure pat00137
은 제2 작업 경로의
Figure pat00138
번째 웨이포인트의 북쪽 방향 좌표를 나타내고,
Figure pat00139
은 제2 작업 경로의
Figure pat00140
번째 웨이포인트의 동쪽 방향 좌표를 나타내고,
Figure pat00141
은 제2 작업 경로의
Figure pat00142
번째 웨이포인트의 북쪽 방향 좌표를 나타내고,
Figure pat00143
은 제2 작업 경로의
Figure pat00144
번째 웨이포인트의 동쪽 방향 좌표를 나타낼 수 있다.
2) 제1 병합 모듈(412)은 교차점 존재 여부를 확인할 수 있다. 제1 병합 모듈(412)은 벡터 값들이 기설정된 조건을 만족하면 교차점이 존재한다고 판단할 수 있다. 여기서 기설정된 조건은,
Figure pat00145
을 포함할 수 있다.
3) 제1 병합 모듈(412)은 교차점이 존재한다고 판단한 경우, 하기 수학식 2를 이용하여 교차점(NP)의 NED(north, east, down) 좌표를 계산할 수 있다.
Figure pat00146
Figure pat00147
Figure pat00148
Figure pat00149
Figure pat00150
수학식 2에서
Figure pat00151
는 각각 교차점의 북쪽, 동쪽, 아래쪽 방향의 좌표를 나타내고,
Figure pat00152
은 제1 작업 경로의
Figure pat00153
번째 웨이포인트의 아래쪽 방향 좌표를 나타내고,
Figure pat00154
은 제1 작업 경로의
Figure pat00155
번째 웨이포인트의 아래쪽 방향 좌표를 나타낼 수 있다.
도 12는 도 11의 직선 기반 교차점 검색 방법을 이용하여 두 개의 작업 경로를 병합하는 예시도이다. 이하의 설명에서 도 1 내지 도 11에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
제1 병합 모듈(412)은 직선 기반 교차점 검색 방법을 통해 교차점이 존재하면, 마지막 교차점을 기준으로 제1 작업 경로와 제2 작업 경로를 병합할 수 있다.
도 12를 참조하면, 제1 작업 경로 웨이포인트(
Figure pat00156
) 및 제2 작업 경로 웨이포인트(
Figure pat00157
)는 다음과 같을 수 있다.
Figure pat00158
Figure pat00159
직선 기반 교차점 검색을 통해 찾은 교차점 웨이포인트(
Figure pat00160
)는 다음과 같을 수 있다.
Figure pat00161
마지막 교차점을 이용하여 두 개의 작업 경로 웨이포인트를 병합한 결과(
Figure pat00162
)는 다음과 같을 수 있다.
Figure pat00163
도 13은 도 10의 S1030단계에서 수행되는 웨이포인트의 교차점을 검색하는 방법 중, 거리 기반 교차점 검색 방법을 설명하기 위한 흐름도 이다. 이하의 설명에서 도 1 내지 도 12에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 본 실시 예에서, 직선 기반 교차점 검색을 통하여 교차점이 존재하지 않으면, 두 작업 경로 간의 거리를 이용한 거리 기반 교차점 검색을 수행할 수 있다.
도 13을 참조하면, S1310단계에서, 제1 병합 모듈(412)은 제1(예를 들어, 첫 번째) 작업 경로 웨이포인트 및 제2(예를 들어, 두 번째) 작업 경로 웨이포인트를 메모리(300)로부터 로딩할 수 있다.
S1320단계에서, 제1 병합 모듈(412)은 제1 작업 경로 웨이포인트로부터
Figure pat00164
번째 웨이포인트와
Figure pat00165
번째 웨이포인트(
Figure pat00166
)를 추출하고,
Figure pat00167
번째 웨이포인트(
Figure pat00168
)와
Figure pat00169
번째 웨이포인트(
Figure pat00170
)를 이용하여 직선(
Figure pat00171
)을 생성할 수 있다. 마찬가지로, 제1 병합 모듈(412)은 제2 작업 경로 웨이포인트로부터
Figure pat00172
번째 웨이포인트(
Figure pat00173
)를 추출할 수 있다.
S1330단계에서, 제1 병합 모듈(412)은 직선
Figure pat00174
및 제2 작업 경로 웨이포인트의
Figure pat00175
번째 웨이포인트(
Figure pat00176
) 사이의 최단 거리(
Figure pat00177
)가 되는 직선(
Figure pat00178
) 상의 좌표를 계산할 수 있다.
S1340단계에서, 제1 병합 모듈(412)은 직선
Figure pat00179
및 제2 작업 경로 웨이포인트의
Figure pat00180
번째 웨이포인트(
Figure pat00181
) 사이의 최단 거리(
Figure pat00182
)가, 거리 기반 경로 통합 시에 하나의 점이라 가정하는 기설정된 거리 기준값(
Figure pat00183
)보다 작은지를 판단할 수 있다.
S1350단계에서, 제1 병합 모듈(412)은 직선
Figure pat00184
및 제2 작업 경로 웨이포인트의
Figure pat00185
번째 웨이포인트(
Figure pat00186
) 사이의 최단 거리(
Figure pat00187
)가, 거리 기반 경로 통합 시에 하나의 점이라 가정하는 기설정된 거리 기준값(
Figure pat00188
)보다 작은 경우 교차점이 존재한다고 판단하고 교차점을 메모리(300)에 저장할 수 있다.
S1360단계에서, 제1 병합 모듈(412)은 직선
Figure pat00189
및 제2 작업 경로 웨이포인트의
Figure pat00190
번째 웨이포인트(
Figure pat00191
) 사이의 최단 거리(
Figure pat00192
)가, 거리 기반 경로 통합 시에 하나의 점이라 가정하는 기설정된 거리 기준값(
Figure pat00193
)보다 작은 경우, 제2 작업 경로 웨이포인트의 인덱스가 끝인가를 판단할 수 있다.
S1370단계에서, 제1 병합 모듈(412)은 제2 작업 경로 웨이포인트의 인덱스가 끝이 아니면, 제2 작업 경로 인덱스를 증가시킬 수 있다.
S1380단계에서, 제1 병합 모듈(412)은 제2 작업 경로 웨이포인트의 인덱스가 끝이면, 제1 작업 경로 인덱스를 증가시킬 수 있다.
본 실시 예에서, 제1 작업 경로의 인접 웨이포인트로 생성된 직선과, 제2 작업 경로의 웨이포인트와의 최단 거리(
Figure pat00194
)와 직선(
Figure pat00195
) 상의 좌표 존재 여부는 다음과 같이 계산 처리될 수 있다.
1) 제1 병합 모듈(412)은 제1 작업 경로의 인접 웨이포인트를 이용하여 직선의 방정식(
Figure pat00196
)의 계수(
Figure pat00197
)를 하기 수학식 3과 같이 계산할 수 있다.
Figure pat00198
Figure pat00199
Figure pat00200
수학식 3에서,
Figure pat00201
은 제1 작업 경로의
Figure pat00202
번째 웨이포인트의 북쪽 방향 좌표를 나타내고,
Figure pat00203
은 제1 작업 경로의
Figure pat00204
번째 웨이포인트의 동쪽 방향 좌표를 나타내고,
Figure pat00205
은 제1 작업 경로의
Figure pat00206
번째 웨이포인트의 북쪽 방향 좌표를 나타내고,
Figure pat00207
은 제1 작업 경로의
Figure pat00208
번째 웨이포인트의 동쪽 방향 좌표를 나타낼 수 있다.
2) 제1 병합 모듈(412)은 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단거리(
Figure pat00209
)를 하기 수학식 4와 같이 계산할 수 있다.
Figure pat00210
수학식 4에서,
Figure pat00211
은 제2 작업 경로의
Figure pat00212
번째 웨이포인트의 북쪽 방향 좌표를 나타내고,
Figure pat00213
은 제2 작업 경로의
Figure pat00214
번째 웨이포인트의 동쪽 방향 좌표를 나타낼 수 있다.
3) 제1 병합 모듈(412)은 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리를 갖는 직선 상의 점의 좌표(
Figure pat00215
,
Figure pat00216
)를 수학식 5와 같이 계산할 수 있다.
Figure pat00217
Figure pat00218
Figure pat00219
Figure pat00220
수학식 5에서,
Figure pat00221
는 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리를 갖는 직선 상의 점의 북쪽 방향 좌표를 나타내고,
Figure pat00222
는 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리를 갖는 직선 상의 점의 동쪽 방향 좌표를 나타낼 수 있다.
4) 제1 병합 모듈(412)은 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리를 갖는 직선 상의 점이 제1 작업 경로의 인접 웨이포인트로 생성된 직선 내에 존재하는지 판단할 수 있다. 제1 병합 모듈(412)은 하기 수학식 6과 같은 조건을 만족하면 직선 내에 존재한다고 판단할 수 있다.
Figure pat00223
Figure pat00224
Figure pat00225
Figure pat00226
5) 제1 병합 모듈(412)은 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리를 갖는 직선 상의 점이 제1 작업 경로의 인접 웨이포인트로 생성된 직선 내에 존재하면, 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리가 거리 기반 경로 통합 시에 하나의 점이라 가정하는 거리 기준값을 만족하는지 확인할 수 있다.
제1 병합 모듈(412)은 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리(
Figure pat00227
)가, 거리 기반 경로 통합 시에 하나의 점이라 가정하는 기설정된 거리 기준값(
Figure pat00228
)보다 작은 경우, 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리를 직선 상의 점이 교차점이라 지정하고 아래쪽 방향 좌표 계산할 수 있다.
6) 제1 병합 모듈(412)은 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리를 갖는 직선 상의 제1 작업 경로의 인접 웨이포인트로 생성된 직선 내에 존재하면 하기 수학식 7과 같이 아래쪽 방향 좌표(
Figure pat00229
)를 계산할 수 있다.
Figure pat00230
수학식 7에서,
Figure pat00231
는 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 최단 거리를 갖는 직선 상의 점의 아래쪽 방향 좌표를 나타내고,
Figure pat00232
은 제1 작업 경로의
Figure pat00233
번째 웨이포인트의 아래쪽 방향 좌표를 나타내고,
Figure pat00234
는 제1 작업 경로의
Figure pat00235
번째 웨이포인트의 아래쪽 방향 좌표를 나타낼 수 있다.
7) 제1 병합 모듈(412)은 전체 웨이포인트를 통해 교차점 탐색이 완료된 후, 최종 거리 기반 교차점을 지정할 수 있다. 제1 병합 모듈(412)은 교차점이 두 개 이상이면, 제2 작업 경로의 웨이포인트와 제1 작업 경로의 인접 웨이포인트를 이용하여 생성된 직선과의 거리가 가장 짧은 교차점을 최종 거리기반 교차점으로 지정할 수 있다. 제1 병합 모듈(412)은 교차점이 없으면, 제1 작업 경로와 제2 작업 경로를 병합할 수 없다고 판단한다.
도 14는 도 13의 거리 기반 교차점 검색 방법을 이용하여 두 개의 작업 경로를 병합하는 예시도이다. 이하의 설명에서 도 1 내지 도 13에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 14를 참조하면, 제1 작업 경로 웨이포인트(
Figure pat00236
) 및 제2 작업 경로 웨이포인트(
Figure pat00237
)는 다음과 같을 수 있다.
Figure pat00238
Figure pat00239
거리 기반 교차점 검색을 통해 찾은 교차점 웨이포인트(
Figure pat00240
)는 다음과 같을 수 있다. 여기서, 거리 기반 경로 통합 시에 하나의 점이라 가정하는 거리 기준값(
Figure pat00241
) 이내를 만족하는 경우의 교차점 웨이포인트일 수 있다.
Figure pat00242
Figure pat00243
Figure pat00244
에 비해 짧으므로,
Figure pat00245
을 교차점으로 하여 두 개의 작업 경로 웨이포인트를 병합할 수 있고, 그 결과(
Figure pat00246
)는 다음과 같을 수 있다.
Figure pat00247
도 15는 본 실시 예에 따른 제2 병합 모듈의 동작 방법을 설명하기 위한 흐름도 이다. 이하의 설명에서 도 1 내지 도 14에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 15를 참조하면, S1510단계에서, 작업 경로와 보조 경로를 병합하는 모듈로서의 제2 병합 모듈(413)은 작업 경로 웨이포인트 및 보조 경로 웨이포인트를 메모리(300)로부터 로딩할 수 있다.
S1520단계에서, 제2 병합 모듈(413)은 웨이포인트의 위치가 측지 좌표로 표현됨에 따라 NED 좌표로 변환할 수 있다. 즉, 제2 병합 모듈(413) 은 측지 좌표로 표현된 작업 경로 웨이포인트 및 보조 경로 웨이포인트를 NED 좌표로 변환할 수 있다.
S1530단계에서, 제2 병합 모듈(413)은 NED 좌표로 변환된 작업 경로 웨이포인트 및 보조 경로 웨이포인트를 이용하여 전체 경로 데이터를 생성할 수 있다. 여기서, 전체 경로 데이터라 함은 작업 경로 웨이포인트 및 보조 경로 웨이포인트를 병합한 전체 경로 웨이포인트를 포함할 수 있다. 제2 병합 모듈(413)은 상술한 도 11에 도시된 직선 기반 교차점 검색과 상술한 도 13에 도시된 거리 기반 교차점 검색을 통해 교차점을 생성하여 작업 경로 웨이포인트, 보조 경로 웨이포인트, 교차점을 통합할 수 있다.
본 실시 예에서 제1 병합 모듈(412)의 경우, 직선 기반 교차점 검색을 통하여 교차점이 검색되지 않을 경우에 거리 기반 교차점 검색을 수행하나, 제2 병합 모듈(413)은 직선 기반 교차점 검색과 거리 기반 교차점 검색을 모두 수행할 수 있다. 또한, 제1 병합 모듈(412)에서는 교차점은 하나의 교차점만을 정의하나, 제2 병합 모듈(413)에서는 교차점이 다수개 존재할 수 있다.
S1540단계에서, 제2 병합 모듈(413)은 전체 경로 데이터의 인접점 사이의 거리를 지정하여 전체 경로에 대한 네트워크 데이터를 생성할 수 있다.
S1550단계에서, 제2 병합 모듈(413)은 전체 경로 데이터에 대한 NED 좌표를 측지 좌표로 변환할 수 있다.
도 16 내지 도 18은 본 실시 예에 따른 전체 경로 생성의 예시도이다. 이하의 설명에서 도 1 내지 도 15에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 16을 참조하면, 제2 병합 모듈(413)로 입력되는 작업 경로 웨이포인트와 보조 경로 웨이포인트가 도시될 수 있다. 도 16의 좌측에는 작업 경로 웨이포인트의 예시를 나타내고, 도 16?? 우측에는 보조 경로 웨이포인트의 예시를 나타내고 있다.
도 17을 참조하면, 제2 병합 모듈(413)의 전체 경로 데이터 생성을 통해 작업 경로 웨이포인트, 보조 경로 웨이포인트, 교차점을 도시하고 있다.
도 18을 참조하면, 도 17에서 교차점이 생성된 부분을 확대하여 도시하고 있다.
도 19는 도 15의 S1540단계에서 수행되는 전체 경로에 대한 네트워크 데이터 생성의 예시도 이다. 이하의 설명에서 도 1 내지 도 18에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 19를 참조하면, 도 19a와 같이 전체 경로에 대한 웨이포인트가 4개 존재하고, 인접 웨이포인트 간의 거리가
Figure pat00248
,
Figure pat00249
,
Figure pat00250
일 경우, 네트워크 데이터는 웨이포인트 개수 × 웨이포인트 개수인 2차원 행렬 형태로 생성될 수 있다.
본 실시 예에서는, 4×4 행렬이 생성될 수 있다. 또한, 각 행렬의 위치와 열의 위치는 웨이포인트의 번호를 의미할 수 있다. 예를 들어, (1, 2)의 경우에는
Figure pat00251
에서
Figure pat00252
까지의 거리 값을 지정하며, 인접점이 아니거나 갈 수 없는 경우에는 무한대 값인 99999999를 입력할 수 있다. 도 19a를 기준으로 네트워크를 데이터를 생성하면 도 19b와 같을 수 있다.
도 20은 본 실시 예에 따른 자율주행 경로 생성 방법을 설명하기 위한 예시도 이다. 이하의 설명에서 도 1 내지 도 19에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 20을 참조하면, S2010단계엑서, 프로세서(400)는 자율주행할 작업 경로를 수동으로 주행하는 농기계(1)에 대하여 측위센서로부터 수집한 농기계(1)의 제1 위치 데이터를 이용하여 웨이포인트(waypoints) 기반의 작업 경로를 생성할 수 있다.
본 실시 예에서, 프로세서(400)는 작업 경로 생성 시에, 측지 좌표로 입력되는 제1 위치 데이터를 NED 좌표로 변환할 수 있다. 프로세서(400)는 웨이포인트 간의 최소거리와, 직선 여부를 결정하는 직선 사이의 각도를 이용하여, 제1 위치 데이터 중 일부를 웨이포인트로 생성할 수 있다. 프로세서(400)는 웨이포인트에 회전구간을 정의하기 위한 기준 각도를 적용하여 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정할 수 있다. 프로세서(400)는 NED 좌표로 표현된 웨이포인트를 측지 좌표로 변환할 수 있다.
본 실시 예에서, 웨이포인트 생성 시에, 프로세서(400)는 제1 위치 데이터에 포함되는 제n-1 위치 데이터 및 제n 위치 데이터 간에 생성된 제1 직선의 기울기 각도를 계산할 수 있다. 프로세서(400)는 제1 위치 데이터에 포함되는 제n 위치 데이터 및 제n+1 위치 데이터 간에 생성된 제2 직선의 기울기 각도를 계산할 수 있다. 프로세서(400)는 제1 직선의 기울기 각도 및 제2 직선의 기울기 각도 의 차이가 직선 여부를 결정하는 직선 사이의 각도보다 큼에 따라, 최근 생성된 웨이포인트와 제n 위치 데이터 사이의 거리 차이를 계산할 수 있다. 프로세서(400)는 최근 생성된 웨이포인트와 제n 위치 데이터 사이의 거리 차이가 웨이포인트 간의 최소거리보다 큼에 따라 제n 위치 데이터를 웨이포인트로 생성할 수 있다.
본 실시 예에서, 웨이포인트 종류 지정 시에, 프로세서(400)는 제n-1 웨이포인트, 제n 웨이포인트 및 제n+1 웨이포인트 중 제n 웨이포인트가 첫 번째 웨이포인트임에 따라 제n 웨이포인트를 시작점 웨이포인트로 지정할 수 있다. 프로세서(400)는 제n-1 웨이포인트, 제n 웨이포인트 및 제n+1 웨이포인트 중 제n 웨이포인트가 마지막 웨이포인트임에 따라 제n 웨이포인트를 종료점 웨이포인트로 지정할 수 있다. 프로세서(400)는 제n-1 웨이포인트 및 제n 웨이포인트 사이의 직선 방위각과, 제n 웨이포인트 및 제n+1 웨이포인트 사이의 직선 방위각의 차이가 회전구간을 정의하기 위한 기준 각도보다 큼에 따라 제n 웨이포인트를 회전구간 웨이포인트로 지정할 수 있다. 프로세서(400)는 제n-1 웨이포인트 및 제n 웨이포인트 사이의 직선 방위각과, 제n 웨이포인트 및 제n+1 웨이포인트 사이의 직선 방위각의 차이가 회전구간을 정의하기 위한 기준 각도보다 작음에 따라 제n 웨이포인트를 직선구간 웨이포인트로 지정할 수 있다.
S2020단계에서, 프로세서(400)는 작업 경로를 제외한 경로로서의 보조 경로를 수동으로 주행하는 농기계(1)에 대하여 측위센서로부터 수집한 농기계(1)의 제2 위치 데이터를 이용하여 웨이포인트 기반의 보조 경로를 생성할 수 있다.
본 실시 예에서, 프로세서(400)는 보조 경로 생성 시에, 측지 좌표로 입력되는 제2 위치 데이터를 NED 좌표로 변환할 수 있다. 프로세서(400)는 웨이포인트 간의 최소거리와, 직선 여부를 결정하는 직선 사이의 각도를 이용하여, 제2 위치 데이터 중 일부를 웨이포인트로 생성할 수 있다. 프로세서(400)는 웨이포인트에 회전구간을 정의하기 위한 기준 각도를 적용하여 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정할 수 있다. 프로세서(400)는 NED 좌표로 표현된 웨이포인트를 측지 좌표로 변환할 수 있다.
S2030단계에서, 프로세서(400)는 복수개의 작업 경로를 병합하여 하나의 작업 경로를 생성할 수 있다.
본 실시 예에서, 프로세서(400)는 작업 경로 생성 시에, 측지 좌표로 입력되는 임의의 제1 작업 경로 웨이포인트 및 제2 작업 경로 웨이포인트를 NED 좌표로 변환할 수 있다. 프로세서(400)는 제1 작업 경로의 웨이포인트 및 제2 작업 경로의 웨이포인트를 입력 데이터로 하여 병합된 웨이포인트를 생성할 수 있다. 프로세서(400)는 최소거리와 각도를 이용하여 병합된 웨이포인트 중 일부를 웨이포인트로 생성할 수 있다. 프로세서(400)는 생성한 웨이포인트에 기준 각도를 적용하여 생성한 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정할 수 있다. 프로세서(400)는 NED 좌표로 표현된 웨이포인트를 측지 좌표로 변환할 수 있다.
본 실시 예에서, 병합된 웨이포인트 생성 시에, 프로세서(400)는 제1 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 제2 작업 경로의 인접 웨이포인트로 생성된 제2 직선을 이용하여 직선 기반 교차점 검색을 수행할 수 있다. 프로세서(400)는 직선 기반 교차점 검색의 수행 결과로 교차점이 존재함에 따라, 마지막 교차점을 기준으로 제1 작업 경로의 웨이포인트와 제2 작업 경로의 웨이포인트를 병합하여 병합된 웨이포인트를 생성할 수 있다. 프로세서(400)는 직선 기반 교차점 검색의 수행 결과로 교차점이 존재하지 않음에 따라, 제1 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 제2 작업 경로의 웨이포인트 사이의 거리를 이용하여 거리 기반 교차점 검색을 수행할 수 있다. 프로세서(400)는 거리 기반 교차점 검색의 수행 결과로 교차점이 존재함에 따라, 거리 기반 교차점 검색의 수행 결과로 생성된 교차점을 기준으로 제1 작업 경로의 웨이포인트와 제2 작업 경로의 웨이포인트를 병합하여 병합된 웨이포인트를 생성할 수 있다.
S2040단계에서, 프로세서(400)는 작업 경로 및 보조 경로를 병합하여 생성한 웨이포인트 기반의 전체 경로로부터, 농기계(1)가 최단거리로 자율주행 할 수 있는 경로를 네트워크 데이터로 생성할 수 있다.
본 실시 예에서, 프로세서(400)는 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 보조 경로의 인접 웨이포인트로 생성된 제2 직선을 이용하여 직선 기반 교차점 검색을 수행할 수 있다. 작업 경로의 인접 웨이포인트로 생성된 제1 직선과 및 보조 경로의 웨이포인트 사이의 거리를 이용하여 거리 기반 교차점 검색을 수행할 수 있다. 프로세서(400)는 작업 경로의 웨이포인트와, 보조 경로의 웨이포인트와, 직선 기반 교차점 검색의 수행 결과에 따른 교차점과, 거리 기반 교차점 검색의 수행 결과에 따른 교차점을 이용하여 전체 경로 데이터를 생성할 수 있다. 프로세서(400)는 전체 경로 데이터로부터 농기계(1)가 최단거리로 자율주행 할 수 있는 경로 데이터를 네트워크 데이터로 생성할 수 있다.
S2050단계에서, 프로세서(400)는 전체 경로에 포함된 데이터의 이상 여부를 확인하고 농기계의 자율주행에 적용할 수 있는 최종 경로를 생성할 수 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 자율주행 경로 생성 장치에 의해 수행되는 자율주행 경로 생성 방법으로서,
    자율주행할 작업 경로를 수동으로 주행하는 대상체에 대하여 측위센서로부터 수집한 상기 대상체의 제1 위치 데이터를 이용하여 웨이포인트(waypoints) 기반의 작업 경로를 생성하는 단계;
    상기 작업 경로를 제외한 경로로서의 보조 경로를 수동으로 주행하는 상기 대상체에 대하여 상기 측위센서로부터 수집한 상기 대상체의 제2 위치 데이터를 이용하여 웨이포인트 기반의 보조 경로를 생성하는 단계; 및
    상기 작업 경로 및 상기 보조 경로를 병합하여 생성한 웨이포인트 기반의 전체 경로로부터, 상기 대상체가 최단거리로 자율주행 할 수 있는 경로를 네트워크 데이터로 생성하는 단계를 포함하는,
    자율주행 경로 생성 방법.
  2. 제 1 항에 있어서,
    상기 작업 경로를 생성하는 단계는,
    웨이포인트 간의 최소거리와, 직선 여부를 결정하는 직선 사이의 각도를 이용하여, 상기 제1 위치 데이터 중 일부를 웨이포인트로 생성하는 단계; 및
    상기 웨이포인트에 회전구간을 정의하기 위한 기준 각도를 적용하여 상기 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정하는 단계를 포함하는,
    자율주행 경로 생성 방법.
  3. 제 2 항에 있어서,
    상기 웨이포인트로 생성하는 단계 이전에,
    측지 좌표로 입력되는 상기 제1 위치 데이터를 NED 좌표로 변환하는 단계를 더 포함하고,
    상기 웨이포인트 종류를 지정하는 단계 이후에,
    상기 NED 좌표로 표현된 상기 웨이포인트를 측지 좌표로 변환하는 단계를 더 포함하는,
    자율주행 경로 생성 방법.
  4. 제 2 항에 있어서,
    상기 웨이포인트로 생성하는 단계는,
    상기 제1 위치 데이터에 포함되는 제n-1 위치 데이터 및 제n 위치 데이터 간에 생성된 제1 직선의 기울기 각도를 계산하는 단계;
    상기 제1 위치 데이터에 포함되는 상기 제n 위치 데이터 및 제n+1 위치 데이터 간에 생성된 제2 직선의 기울기 각도를 계산하는 단계;
    상기 제1 직선의 기울기 각도 및 상기 제2 직선의 기울기 각도 의 차이가 상기 직선 여부를 결정하는 직선 사이의 각도보다 큼에 따라, 최근 생성된 웨이포인트와 상기 제n 위치 데이터 사이의 거리 차이를 계산하는 단계; 및
    상기 최근 생성된 웨이포인트와 상기 제n 위치 데이터 사이의 거리 차이가 상기 웨이포인트 간의 최소거리보다 큼에 따라 상기 제n 위치 데이터를 웨이포인트로 생성하는 단계를 포함하는,
    자율주행 경로 생성 방법.
  5. 제 2 항에 있어서,
    상기 웨이포인트 종류를 지정하는 단계는,
    제n-1 웨이포인트, 제n 웨이포인트 및 제n+1 웨이포인트 중 상기 제n 웨이포인트가 첫 번째 웨이포인트임에 따라 상기 제n 웨이포인트를 시작점 웨이포인트로 지정하는 단계;
    상기 제n-1 웨이포인트, 상기 제n 웨이포인트 및 상기 제n+1 웨이포인트 중 상기 제n 웨이포인트가 마지막 웨이포인트임에 따라 상기 제n 웨이포인트를 종료점 웨이포인트로 지정하는 단계;
    상기 제n-1 웨이포인트 및 상기 제n 웨이포인트 사이의 직선 방위각과, 상기 제n 웨이포인트 및 상기 제n+1 웨이포인트 사이의 직선 방위각의 차이가 상기 회전구간을 정의하기 위한 기준 각도보다 큼에 따라 상기 제n 웨이포인트를 회전구간 웨이포인트로 지정하는 단계; 및
    상기 제n-1 웨이포인트 및 상기 제n 웨이포인트 사이의 직선 방위각과, 상기 제n 웨이포인트 및 상기 제n+1 웨이포인트 사이의 직선 방위각의 차이가 상기 회전구간을 정의하기 위한 기준 각도보다 작음에 따라 상기 제n 웨이포인트를 직선구간 웨이포인트로 지정하는 단계를 포함하는,
    자율주행 경로 생성 방법.
  6. 제 2 항에 있어서,
    상기 작업 경로를 생성하는 단계는,
    제1 작업 경로의 웨이포인트 및 제2 작업 경로의 웨이포인트를 입력 데이터로 하여 병합된 웨이포인트를 생성하는 단계;
    상기 최소거리와 상기 각도를 이용하여 상기 병합된 웨이포인트 중 일부를 웨이포인트로 생성하는 단계; 및
    생성한 웨이포인트에 상기 기준 각도를 적용하여 상기 생성한 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정하는 단계를 더 포함하는,
    자율주행 경로 생성 방법.
  7. 제 6 항에 있어서,
    상기 병합된 웨이포인트를 생성하는 단계는,
    상기 제1 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 상기 제2 작업 경로의 인접 웨이포인트로 생성된 제2 직선을 이용하여 직선 기반 교차점 검색을 수행하는 단계;
    상기 직선 기반 교차점 검색의 수행 결과로 교차점이 존재함에 따라, 마지막 교차점을 기준으로 상기 제1 작업 경로의 웨이포인트와 상기 제2 작업 경로의 웨이포인트를 병합하여 병합된 웨이포인트를 생성하는 단계;
    상기 직선 기반 교차점 검색의 수행 결과로 교차점이 존재하지 않음에 따라, 상기 제1 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 상기 제2 작업 경로의 웨이포인트 사이의 거리를 이용하여 거리 기반 교차점 검색을 수행하는 단계; 및
    상기 거리 기반 교차점 검색의 수행 결과로 교차점이 존재함에 따라, 상기 거리 기반 교차점 검색의 수행 결과로 생성된 교차점을 기준으로 상기 제1 작업 경로의 웨이포인트와 상기 제2 작업 경로의 웨이포인트를 병합하여 병합된 웨이포인트를 생성하는 단계를 더 포함하는,
    자율주행 경로 생성 방법.
  8. 제 1 항에 있어서,
    상기 보조 경로를 생성하는 단계는,
    웨이포인트 간의 최소거리와, 직선 여부를 결정하는 직선 사이의 각도를 이용하여, 상기 제2 위치 데이터 중 일부를 웨이포인트로 생성하는 단계; 및
    상기 웨이포인트에 회전구간을 정의하기 위한 기준 각도를 적용하여 상기 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정하는 단계를 포함하는,
    자율주행 경로 생성 방법.
  9. 제 8 항에 있어서,
    상기 웨이포인트로 생성하는 단계 이전에,
    측지 좌표로 입력되는 상기 제2 위치 데이터를 NED 좌표로 변환하는 단계를 더 포함하고,
    상기 웨이포인트 종류를 지정하는 단계 이후에,
    상기 NED 좌표로 표현된 상기 웨이포인트를 측지 좌표로 변환하는 단계를 더 포함하는,
    자율주행 경로 생성 방법.
  10. 제 1 항에 있어서,
    상기 네트워크 데이터로 생성하는 단계는,
    상기 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 상기 보조 경로의 인접 웨이포인트로 생성된 제2 직선을 이용하여 직선 기반 교차점 검색을 수행하는 단계;
    상기 작업 경로의 인접 웨이포인트로 생성된 제1 직선과 및 상기 보조 경로의 웨이포인트 사이의 거리를 이용하여 거리 기반 교차점 검색을 수행하는 단계; 및
    상기 작업 경로의 웨이포인트와, 상기 보조 경로의 웨이포인트와, 상기 직선 기반 교차점 검색의 수행 결과에 따른 교차점과, 상기 거리 기반 교차점 검색의 수행 결과에 따른 교차점을 이용하여 전체 경로 데이터를 생성하는 단계; 및
    상기 전체 경로 데이터로부터 상기 대상체가 최단거리로 자율주행 할 수 있는 경로 데이터를 네트워크 데이터로 생성하는 단계를 포함하는,
    자율주행 경로 생성 방법.
  11. 자율주행 경로를 생성하는 장치로서,
    프로세서; 및
    상기 프로세서와 동작 가능하게 연결되고 상기 프로세서에서 수행되는 적어도 하나의 코드를 저장하는 메모리를 포함하고,
    상기 메모리는 상기 프로세서를 통해 실행될 때, 상기 프로세서가 자율주행할 작업 경로를 수동으로 주행하는 대상체에 대하여 측위센서로부터 수집한 상기 대상체의 제1 위치 데이터를 이용하여 웨이포인트(waypoints) 기반의 작업 경로를 생성하고,
    상기 작업 경로를 제외한 경로로서의 보조 경로를 수동으로 주행하는 상기 대상체에 대하여 상기 측위센서로부터 수집한 상기 대상체의 제2 위치 데이터를 이용하여 웨이포인트 기반의 보조 경로를 생성하고,
    상기 작업 경로 및 상기 보조 경로를 병합하여 생성한 웨이포인트 기반의 전체 경로로부터, 상기 대상체가 최단거리로 자율주행 할 수 있는 경로를 네트워크 데이터로 생성하도록 야기하는 코드를 저장하는,
    자율주행 경로 생성 장치.
  12. 제 11 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 작업 경로를 생성 시에, 웨이포인트 간의 최소거리와, 직선 여부를 결정하는 직선 사이의 각도를 이용하여, 상기 제1 위치 데이터 중 일부를 웨이포인트로 생성하고,
    상기 웨이포인트에 회전구간을 정의하기 위한 기준 각도를 적용하여 상기 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정하도록 야기하는 코드를 저장하는,
    자율주행 경로 생성 장치.
  13. 제 12 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 웨이포인트로 생성하기 이전에, 측지 좌표로 입력되는 상기 제1 위치 데이터를 NED 좌표로 변환하도록 야기하는 코드를 더 저장하고,
    상기 웨이포인트 종류를 지정한 이후에, 상기 NED 좌표로 표현된 상기 웨이포인트를 측지 좌표로 변환하도록 야기하는 코드를 더 저장하는,
    자율주행 경로 생성 장치.
  14. 제 12 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 웨이포인트로 생성 시에, 상기 제1 위치 데이터에 포함되는 제n-1 위치 데이터 및 제n 위치 데이터 간에 생성된 제1 직선의 기울기 각도를 계산하고,
    상기 제1 위치 데이터에 포함되는 상기 제n 위치 데이터 및 제n+1 위치 데이터 간에 생성된 제2 직선의 기울기 각도를 계산하고,
    상기 제1 직선의 기울기 각도 및 상기 제2 직선의 기울기 각도 의 차이가 상기 직선 여부를 결정하는 직선 사이의 각도보다 큼에 따라, 최근 생성된 웨이포인트와 상기 제n 위치 데이터 사이의 거리 차이를 계산하고,
    상기 최근 생성된 웨이포인트와 상기 제n 위치 데이터 사이의 거리 차이가 상기 웨이포인트 간의 최소거리보다 큼에 따라 상기 제n 위치 데이터를 웨이포인트로 생성하도록 야기하는 코드를 저장하는,
    자율주행 경로 생성 장치.
  15. 제 12 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 웨이포인트 종류를 지정 시에, 제n-1 웨이포인트, 제n 웨이포인트 및 제n+1 웨이포인트 중 상기 제n 웨이포인트가 첫 번째 웨이포인트임에 따라 상기 제n 웨이포인트를 시작점 웨이포인트로 지정하고,
    상기 제n-1 웨이포인트, 상기 제n 웨이포인트 및 상기 제n+1 웨이포인트 중 상기 제n 웨이포인트가 마지막 웨이포인트임에 따라 상기 제n 웨이포인트를 종료점 웨이포인트로 지정하고,
    상기 제n-1 웨이포인트 및 상기 제n 웨이포인트 사이의 직선 방위각과, 상기 제n 웨이포인트 및 상기 제n+1 웨이포인트 사이의 직선 방위각의 차이가 상기 회전구간을 정의하기 위한 기준 각도보다 큼에 따라 상기 제n 웨이포인트를 회전구간 웨이포인트로 지정하고,
    상기 제n-1 웨이포인트 및 상기 제n 웨이포인트 사이의 직선 방위각과, 상기 제n 웨이포인트 및 상기 제n+1 웨이포인트 사이의 직선 방위각의 차이가 상기 회전구간을 정의하기 위한 기준 각도보다 작음에 따라 상기 제n 웨이포인트를 직선구간 웨이포인트로 지정하도록 야기하는 코드를 저장하는,
    자율주행 경로 생성 장치.
  16. 제 12 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 작업 경로를 생성 시에, 제1 작업 경로의 웨이포인트 및 제2 작업 경로의 웨이포인트를 입력 데이터로 하여 병합된 웨이포인트를 생성하고,
    상기 최소거리와 상기 각도를 이용하여 상기 병합된 웨이포인트 중 일부를 웨이포인트로 생성하고,
    생성한 웨이포인트에 상기 기준 각도를 적용하여 상기 생성한 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정하도록 야기하는 코드를 더 생성하는,
    자율주행 경로 생성 장치.
  17. 제 16 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 병합된 웨이포인트를 생성 시에, 상기 제1 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 상기 제2 작업 경로의 인접 웨이포인트로 생성된 제2 직선을 이용하여 직선 기반 교차점 검색을 수행하고,
    상기 직선 기반 교차점 검색의 수행 결과로 교차점이 존재함에 따라, 마지막 교차점을 기준으로 상기 제1 작업 경로의 웨이포인트와 상기 제2 작업 경로의 웨이포인트를 병합하여 병합된 웨이포인트를 생성하고,
    상기 직선 기반 교차점 검색의 수행 결과로 교차점이 존재하지 않음에 따라, 상기 제1 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 상기 제2 작업 경로의 웨이포인트 사이의 거리를 이용하여 거리 기반 교차점 검색을 수행하고,
    상기 거리 기반 교차점 검색의 수행 결과로 교차점이 존재함에 따라, 상기 거리 기반 교차점 검색의 수행 결과로 생성된 교차점을 기준으로 상기 제1 작업 경로의 웨이포인트와 상기 제2 작업 경로의 웨이포인트를 병합하여 병합된 웨이포인트를 생성하도록 야기하는 코드를 더 저장하는,
    자율주행 경로 생성 장치.
  18. 제 11 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 보조 경로를 생성 시에, 웨이포인트 간의 최소거리와, 직선 여부를 결정하는 직선 사이의 각도를 이용하여, 상기 제2 위치 데이터 중 일부를 웨이포인트로 생성하고,
    상기 웨이포인트에 회전구간을 정의하기 위한 기준 각도를 적용하여 상기 웨이포인트가 시작점인지, 종료점인지, 직선구간인지 및 회전구간인지 중 하나를 포함하는 웨이포인트 종류를 지정하도록 야기하는 코드를 저장하는,
    자율주행 경로 생성 장치.
  19. 제 18 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 웨이포인트로 생성하기 이전에, 측지 좌표로 입력되는 상기 제2 위치 데이터를 NED 좌표로 변환하도록 야기하는 코드를 더 저장하고,
    상기 웨이포인트 종류를 지정한 이후에, 상기 NED 좌표로 표현된 상기 웨이포인트를 측지 좌표로 변환하도록 야기하는 코드를 더 저장하는,
    자율주행 경로 생성 장치.
  20. 제 11 항에 있어서,
    상기 메모리는 상기 프로세서로 하여금,
    상기 네트워크 데이터로 생성 시에, 상기 작업 경로의 인접 웨이포인트로 생성된 제1 직선과, 상기 보조 경로의 인접 웨이포인트로 생성된 제2 직선을 이용하여 직선 기반 교차점 검색을 수행하고,
    상기 작업 경로의 인접 웨이포인트로 생성된 제1 직선과 및 상기 보조 경로의 웨이포인트 사이의 거리를 이용하여 거리 기반 교차점 검색을 수행하고,
    상기 작업 경로의 웨이포인트와, 상기 보조 경로의 웨이포인트와, 상기 직선 기반 교차점 검색의 수행 결과에 따른 교차점과, 상기 거리 기반 교차점 검색의 수행 결과에 따른 교차점을 이용하여 전체 경로 데이터를 생성하고,
    상기 전체 경로 데이터로부터 상기 대상체가 최단거리로 자율주행 할 수 있는 경로 데이터를 네트워크 데이터로 생성하도록 야기하는 코드를 저장하는,
    자율주행 경로 생성 장치.
KR1020210085090A 2021-06-29 2021-06-29 자율주행 경로 생성 방법 및 장치 KR102613401B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210085090A KR102613401B1 (ko) 2021-06-29 2021-06-29 자율주행 경로 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210085090A KR102613401B1 (ko) 2021-06-29 2021-06-29 자율주행 경로 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230001949A true KR20230001949A (ko) 2023-01-05
KR102613401B1 KR102613401B1 (ko) 2023-12-12

Family

ID=84926042

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210085090A KR102613401B1 (ko) 2021-06-29 2021-06-29 자율주행 경로 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102613401B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1066406A (ja) * 1996-08-28 1998-03-10 Seibutsukei Tokutei Sangyo Gijutsu Kenkyu Suishin Kiko 圃場作業車両の無人作業方法
KR101221485B1 (ko) 2010-06-16 2013-01-14 장영윤 농업용 관리기
KR102247523B1 (ko) * 2020-09-25 2021-05-03 재단법인대구경북과학기술원 농기계 및 그의 자율 주행 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1066406A (ja) * 1996-08-28 1998-03-10 Seibutsukei Tokutei Sangyo Gijutsu Kenkyu Suishin Kiko 圃場作業車両の無人作業方法
KR101221485B1 (ko) 2010-06-16 2013-01-14 장영윤 농업용 관리기
KR102247523B1 (ko) * 2020-09-25 2021-05-03 재단법인대구경북과학기술원 농기계 및 그의 자율 주행 방법

Also Published As

Publication number Publication date
KR102613401B1 (ko) 2023-12-12

Similar Documents

Publication Publication Date Title
US10451428B2 (en) Automatic driving route planning application
EP3051259B1 (en) Navigation system with map update mechanism and method of operation thereof
EP2890954B1 (en) Route planning
US10151598B2 (en) Method and device for operating a vehicle and driver assistance system
US9945673B2 (en) Apparatus and methods for routing
EP3136054B1 (en) Method, system, and computer program for determining a parametric site model from motion related sensor data
US10288437B2 (en) Routing with data version stitching
CN113286985A (zh) 一种路径规划方法和路径规划装置
CN104350362B (zh) 车辆位置检测装置及方法
US11556135B2 (en) Method, device, and system of controlling movement of multi-vehicle, and computer-readable storage medium
CN110945321A (zh) 显示控制装置及显示控制方法
EP4177570A1 (en) Standard-definition to high-definition navigation route determination
KR102168104B1 (ko) 농업용기계의 자율 주행 방법
KR102613401B1 (ko) 자율주행 경로 생성 방법 및 장치
JP6997591B2 (ja) コンピュータシステムおよびプログラム
KR20200080625A (ko) 관제 서버 및 그를 이용한 무인 비행체의 경로 설정 방법
US11619511B2 (en) System and method for local storage based mapping
US10824689B2 (en) Sharing point of interest data
CN115061499A (zh) 无人机控制方法及无人机控制装置
CN114689074A (zh) 信息处理方法和导航方法
US11216014B1 (en) Combined semantic configuration spaces
JP2021139876A (ja) 飛行体の管理サーバ及び管理システム
JPWO2021029065A1 (ja) 飛行体の管理サーバ及び管理システム
KR20210064945A (ko) 드론의 경로 설정 방법 및 장치
JP2019002699A (ja) 飛行計画支援プログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant