KR102568651B1 - 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법 - Google Patents

다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법 Download PDF

Info

Publication number
KR102568651B1
KR102568651B1 KR1020220139244A KR20220139244A KR102568651B1 KR 102568651 B1 KR102568651 B1 KR 102568651B1 KR 1020220139244 A KR1020220139244 A KR 1020220139244A KR 20220139244 A KR20220139244 A KR 20220139244A KR 102568651 B1 KR102568651 B1 KR 102568651B1
Authority
KR
South Korea
Prior art keywords
nodes
unmanned mobile
map
obstacle
node
Prior art date
Application number
KR1020220139244A
Other languages
English (en)
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 KR1020220139244A priority Critical patent/KR102568651B1/ko
Application granted granted Critical
Publication of KR102568651B1 publication Critical patent/KR102568651B1/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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명의 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치는 다수 무인이동체의 이동공간에 대한 탑뷰이미지(Top view image)를 미리 저장하는 메모리, 상기 메모리와 통신을 수행하는 적어도 하나의 프로세서 및 상기 다수 무인이동체와 통신을 수행하는 통신모듈을 포함하고, 상기 프로세서는, 사용자 단말로부터 수신한 무인이동체의 크기 데이터에 기초하여 장애물과의 거리데이터를 생성하고, 상기 장애물과의 거리데이터에 기초하여 상기 탑뷰이미지로부터 장애물 회피정도를 사용자가 미리 결정한 색정보로 표시하는 코스트맵(Cost map)을 형성하고, 상기 코스트맵에 표시된 색정보의 픽셀(Pixel) 값에 기초하여 상기 다수 무인이동체가 이동할 복수의 제1 노드(Node)를 결정하고, 미리 결정된 크기의 윈도우(Window)를 생성하고, 상기 윈도우를 통해 상기 코스트맵을 스캐닝(Scanning)하고 상기 윈도우 내의 픽셀 값을 분석하여 상기 다수 무인이동체가 이동할 복수의 제2 노드를 결정하고, 상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값이 상기 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우 노드를 병합(Merging)하고, 상기 복수의 제1 노드 및 상기 복수의 제2 노드 각각에 대한 거리 값에 기초하여 상기 다수 무인이동체가 이동할 수 있는 경로를 나타내는 노드 간 링크(Link)를 생성하여 상기 코스트맵에 표시할 수 있다.

Description

다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법 {PHASE MAP FORMING DEVICE AND METHOD FOR GENERATING MOVEMENT PATHS OF MULTIPLE UNMANNED MOVING OBJECTS}
본 발명은 위상지도 형성장치 및 방법에 관한 것으로 보다 상세하게는 다수 무인이동체의 이동경로 생성을 위한 위상지도를 형성하는 방법과 관련된 발명이다.
4차 산업혁명 시대를 맞이하여 유통, 호텔, 물류 등 다양한 산업 분야에서 인공지능 개발되면서 서비스 로봇의 도입이 증가하는 추세이다.
이러한 서비스 로봇의 원활한 주행을 위해서는, 다수의 로봇들이 공유하여 사용할 정비된 지도환경 데이터를 제공해 주어야 한다.
이를 위한 맵 데이터는 이동로봇들의 주행이 원활하게 이루어질 수 있도록 맵 에디터를 통해 정비되어 각 이동로봇들로 배포된다.
맵 데이터는 기본적으로 로봇의 운영 계획에 맞추어 공통의 지도 공간 정보를 제공하고 있으나, 어떤 환경에 어떤 정보를 제공할 것인지에 대한 구체적인 설정이 미흡한 실정이다.
실내 공간은 벽, 기둥, 의자, 책상, 책장, 복합기 등 자율 주행 로봇의 움직임에 제한이 되는 장애물이 많다. 반면, 실내 공간에서 자율 주행 로봇이 부딪혀도 손상되지 않는 비회피 물체도 존재한다.
하지만, 이러한 자율 주행 로봇들의 경우, 좁은 구역이나 넓은 구역, 커브 구간 등을 스스로 판별하는데 어려움이 존재한다.
따라서, 실내에서 좁은 영역이나 넓은 영역, 커브 구간 등을 스스로 판단하여 자동 주행에 대한 정확도와 안정성을 높이는 방안이 필요하다.
공개특허 제10-2022-0058079 (22.05.09.)
본 개시에 개시된 실시예는 무인이동체의 크기에 대한 정보만으로 무인이동체 크기에 최적화된 다수 무인이동체의 이동경로 생성을 위한 위상지도를 자동으로 형성하는 효과를 제공하는데 그 목적이 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시에 일 측면에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치는,
다수 무인이동체의 이동공간에 대한 탑뷰이미지(Top view image)를 미리 저장하는 메모리,
상기 메모리와 통신을 수행하는 적어도 하나의 프로세서 및
상기 다수 무인이동체와 통신을 수행하는 통신모듈을 포함하고,
상기 프로세서는,
사용자 단말로부터 수신한 무인이동체의 크기 데이터에 기초하여 장애물과의 거리데이터를 생성하고,
상기 장애물과의 거리데이터에 기초하여 상기 탑뷰이미지로부터 장애물 회피정도를 사용자가 미리 결정한 색정보로 표시하는 코스트맵(Cost map)을 형성하고,
상기 코스트맵에 표시된 색정보의 픽셀(Pixel) 값에 기초하여 상기 다수 무인이동체가 이동할 복수의 제1 노드(Node)를 결정하고,
미리 결정된 크기의 윈도우(Window)를 생성하고,
상기 윈도우를 통해 상기 코스트맵을 스캐닝(Scanning)하고 상기 윈도우 내의 픽셀 값을 분석하여 상기 다수 무인이동체가 이동할 복수의 제2 노드를 결정하고,
상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값이 상기 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우 노드를 병합(Merging)하고,
상기 복수의 제1 노드 및 상기 복수의 제2 노드 각각에 대한 거리 값에 기초하여 상기 다수 무인이동체가 이동할 수 있는 경로를 나타내는 노드 간 링크(Link)를 생성하여 상기 코스트맵에 표시할 수 있다.
또한, 상기 통신모듈은,
상기 무인이동체로부터 동적장애물이 감지되면,
상기 무인이동체로부터 동적장애물 데이터를 수신하고,
상기 프로세서는,
상기 무인이동체의 크기 데이터에 기초하여 상기 동적장애물과의 거리데이터를 생성하고,
상기 코스트맵에는 상기 동적장애물과의 거리데이터에 기초하여 상기 사용자가 결정한 색정보를 추가적으로 표시할 수 있다.
본 개시의 다른 측면에 따른 상기 프로세서는,
상기 무인이동체의 크기 데이터에 기초하여 상기 코스트맵에 표시된 상기 색정보의 픽셀 값, 상기 윈도우의 크기 및 상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값을 결정할 수 있다.
이 때, 상기 코스트맵에 표시되는 색정보는,
상기 장애물이 존재하는 위치는 픽셀 값을 0으로 하여 표시하고,
상기 장애물이 존재하는 위치로부터 상기 사용자가 미리 설정한 거리만큼 떨어져 있는 경우 장애물이 존재하지 않는 위치로서 픽셀 값을 255로 하여 표시하고,
상기 장애물이 존재하는 위치와 상기 장애물이 존재하지 않는 위치 사이의 공간은,
상기 장애물이 존재하는 위치로부터 상기 장애물이 존재하지 않는 위치 사이까지의 거리 값에 비례하여 픽셀 값을 0과 255 사이의 값으로 색정보를 표시할 수 있다.
또한, 상기 프로세서는,
상기 코스트맵 상에서 임의의 위치를 중심으로,
상기 무인이동체의 크기에 비례하는 미리 결정된 거리를 반경으로 하여,
시계방향으로 360° 회전하여 각 위치에 대한 상기 픽셀 값의 그래프를 형성하고,
상기 그래프 상에서 극댓점이 3개 이상인 경우, 상기 임의의 위치를 상기 제1 노드로 결정할 수 있다.
또한, 상기 프로세서는,
상기 상기 윈도우를 통해 상기 코스트맵을 스캐닝(Scanning)하고,
상기 윈도우 내의 모든 위치에서 픽셀 값이 255인 경우, 상기 윈도우의 중심위치를 상기 제2 노드로 결정할 수 있다.
또한, 상기 프로세서는,
상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값이 상기 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우,
임의의 두 노드 중 픽셀 값이 높은 노드에 픽셀 값이 낮은 노드를 병합할 수도 있다.
이 때, 상기 프로세서는,
상기 코스트맵 상의 임의의 두 노드 사이에 상기 다수 무인이동체가 이동할 수 있는 경로를 나타내는 초기링크를 모두 생성하고,
상기 초기링크로부터 미리 결정된 거리 내에 있는 근처노드를 결정하고,
상기 근처노드가 결정되면,
의 식을 만족하는 경우 상기 초기링크를 삭제하여 최종링크를 생성할 수 있다.
이 외에도, 본 개시를 구현하기 위한 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 무인이동체의 크기에 대한 정보만으로 무인이동체 크기에 최적화된 다수 무인이동체의 이동경로 생성을 위한 위상지도를 자동으로 형성하는 효과를 제공한다.
본 개시의 전술한 과제 해결 수단에 의하면, 무인이동체의 크기에 대한 정보만으로 노드 사이의 거리, 윈도우의 크기, 무인이동체의 교행가능 여부 등을 판단할 수 있는 효과를 제공한다.
본 개시의 전술한 과제 해결 수단에 의하면, 사용자가 미리 설정한 노드를 유지하면서 추가적으로 노드를 자동으로 생성하게 하여 무인이동체의 이동경로 생성을 위한 위상지도를 자동으로 형성하는 효과를 제공한다.
본 개시의 전술한 과제 해결 수단에 의하면, 코스트맵을 이용하여 노드의 위치가 장애물로부터 가장 멀리 떨어진 곳으로 주로 생성되어 다수 무인이동체의 충돌을 예방할 수 있는 효과를 제공한다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성 시스템을 개략적으로 나타낸 도면이다.
도 2는 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치의 구성요소를 개략적으로 나타낸 도면이다.
도 3은 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도를 자동으로 형성하는 순서도를 나타낸 도면이다.
도 4는 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위해 탑뷰이미지로부터 코스트맵을 형성하는 것을 나타낸 도면이다.
도 5는 일 실시예에 따른 무인이동체로부터 동적장애물이 인식된 경우 코스트맵 상에 색정보가 표시되는 것을 나타낸 도면이다.
도 6a 및 도 6b는 일 실시예에 따른 제1 노드를 형성하기 위해 픽셀분석을 하는 것을 나타낸 도면이다.
도 7은 일 실시예에 따른 제2 노드를 형성하기 위해 코스트맵 상에 윈도우를 생성하여 스캐닝하는 것을 나타낸 도면이다.
도 8은 일 실시예에 따른 임의의 두 노드를 병합하는 방법을 순서도로 나타낸 도면이다.
도 9는 일 실시예에 따른 임의의 두 노드간 링크를 생성하는 방법을 순서도로 나타낸 도면이다.
도 10a 및 도 10b는 일 실시예에 따른 임의의 두 노드간 링크가 생성되는 것을 나타낸 도면이다.
도 11은 일 실시예에 따른 임의의 두 노드간 최종링크가 생성된 것을 나타낸 도면이다.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.
도 1은 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성 시스템을 개략적으로 나타낸 도면이다.
도 1을 참고하면, 상기 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성 시스템은 본 발명의 동작을 수행하기 위해서는 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치(100), 무인이동체(200) 및 사용자 단말(300)에 의해 구성될 수 있다.
도 1을 참고하면, 무인이동체(200)는 작업을 수행하는 이동공간 내에서 다수 무인이동체의 이동체의 이동경로 생성을 위한 위상지도 형성장치(100) 및 사용자 단말(300)과 통신을 수행할 수 있다.
본 명세서에서 '본 개시에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치'는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 본 개시에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치는, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.
또한, 사용자 단말(200)은 컴퓨터 및 휴대용 사용자 단말을 모두 포함하거나, 어느 하나의 형태가 될 수 있다.
여기에서, 상기 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.
상기 장치(서버)는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.
상기 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.
도1을 참고하면, 무인이동체(200)는 실내자율주행 로봇을 의미할 수 있다. 다만, 이에 제한되지 않으며 자율주행을 수행할 수 있는 드론 등 무인이동체 일체를 포함할수 있다.
무인이동체(200)는 입력부, 센싱부, 출력부 및 인터페이스부 중 적어도 하나를 포함할 수 있다.
무인이동체(200)의 입력부는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 적어도 하나의 카메라, 적어도 하나의 마이크로폰 및 사용자 입력부 중 적어도 하나를 포함할 수 있다. 입력부에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.
카메라는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(또는 본 개시의 무인이동체(200)의 화면)에 표시되거나 메모리에 저장될 수 있다.
한편, 상기 카메라가 복수개일 경우, 매트릭스 구조를 이루도록 배치될 수 있으며, 이와 같이 매트릭스 구조를 이루는 카메라들을 통해 다양한 각도 또는 초점을 갖는 복수의 영상정보가 입력될 수 있고, 또한 상기 카메라들은 3차원의 입체영상을 구현하기 위한 좌 영상 및 우 영상을 획득하도록, 스트레오 구조로 배치될 수도 있다.
사용자 입력부는 사용자로부터 정보를 입력받기 위한 것으로서, 사용자 입력부를 통해 정보가 입력되면, 제어부는 입력된 정보에 대응되도록 본 장치의 동작을 제어할 수 있다. 이러한, 사용자 입력부는 하드웨어식 물리 키(예를 들어, 본 장치의 전면, 후면 및 측면 중 적어도 하나에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 소프트웨어식 터치 키를 포함할 수 있다. 일 예로서, 터치 키는, 소프트웨어적인 처리를 통해 터치스크린 타입의 디스플레이부 상에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다.
무인이동체(200)의 센싱부는 본 장치의 내 정보, 본 장치를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하고, 이에 대응하는 센싱 신호를 발생시킨다. 제어부는 이러한 센싱 신호에 기초하여, 본 장치의 구동 또는 동작을 제어하거나, 본 장치에 설치된 응용 프로그램과 관련된 데이터 처리, 기능 또는 동작을 수행할 수 있다.
상기와 같은, 센싱부는 근접센서(proximity sensor), 조도 센서(illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라), 마이크로폰, 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 중 적어도 하나를 포함함), 화학 센서(예를 들어, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 장치는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
무인이동체(200)의 출력부는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부, 음향 출력부, 햅팁 모듈 및 광 출력부 중 적어도 하나를 포함할 수 있다. 디스플레이부는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 본 장치와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 본 장치와 사용자 간에 출력 인터페이스를 제공할 수 있다.
무인이동체(200)의 디스플레이부는 본 장치에서 처리되는 정보를 표시(출력)한다. 예를 들어, 디스플레이부는 본 장치에서 구동되는 응용 프로그램(일 예로, 어플리케이션)의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
무인이동체(200)의 인터페이스부는 본 장치에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부는 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈(SIM)이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 중 적어도 하나를 포함할 수 있다. 본 장치에서는, 상기 인터페이스부에 연결된 외부 기기와 관련된 적절한 제어를 수행할 수 있다.
도 2는 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치(100)의 구성요소를 개략적으로 나타낸 도면이다.
도 2를 참고하면, 본 개시에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치(100)는 메모리(110), 프로세서(120) 및 통신모듈(130)(또는 통신부) 등을 포함할 수 있다. 도 2에 도시된 구성요소들은 본 개시에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
메모리(110)는 다수 무인이동체(200)이 작업을 수행하는 이동공간에 대한 탑뷰이미지(Top view image)를 저장할 수 있다.
한편, 탑뷰이미지는 SLAM map building 기술에 의해 구현된 로봇 이동공간 맵 이미지일 수 있도 있고, 사용자가 무인이동체(200)의 작업 수행공간에 대하여 미리 드로잉한 이미지일 수도 있다.
한편, SLAM(Stimultaneous Localization and Mapping)은, 자율주행 로봇에 사용되어 주변 환경지도를 작성하는 동시에 로봇의 위치를 작성된 지도 안에서 인식하는 기법을 의미할 수 있다. SLAM 알고리즘을 통해, 로봇은 미지의 환경에 대한 지도를 작성할 수 있다. 이 때, 사용자는 SLAM map 정보를 사용하여 경로 계획(Path planning) 및 장애물 회피 등의 작업을 수행할 수 있다.
메모리(110)는 본 장치의 다양한 기능을 지원하는 데이터와, 제어부의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 있고, 본 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 장치의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(110)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(110)는 본 장치와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
제어부는 본 장치 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리(110), 및 메모리(110)와 통신을 수행하여 메모리에 저장된 데이터를 이용하여 전술한 동작을 수행하는 적어도 하나의 프로세서(120)로 구현될 수 있다. 이때, 메모리(110)와 프로세서(120)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리(110)와 프로세서(120)는 단일 칩으로 구현될 수도 있다.
또한, 프로세서(120)는 이하의 도 3 내지 도 11에서 설명되는 본 개시에 따른 다양한 실시 예들을 본 장치 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.
상기 구성요소들 중 통신모듈(130)은 다수 무인이동체(200)와 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 방송 수신 모듈, 유선통신 모듈, 무선통신 모듈, 근거리 통신 모듈, 위치정보 모듈 중 적어도 하나를 포함할 수 있다.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.
무선 통신 모듈은 이동통신 신호를 송신하는 안테나 및 송신기(Transmitter)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 제어부의 제어에 따라 무선 통신 인터페이스를 통해 제어부로부터 출력된 디지털 제어 신호를 아날로그 형태의 무선 신호로 변조하는 이동통신 신호 변환 모듈을 더 포함할 수 있다.
무선 통신 모듈은 이동통신 신호를 수신하는 안테나 및 수신기(Receiver)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 무선 통신 인터페이스를 통하여 수신한 아날로그 형태의 무선 신호를 디지털 제어 신호로 복조하기 위한 이동통신 신호 변환 모듈을 더 포함할 수 있다.
위치정보 모듈은 본 개시에 다수 무인이동체(200)의 위치(또는 현재 위치)를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Positioning System) 모듈 또는 WiFi(Wireless Fidelity) 모듈이 있다. 예를 들어, GPS모듈을 활용하면, GPS 위성에서 보내는 신호를 이용하여 본 다수 무인이동체(200)의 위치를 획득할 수 있다. 다른 예로서, Wi-Fi모듈을 활용하면, Wi-Fi모듈과 무선신호를 송신 또는 수신하는 무선 AP(Wireless Access Point)의 정보에 기반하여, 무인이동체(200)의 위치를 획득할 수 있다. 필요에 따라서, 위치정보모듈은 치환 또는 부가적으로 무인이동체(200)의 위치에 관한 데이터를 얻기 위해 통신부의 다른 모듈 중 어느 기능을 수행할 수 있다. 위치정보모듈은 무인이동체(200)의 위치(또는 현재 위치)를 획득하기 위해 이용되는 모듈로, 무인이동체(200)의 위치를 직접적으로 계산하거나 획득하는 모듈로 한정되지는 않는다.
도 2에 도시된 구성 요소들의 성능에 대응하여 적어도 하나의 구성요소가 추가되거나 삭제될 수 있다. 또한, 구성 요소들의 상호 위치는 시스템의 성능 또는 구조에 대응하여 변경될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다.
한편, 도 2에서 도시된 각각의 구성요소는 소프트웨어 및/또는 Field Programmable Gate Array(FPGA) 및 주문형 반도체(ASIC, Application Specific Integrated Circuit)와 같은 하드웨어 구성요소를 의미한다.
도 3은 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위한 위상지도를 자동으로 형성하는 순서도를 나타낸 도면이다.
S310은 다수 무인이동체의 이동공간에 대한 탑뷰이미지를 메모리에 미리 저장하는 단계일 수 있다.
S320은 사용자단말(300)로부터 수신한 무인이동체의 크기 데이터에 기초하여 장애물과의 거리데이터를 생성하는 단계일 수 있다.
사용자단말(300)은 무인이동체(200)의 크기(Size)를 입력받을 수 있고, 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치(100)의 프로세서(120)는 무인이동체(200)의 크기 데이터에 기초하여 장애물과의 거리데이터, 코스트맵에 표시된 색정보의 픽셀값, 윈도우의 크기 및 복수의 제1 노드와 복수의 제2 노드 각각에 대한 거리 값을 자동으로 결정할 수 있다.
한편, 무인이동체(200)의 크기는 무인이동체의 육방 각각에 대해 사용자가 미리 설정한 거리만큼의 너비를 나타내는 공간을 의미할 수 있다. 또한, 무인이동체의 중심을 기준으로 사용자가 미리 설정한 반경만큼의 공간을 의미할 수도 있다. 이 때, 무인이동체의 크기는 숫자 값으로 입력될 수 있다.
이 때, 코스트맵에 표시된 색정보의 픽셀값, 윈도우의 크기 및 복수의 제1 노드와 복수의 제2 노드 각각에 대한 거리 값은 로봇의 크기 데이터에 비례하거나 반비례하는 관계로 자동으로 정해질 수 있다. 이 때, 비례관계로 설정할지 반비례관계로 설정할지 여부는 실험데이터에 의해 정해지는 값으로, 사용자가 미리 결정하는 관계일 수 있다.
예를 들어, 무인이동체의 크기가 N인 경우, 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치(서버)에서는 탑뷰이미지 위에 크기가 N인 박스를 형성하고, 장애물에 해당하는 부분까지 박스를 복수개(k) 형성하여, 박스가 k개 형성된 경우 장애물까지의 거리는 Nⅹk로 결정할 수 있다.
S330은 장애물과의 거리데이터에 기초하여 탑뷰이미지로부터 장애물 회피정도를 사용자가 미리 결정한 색정보로 표시하는 코스트맵(Cost map)을 형성하는 단계일 수 있다.
무인이동체의 크기데이터에 기초하여 장애물과의 거리데이터가 생성되면, 장애물과의 거리데이터에 기초하여 탑뷰이미지가 코스트맵으로 변환될 수 있다.
코스트맵(Cost map)은 무인이동체가 작업을 수행하는 이동공간 내에서 존재하는 장애물에 대하여 장애물을 회피하기 위한 정도를 나타는 맵을 의미할 수 있다.
한편, 코스트(Cost)는 무인이동체의 이동공간 내에서, 장애정도를 나타내는 값으로, 코스트 값이 높을수록 장애정도가 높은 것으로 보아 코스트 값이 높은 지역에 대해서는 무인이동체가 경로계획을 하지 않고, 코스트 값이 낮은 곳을 기준으로 경로계획을 할 수 있다.
코스트맵은 탑뷰이미지에 사용자가 미리 결정한 색정보를 추가하여 형성될 수 있다. 예를 들어, 프로세서(120)는 장애물이 존재하는 위치는 검은색으로 표시하고, 장애물이 전혀 존재하지 않으며 장애물로부터 사용자가 미리 설정한 거리가 떨어진 위치는 흰색으로 표시하고, 미지의 영역은 회색으로 표시할 수 있다.
다른 일 실시예에 따르면, 본 장치에서 코스트맵에 표시되는 색정보는, 장애물이 존재하는 위치는 픽셀 값을 0으로 하여 표시하고, 장애물이 존재하는 위치로부터 상기 사용자가 미리 설정한 거리만큼 떨어져 있는 경우 장애물이 존재하지 않는 위치로서 픽셀 값을 255로 하여 표시하고, 장애물이 존재하는 위치와 상기 장애물이 존재하지 않는 위치 사이의 공간은, 장애물이 존재하는 위치로부터 상기 장애물이 존재하지 않는 위치 사이까지의 거리 값에 비례하여 픽셀 값을 0과 255 사이의 값으로 색정보를 표시할 수 있다.
S340은 코스트맵에 표시된 색정보의 픽셀(Pixel) 값에 기초하여 다수 무인이동체가 이동할 복수의 제1 노드(Node)를 결정하는 단계일 수 있다.
S330에서 코스트맵에 색정보로서 픽셀 값이 부여되면, 이에 기초하여 다수 무인이동체가 이동하여 목표지점으로서 통과할 수 있는 지역을 의미하는 복수의 제1 노드를 결정할 수 있다. 이 때, 복수의 제1 노드를 형성 또는 결정하는 방법에 대해서는 이하 도 6a 및 도 6b에서 후술하도록 한다.
S350은 미리 결정된 크기의 윈도우(Window)를 생성하는 단계일 수 있다.
한편, 윈도우(Window)는 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치(서버)(100)의 UI(User Interface) 내에서 생성되는 사용자가 미리 결정한 크기의 창을 의미할 수 있다.
S360은 윈도우를 통해 코스트맵을 스캐닝(Scanning)하고 윈도우 내의 픽셀 값을 분석하여 상기 다수 무인이동체가 이동할 복수의 제2 노드를 결정하는 단계일 수 있다.
이 때, 복수의 제2 노드를 형성 또는 결정하는 방법에 대해서는 이하 도 7에서 후술하도록 한다.
S370은 복수의 제1 노드와 복수의 제2 노드 각각에 대한 거리 값이 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우 노드를 병합(Merging)하는 단계일 수 있다.
이 때, 노드를 병합하는 방법에 대해서는 이하 도 8에서 후술하도록 한다.
S380은 복수의 제1 노드 및 복수의 제2 노드 각각에 대한 거리 값에 기초하여 다수 무인이동체가 이동할 수 있는 경로를 나타내는 노드 간 링크(Link)를 생성하여 코스트맵에 표시하는 단계일 수 있다.
이 때, 링크(Link)는 다수 무인이동체가 이동할 수 있는 경로를 나타내는 선(line)을 의미할 수 있고, 다수 무인이동체는 상기 링크를 따라 경로계획(Path planning)을 할 수 있다.
도 4는 일 실시예에 따른 다수 무인이동체의 이동경로 생성을 위해 탑뷰이미지로부터 코스트맵을 형성하는 것을 나타낸 도면이다.
도 4를 참고하면, 탑뷰이미지(D410)에 사용자가 미리 결정한 색정보를 추가하여 코스트맵(D420)을 형성할 수 있다.
사용자가 미리 결정한 색정보는, 예를 들면, 장애물이 존재하는 위치는 검은색으로 표시하고, 장애물이 전혀 존재하지 않으며 장애물로부터 사용자가 미리 설정한 거리가 떨어진 위치는 흰색으로 표시하고, 미지의 영역은 회색으로 표시하는 것일 수 있다.
코스트맵(Cost map)은 무인이동체가 작업을 수행하는 이동공간 내에서 존재하는 장애물에 대하여 장애물을 회피하기 위한 정도를 나타는 맵을 의미할 수 있다.
한편, 코스트(Cost)는 무인이동체의 이동공간 내에서, 장애정도를 나타내는 값으로, 코스트 값이 높을수록 장애정도가 높은 것으로 보아 코스트 값이 높은 지역에 대해서는 무인이동체가 경로계획을 하지 않고, 코스트 값이 낮은 곳을 기준으로 경로계획을 할 수 있다.
도 5는 일 실시예에 따른 무인이동체로부터 동적장애물이 인식된 경우 코스트맵 상에 색정보가 표시되는 것을 나타낸 도면이다.
통신모듈(130)은 무인이동체(D510)로부터 동적장애물(D520)이 감지되면, 무인이동체(D510)로부터 동적장애물 데이터를 수신하고, 프로세서(120)는, 무인이동체의 크기 데이터에 기초하여 상기 동적장애물(D520)과의 거리데이터를 생성하고, 코스트맵(D530)에는 동적장애물(D520)과의 거리데이터에 기초하여 상기 사용자가 결정한 색정보를 추가적으로 표시할 수 있다.
도 5를 참고하면, 무인이동체(D510)가 작업을 수행하는 이동공간 내에서 동적장애물(D520)을 인식하는 경우를 나타낸 것일 수 있다. 이 때, 코스트맵 상에는 무인이동체가 통신모듈을 통해 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치와 통신을 수행하여 코스트맵(D530) 상에 무인이동체를 표시(D540)할 수 있다. 또한, 무인이동체(D510)가 인식한 동적장애물(D520)은 코스트맵상에 마찬가지로 실시간 표시(D530)될 수 있다. 이 때, 실시간 표시는 동적장애물(D520) 역시 장애물에 해당하므로 검은색에 해당하는 픽셀값으로 표시될 수 있다.
한편, 동적장애물(D520)은 무인이동체가 작업을 수행하는 이동공간 내에서 이동하고 있는 장애물을 의미할 수 있다.
도 6a 및 도 6b는 일 실시예에 따른 제1 노드를 형성하기 위해 픽셀분석을 하는 것을 나타낸 도면이다.
도 6a 및 도 6b를 참고하면, 프로세서(120)는, 코스트맵 상에서 임의의 위치를 중심으로, 무인이동체의 크기에 비례하는 미리 결정된 거리를 반경으로 하여, 시계방향으로 360° 회전하여 각 위치(예를 들어, 도 6a 및 도 6b의 제1 박스 내지 제16 박스)에 대한 상기 픽셀 값의 그래프를 형성하고, 그래프 상에서 극댓점이 3개 이상인 경우, 상기 임의의 위치를 상기 제1 노드로 결정할 수 있다.
한편, 복수의 제1 노드는 다수 무인이동체가 이동하여 목표지점으로서 통과할 수 있는 지역을 의미할 수 있다.
도 6a을 참고하면, 무인이동체의 크기에 해당하는 픽셀박스(D610)를 형성하고, 이로부터 사용자가 미리 결정하고 무인이동체의 크기에 비례하는 미리 결정된 거리를 반경으로 하는 원을 형성하여, 무인이동체의 크기에 비례하는 반경에 해당하는 원에 대한 픽셀박스(D620)를 제1 박스 내지 제16 박스까지 형성할 수 있다.
도 6b를 참고하면, 프로세서(120)는 상기 제1 박스 내지 제16 박스(위치)를 x축(D620)으로 하고 각 반경에 해당하는 위치의 픽셀 값(밝기)를 y축으로 하여 그래프를 형성할 수 있고, 그래프 상에서 극댓점(D630)이 3개 이상인 경우는 제1 노드로 결정할 수 있다.
한편, 그래프 상에서 극댓점(D630)이 3개 이상인 경우를 제1 노드로 결정할 수도 있으나, 이에 제한되지 않고 사용자의 결정에 따라 극댓점의 개수가 미리 결정된 값 이상인 경우에 제 1노드로 결정될 수도 있다.
극댓점의 개수가 사용자가 미리 결정된 값 이상인 경우인 경우, 무인이동체의 주변에 장애물이 멀리 있는 경로로서, 무인이동체가 진행할 수 있는 경로가 많다는 것을 의미할 수 있고, 이는 무인이동체의 작업공간 내에서 교차로로서 판단되는 지역을 의미할 수 있다.
한편, 제1 노드는 무인이동체가 작업공간 내에서 이동하기 위해 목적지로서 정해지는 지점으로서, 코스트맵 상에 복수개가 형성될 수 있다.
도 7은 일 실시예에 따른 제2 노드를 형성하기 위해 코스트맵 상에 윈도우를 생성하여 스캐닝하는 것을 나타낸 도면이다.
도 7을 참고하면, 프로세서(120)는, 미리 결정된 크기의 윈도우(D710)를 생성할 수 있고, 윈도우(D710)를 통해 상기 코스트맵을 스캐닝(Scanning)하고, 윈도우 내의 모든 위치에서 픽셀 값이 255인 경우, 윈도우의 중심위치를 상기 제2 노드로 결정할 수 있다.
한편, 제2 노드는 무인이동체가 작업공간 내에서 이동하기 위해 목적지로서 정해지는 지점으로서, 코스트맵 상에 복수개가 형성될 수 있다. 또한, 제1 노드 및 제2 노드는 본 장치에 의해 자동으로 생성되는 노드일 수 있고, 자동으로 생성되는 노드뿐 아니라 사용자가 미리 결정한 노드도 무인이동체의 노드로서 결정될 수 있다. 이 때, 일 실시예에 따르면 사용자가 미리 결정한 노드가 본 장치에 의해 자동으로 결정한 노드보다 우선순위로서 고려될 수 있다.
도 8은 일 실시예에 따른 임의의 두 노드를 병합하는 방법을 순서도로 나타낸 도면이다.
도 8을 참고하면, 본 장치는 사용자 단말로부터 입력된 무인이동체(로봇)의 크기에 해당하는 값(N)을 수신할 수 있고(S810), 로봇의 크기에 기초하여 노드 사이이의 거리를 산출(D)할 수 있고(S820), 복수의 제1 노드와 복수의 제2 노드 각각에 대한 거리 값이 상기 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우, 임의의 두 노드 중 픽셀 값이 높은 노드에 픽셀 값이 낮은 노드를 병합(S830)할 수 있다. 즉, 무인이동체의 크기가 N으로 결정되면 이에 비례(비례상수 k)하는 값을 곱한 값보다 복수의 제1 노드와 복수의 제2 노드 각각에 대한 거리 값이 작은 경우에는 임의의 두 노드 중 픽셀 값이 높은 노드에 픽셀 값이 낮은 노드를 병합하는 것을 의미할 수 있다. 또한, 무인이동체의 크기가 N으로 결정되면 이에 비례(비례상수 k)하는 값을 곱한 값보다 복수의 제1 노드 간, 복수의 제2 노드 간의 거리 값이 작은 경우에도 마찬가지로 임의의 두 노드 중 픽셀 값이 높은 노드에 픽셀 값이 낮은 노드를 병합하는 것을 의미할 수 있다.
노드는 프로세서(120)에 의해 자동으로 생성되는 제1 노드 및 제2 노드가 있을 수 있으나, 사용자가 미리 결정하여 메모리(110)에 저장한 노드도 존재할 수 있는데, 병합의 대상이 되는 노드는 프로세서(120)에 의해 자동으로 생성되는 제1 노드 및 제2 노드를 의미할 수 있고, 사용자가 미리 결정한 노드는 가장 최우선 순위의 노드로 보아 병합 프로세스를 진행하지 않을 수 있다.
또한, 병합의 대상이 되는 노드 중 어느 한 쪽은 사용자가 미리 결정한 노드이고, 다른 한 쪽은 프로세서(120)에 의해 자동으로 생성된 제1 노드 또는 제2 노드인 경우에는 프로세서(120)에 의해 자동으로 생성된 제1 노드 또는 제2 노드를 사용자가 미리 결정한 노드에 병합하는 것으로 병합 프로세스를 진행할 수도 있다.
도 9는 일 실시예에 따른 임의의 두 노드간 링크를 생성하는 방법을 순서도로 나타낸 도면이다.
도 9를 참고하면, 프로세서(120)는, 임의의 두 노드 사이에 다수 무인이동체가 이동할 수 있는 경로를 나타내는 초기링크를 모두 생성(S910)하고, 초기링크로부터 미리 결정된 거리 내에 있는 근처노드를 결정(S920)하고, 근처노드가 결정되면, 다음 수학식 1을 만족하는 경우에는 초기링크를 삭제하여 최종링크를 생성할 수 있다(S930). 즉, 아래의 수학식 1을 만족하는 경우는 링크를 삭제하기 때문에 초기링크에서 아래 수학식 1을 만족하는 링크를 삭제한 최종링크를 생성할 수 있다.
[수학식 1]
한편, 초기링크는 임의의 두 노드를 연결하는 링크 일체를 의미할 수 있고, 근처노드는 상기 초기링크로부터 사용자가 미리 결정한 거리 내에 있는 노드 일체를 의미할 수 있다.
도 10a 및 도 10b는 일 실시예에 따른 임의의 두 노드간 링크가 생성되는 것을 나타낸 도면이다.
도 10a를 참고하면, 1번 노드(D1010)와 5번 노드(D1051) 사이에는 최종링크가 생성될 수 없는데, 1번 노드(D1010)와 5번 노드(D1051)간의 이동경로(D1060)를 기준으로 사용자가 미리 결정한 거리 내의 근처노드 2번 노드(D1020), 3번 노드(D1031) 및 4번 노드(D1041)가 결정될 수 있고, 1번 노드(D1010)와 5번 노드(D1051) 사이에 최종링크가 생성될 수 없는 것은 근처노드를 기준으로 1번 노드(D1010)과 5번 노드(D1051)를 연결하는 링크가 더 짧기 때문일 수 있다. 즉, Max(Path(1번 노드, 근처노드), Path(5번 노드, 근처노드)) < Path(1번 노드, 5번 노드)이기 때문에 초기링크로부터 링크를 삭제하게 되어 최종링크로 남을 수 없다.
도 10b를 참고하면, 3번 노드(D1032)와 4번 노드(D1042) 사이에는 최종링크가 생성될 수 있는데, 3번 노드(D1032)와 4번 노드(D1042)간의 이동경로를 기준으로 사용자가 미리 결정한 거리 내의 근처노드 5번 노드(D1052)가 결정될 수 있고, 3번 노드(D1032)와 4번 노드(D1042) 사이에 최종링크가 생성될 수 있는 것은 근처노드를 기준으로 3번 노드(D1032)와 4번 노드(D1042)를 연결하는 링크가 더 길기 때문일 수 있다. 즉, Max(Path(3번 노드, 근처노드), Path(4번 노드, 근처노드)) > Path(3번 노드, 4번 노드)이기 때문에 초기링크로부터 링크를 삭제하지 않아 최종링크로 남을 수 있다.
한편, 본 개시의 일 실시예에 따르면, 최종링크가 생성된 경우를 기준으로, 서로 다른 임의의 두 쌍의 노드로 이루어진 두 최종링크가 X자 형태로 되어있는 경우, 충돌위험으로 판단하고 상기 두 최종링크의 교차점을 새로운 제3 노드로 추가할 수 있거나 또는 두 최종링크가 X자 형태가 되지 않도록 ㅁ자 형태로 최종링크를 재생성할 수도 있다.
한편, 본 개시의 일 실시예에 따르면, 최종링크가 생성된 경우를 기준으로, 연결된 최종링크가 없는 노드의 경우 삭제하고, 최종링크의 길이가 사용자가 미리 결정한 길이보다 긴 경우에는 최종링크 내에 사용자가 결정한 지점을 기준으로 새로운 노드를 생성하여 최종링크의 길이를 적절히 줄일 수 있다.
한편, 본 개시의 일 실시예에 따르면, 최종링크가 생성된 경우를 기준으로, 최종링크를 따라 무인이동체가 이동할 수 있는지를 상기 무인이동체의 크기 데이터를 기초로 판단하여 교행할 수 있는 최종링크인지 판단할 수 있다.
도 11은 일 실시예에 따른 임의의 두 노드간 최종링크가 생성된 것을 나타낸 도면이다.
도 11을 참고하면, 임의의 두 노드(D1110)를 기준으로 최종링크가(D1120)가 생성된 본 장치의 UI를 나타낸 것일 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
100 : 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치
200 : 무인이동체
300 : 사용자 단말

Claims (11)

  1. 다수 무인이동체의 이동공간에 대한 탑뷰이미지(Top view image)를 미리 저장하는 메모리;
    상기 메모리와 통신을 수행하는 적어도 하나의 프로세서; 및
    상기 다수 무인이동체와 통신을 수행하는 통신모듈을 포함하고,
    상기 프로세서는,
    사용자 단말로부터 수신한 무인이동체의 크기 데이터에 기초하여 장애물과의 거리데이터를 생성하고,
    상기 장애물과의 거리데이터에 기초하여 상기 탑뷰이미지로부터 장애물 회피정도를 사용자가 미리 결정한 색정보로 표시하는 코스트맵(Cost map)을 형성하고,
    상기 코스트맵에 표시된 색정보의 픽셀(Pixel) 값에 기초하여 상기 다수 무인이동체가 이동할 복수의 제1 노드(Node)를 결정하고,
    미리 결정된 크기의 윈도우(Window)를 생성하고,
    상기 윈도우를 통해 상기 코스트맵을 스캐닝(Scanning)하고 상기 윈도우 내의 픽셀 값을 분석하여 상기 다수 무인이동체가 이동할 복수의 제2 노드를 결정하고,
    상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값이 상기 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우 노드를 병합(Merging)하고,
    상기 복수의 제1 노드 및 상기 복수의 제2 노드 각각에 대한 거리 값에 기초하여 상기 다수 무인이동체가 이동할 수 있는 경로를 나타내는 노드 간 링크(Link)를 생성하여 상기 코스트맵에 표시하며,
    상기 프로세서는,
    상기 무인이동체의 크기 데이터에 기초하여 상기 코스트맵에 표시된 상기 색정보의 픽셀 값, 상기 윈도우의 크기 및 상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값을 결정하고,
    상기 코스트맵에 표시되는 색정보는, 상기 장애물이 존재하는 위치는 픽셀 값을 0으로 하여 표시하고, 상기 장애물이 존재하는 위치로부터 상기 사용자가 미리 설정한 거리만큼 떨어져 있는 경우 장애물이 존재하지 않는 위치로서 픽셀 값을 255로 하여 표시하고,
    상기 장애물이 존재하는 위치와 상기 장애물이 존재하지 않는 위치 사이의 공간은, 상기 장애물이 존재하는 위치로부터 상기 장애물이 존재하지 않는 위치 사이까지의 거리 값에 비례하여 픽셀 값을 0과 255 사이의 값으로 색정보를 표시하고,
    상기 프로세서는,
    상기 코스트맵 상에서 임의의 위치를 중심으로, 상기 무인이동체의 크기에 비례하는 미리 결정된 거리를 반경으로 하여, 시계방향으로 360° 회전하여 각 위치에 대한 상기 픽셀 값의 그래프를 형성하고, 상기 그래프 상에서 극댓점이 3개 이상인 경우, 상기 임의의 위치를 상기 제1 노드로 결정하는 것을 특징으로 하는, 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치.
  2. 제1 항에 있어서,
    상기 통신모듈은,
    상기 무인이동체로부터 동적장애물이 감지되면,
    상기 무인이동체로부터 동적장애물 데이터를 수신하고,
    상기 프로세서는,
    상기 무인이동체의 크기 데이터에 기초하여 상기 동적장애물과의 거리데이터를 생성하고,
    상기 코스트맵에는 상기 동적장애물과의 거리데이터에 기초하여 상기 사용자가 결정한 색정보를 추가적으로 표시하는 것을 특징으로 하는, 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1 항에 있어서,
    상기 프로세서는,
    상기 상기 윈도우를 통해 상기 코스트맵을 스캐닝(Scanning)하고,
    상기 윈도우 내의 모든 위치에서 픽셀 값이 255인 경우, 상기 윈도우의 중심위치를 상기 제2 노드로 결정하는 것을 특징으로 하는, 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치.
  7. 제6 항에 있어서,
    상기 프로세서는,
    상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값이 상기 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우,
    임의의 두 노드 중 픽셀 값이 높은 노드에 픽셀 값이 낮은 노드를 병합하는 것을 특징으로 하는, 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치.
  8. 제7 항에 있어서,
    상기 프로세서는,
    상기 코스트맵 상의 임의의 두 노드 사이에 상기 다수 무인이동체가 이동할 수 있는 경로를 나타내는 초기링크를 모두 생성하고,
    상기 초기링크로부터 미리 결정된 거리 내에 있는 근처노드를 결정하고,
    상기 근처노드가 결정되면,


    의 식을 만족하는 경우 상기 초기링크를 삭제하여 최종링크를 생성하는 것을 특징으로 하는, 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치.
  9. 다수 무인이동체의 이동공간에 대한 탑뷰이미지(Top view image)를 메모리에 미리 저장하는 단계;
    사용자 단말로부터 수신한 무인이동체의 크기 데이터에 기초하여 장애물과의 거리데이터를 생성하는 단계;
    상기 장애물과의 거리데이터에 기초하여 상기 탑뷰이미지로부터 장애물 회피정도를 사용자가 미리 결정한 색정보로 표시하는 코스트맵(Cost map)을 형성하는 단계;
    상기 코스트맵에 표시된 색정보의 픽셀(Pixel) 값에 기초하여 상기 다수 무인이동체가 이동할 복수의 제1 노드(Node)를 결정하는 단계;
    미리 결정된 크기의 윈도우(Window)를 생성하는 단계;
    상기 윈도우를 통해 상기 코스트맵을 스캐닝(Scanning)하고 상기 윈도우 내의 픽셀 값을 분석하여 상기 다수 무인이동체가 이동할 복수의 제2 노드를 결정하는 단계;
    상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값이 상기 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우 노드를 병합(Merging)하는 단계; 및
    상기 복수의 제1 노드 및 상기 복수의 제2 노드 각각에 대한 거리 값에 기초하여 상기 다수 무인이동체가 이동할 수 있는 경로를 나타내는 노드 간 링크(Link)를 생성하여 상기 코스트맵에 표시하는 단계를 포함하며,
    상기 코스트맵 상에서 임의의 위치를 중심으로,
    상기 무인이동체의 크기에 비례하는 미리 결정된 거리를 반경으로 하여,
    시계방향으로 360° 회전하여 각 위치에 대한 상기 픽셀 값의 그래프를 형성하는 단계;
    상기 그래프 상에서 극댓점이 3개 이상인 경우, 상기 임의의 위치를 상기 제1 노드로 결정하는 단계;
    상기 상기 윈도우를 통해 상기 코스트맵을 스캐닝(Scanning)하는 단계;
    상기 윈도우 내의 모든 위치에서 픽셀 값이 255인 경우, 상기 윈도우의 중심위치를 상기 제2 노드로 결정하는 단계; 및
    상기 복수의 제1 노드와 상기 복수의 제2 노드 각각에 대한 거리 값이 상기 무인이동체의 크기에 비례하는 미리 결정된 값 미만인 경우,
    임의의 두 노드 중 픽셀 값이 높은 노드에 픽셀 값이 낮은 노드를 병합하는 단계를 포함하는, 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성방법.
  10. 삭제
  11. 하드웨어와 결합하여 제9항의 방법을 실행하는 기록매체에 저장된, 컴퓨터 프로그램.
KR1020220139244A 2022-10-26 2022-10-26 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법 KR102568651B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220139244A KR102568651B1 (ko) 2022-10-26 2022-10-26 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220139244A KR102568651B1 (ko) 2022-10-26 2022-10-26 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법

Publications (1)

Publication Number Publication Date
KR102568651B1 true KR102568651B1 (ko) 2023-08-22

Family

ID=87799354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220139244A KR102568651B1 (ko) 2022-10-26 2022-10-26 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법

Country Status (1)

Country Link
KR (1) KR102568651B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006239844A (ja) * 2005-03-04 2006-09-14 Sony Corp 障害物回避装置、障害物回避方法及び障害物回避プログラム並びに移動型ロボット装置
KR101956569B1 (ko) * 2012-06-01 2019-03-11 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
KR20200084423A (ko) * 2018-12-24 2020-07-13 삼성전자주식회사 기계 학습 기반의 로컬 모션 생성 방법 및 장치
KR20200085271A (ko) * 2017-09-22 2020-07-14 로커스 로보틱스 코포레이션 배제 구역과의 다중 해상도 스캔 매칭
KR102271745B1 (ko) * 2020-12-24 2021-07-01 주식회사 맥스트 맵 토폴로지 생성 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR20220058079A (ko) 2020-10-30 2022-05-09 주식회사 케이티 자율주행 로봇, 계층 코스트 맵 생성 방법 및 이를 이용한 주행 경로 생성 방법
KR20220138438A (ko) * 2021-02-26 2022-10-13 현대자동차주식회사 이동 로봇의 다중 경로 생성 장치 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006239844A (ja) * 2005-03-04 2006-09-14 Sony Corp 障害物回避装置、障害物回避方法及び障害物回避プログラム並びに移動型ロボット装置
KR101956569B1 (ko) * 2012-06-01 2019-03-11 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
KR20200085271A (ko) * 2017-09-22 2020-07-14 로커스 로보틱스 코포레이션 배제 구역과의 다중 해상도 스캔 매칭
KR20200084423A (ko) * 2018-12-24 2020-07-13 삼성전자주식회사 기계 학습 기반의 로컬 모션 생성 방법 및 장치
KR20220058079A (ko) 2020-10-30 2022-05-09 주식회사 케이티 자율주행 로봇, 계층 코스트 맵 생성 방법 및 이를 이용한 주행 경로 생성 방법
KR102271745B1 (ko) * 2020-12-24 2021-07-01 주식회사 맥스트 맵 토폴로지 생성 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR20220138438A (ko) * 2021-02-26 2022-10-13 현대자동차주식회사 이동 로봇의 다중 경로 생성 장치 및 방법

Similar Documents

Publication Publication Date Title
Kumar et al. RETRACTED ARTICLE: Intelligent face recognition and navigation system using neural learning for smart security in Internet of Things
US10748061B2 (en) Simultaneous localization and mapping with reinforcement learning
Ricks et al. Ecological displays for robot interaction: A new perspective
US8626444B2 (en) Safety based road map navigation
KR20220028042A (ko) 포즈 결정 방법, 장치, 전자 기기, 저장 매체 및 프로그램
Ioannidis et al. A path planning method based on cellular automata for cooperative robots
US9342222B2 (en) Accessible chart navigation using object neighborhood
US20160358378A1 (en) Procedural Navigation Graphs
US9816822B1 (en) Assisted roadmap generation
WO2018132224A1 (en) Optimal scanning trajectories for 3d scenes
KR102516002B1 (ko) 조사로봇기반 실내 공간 측위·매핑 방법 및 장치
US20210092305A1 (en) Designation device and non-transitory recording medium
US8467963B2 (en) Map building system, building method and computer readable media thereof
CA3099748C (en) Spatial construction using guided surface detection
US11880209B2 (en) Electronic apparatus and controlling method thereof
KR102568651B1 (ko) 다수 무인이동체의 이동경로 생성을 위한 위상지도 형성장치 및 방법
CN110631586A (zh) 基于视觉slam的地图构建的方法、导航系统及装置
JP2017049739A (ja) 物体検出システム
KR102585308B1 (ko) 이동 로봇의 주행을 제어하기 위한 방법, 및 이동 로봇
KR20190013176A (ko) 드론을 이용한 구조물의 변화 탐지 방법 및 장치
JP6382772B2 (ja) 視線誘導装置、視線誘導方法、および視線誘導プログラム
KR20230074401A (ko) 충돌을 고려한 다수 무인이동체의 트래픽 제어 장치 및 방법
KR20240068158A (ko) 라이다 센서를 이용하여 이동 로봇의 주행을 제어하기 위한 방법 및 시스템
KR20240055360A (ko) 충돌 감지 영역을 이용하여 무인 이동체가 장애물을 감지하고 충돌을 방지하도록 제어하는 방법 및 장치
Hattori et al. Generalized measuring-worm algorithm: High-accuracy mapping and movement via cooperating swarm robots

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant