KR102671839B1 - 로봇을 위한 맵을 생성하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 - Google Patents

로봇을 위한 맵을 생성하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR102671839B1
KR102671839B1 KR1020210042938A KR20210042938A KR102671839B1 KR 102671839 B1 KR102671839 B1 KR 102671839B1 KR 1020210042938 A KR1020210042938 A KR 1020210042938A KR 20210042938 A KR20210042938 A KR 20210042938A KR 102671839 B1 KR102671839 B1 KR 102671839B1
Authority
KR
South Korea
Prior art keywords
boundary
robot
obstacle
map
basic map
Prior art date
Application number
KR1020210042938A
Other languages
English (en)
Other versions
KR20220094089A (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 베어 로보틱스, 인크.
Publication of KR20220094089A publication Critical patent/KR20220094089A/ko
Application granted granted Critical
Publication of KR102671839B1 publication Critical patent/KR102671839B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • 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
    • 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/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 일 태양에 따르면, 로봇을 위한 맵을 생성하는 방법으로서, 로봇의 태스크와 연관되는 기초 맵을 획득하는 단계, 상기 기초 맵에서 특정되는 픽셀의 색상 및 상기 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 상기 기초 맵에서 유동 장애물로 추정되는 픽셀을 식별하는 단계, 및 상기 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산을 수행하고 다각형을 기반으로 상기 유동 장애물의 경계를 결정하는 단계를 포함하는 방법이 제공된다.

Description

로봇을 위한 맵을 생성하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체{METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM FOR GENERATING A MAP FOR A ROBOT}
본 발명은 로봇을 위한 맵을 생성하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체에 관한 것이다.
로봇은 어려운 작업이나 반복적인 조작 등을 자동화하여 수행할 수 있기 때문에, 다양한 분야에서 인간을 대신하거나 보조하는데 활용되고 있다. 로봇의 원활한 주행을 위해서는 주변 환경에 관한 정보가 정확하게 반영된 맵이 필요한데, 근래에 들어, 이러한 로봇의 맵 생성 기술에 대한 다양한 연구가 진행되고 있다.
이에 관한 종래 기술의 일 예로서, 한국공개특허공보 제10-2020-0085142호에 개시된 기술을 예로 들 수 있는데, 이에 따르면, 지도 데이터를 생성하는 로봇 청소 장치로서, 통신 인터페이스, 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 하나 이상의 인스트럭션을 실행함으로써 상기 로봇 청소 장치를 제어하는 프로세서를 포함하며, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 청소 공간에 관련된 기본 지도 데이터를 생성하고, 상기 청소 공간 내의 적어도 하나의 객체에 대한 객체 정보를 생성하며, 상기 객체 정보에 기초하여 상기 기본 지도 데이터 내의 영역을 복수의 영역으로 구분하고, 상기 객체 정보에 기초하여 상기 구분된 복수의 영역의 식별 값을 결정하는 로봇 청소 장치가 소개된 바 있다.
하지만, 위와 같은 종래 기술을 비롯하여 지금까지 소개된 기술에 의하면, 로봇의 센싱 정보(예를 들어, 영상 센서, 레이저 센서, 라이다 센서 등에 의해 획득되는 정보)에 기초하여 1차적으로 생성되거나 외부 시스템으로부터 제공되는 기초 맵을 그대로 로봇의 태스크 수행(예를 들어, 음식 서빙)에 활용하거나, 그러한 기초 맵을 수작업으로 수정(예를 들어, 노이즈의 제거, 장애물 경계에 대한 주석의 설정 등)을 한 후에 활용되도록 하였다. 기초 맵을 그대로 활용하는 경우에는, 맵에 상당한 노이즈가 포함되고, 장애물 경계가 부정확하며, 사람과 같은 동적인 장애물이 벽과 같은 정적인 장애물로 인식되어 맵에 그대로 남아있을 수 있어서, 로봇의 주행이 비효율적으로 이루어지는 경우가 많았다. 또한, 기초 맵을 수작업으로 수정하는 경우에는, 기초 맵에서 미세 노이즈를 육안으로 찾아내어 제거하고, 장애물의 흐린 경계를 보정하며, 장애물의 경계 범위에 대한 주석을 일일이 설정하여야 되기에 상당한 시간, 비용 및 노력이 소요되는 문제가 있었다.
이에 본 발명자(들)는, 로봇의 태스크와 연관되는 기초 맵을 가공하는 과정을 신속하면서도 정확하게 자동화하여 수행할 수 있는 신규하고도 진보된 기술을 제안하는 바이다.
본 발명은, 전술한 종래 기술의 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은, 로봇의 태스크 수행에 활용되는 맵을 생성하는데 드는 시간, 비용 및 노력을 줄이는 것을 다른 목적으로 한다.
또한, 본 발명은, 사람의 육안으로 발견하기 어려운 미세 노이즈까지 정확하게 제거하여 로봇의 안정적이고 효율적인 주행을 가능하게 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은, 장애물로 추정되는 픽셀을 대상으로 확장(dilate) 연산 및 침식(erode) 연산을 적용하여 장애물과 연관되는 부속 장애물이 모두 포함될 수 있도록 장애물 경계를 특정(나아가, 그 장애물 경계에 대한 주석을 제공)할 수 있고, 다각형(polygon)을 기반으로 장애물의 경계가 특정될 수 있도록 하여 장애물의 경계를 보다 정확하게 설정하면서도, 사용자가 사후적으로 장애물 경계를 용이하게 추가 편집할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 로봇을 위한 맵을 생성하는 방법으로서, 로봇의 태스크와 연관되는 기초 맵을 획득하는 단계, 상기 기초 맵에서 특정되는 픽셀의 색상 및 상기 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 상기 기초 맵에서 유동 장애물로 추정되는 픽셀을 식별하는 단계, 및 상기 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산을 수행하고 다각형을 기반으로 상기 유동 장애물의 경계를 결정하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 로봇을 위한 맵을 생성하는 시스템으로서, 로봇의 태스크와 연관되는 기초 맵을 획득하는 기초 맵 획득부, 상기 기초 맵에서 특정되는 픽셀의 색상 및 상기 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 상기 기초 맵에서 유동 장애물로 추정되는 픽셀을 식별하는 픽셀 식별부, 및 상기 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산을 수행하고 다각형을 기반으로 상기 유동 장애물의 경계를 결정하는 경계 결정부를 포함하는 시스템이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시성의 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 로봇의 태스크 수행에 활용되는 맵을 생성하는데 드는 시간, 비용 및 노력을 줄일 수 있다.
또한, 본 발명에 의하면, 사람의 육안으로 발견하기 어려운 미세 노이즈까지 정확하게 제거하여 로봇의 안정적이고 효율적인 주행이 가능하게 된다.
또한, 본 발명에 의하면, 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산을 적용하여 장애물과 연관되는 부속 장애물이 모두 포함될 수 있도록 장애물 경계를 특정(나아가, 그 장애물 경계에 대한 주석을 제공)할 수 있고, 다각형을 기반으로 장애물의 경계가 특정될 수 있도록 하여 장애물의 경계를 보다 정확하게 설정하면서도, 사용자가 사후적으로 장애물 경계를 용이하게 추가 편집할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따라 로봇을 위한 맵을 생성하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 맵 관리 시스템의 내부 구성을 예시적으로 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 기초 맵 및 종래의 수작업으로 가공된 맵을 예시적으로 나타내는 도면이다
도 4 내지 도 6은 본 발명의 일 실시예에 따라 생성되는 로봇을 위한 맵을 예시적으로 나타내는 도면이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 로봇의 구조를 예시적으로 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
전체 시스템의 구성
도 1은 본 발명의 일 실시예에 따라 로봇을 위한 맵을 생성하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(100), 맵 관리 시스템(200) 및 로봇(300)을 포함할 수 있다.
먼저, 본 발명의 일 실시예에 따르면, 통신망(100)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(100)은 공지의 인터넷 또는 월드와이드웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망(100)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망, 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.
예를 들면, 통신망(100)은 무선 데이터 통신망으로서, 와이파이(WiFi) 통신, 와이파이 다이렉트(WiFi-Direct) 통신, 롱텀 에볼루션(LTE; Long Term Evolution) 통신, 블루투스 통신(더 구체적으로는, 저전력 블루투스(BLE; Bluetooth Low Energy) 통신), 적외선 통신, 초음파 통신 등과 같은 종래의 통신 방법을 적어도 그 일부분에 있어서 구현하는 것일 수 있다.
다음으로, 본 발명의 일 실시예에 따른 맵 관리 시스템(200)은 통신망(100)을 통해 후술할 로봇(300)과 통신을 수행할 수 있고, 로봇(300)의 태스크와 연관되는 기초 맵을 획득하고, 그 기초 맵에서 특정되는 픽셀의 색상 및 그 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 기초 맵에서 유동 장애물로 추정되는 픽셀을 식별하며, 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산을 수행하고 다각형을 기반으로 유동 장애물의 경계를 결정하는 기능을 수행할 수 있다.
한편, 맵 관리 시스템(200)에 관하여 위와 같이 설명하였으나, 이러한 설명은 예시적인 것이고, 맵 관리 시스템(200)에 요구되는 기능이나 구성요소의 적어도 일부가 필요에 따라 후술할 로봇(300) 또는 외부 시스템(미도시됨) 내에서 실현되거나 로봇(300) 또는 외부 시스템 내에 포함될 수도 있음은 당업자에게 자명하다. 또한, 경우에 따라서는, 맵 관리 시스템(200)의 모든 기능과 모든 구성요소가 로봇(300) 내에서 전부 실현되거나 로봇(300) 내에 전부 포함될 수도 있다.
다음으로, 본 발명의 일 실시예에 따른 로봇(300)은 통신망(100)을 통해 맵 관리 시스템(200)과 통신할 수 있고, 사용자에 의한 조작 없이도 소정의 기능이나 부여된 태스크(예를 들어, 음식 서빙, 용기 회수 등)를 자율적으로 수행할 수 있는 기기로서, 객체(예를 들어, 음식 트레이)의 로딩 및 언로딩을 위한 모듈(예를 들어, 그랩, 로봇 팔 모듈 등), 주변 영상을 획득하기 위한 영상 모듈(예를 들어, 가시광선 카메라, 적외선 카메라 등) 및 로봇(300)의 이동을 위한 구동 모듈(예를 들어, 모터 등) 중 적어도 하나의 모듈을 포함할 수 있다. 예를 들어, 이러한 로봇(300)은 안내 로봇, 운반 로봇, 청소 로봇, 의료 로봇, 엔터테인먼트 로봇, 펫 로봇 및 무인 비행 로봇 중 적어도 하나와 유사한 특성이나 기능을 가지는 로봇일 수 있다.
한편, 본 발명의 일 실시예에 따르면, 로봇(300)에는 로봇(300)의 목적지를 제어하기 위한 애플리케이션이 포함되어 있을 수 있다. 이와 같은 애플리케이션은 맵 관리 시스템(200) 또는 외부의 애플리케이션 배포 서버(미도시됨)로부터 다운로드된 것일 수 있다.
맵 관리 시스템의 구성
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 맵 관리 시스템(200)의 내부 구성 및 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 맵 관리 시스템(200)의 내부 구성을 예시적으로 나타내는 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 맵 관리 시스템(200)은 기초 맵 획득부(210), 픽셀 식별부(220), 경계 결정부(230), 노이즈 제거부(240), 경계 보정부(250), 통신부(260) 및 제어부(270)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 기초 맵 획득부(210), 픽셀 식별부(220), 경계 결정부(230), 노이즈 제거부(240), 경계 보정부(250), 통신부(260) 및 제어부(270)는 그 중 적어도 일부가 외부 시스템(미도시됨)과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 맵 관리 시스템(200)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 맵 관리 시스템(200)과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
먼저, 본 발명의 일 실시예에 따른 기초 맵 획득부(210)는 로봇(300)의 태스크와 연관되는 기초 맵을 획득하는 기능을 수행할 수 있다. 본 발명의 일 실시예에 따르면, 기초 맵 획득부(210)는 로봇(300)에 포함되거나 상호 연동될 수 있는 영상 센서, 레이더 센서, 라이더 센서 등과 같은 센서 모듈에 기초하여 위와 같은 기초 맵을 획득하거나, 외부 시스템으로부터 기초 맵을 획득할 수 있다. 본 발명의 일 실시예에 따른 태스크는 로봇(300)에게 부여되는 특정한 작업, 행위, 또는 동작을 의미할 수 있으며, 예를 들어 로봇(300)이 특정 장소로 이동하도록 하거나, 음식 서빙을 하도록 하거나, 용기 회수를 하도록 하는 것 등이 태스크로서 부여될 수 있다.
예를 들어, 기초 맵 획득부(210)는 로봇(300)의 외부에 배치되는 적어도 하나의 객체(예를 들어, 사람, 사물 등 모든 유형의 대상)에 대한 센싱 정보에 기초하여 기초 맵을 생성할 수 있다. 보다 구체적으로, 기초 맵 획득부(210)는 외부에 배치되는 적어도 하나의 객체를 영상 센서를 통해 촬영하여 획득한 영상 데이터, 라이다 센서, 레이더 센서, 레이저 센서 및 초음파 센서 중 적어도 하나를 통해 측정하여 획득한 거리 데이터 등을 기반으로 로봇 중심의 2차원 또는 3차원 기초 맵을 생성할 수 있다.
다른 예를 들어, 기초 맵 획득부(210)는 기초 맵과 연관되는 외부 시스템 또는 다른 로봇(300)으로부터 로봇(300)의 태스크와 연관되는 기초 맵을 획득할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 픽셀 식별부(220)는 기초 맵에서 특정되는 픽셀의 색상 및 그 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 기초 맵에서 유동 장애물로 추정되는 픽셀, 노이즈로 추정되는 픽셀 및 고정 장애물로 추정되는 픽셀 중 적어도 하나를 식별할 수 있다. 여기서, 고정 장애물은 건축 구조물(예를 들어, 벽)과 같이 다른 장소로의 이동이 불가능하거나 소정 수준 이상으로는 어려운 장애물을 의미할 수 있고, 유동 장애물은 책상, 의자, 테이블과 같이 다른 장소로의 이동이 소정 수준 이상으로 용이한 장애물을 의미할 수 있다.
예를 들어, 본 발명의 일 실시예에 따라 기초 맵에서 특정되는 픽셀의 색상은 기초 맵 생성 과정에서 획득되는 센싱 정보(구체적으로, 센싱되는 신호의 강도)에 따라 그레이 스케일(gray scale)로 나타내어질 수 있다. 이러한 그레이 스케일에 따라 기초 맵에서 특정되는 픽셀의 색상은 크게 흰색, 회색 및 검정색으로 구분될 수 있으며, 흰색 픽셀은 아무 것도 존재하지 않는 영역(즉, 빈 영역)을 나타내고, 검정색 픽셀은 실세계 객체가 존재하는 영역을 나타내며, 회색 픽셀은 실세계 객체가 존재할 가능성이 있는 영역을 나타낼 수 있다. 이 경우에, 픽셀 식별부(220)는 기초 맵에서 회색 픽셀 및 검정색 픽셀 중 서로 인접(예를 들어, 붙어있거나 소정 수준 이내에 존재)하는 회색 픽셀 및 검정색 픽셀을 포함(또는 연결)하여 형성되는 영역(예를 들어, 폐영역)의 크기가 제1 임계 크기 이하인 경우에, 그 영역 내의 픽셀을 노이즈로 추정되는 픽셀로서 식별할 수 있다. 여기서, 이러한 제1 임계 크기는 기설정될 수 있거나, 또는 기초 맵에서 서로 인접하는 회색 픽셀 및 검정색 픽셀을 포함하여 형성되는 영역의 수 및 그 영역의 면적을 기준으로 확률 통계학적 분석을 통해 결정될 수도 있다. 또한, 픽셀 식별부(220)는 기초 맵에서 검정색 픽셀 중 서로 인접하는 검정색 픽셀을 포함(또는 연결)하여 형성되는 영역(예를 들어, 폐영역)의 크기가 제1 임계 크기보다 크고 제2 임계 크기 이하인 경우에, 그 영역 내의 픽셀을 유동 장애물로 추정되는 픽셀로서 식별할 수 있다. 여기서, 이러한 제2 임계 크기는 기설정될 수 있거나, 또는 기초 맵에서 서로 인접하는 검정색 픽셀을 포함하여 형성되는 영역의 수 및 그 영역의 면적을 기준으로 확률 통계학적 분석을 통해 결정될 수도 있다. 또한, 픽셀 식별부(220)는 기초 맵에서 검정색 픽셀 중 서로 인접하는 검정색 픽셀을 포함(또는 연결)하여 형성되는 영역(예를 들어, 폐영역)의 크기가 제2 임계 크기보다 큰 경우에, 그 영역 내의 픽셀을 고정 장애물로 추정되는 픽셀로서 식별할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 경계 결정부(230)는 픽셀 식별부(220)에 의해 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산을 적용하고 다각형을 기반으로 유동 장애물의 경계를 결정하는 기능을 수행할 수 있다.
예를 들어, 경계 결정부(230)는 제1 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산을 수행한 후에 침식 연산을 수행하여, 제1 유동 장애물로부터 소정 거리 이내에 존재하는 적어도 하나의 제2 유동 장애물을 제1 유동 장애물과 함께 그룹화할 수 있고, 볼록 껍질(convex hull) 알고리즘을 기반으로 위의 그룹화된 복수의 유동 장애물(즉, 제1 유동 장애물 및 적어도 하나의 제2 유동 장애물)의 경계에 해당하는 볼록 껍질을 식별하고, 그 식별되는 볼록 껍질을 기반으로(예를 들어, 그 볼록 껍질을 서로 연결하여) 위의 그룹화된 복수의 유동 장애물의 경계를 결정할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 노이즈 제거부(240)는 픽셀 식별부(220)에 의해 기초 맵에서 노이즈로 추정되는 픽셀을 제거하는 기능을 수행할 수 있다.
예를 들어, 앞서 살펴본 바와 같이, 기초 맵에서 특정되는 픽셀의 색상이 기초 맵 생성 과정에서 획득되는 센싱 정보(구체적으로, 센싱되는 신호의 강도)에 따라 그레이 스케일로 나타내어지는 경우에, 노이즈 제거부(240)는 픽셀 식별부(220)에 의해 노이즈로 추정되는 픽셀(예를 들어, 기초 맵에서 회색 픽셀 및 검정색 픽셀 중 서로 인접하는 회색 픽셀 및 검정색 픽셀을 포함(또는 연결)하여 형성되는 영역의 크기가 제1 임계 크기 이하인 경우 그 영역 내의 픽셀)을 흰색 픽셀로 보정함으로써 노이즈를 제거할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 경계 보정부(250)는 픽셀 식별부(220)에 의해 기초 맵에서 고정 장애물로 추정되는 픽셀의 경계를 대상으로 색상 및 두께 중 적어도 하나를 보정하는 기능을 수행할 수 있다.
예를 들어, 앞서 살펴본 바와 같이, 기초 맵에서 특정되는 픽셀의 색상이 기초 맵 생성 과정에서 획득되는 센싱 정보(구체적으로, 센싱되는 신호의 강도)에 따라 그레이 스케일로 나타내어지는 경우에, 경계 보정부(250)는 픽셀 식별부(220)에 의해 고정 장애물로 추정되는 픽셀(예를 들어, 기초 맵에서 검정색 픽셀 중 서로 인접하는 검정색 픽셀을 포함(또는 연결)하여 형성되는 영역의 크기가 제2 임계 크기보다 큰 경우 그 영역 내의 픽셀)의 경계가 검정색으로 소정 수준 이상의 두께를 갖도록 보정할 수 있다.
또한, 경계 보정부(250)는 고정 장애물로 추정되는 픽셀에 기초하여 특정되는 영역의 크기를 참조하여 그 경계의 두께를 동적으로 결정할 수 있다.
예를 들어, 경계 보정부(250)는 고정 장애물로 추정되는 픽셀에 기초하여 특정되는 영역의 크기가 커질수록 그 경계의 두께가 두꺼워지도록 결정하고, 해당 영역의 크기가 작을수록 그 경계의 두께가 얇아지도록 결정할 수 있다.
한편, 본 발명의 일 실시예에 따른 경계 보정부(250)는 유동 장애물로 추정되는 픽셀을 억제(suppress)하고 고정 장애물로 추정되는 픽셀을 선별적으로 특정하여 보정을 수행할 수 있다.
예를 들어, 경계 보정부(250)는 기초 맵에서 검정색 픽셀 중 서로 인접하는 검정색 픽셀을 포함(또는 연결)하여 형성되는 영역의 크기가 제2 임계 크기 이하인 경우 그 영역에 포함되는 검정색 픽셀을 억제(예를 들어, 해당 영역에 포함되는 검정색 픽셀과 연관된 레이어를 비활성화하거나 임시로 또는 일시적으로 제거)하고, 기초 맵에서 검정색 픽셀 중 서로 인접하는 검정색 픽셀을 포함(또는 연결)하여 형성되는 영역의 크기가 제2 임계 크기보다 큰 경우 그 영역에 포함되는 검정색 픽셀만을 선별하여 특정한 후에 위의 보정을 수행할 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 통신부(260)는 기초 맵 획득부(210), 픽셀 식별부(220), 경계 결정부(230), 노이즈 제거부(240) 및 경계 보정부(250)로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다.
마지막으로, 본 발명의 일 실시예에 따르면, 제어부(270)는 기초 맵 획득부(210), 픽셀 식별부(220), 경계 결정부(230), 노이즈 제거부(240), 경계 보정부(250) 및 통신부(260)간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명의 일 실시예에 따른 제어부(270)는 맵 관리 시스템(200)의 외부로부터의/로의 데이터 흐름 또는 맵 관리 시스템(200)의 각 구성요소 간의 데이터 흐름을 제어함으로써, 기초 맵 획득부(210), 픽셀 식별부(220), 경계 결정부(230), 노이즈 제거부(240), 경계 보정부(250) 및 통신부(260)에서 각각 고유 기능을 수행하도록 제어할 수 있다.
도 3은 본 발명의 일 실시예에 따른 기초 맵 및 종래의 수작업으로 가공된 맵을 예시적으로 나타내는 도면이다
도 4 내지 도 6은 본 발명의 일 실시예에 따라 생성되는 로봇을 위한 맵을 예시적으로 나타내는 도면이다.
도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 따라 로봇(300)이 위치하는 장소 주변의 기초 맵이 획득되면(도 3의 (a) 참조), 종래에는 그 기초 맵을 그대로 활용하거나, 일일이 노이즈를 수작업으로 제거하고 육안으로 장애물의 경계를 보정(도 3의 (b) 참조)할 수밖에 없었기 때문에 그 속도나 정확성 면에서 한계가 존재하였다. 하지만, 본 발명에 따른 맵 관리 시스템(200)을 통해 노이즈 제거와 경계 보정이 빠르고 정확하면서도 세밀하게 이루어질 수 있게 된다(도 4 참조).
먼저, 본 발명의 일 실시예에 따라 로봇(300)의 태스크와 연관되는 기초 맵이 획득될 수 있다.
그 다음에, 본 발명의 일 실시예에 따라 그 기초 맵에서 특정되는 픽셀의 색상 및 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 해당 기초 맵에서 노이즈로 추정되는 픽셀이 식별되고, 그 노이즈로 추정되는 픽셀이 해당 기초 맵에서 제거될 수 있다.
그 다음에, 도 4 내지 도 6을 참조하면, 본 발명의 일 실시예에 따라 노이즈로 추정되는 픽셀이 제거된 기초 맵에서 특정되는 픽셀의 색상 및 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 고정 장애물(420, 520, 620)로 추정되는 픽셀이 식별되고, 그 추정되는 고정 장애물(420, 520, 620)의 경계 픽셀을 대상으로 색상 및 두께 중 적어도 하나가 보정될 수 있다.
그 다음에, 본 발명의 일 실시예에 따라 고정 장애물(420, 520, 620)의 경계 픽셀이 보정된 기초 맵에서 특정되는 픽셀의 색상 및 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 유동 장애물로 추정되는 픽셀이 식별되고, 그 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산이 적용되어 다각형(401, 402, 403, 404, 405, 406, 501, 502, 503, 504, 505, 506, 507, 508, 601, 602, 603, 604)을 기반으로 해당 유동 장애물의 경계(410, 510, 610)가 결정될 수 있다.
그 다음에, 본 발명의 일 실시예에 따라 유동 장애물의 경계(410, 510, 610) 및 그 경계(410, 510, 610)에 관한 좌표 데이터(예를 들어, 위의 기초 맵과 연관되는 기준 좌표계, 로봇(300)의 기준 좌표계, 또는 절대 좌표계에서의 좌표 데이터) 중 적어도 하나가 위의 기초 맵의 주석(annotation) 정보로서 생성될 수 있다.
그 다음에, 본 발명의 일 실시예에 따라 로봇(300)은 위의 보정된 기초 맵 및 위의 기초 맵의 주석 정보에 기초하여 태스크를 수행할 수 있다.
한편, 유동 장애물의 경계(410, 510, 610)가 사후적으로 보정될 필요가 있는 경우에, 이는 다각형(401, 402, 403, 404, 405, 406, 501, 502, 503, 504, 505, 506, 507, 508, 601, 602, 603, 604)에 기초하여 쉽게 조정될 수 있다.
한편, 본 발명에 따라 로봇을 위한 맵을 생성하기 위하여 파이선(Python) 프로그램 언어의 OpenCV 라이브러리 함수 등과 같은 다양한 컴퓨터 프로그램 또는 툴이 활용될 수 있으며, 예를 들어, 파이선 프로그램 언어의 threshold(), connectedcomponentswithstats(), canny(), houghlinesp(), erode(), dilate(), findcontours(), convexhull(), approxpolydp() 등의 함수가 이용될 수 있다.
또한, 이상에서는 노이즈 제거, 고정 장애물의 경계 보정 및 유동 장애물의 경계 결정이 순서대로 수행되는 실시예에 대하여 주로 설명되어 있지만, 본 발명이 반드시 위의 순서로만 한정되는 것은 아니며, 본 발명의 목적을 달성할 수 있는 범위 내에서 위의 순서는 다른 순서로 얼마든지 변경될 수 있음을 밝혀 둔다.
로봇의 구성
본 발명의 일 실시예에 따른 로봇(300)은 안내 로봇, 서빙 로봇, 운반 로봇, 청소 로봇, 의료 로봇, 엔터테인먼트 로봇, 펫 로봇 및 무인 비행 로봇 중 적어도 하나가 수행하는 작업과 유사한 작업을 수행하는 로봇일 수 있으며, 이를 위하여 각 작업에 부합하는 다양한 형상으로 구현될 수 있다.
도 7을 참조하면, 로봇(300)은 본체(710), 구동부(720) 및 프로세서(730)를 포함하여 구성될 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 본체(710)에는 운송 대상 객체 또는 회수 대상 객체를 적재하기 위한 적어도 하나의 적재 공간이 포함될 수 있다. 본 발명의 일 실시예에 따른 이러한 운송 대상 객체 및 회수 대상 객체는 이동될 수 있는 모든 유형물을 총칭하는 개념으로, 예를 들어, 사물, 동물, 사람 등을 포함하는 개념일 수 있다. 예를 들어, 운송 대상 객체는 음식물이고, 회수 대상 객체는 해당 음식물이 담긴 용기일 수 있다.
도 8을 참조하면, 예를 들어 로봇(300)이 서빙 로봇인 경우에, 운송 대상 객체의 제공 및 회수 대상 객체의 수거를 위한 제1 공간(810) 및 제2 공간(820)을 포함할 수 있다. 또한, 로봇(300)은 착탈식 기둥을 통해 제공되는 확장 공간인 제3 공간(830)을 더 포함할 수 있고, 필요에 따라 확장 공간을 더 추가함으로써 더 많은 적재 공간을 구비할 수 있다. 또한, 로봇(300)은 운송 대상 객체 또는 회수 대상 객체 전용의 트레이(840)를 더 포함할 수도 있다. 예를 들어, 트레이(840)는 위에서 볼 때에 그 상면에 복수 개의 원형 홈이 형성된 구성을 가질 수 있다. 각각의 원형 홈은 음료가 담긴 컵의 하부가 안착되어 쉽게 어느 정도 고정되도록 형성되어 있을 수 있다. 이러한 원형 홈의 크기는 다양할 수 있다. 또한, 로봇(300)의 제1 공간(810)의 하부에는 로봇(300)의 측면을 통하여 꺼내어질 수 있는 제4 공간(850)이 더 포함될 수 있다. 본 발명의 일 실시예에 따른 제4 공간(850)은 그 내부에 빈 공간이 형성되어 있고, 측면은 막혀 있으며, 윗면은 열려 있고 아랫면은 닫혀 있는, 바구니와 유사한 형태를 가질 수 있다. 다만, 본 발명에 따른 로봇(300)의 적재 공간이 위의 열거된 내용에 한정되어 구현되는 것은 아니고, 본 발명의 목적을 달성할 수 있는 범위 내에서 다른 형태의 적재 공간 등으로 다양하게 구현될 수 있다.
한편, 다시 도 7을 참조하면, 본체(710)에는 주변 영상, 객체 및 장애물 정보를 획득하기 위한 촬영 모듈(예를 들어, 가시광선 카메라, 적외선 카메라 등)(미도시됨) 및 스캐너 모듈(예를 들어, 라이다(LIDAR) 센서 등)이 더 포함될 수 있다.
다음으로, 본 발명의 일 실시예에 따른 구동부(720)는 본체(710)를 다른 지점으로 이동시키기 위한 모듈 또는 운송 대상 객체 및 회수 대상 객체를 로딩 및 언로딩하기 위한 모듈을 포함하여 구성될 수 있다.
예를 들어, 구동부(720)는 본체(710)를 다른 지점으로 이동시키기 위한 모듈로서, 전기식, 기계식, 또는 유압식으로 구동되는 바퀴, 프로펠러 등에 관한 모듈 등을 포함할 수 있고, 운송 대상 객체 및 회수 대상 객체를 로딩 및 언로딩하기 위한 모듈로서, 운송 대상 객체 및 회수 대상 객체를 장착하여 운반하기 위한 로봇 팔 모듈 등을 포함할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 프로세서(730)는 구동부(720)와 전기적으로 연결되어 구동부(720)를 제어하는 기능을 수행할 수 있으며(외부 시스템과의 통신을 위한 통신 모듈을 더 포함할 수도 있음), 예를 들어, 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 예를 들어, 이와 같이 하드웨어에 내장된 데이터 처리 장치는, 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 포함할 수 있다.
또한, 프로세서(730)는 본 발명에 따른 맵 관리 시스템(200)의 기초 맵 획득부(210), 픽셀 식별부(220), 경계 결정부(230), 노이즈 제거부(240) 및 경계 보정부(250) 중 적어도 하나의 기능을 수행할 수 있고(예를 들어, 해당 기능이 모듈화되어 프로세서(730)에 포함될 수 있음), 기초 맵 획득부(210), 픽셀 식별부(220), 경계 결정부(230), 노이즈 제거부(240) 및 경계 보정부(250) 중 적어도 하나의 기능을 수행하는 외부 시스템(미도시됨)과의 통신을 통해 구동부(720)를 제어하는 기능을 수행할 수도 있다.
구체적으로, 프로세서(730)는 로봇(300)의 태스크와 연관되는 기초 맵을 획득하고, 그 기초 맵에서 특정되는 픽셀의 색상 및 그 픽셀과 연관되는 영역의 크기 중 적어도 하나에 기초하여 기초 맵에서 유동 장애물로 추정되는 픽셀을 식별하며, 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산을 적용하고 다각형을 기반으로 유동 장애물의 경계를 결정하는 기능을 수행할 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 통신망
200: 맵 관리 시스템
210: 기초 맵 획득부
220: 픽셀 식별부
230: 경계 결정부
240: 노이즈 제거부
250: 경계 보정부
260: 통신부
270: 제어부
300: 로봇

Claims (19)

  1. 로봇을 위한 맵을 생성하는 방법으로서,
    로봇의 태스크와 연관되는 기초 맵을 획득하는 단계,
    상기 기초 맵에서 특정되는 픽셀의 색상 및 상기 픽셀을 연결하여 형성되는 영역의 크기에 기초하여 상기 기초 맵에서 유동 장애물로 추정되는 픽셀, 노이즈로 추정되는 픽셀 및 고정 장애물로 추정되는 픽셀을 식별하는 단계, 및
    상기 유동 장애물로 추정되는 픽셀을 대상으로 확장(dilate) 연산 및 침식(erode) 연산을 수행하고 다각형(polygon)을 기반으로 상기 유동 장애물의 경계를 결정하는 단계를 포함하고,
    상기 획득 단계에서, 상기 로봇의 외부에 배치되는 적어도 하나의 객체를 센싱함으로써 획득되는 센싱 정보에 기초하여 상기 기초 맵을 생성하며,
    상기 기초 맵에서 특정되는 픽셀의 색상은, 상기 센싱 정보에 따라, 더 어두운 색상의 픽셀이 실세계 객체가 존재할 가능성이 더 큰 영역과 연관되도록 결정되는
    방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 기초 맵에서 상기 노이즈로 추정되는 픽셀을 제거하는 단계를 더 포함하는
    방법.
  5. 제1항에 있어서,
    상기 기초 맵에서 상기 고정 장애물로 추정되는 픽셀의 경계의 색상 및 두께 중 적어도 하나를 보정하는 단계를 더 포함하는
    방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 결정 단계에서, 상기 유동 장애물로 추정되는 픽셀을 대상으로 상기 확장 연산 및 상기 침식 연산을 순차적으로 수행하는
    방법.
  8. 제1항에 있어서,
    상기 결정 단계에서, 상기 유동 장애물로부터 소정 거리 이내에 존재하는 적어도 하나의 다른 유동 장애물을 상기 유동 장애물과 함께 그룹화하고, 상기 그룹화된 유동 장애물들의 경계를 결정함으로써 상기 유동 장애물의 경계를 결정하는
    방법.
  9. 제1항에 있어서,
    상기 결정 단계에서, 볼록 껍질(convex hull) 알고리즘을 기반으로 상기 유동 장애물과 연관되는 볼록 껍질을 식별하고, 상기 식별되는 볼록 껍질을 기반으로 상기 유동 장애물의 경계를 결정하는
    방법.
  10. 제1항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시성의 컴퓨터 판독 가능 기록 매체.
  11. 로봇을 위한 맵을 생성하는 시스템으로서,
    로봇의 태스크와 연관되는 기초 맵을 획득하는 기초 맵 획득부,
    상기 기초 맵에서 특정되는 픽셀의 색상 및 상기 픽셀을 연결하여 형성되는 영역의 크기에 기초하여 상기 기초 맵에서 유동 장애물로 추정되는 픽셀, 노이즈로 추정되는 픽셀 및 고정 장애물로 추정되는 픽셀을 식별하는 픽셀 식별부, 및
    상기 유동 장애물로 추정되는 픽셀을 대상으로 확장 연산 및 침식 연산을 수행하고 다각형을 기반으로 상기 유동 장애물의 경계를 결정하는 경계 결정부를 포함하고,
    상기 기초 맵 획득부는, 상기 로봇의 외부에 배치되는 적어도 하나의 객체를 센싱함으로써 획득되는 센싱 정보에 기초하여 상기 기초 맵을 생성하며,
    상기 기초 맵에서 특정되는 픽셀의 색상은, 상기 센싱 정보에 따라, 더 어두운 색상의 픽셀이 실세계 객체가 존재할 가능성이 더 큰 영역과 연관되도록 결정되는
    시스템.
  12. 삭제
  13. 삭제
  14. 제11항에 있어서,
    상기 기초 맵에서 상기 노이즈로 추정되는 픽셀을 제거하는 노이즈 제거부를 더 포함하는
    시스템.
  15. 제11항에 있어서,
    상기 기초 맵에서 상기 고정 장애물로 추정되는 픽셀의 경계의 색상 및 두께 중 적어도 하나를 보정하는 경계 보정부를 더 포함하는
    시스템.
  16. 삭제
  17. 제11항에 있어서,
    상기 경계 결정부는, 상기 유동 장애물로 추정되는 픽셀을 대상으로 상기 확장 연산 및 상기 침식 연산을 순차적으로 수행하는
    시스템.
  18. 제11항에 있어서,
    상기 경계 결정부는, 상기 유동 장애물로부터 소정 거리 이내에 존재하는 적어도 하나의 다른 유동 장애물을 상기 유동 장애물과 함께 그룹화하고, 상기 그룹화된 유동 장애물들의 경계를 결정함으로써 상기 유동 장애물의 경계를 결정하는
    시스템.
  19. 제11항에 있어서,
    상기 경계 결정부는, 볼록 껍질 알고리즘을 기반으로 상기 유동 장애물과 연관되는 볼록 껍질을 식별하고, 상기 식별되는 볼록 껍질을 기반으로 상기 유동 장애물의 경계를 결정하는
    시스템.
KR1020210042938A 2020-12-28 2021-04-01 로봇을 위한 맵을 생성하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 KR102671839B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/134,888 US11885638B2 (en) 2020-12-28 2020-12-28 Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
US17/134,888 2020-12-28

Publications (2)

Publication Number Publication Date
KR20220094089A KR20220094089A (ko) 2022-07-05
KR102671839B1 true KR102671839B1 (ko) 2024-06-04

Family

ID=79730335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210042938A KR102671839B1 (ko) 2020-12-28 2021-04-01 로봇을 위한 맵을 생성하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체

Country Status (5)

Country Link
US (1) US11885638B2 (ko)
EP (1) EP4024338A1 (ko)
JP (1) JP7358419B2 (ko)
KR (1) KR102671839B1 (ko)
CN (1) CN114756020A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11885638B2 (en) * 2020-12-28 2024-01-30 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
CN114968045A (zh) * 2022-07-27 2022-08-30 广州物大人科技有限责任公司 一种地图规划方法、系统以及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174275A (ja) * 2013-03-07 2014-09-22 Advanced Telecommunication Research Institute International 地図作成装置、地図作成プログラムおよび地図作成方法
CN110703747A (zh) * 2019-10-09 2020-01-17 武汉大学 一种基于简化广义Voronoi图的机器人自主探索方法
US20200353943A1 (en) * 2019-05-07 2020-11-12 Foresight Ai Inc. Driving scenario machine learning network and driving environment simulation

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2899363B1 (fr) 2006-03-31 2009-05-29 Imra Europ Sas Soc Par Actions Procede et dispositif de detection de mouvement d'objets sur des images d'une scene
JP2014203429A (ja) 2013-04-10 2014-10-27 トヨタ自動車株式会社 地図生成装置、地図生成方法及び制御プログラム
US9285227B1 (en) * 2015-01-29 2016-03-15 Qualcomm Incorporated Creating routing paths in maps
US20170372018A1 (en) * 2016-06-28 2017-12-28 Melrose Pain Solutions LLC Melrose Pain Solutions® Method and Algorithm: Managing Pain in Opioid Dependent Patients
US10380429B2 (en) * 2016-07-11 2019-08-13 Google Llc Methods and systems for person detection in a video feed
KR102235271B1 (ko) * 2017-02-27 2021-04-01 엘지전자 주식회사 이동 로봇 및 그 제어방법
JP6905737B2 (ja) 2017-04-18 2021-07-21 国立大学法人 東京大学 自律型水中ロボット及びその制御方法
US10634504B2 (en) * 2017-06-06 2020-04-28 Clearpath Robotics Inc. Systems and methods for electronic mapping and localization within a facility
US11684886B1 (en) * 2017-06-23 2023-06-27 AI Incorporated Vibrating air filter for robotic vacuums
US10386851B2 (en) * 2017-09-22 2019-08-20 Locus Robotics Corp. Multi-resolution scan matching with exclusion zones
US10789487B2 (en) * 2018-04-05 2020-09-29 Here Global B.V. Method, apparatus, and system for determining polyline homogeneity
US10853561B2 (en) * 2019-04-10 2020-12-01 Fetch Robotics, Inc. System and method for automatically annotating a map
US11917127B2 (en) * 2018-05-25 2024-02-27 Interdigital Madison Patent Holdings, Sas Monitoring of video streaming events
US11024037B2 (en) * 2018-11-15 2021-06-01 Samsung Electronics Co., Ltd. Foreground-background-aware atrous multiscale network for disparity estimation
CN111238465B (zh) 2018-11-28 2022-02-18 台达电子工业股份有限公司 地图建置设备及其地图建置方法
KR102255273B1 (ko) 2019-01-04 2021-05-24 삼성전자주식회사 청소 공간의 지도 데이터를 생성하는 장치 및 방법
US10916019B2 (en) * 2019-02-01 2021-02-09 Sony Corporation Moving object detection in image frames based on optical flow maps
JP7383870B2 (ja) * 2019-05-30 2023-11-21 モービルアイ ビジョン テクノロジーズ リミテッド デバイス、方法、システムおよびコンピュータプログラム
US11494930B2 (en) 2019-06-17 2022-11-08 SafeAI, Inc. Techniques for volumetric estimation
CN111063029B (zh) * 2019-12-11 2023-06-09 深圳市优必选科技股份有限公司 地图构建方法、装置、计算机可读存储介质及机器人
CN111337941B (zh) 2020-03-18 2022-03-04 中国科学技术大学 一种基于稀疏激光雷达数据的动态障碍物追踪方法
CN111481105A (zh) * 2020-04-20 2020-08-04 北京石头世纪科技股份有限公司 一种自行走机器人避障方法、装置、机器人和存储介质
US11561553B1 (en) * 2020-05-11 2023-01-24 Vecna Robotics, Inc. System and method of providing a multi-modal localization for an object
US11885638B2 (en) * 2020-12-28 2024-01-30 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
US12008817B2 (en) * 2021-03-11 2024-06-11 GM Global Technology Operations LLC Systems and methods for depth estimation in a vehicle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174275A (ja) * 2013-03-07 2014-09-22 Advanced Telecommunication Research Institute International 地図作成装置、地図作成プログラムおよび地図作成方法
US20200353943A1 (en) * 2019-05-07 2020-11-12 Foresight Ai Inc. Driving scenario machine learning network and driving environment simulation
CN110703747A (zh) * 2019-10-09 2020-01-17 武汉大学 一种基于简化广义Voronoi图的机器人自主探索方法

Also Published As

Publication number Publication date
US20220206510A1 (en) 2022-06-30
CN114756020A (zh) 2022-07-15
JP7358419B2 (ja) 2023-10-10
JP2022104495A (ja) 2022-07-08
EP4024338A1 (en) 2022-07-06
KR20220094089A (ko) 2022-07-05
US11885638B2 (en) 2024-01-30

Similar Documents

Publication Publication Date Title
Park et al. Pix2pose: Pixel-wise coordinate regression of objects for 6d pose estimation
KR102671839B1 (ko) 로봇을 위한 맵을 생성하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
US10614340B1 (en) Method and computing system for object identification
US20200167993A1 (en) Map constructing apparatus and map constructing method
US20210187741A1 (en) System and method for height-map-based grasp execution
JP7242667B2 (ja) ロボットの移動経路を決定する方法、システムおよび非一過性のコンピュータ読み取り可能記録媒体
US10578453B2 (en) Render-based trajectory planning
CN108367436B (zh) 针对三维空间中的对象位置和范围的主动相机移动确定
CN110705385B (zh) 一种障碍物角度的检测方法、装置、设备及介质
EP3995923A1 (en) Method, system, and non-transitory computer-readable recording medium for controlling a destination of a robot
US20240165807A1 (en) Visual servoing of a robot
KR20220120908A (ko) 이동 로봇 및 이동 로봇의 제어 방법
CN113932818B (zh) 机器人行走路线规划方法、程序及存储介质
CN113487590B (zh) 分块处理方法、装置、计算设备及存储介质
EP4011566A1 (en) Autonomous mobile device
US11759949B2 (en) Method, system, and non-transitory computer-readable recording medium for controlling a robot
US11911906B2 (en) Method, system, and non-transitory computer-readable recording medium for controlling a patrolling robot
US20240066723A1 (en) Automatic bin detection for robotic applications
CN117746053A (zh) 点云数据处理方法、装置、机器人及机器人控制方法
Vega et al. Attentive visual memory for robot navigation
CN116630226A (zh) 一种包裹抓取方法、装置及设备

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