KR-20260060892-A - METHOD AND DEVICE FOR EVALUATING COMPLETION OF MAP
Abstract
지도 완성도 평가 방법이 개시된다. 본 발명에 따른 지도 완성도 평가 방법은, 지도 완성도 평가 장치의 관리대상인 복수의 기종을 분류하여 복수의 군집을 생성하고, 상기 복수의 군집의 확률분포를 생성하는 단계, 새로운 기종의 로봇에 대해, 상기 복수의 군집 중 상기 새로운 기종과 가장 유사한 군집을 선정하고, 상기 유사한 군집의 확률분포를 획득하는 단계, 상기 확률분포를 이용하여 임계값을 획득하는 단계, 및, 상기 로봇에 의해 작성된 지도의 대상평가점수와 상기 임계값을 비교하여 상기 지도를 다시 작성할지 여부를 결정하는 단계를 포함한다.
Inventors
- 권명은
- 박보미
- 최지훈
Assignees
- 주식회사 케이티
Dates
- Publication Date
- 20260506
- Application Date
- 20241025
Claims (20)
- 지도 완성도 평가 장치의 관리대상인 복수의 기종을 분류하여 복수의 군집을 생성하고, 상기 복수의 군집의 확률분포를 생성하는 단계; 새로운 기종의 로봇에 대해, 상기 복수의 군집 중 상기 새로운 기종과 가장 유사한 군집을 선정하고, 상기 유사한 군집의 확률분포를 획득하는 단계; 상기 확률분포를 이용하여 임계값을 획득하는 단계; 및 상기 로봇에 의해 작성된 지도의 대상평가점수와 상기 임계값을 비교하여 상기 지도를 다시 작성할지 여부를 결정하는 단계;를 포함하는 지도 완성도 평가 방법.
- 제 1항에 있어서, 상기 군집의 확률분포는, 상기 군집에 속하는 로봇이 작성한 지도가 가지는 평가점수의 확률을 나타내는 지도 완성도 평가 방법.
- 제 1항에 있어서, 상기 유사한 군집의 확률분포를 획득하는 단계는, 지도 완성도 평가 장치에 의해 관리되지 않던 새로운 기종의 로봇에 대해, 상기 새로운 기종의 하나 이상의 프로파일요소와 복수의 군집의 하나 이상의 프로파일요소를 비교하여 상기 새로운 기종과 가장 유사한 군집을 선정하는 단계;를 포함하고, 상기 하나 이상의 프로파일요소는, 로봇의 주행의 알고리즘 또는 지도 작성의 알고리즘 중 적어도 하나를 포함하는 지도 완성도 평가 방법.
- 제 1항에 있어서, 상기 복수의 군집의 확률분포를 생성하는 단계는, 특정 로봇의 복수의 관측정보를 획득하는 단계; 및 상기 특정 로봇의 복수의 관측정보를 이용하여 상기 특정 로봇이 작성한 지도에 대한 평가점수를 산출하는 단계;를 포함하고, 상기 복수의 관측정보의 각각은, 동일한 위치에서의, 주행오류요소점수 및 상기 주행오류요소점수에 매핑된 분석요소점수를 포함하는 지도 완성도 평가 방법.
- 제 4항에 있어서, 상기 평가점수를 산출하는 단계는, 상기 주행오류요소점수에 상기 분석요소점수를 가중치로 반영하여 상기 평가점수를 산출하는 단계;를 포함하는 지도 완성도 평가 방법.
- 제 4항에 있어서, 상기 주행오류요소점수는, 주행오류가 발생하는 빈도에 따라 결정되고, 상기 분석요소점수는, 지도 완성도 분석기법에 의한 지도 완성도 분석결과에 따라 결정되는 지도 완성도 평가 방법.
- 제 4항에 있어서, 상기 특정 로봇의 복수의 관측정보를 획득하는 단계는, 복수의 주행오류요소 중 특정 주행오류요소에 복수의 분석요소 중 특정 분석요소를 매핑하여 관측정보를 생성하는 단계;를 포함하는 지도 완성도 평가 방법.
- 제 4항에 있어서, 상기 특정 로봇이 작성한 지도에 대한 평가점수를 산출하는 단계는, 상기 복수의 관측정보 중 주행오류요소와 분석요소 간의 상관도가 기설정된 값보다 낮은 일부 관측정보를 제거하는 단계; 및 상기 일부 관측정보가 제거된 이후 남은 관측정보들을 이용하여 상기 평가점수를 산출하는 단계;를 포함하는 지도 완성도 평가 방법.
- 제 8항에 있어서, 상기 복수의 관측정보 중 주행오류요소와 분석요소 간의 상관도가 기설정된 값보다 낮은 일부 관측정보를 제거하는 단계는, 상기 특정 로봇이 속하는 군집의 관측정보들을 이용하여, 그리고 조치요청이 수신된 관측정보에 가중치를 부여하여, 주행오류요소와 분석요소 간의 상관도를 산출하는 단계;를 포함하는 지도 완성도 평가 방법.
- 제 4항에 있어서, 상기 복수의 군집의 확률분포를 생성하는 단계는, 상기 군집에 속하는 복수의 로봇에 각각 대응하는 복수의 평가점수를 이용하여 상기 군집의 확률분포를 생성하는 단계;를 더 포함하는 지도 완성도 평가 방법.
- 제 1항에 있어서, 상기 로봇에 의해 작성된 지도의 대상평가점수와 상기 임계값을 비교하여 상기 지도를 다시 작성할지 여부를 결정하는 단계는, 상기 로봇에 의해 작성된 지도의 분석요소점수 및 상기 유사한 군집에서 수집된 주행오류요소점수를 이용하여 상기 지도의 대상평가점수를 산출하는 단계;를 포함하는 지도 완성도 평가 방법.
- 제 3항에 있어서, 상기 새로운 기종의 로봇의 주행오류데이터가 수집되면, 상기 로봇의 주행오류데이터를 이용하여 상기 군집의 확률분포를 업데이트하는 단계;를 더 포함하는 지도 완성도 평가 방법.
- 제 12항에 있어서, 상기 군집의 확률분포를 업데이트하는 단계는, 베이지안 기법을 활용하여 상기 군집의 확률분포를 업데이트하는 단계;를 포함하는 지도 완성도 평가 방법.
- 로봇과 통신하는 통신부; 및 지도 완성도 평가 장치의 관리대상인 복수의 기종을 분류하여 복수의 군집을 생성하고, 상기 복수의 군집의 확률분포를 생성하고, 새로운 기종의 상기 로봇에 대해, 상기 복수의 군집 중 상기 새로운 기종과 가장 유사한 군집을 선정하고, 상기 유사한 군집의 확률분포를 획득하고, 상기 확률분포를 이용하여 임계값을 획득하고, 상기 로봇에 의해 작성된 지도의 대상평가점수와 상기 임계값을 비교하여 상기 지도를 다시 작성할지 여부를 결정하는 제어부;를 포함하는 지도 완성도 평가 장치.
- 제 14항에 있어서, 상기 군집의 확률분포는, 상기 군집에 속하는 로봇이 작성한 지도가 가지는 평가점수의 확률을 나타내는 지도 완성도 평가 장치.
- 제 14항에 있어서, 상기 제어부는, 지도 완성도 평가 장치에 의해 관리되지 않던 새로운 기종의 로봇에 대해, 상기 새로운 기종의 하나 이상의 프로파일요소와 복수의 군집의 하나 이상의 프로파일요소를 비교하여 상기 새로운 기종과 가장 유사한 군집을 선정하고, 상기 하나 이상의 프로파일요소는, 로봇의 주행의 알고리즘 또는 지도 작성의 알고리즘 중 적어도 하나를 포함하는 지도 완성도 평가 장치.
- 제 14항에 있어서, 상기 제어부는, 특정 로봇의 복수의 관측정보를 획득하고, 상기 특정 로봇의 복수의 관측정보를 이용하여 상기 특정 로봇이 작성한 지도에 대한 평가점수를 산출하고, 상기 복수의 관측정보의 각각은, 동일한 위치에서의, 주행오류요소점수 및 상기 주행오류요소점수에 매핑된 분석요소점수를 포함하는 지도 완성도 평가 장치.
- 제 17항에 있어서, 상기 제어부는, 상기 주행오류요소점수에 상기 분석요소점수를 가중치로 반영하여 상기 평가점수를 산출하는 지도 완성도 평가 장치.
- 제 17항에 있어서, 상기 주행오류요소점수는, 주행오류가 발생하는 빈도에 따라 결정되고, 상기 분석요소점수는, 지도 완성도 분석기법에 의한 지도 완성도 분석결과에 따라 결정되는 지도 완성도 평가 장치.
- 지도 완성도 평가 장치의 관리대상인 복수의 기종을 분류하여 복수의 군집을 생성하고, 상기 복수의 군집의 확률분포를 생성하는 단계; 새로운 기종의 로봇에 대해, 상기 복수의 군집 중 상기 새로운 기종과 가장 유사한 군집을 선정하고, 상기 유사한 군집의 확률분포를 획득하는 단계; 상기 확률분포를 이용하여 임계값을 획득하는 단계; 및 상기 로봇에 의해 작성된 지도의 대상평가점수와 상기 임계값을 비교하여 상기 지도를 다시 작성할지 여부를 결정하는 단계;를 포함하는 지도 완성도 평가 방법을 수행하기 위해 비일시적 판독가능 저장매체에 저장된 컴퓨터 프로그램.
Description
지도 완성도 평가 방법 및 장치{METHOD AND DEVICE FOR EVALUATING COMPLETION OF MAP} 본 발명은, 새로운 기종의 로봇이 관리대상으로 들어오는 경우, 새로운 기종의 주행데이터가 없거나 부족함에도 불구하고 새로운 기종의 로봇이 작성한 지도의 완성도를 평가할 수 있는, 지도 완성도 평가 방법 및 장치에 관한 것이다. 로봇은 자신의 지도작성 알고리즘에 기반하여 주행공간의 지도를 작성한다. 로봇이 지도를 작성하는 작업은 몇시간 또는 하루가 넘게 진행되는 정교한 작업이다. 다만 기술적 한계, 환경적 요인 등으로 인하여 로봇이 작성한 지도에는 불완전성이 발생하며, 지도의 불완전성으로 인해 주행오류가 빈번하게 발생할 수 있다. 지도의 불완전성을 파악하기 위한, 다양한 지도완성도 분석 기법이 존재한다. 다만 이러한 지도완성도 분석 기법은 오직 지도(로봇이 작성한 지도)에 대하여 분석을 수행하는 것에 그치는 바, 이러한 지도완성도 분석 기법만으로는 실제 주행오류가 발생할지를 명확하게 판정할 수 없다. 따라서 지도완성도 분석 기법에 따른 점수가 어떻게 되는지, 그리고 실제로 주행오류가 발생하는지 여부를 종합적으로 고려하여 지도의 완성도를 판단하고, 이를 기반으로 지도의 재작성여부를 결정해야 한다. 앞서 설명한 바와 같이 지도의 재작성은 오랜 시간이 소요되는 작업이고, 지도를 재작성하는 동안에는 로봇의 사용이 불가능하며 지도 작성을 위한 환경을 조성해야 하기 때문이다. 또한, 로봇이 작업현장에 이미 투입되어 서비스(예를 들어, 서빙)를 한창 제공하던 도중에 주행오류가 발생하는 경우 그 원인의 파악에 오랜 시간이 소요되고, 해당 기간 동안 로봇을 사용할 수 없다. 예를 들어 서빙로봇이 며칠동안 운행을 할 수 없다는 것은, 식당에서 일하는 아르바이트생이 갑자기 며칠동안 결근하는 것과 같은 효과를 발생시킨다. 따라서 지도의 불완전성을 최대한 빨리 파악하고, 주행오류가 발생할 우려가 있는 지도에 대해서는 지도를 미리 재작성하여 지도의 완성도를 높이는 것이 요구된다. 앞서 설명한 바와 같이 지도의 완성도를 판단하기 위해서는, 지도 자체의 완성도뿐만 아니라 실제로 주행오류가 발생하는지 여부를 종합적으로 고려해야 한다. 다만 새로운 기종의 로봇이 관리대상으로 처음 편입되는 경우, 실제의 주행데이터가 확보되지 않아, 지도의 불완정성을 빠르게 파악할 수 없는 문제가 있었다. 도 1은 본 발명에 따른, 로봇 장애 분석 장치를 설명하기 위한 블록도이다. 도 2는 본 발명에 따른, 다양한 기종의 로봇들을 설명하기 위한 도면이다. 도 3은 본 발명에서 평가점수의 산정 및 확률분포의 생성에 사용되는 요소들을 설명하기 위한 도면이다. 도 4는 본 발명에 따른, 지도 완성도 평가 방법을 설명하기 위한 순서도이다. 도 5는 본 발명에 따른, 관측정보를 생성하는 방법을 설명하기 위한 도면이다. 도 6은 본 발명에 따른, 군집의 확률분포를 도시한 도면이다. 도 7은 본 발명에 따른, 새로운 기종의 편입에 따른 확률분포의 업데이트를 설명하기 위한 도면이다. 도 8은 본 발명에 따른, 베이지안 기법을 확용한 확률분포의 업데이트를 설명하기 위한 도면이다. 이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다. 도 1은 본 발명에 따른, 로봇 장애 분석 장치를 설명하기 위한 블록도이다. 지도 완성도 평가 장치(100)(이하 "장치(100)"라 함)는, 통신부(110), 제어부(120) 및 메모리(130)를 포함할 수 있다. 통신부(110)는 유/무선 통신 기술을 이용하여 외부 장치와 통신하기 위한 통신 회로 또는 통신 모듈을 포함하고, 외부 장치와 데이터를 송/수신할 수 있다. 이에 따라 통신부(110)는 로봇 운영자 장치(예를 들어 로봇 관제 센터 등 로봇을 관제 또는 관리하는 장치) 또는 로봇과 데이터를 송신 및 수신할 수 있다. 또한 통신부(110)는 로봇에 의해 작성된 지도를 수신할 수 있다. 또한 통신부(110)는 로봇으로부터 주행데이터를 포함하며, 주행데이터는 주행오류데이터를 포함할 수 있다. 용어 주행오류데이터는 용어 주행오류와 혼용되어 사용될 수 있다. 제어부(120)는 장치(100)의 전반적인 동작을 제어할 수 있다. 용어 “제어부”는, “마이크로 프로세서”, “컨트롤러”, “마이크로 컨트롤러”, “프로세서” 등의 용어와 혼용되어 사용될 수 있다. 메모리(130)는 장치(100)의 구동을 위한 프로그램 및 기타 데이터를 저장할 수 있다. 또한 메모리(130)는 로봇에 의해 작성된 지도, 다양한 지도완성도 분석 기법을 실행해기 위한 프로그램들, 지도완성도 분석 기법에 의해 산출된 분석데이터, 로봇의 주행데이터(주행오류데이터를 포함) 등을 저장할 수 있다. 도 2는 본 발명에 따른, 다양한 기종의 로봇들을 설명하기 위한 도면이다. 지도 완성도 평가 장치(100)는 다양한 기종의 로봇들을 관리하며, 이러한 로봇들의 주행데이터, 주행오류데이터 등을 수집하고, 로봇의 주행을 평가할 수 있다. 또한 지도 완성도 평가 장치(100)는 다양한 기종의 로봇들이 생성한 지도들의 완성도를 평가하고, 지도를 다시 작성할지 여부를 결정할 수 있다. 지도 완성도 평가 장치(100)가 관리 중인 로봇을 관리대상이라 명칭한다. 예를 들어 지도 완성도 평가 장치(100)가 관리하는 관리대상은, A 기종의 100대의 로봇, B 기종의 400대의 로봇, C 기종의 300대의 로봇, D 기종의 30대의 로봇 등일 수 있다. 여기서 서로 다른 기종이란, 로봇의 제조사, 모델, 펌웨어 중 적어도 하나가 상이한 것을 의미할 수 있다. 예를 들어 A 기종의 로봇은 a 제조사의 a 모델에 1.0 버젼의 펌웨어가 탑재된 로봇인 반면, B 기종의 로봇은 a 제조사의 a 모델의 2.0 버젼의 펌웨어가 탑재된 로봇, C 기종의 로봇은 a 제조사의 e 모델의 1.0 펌웨어가 탑재된 로봇, D 기종의 로봇은 f 제조사의 g 모델일 수 있다. 또한 하나의 기종에 속하는 다수의 로봇의 제조사, 모델 및 펌웨어는 동일할 수 있다. 추후에 설명하지만, 장치(100)의 관리대상에 새로운 기종의 로봇이 추가되는 경우, 기존에 이미 관리대상으로 있던 로봇들(즉, 주행데이터가 이미 존재하는 로봇들)의 확률분포를 참조하여 새로운 기종의 로봇의 지도를 다시 작성할지 결정한다. 이 경우 장치(100)는 새로운 기종과 가장 유사한 군집의 확률분포를 참조하게 된다. 이를 위해, 장치(100)가 관리하는 복수의 기종은, 복수의 군집으로 분류될 수 있다. 구체적으로 제어부(120)는 복수의 기종의 프로파일에 기초하여 복수의 기종을 복수의 군집으로 분류할 수 있다. 도 2a를 참고하면, 프로파일에 포함될 수 있는 복수의 프로파일요소를 도시한다. 복수의 프로파일요소는 로봇의 주행의 알고리즘 또는 지도 작성의 알고리즘 중 적어도 하나를 포함할 수 있다. 예를 들어 로봇의 주행의 알고리즘에는 네비게이션 알고리즘(navigation algorithm)이 존재하며, 네비게이션 알고리즘에는 A*, Dijkstra 등이 있을 수 있다. 다른 예를 들어 로봇의 지도 작성의 알고리즘 중 Slam 알고리즘에는, 파티클필터기반 알고리즘, 칼만필터기반 알고리즘 등이 있을 수 있다. 다른 예를 들어 로봇의 지도 작성의 알고리즘 중 Map representation 알고리즘에는, 2d, topological map, 3d 등이 있을 수 있다. 이에 따라 하나의 로봇의 프로파일은 로봇의 주행의 알고리즘 또는 지도 작성의 알고리즘 중 적어도 하나로 구성되는 하나 이상의 프로파일요소를 포함할 수 있다. 예를 들어 A 로봇의 프로파일은 Dijkstra라는 네비게이션 알고리즘, 파티클필터기반의 Slam 알고리즘, 2d의 Map representation 알고리즘을 포함할 수 있다. 추가적으로 로봇의 프로파일은 로봇이 사용