KR102461938B1 - 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇 - Google Patents

주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇 Download PDF

Info

Publication number
KR102461938B1
KR102461938B1 KR1020170043924A KR20170043924A KR102461938B1 KR 102461938 B1 KR102461938 B1 KR 102461938B1 KR 1020170043924 A KR1020170043924 A KR 1020170043924A KR 20170043924 A KR20170043924 A KR 20170043924A KR 102461938 B1 KR102461938 B1 KR 102461938B1
Authority
KR
South Korea
Prior art keywords
information
robot
obstacle
ground
depth
Prior art date
Application number
KR1020170043924A
Other languages
English (en)
Other versions
KR20180112623A (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 KR1020170043924A priority Critical patent/KR102461938B1/ko
Priority to US16/500,672 priority patent/US11182625B2/en
Priority to PCT/KR2018/002029 priority patent/WO2018186583A1/ko
Publication of KR20180112623A publication Critical patent/KR20180112623A/ko
Application granted granted Critical
Publication of KR102461938B1 publication Critical patent/KR102461938B1/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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/143Sensing or illuminating at different wavelengths
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G05D2201/0217
    • 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/10024Color image
    • 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/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle

Landscapes

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

Abstract

본 발명은 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇에 관한 것으로, 본 발명의 일 실시예에 의한 주행 지면의 장애물을 식별하는 방법은 로봇의 센싱 모듈이 진행 방향의 사물들을 뎁스 센싱하여 제1뎁스 정보를 생성하는 단계, 센싱 모듈의 평면 분석부는 로봇의 맵 저장부가 저장한 지면 정보를 이용하여 제1뎁스 정보를 캘리브레이션하여 제2뎁스 정보를 생성하는 단계, 제어부가 제2 뎁스 정보에서 장애물을 식별하는 단계, 및 제어부가 식별한 장애물의 위치 정보를 맵 저장부의 임시맵에 저장하는 단계를 포함한다.

Description

주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇{METHOD OF IDENTIFYING OBSTACLE ON A DRIVING SURFACE AND ROBOT IMPLEMENTING THEREOF}
본 발명은 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장, 체육관, 공연장과 같은 문화시설 등 인적, 물적 교류가 활발하게 발생하는 공간에서 로봇이 동작하기 위해서는 공간을 지속적으로 센싱하여 이동하는 것이 필요하다. 이 과정에서 로봇은 공간에 배치된 사물들 혹은 공간의 구조에 대한 정보를 맵 상에 저장할 수 있다.
한편, 로봇은 주행 과정에서 센싱하는 다양한 정보들에 기반하여 주행 경로를 설정할 수 있는데, 로봇이 주행할 공간의 바닥면, 즉 주행면이 로봇이 진행할 수 있는 평면인지 여부에 대한 판별이 필요하다. 이는 주행면의 높이나 재질, 혹은 주행면에서 잘 식별되지 않는 사물을 확인하는 등의 식별과정을 필요로 한다.
특히, 인적, 물적 교류가 활발하게 발생하는 공간에서의 바닥은 다양한 재질로 구성될 수 있고 카페트나 다양한 사물들이 배치되는 경우가 빈번하게 발생하므로, 로봇의 이동 수단이 주행 지면의 다양한 변화 요소를 감지하지 못할 경우 주행면에서 로봇의 이동이 중단되거나 혹은 로봇이 넘어지는 문제가 발생할 수 있다. 따라서, 이러한 문제점을 해결하기 위해, 본 명세서에서는 로봇이 주행면을 식별하여 식별한 결과를 반영하여 주행할 수 있는 방안을 제시하고자 한다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 로봇이 이동하는 주행 방향에 배치되는 장애물들을 식별하고 이를 회피하거나 경로를 변경하는 방법 및 이를 구현하는 장치를 제공하고자 한다.
또한, 본 명세서에서는 주행 방향의 지면에 가까이 배치된 장애물을 뎁스 센싱하되 지면 정보는 제거하여 낮은 높이의 장애물을 식별하는 방법 및 이를 구현하는 장치를 제공하고자 한다.
뿐만 아니라, 본 명세서에서는 실시간으로 업데이트되는 뎁스 정보를 활용하여 로봇이 이동 과정에서 장애물과 충돌하는 위험을 낮추는 방법 및 이를 구현하는 장치를 제공하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 주행 지면의 장애물을 식별하는 방법은 로봇의 센싱 모듈이 진행 방향의 사물들을 뎁스 센싱하여 제1뎁스 정보를 생성하는 단계, 센싱 모듈의 평면 분석부는 로봇의 맵 저장부가 저장한 지면 정보를 이용하여 제1뎁스 정보를 캘리브레이션하여 제2뎁스 정보를 생성하는 단계, 제어부가 제2 뎁스 정보에서 장애물을 식별하는 단계, 및 제어부가 식별한 장애물의 위치 정보를 맵 저장부의 임시맵에 저장하는 단계를 포함한다.
본 발명의 다른 실시예에 의한 주행 지면의 장애물을 식별하는 로봇은 로봇의 진행 방향의 사물들을 뎁스 센싱하여 제1뎁스 정보를 생성하고, 제1뎁스 정보를 캘리브레이션하여 제2뎁스 정보를 생성하는 센싱 모듈, 제2뎁스 정보에서 장애물을 식별하는 제어부, 제어부의 제어에 따라 식별된 장애물의 위치 정보를 저장하는 임시맵을 포함하는 맵 저장부, 및 제어부의 제어에 따라 상기 로봇을 이동시키는 이동부를 포함한다.
본 발명의 실시예들을 적용할 경우, 넓은 공간에서 이동하는, 높이가 높은 로봇이 실시간으로 로봇 주변 수미터 내의 장애물 정보를 정확히 검출할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 로봇이 이동하는 방향의 지면에 가까이 배치된 장애물들을 센싱할 수 있으며, 특히 뎁스 센싱부가 실시간으로 생성한 3차원의 데이터(뎁스 정보)를 가공하여 로봇 주변의 일정 범위 이내의 장애물 정보를 효과적으로 검출할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 뎁스 센싱부가 센싱할 수 없는 영역의 장애물을 로봇이 위험 지역을 벗어날 때까지 임시맵에 저장하여 장애물을 효과적으로 회피하여 대면적에서 이동할 수 있다
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 로봇이 주행면 상에 배치된 장애물을 식별하는 과정을 보여주는 도면이다.
도 3 및 도 4는 본 발명의 일 실시예에 의한 뎁스 센싱부에서 센싱한 정보에서 지면에 대응하는 정보들을 제거한 결과를 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 고정맵의 구성을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 고정맵에 저장되는 정보들의 특성 정보 및 이들의 범주를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 의한 비전 센싱부를 이용하여 장애물을 검출하는 과정을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 제어부가 비전 센싱부가 센싱한 이미지에서 인접 픽셀과의 차이를 산출한 결과를 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 로봇이 생성한 임시맵에서 장애물을 관리하는 과정을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 로봇이 바닥의 장애물을 식별하여 이동하는 과정 및 임시맵에 이들을 저장하고 이동 후 삭제하는 과정을 보여주는 도면이다.
도 11은 본 발명의 일 실시예에 의한 로봇의 구성요소들이 동작하는 과정을 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 의한 장애물의 높이를 임시맵에 저장하는 실시예를 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 14는 본 발명의 일 실시예에 의한 로봇이 지면에 배치된 장애물의 높이와 폭에 따라 경로를 수정하는 과정을 보여주는 도면이다.
도 15는 바닥의 재질에 따른 z값의 변화를 보여주는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등 고정 객체에 대한 정보를 의미한다. 또한, 주기적으로 배치되는 동적인 객체들에 대한 정보도 맵 상에 저장될 수 있다. 일 실시예로 로봇의 진행 방향을 기준으로 일정한 범위 내에 배치된 장애물들에 대한 정보도 맵 상에 저장될 수 있다. 이 경우, 전술한 고정 객체가 저장되는 맵과 달리 임시적으로 장애물들의 정보가 맵에 등록되고 이후 로봇이 이동한 후 맵에서 제거될 수 있다.
또한, 로봇은 맵 상에서 고정 객체가 배치되지 않은 영역, 즉 로봇이 진입할 수 있도록 바닥에 별도의 장애물이 설치되지 않은 공간에 대해서는 바닥의 상태 정보, 즉 지면 정보를 저장할 수 있다. 예를 들어, 지면 정보의 일 실시예로 바닥의 재질에 대한 정보를 포함한다. 바닥의 재질에 대한 정보의 일 실시예로는 뎁스 센싱부 또는 비전 센싱부가 실시간으로 검출하는 바닥의 카펫, 대리석의 재질 등이 포함될 수 있다. 그리고 지면에 배치된 장애물을 파악하여 로봇이 진입할 수 있는지 여부를 파악할 수 있다.
로봇의 맵 상에 저장할 수 있는 지면 정보로는 바닥의 재질, 바닥의 색상, 혹은 바닥의 종류에 대한 정보를 저장할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 도 1에서는 로봇의 구성을 계층적으로 구성하고 있으나, 이는 로봇의 구성요소들을 논리적으로 나타낸 것에 의해서이며, 물리적 구성은 이와 다를 수 있다. 하나의 물리적 구성요소에 다수의 논리적 구성요소가 포함되거나, 다수의 물리적 구성요소가 하나의 논리적 구성요소를 구현할 수 있다. 또한, 반드시 도 1의 계층이 유지될 필요는 없다.
센싱 모듈(100)는 외부의 객체들을 센싱하여 센싱한 정보를 제어부(900)에게 제공한다. 일 실시예로 센싱 모듈(100)는 로봇의 현재 위치에서 벽, 유리, 금속성 문 등 외부 객체들의 재질과 거리를 신호의 강도(intensity)와 반사된 시간(속도)로 산출하는 라이다(Lidar) 센싱부(110)를 포함할 수 있다. 또한, 센싱 모듈(100)는 로봇과 외부 객체와의 뎁스 정보를 산출하는 뎁스 센싱부(120) 및 비전 센싱부(130)를 더 포함할 수 있다.
뎁스 센싱부(120)는 뎁스 카메라를 포함할 수 있다. 뎁스 센싱부(120)는 로봇과 외부 객체 사이의 거리를 판단할 수 있도록 하는데, 특히 라이다 센싱부(110)와 결합하여 외부 객체와 로봇 사이의 거리의 센싱 정확도를 높일 수 있다. 뎁스 센싱부(120)는 로봇의 주행 방향의 지면의 뎁스 정보를 산출할 수 있다.
비전 센싱부(130)는 카메라를 포함할 수 있다. 비전 센싱부(130)는 로봇의 주변의 객체들의 이미지를 촬영할 수 있다. 특히, 로봇은 고정 객체와 같이 변화가 많지 않은 이미지와 이동 객체가 배치된 이미지를 구분하여 외부의 객체가 이동 객체인지를 식별할 수 있다. 또한 비전 센싱부(130)는 바닥의 재질을 센싱하여 제어부(900)가 맵에 저장된 지면 정보와 비교할 수 있도록 한다.
또한, 추가적으로 센싱 모듈(100)는 로봇(1000)으로부터 일정 거리 내에 배치된 객체들의 존재 여부를 센싱하는 초음파 센싱부(140)를 포함할 수 있다. 초음파 센싱부(140)는 로봇(1000)으로부터 일정 거리 내에 사물들이 존재하는지를 판단한 정보를 제공한다.
그 외에도 열감지 센싱부, 초음파 센싱부 등을 일 실시예로 하는 보조 센싱부(145)가 다수 배치될 수 있다. 이들 보조 센싱부들은 맵을 생성하거나 외부 객체를 센싱하는데 필요한 보조적인 센싱 정보를 제공한다. 또한, 이들 보조 센싱부들 역시 로봇이 주행함에 있어 지면에 배치된 객체를 센싱하여 정보를 제공한다.
센싱 데이터 분석부(150)는 다수의 센싱부들이 센싱한 정보들을 분석하여 이를 제어부(900)에게 전달한다. 예를 들어 다수의 센싱부들에 의해 지면에 배치된 객체가 감지될 경우, 해당 객체의 특성과 거리에 대한 정보를 각각의 센싱부가 제공할 수 있다. 센싱 데이터 분석부(150)는 이들의 값을 조합하여 산출하고 이를 제어부(900)에게 전달할 수 있다.
평면 분석부(160)는 센싱 모듈(100)에 포함될 수도 있으며, 다른 실시예에 의하면 제어부(900)에 포함될 수도 있다. 평면 분석부(160)는 뎁스 센싱부(120) 및 비전 센싱부(130)가 제공하는 정보들에 기반하여 로봇의 주행 방향에 배치된 지면을 분석하여 평면인지 여부 혹은 장애물이 배치되었는지 여부를 분석한다.
맵 저장부(200)는 로봇이 이동하는 공간에 배치되는 객체들의 정보를 저장한다. 맵 저장부(200)는 로봇이 이동하는 전체 공간에 배치되는 객체들 중에서 변동이 없거나 혹은 고정되어 배치되는 고정 객체들에 대한 정보를 저장하는 고정맵(210)을 포함한다. 고정맵(210)은 공간에 따라 필수적으로 하나가 포함될 수 있다. 고정맵(210)은 해당 공간에서 가장 변동이 낮은 객체들만 배치된 것이므로, 로봇이 해당 공간을 이동할 경우 고정맵(210)에서 지시하는 객체들보다는 더 많은 객체를 센싱할 수 있다.
고정맵(210)은 고정 객체들의 위치 정보를 필수적으로 저장하며, 추가적으로 고정 객체들의 특성, 예를 들어 재질 정보, 색상 정보, 혹은 기타 높이 정보 등을 포함할 수 있다. 또한, 고정맵(210)에는 객체가 배치되지 않은 공간의 지면 정보도 함께 포함될 수 있다. 이러한 추가적인 정보들은 고정 객체들에 변동 사항이 발생한 경우 로봇이 보다 쉽게 확인할 수 있도록 한다.
또한 로봇은 이동하는 과정에서 주변을 센싱하여 일정한 범위 내에 장애물이 있는지를 표시하는 임시맵(220)을 생성하여 이에 기반하여 이동할 수 있다. 임시맵(220)은 해당 공간을 통과한 뒤에는 삭제하고 새로운 임시맵(220)을 생성할 수 있다.
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 영역에서 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 제어부(900)는 맵 저장부(200)에 저장된 다양한 정보들을 이용하여 경로를 실시간으로 생성하거나 혹은 이동 과정에서 경로를 생성할 수 있다.
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 보안 로봇인 경우 기능부(400)는 보안에 필요한 구성요소를 포함한다.
기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있으며, 본 발명이 이에 한정되는 것은 아니다. 통신부(500)는 로봇이 취득한 정보를 외부의 서버 또는 다른 로봇들에게 전송하거나 혹은 전술한 서버 또는 다른 로봇으로부터 정보를 수신하는 기능을 제공한다.
로봇(1000)의 제어부(900)는 맵 저장부(200)의 맵을 생성하거나 업데이트할 수 있다. 또한, 제어부(900)는 주행 과정에서 센싱 모듈(100)이 제공하는 객체의 정보, 특히 지면에 배치되며 낮은 높이의 장애물을 식별하여 로봇(1000)의 주행을 제어할 수 있다.
도 1의 구성에 따라 본 발명을 적용할 경우, 센싱 모듈(100)은 로봇의 진행 방향의 사물들을 뎁스 센싱하여 제1뎁스 정보를 생성하고, 제1뎁스 정보를 캘리브레이션하여 제2뎁스 정보를 생성한다. 보다 상세히, 뎁스 센싱부(120)가 진행 방향의 사물들을 뎁스 센싱하여 제1뎁스 정보를 생성할 수 있으며, 평면 분석부(160)가 맵 저장부(200)에 저장된 지면 정보를 이용하여 제1뎁스 정보를 캘리브레이션하여 제2뎁스 정보를 생성할 수 있다. 제어부(900)는 제2뎁스 정보에서 장애물을 식별할 수 있다.
그리고 제어부의 제어에 따라 식별된 장애물의 위치 정보를 맵 저장부(200)에 저장할 수 있다. 특히, 제어부(900)는 임시맵(220)을 별도로 생성하여 로봇의 주변에 배치된 장애물들의 위치 정보를 임시맵(220)에 저장할 수 있다. 이미 저장된 장애물들의 위치를 유지하면서 로봇의 이동부(300)를 제어하여 로봇(1000)을 이동시키며, 로봇(1000)이 이동한 후, 제어부(900)는 장애물이 로봇(1000)의 동작 범위 내에 위치하는지 확인하여, \장애물이 로봇(1000)의 동작 범위 외에 위치하는 경우, 장애물을 맵 저장부(200)의 임시맵(220)에서 삭제할 수 있다.
본 발명의 실시예들이 적용될 수 있는 공간은 공항, 병원, 터미널, 학교, 호텔 등 대면적에 유동인구가 많은 공간에 적용 가능하다. 전술한 공간에서 본 발명이 적용된 로봇은 장애물의 위치를 3차원으로 검출하여 로봇이 가지고 있는 3차원 맵에 저장하고 주행 시, 장애물을 회피하여 효율적인 기능 수행(예를 들어 보안, 청소, 안내 등)을 제공할 수 있다.
일 실시예로, 뎁스 센싱부(120)는 지면 및 지면에 배치된 장애물의 뎁스을 센싱할 수 있는데, 조명의 반사 혹은 바닥 재질에 따라 뎁스 센싱부(120)가 산출하는 뎁스 정보에 오류가 발생할 수 있다. 이에, 본 발명의 실시예를 적용할 경우 로봇(1000)은 뎁스 센싱부(120)가 센싱한 뎁스 정보들 중에서 바닥 재질의 특성을 보정하여 평면에서 산출된 뎁스 정보를 제거하여 실제로 장애물만을 정확하게 검출할 수 있다
따라서, 본 발명을 적용할 경우 로봇(1000)은 바닥 재질에 따른 뎁스 데이터 캘리브레이션(Depth Data Calibration)을 수행하여 바닥이 장애물로 오검출되거나 혹은 장애물이 바닥으로 오인되어 미검출 하는 것을 방지할 수 있다. 특히, 전술한 유동인구가 많은 공항과 같은 환경은 카펫, 대리석 등 다양한 바닥 재질이 존재하기 때문에 로봇(1000)이 센싱한 바닥 부근의 장애물 정보가 지면과 혼동될 가능성이 높으므로 본 발명을 적용할 경우 로봇은 보다 정확하게 지면과 장애물을 분리하여 식별할 수 있다.
도 2는 본 발명의 일 실시예에 의한 로봇이 주행면 상에 배치된 장애물을 식별하는 과정을 보여주는 도면이다.
센싱 모듈(100)의 뎁스 센싱부(120)가 센싱한 뎁스 데이타를 활용하여 제어부(900)는 3차원 장애물이 배치되는 임시맵을 생성한다. 3차원 장애물이 배치되는 임시맵(220)은 실제 장애물이 포함될 수도 있고 혹은 바닥면이 장애물로 오검출되어 포함될 수도 있다. 또한, 장애물이 누락될 수 있다. 따라서 이에 대한 보정 단계를 제어부(900)가 수행한다.
우선, 평면 분석부(160)는 바닥 재질에 따라 뎁스 데이타에서 제거할 평면방정식의 계수를 결정하고 캘리브레이션을 수행한다(S20). 이 과정에서 바닥 재질은 로봇이 보유한 고정맵(210)상의 정보와 비전 센싱부(130)에 의해 센싱되어 분석 및 판단된 바닥 재질의 값을 반영할 수 있다.
다음으로, 평면 분석부(160)는 평면방정식에 뎁스 데이타를 대입하여 평면을 제거하고, 장애물이 위치한 픽셀 정보를 저장한다(S30). 즉, 뎁스 데이터는 일정한 공간을 촬영하여 각 픽셀 별로 뎁스 정보를 가지게 되는데, 장애물로 판단한 뎁스 정보를 가지는 픽셀들을 장애물이 위치한 것으로 확인할 수 있도록 픽셀 정보를 저장하는 것을 의미한다. 이때 평면에서의 높이에 따라 장애물로 검출할 것인지 여부를 결정할 수 있다. 예를 들어 평면에서 몇 mm까지의 높이를 가지는 장애물은 로봇이 주행할 수 있는 것으로 판단하여 장애물로 검출하지 않도록 구성할 수 있다.
이후 제어부(900)는 장애물의 위치한 픽셀 정보들이 저장된 3차원 데이터 구조체의 값을 실제 세계의 좌표로 변환한다(S40). 이는 고정맵이 구성하는 실제 세계의 좌표로 변환하는 것을 일 실시예로 한다. 또한, 로봇의 크기에 따라 실 세계의 좌표계의 크기를 정할 수 있다.
이후 제어부(900)는 뎁스 센싱부(120)의 화각을 벗어난 고정 장애물을 글로벌 좌표계, 즉 실제 세계의 좌표계의 장애물 정보에서 쉬프트시켜, 로봇이 안전거리 이상 벗어난 경우에 초기화 시킨다(S50). 안전거리는 주행 알고리즘을 구현하기에 따라 다르지만 로봇이 회전할 때, 필요한 공간 또는 후진하는 시나리오의 거리로 결정할 수 있다. 이는, 임시맵에 저장한 고정 장애물이 더 이상 로봇의 안전거리 내에 위치하지 않을 경우 임시맵에서 제거하는 것을 일 실시예로 한다.
도 3 및 도 4는 본 발명의 일 실시예에 의한 뎁스 센싱부에서 센싱한 정보에서 지면에 대응하는 정보들을 제거한 결과를 보여주는 도면이다. 도 2의 S20 및 S30의 과정의 실시예를 보여준다.
도 3은 특정한 공간에 대해 비전 센싱부(130)에서 촬영한 이미지(21)와 뎁스 센싱부(120)에서 촬영한 이미지(22)가 제시되어 있다. 비전 센싱부(130)에서 확인된 장애물들 중에서 21a~21e는 지면에 가까이 배치된 장애물들이다. 이들에 대한 뎁스 센싱부(120)의 뎁스 정보가 포함된 이미지는 22와 같으며, 22a~22e와 같이 지면의 뎁스 정보와 유사하여 구별이 되지 않는 상태이다. 따라서, 도 3과 같이 뎁스 센싱부(120)의 뎁스 정보를 장애물 회피에 적용할 경우, 지면 전체가 장애물로 판단될 가능성이 있다.
따라서, 지면에 대응하는 뎁스 정보들을 제거할 경우 장애물들이 보다 정확하게 검출될 수 있다.
도 4는 도 3의 뎁스 센싱된 이미지(22)에 본 발명의 실시예를 적용하여 지면에 해당하는 뎁스 정보를 제거한 결과를 보여주는 도면이다. 즉, 로봇이 현재 위치한 바닥에 대한 정보를 이용하여 바닥의 평면 방정식을 도출할 수 있다. 바닥 재질, 바닥의 색상, 바닥의 종류 등이 고정맵(210)에 저장된 상태에서 이 정보를 이용하여 평면 방정식을 산출할 수 있다. 그리고 여기에 뎁스 센싱부(120)가 센싱한 각 지점들의 x, y, x값을 평면 방정식에 대입하여 평면인 것을 판단한다.
예를 들어 도 3의 22에서 22f~22i로 지시되는 지점들은 모두 바닥의 지점들이다. 이들 지점들에 대한 뎁스 정보인 x, y, z값을 평면 방정식에 대입하여 평면인 것으로 판단하면 이들 22f~22i로 지시되는 지점들은 평면인 것으로 판단하여 뎁스 정보에서 제거할 수 있다. 반면, 22a~22e의 지점들의 뎁스 정보인 x, y, z값을 평면 방정식에 대입할 경우 평면이 아닌 것으로 판단될 수 있다. 이 경우 이들 22a~22e의 지점들은 장애물로 판단할 수 있다.
전술한 과정을 적용하는 과정에서 비전 센싱부(130)의 이미지와 비교하여 바닥의 재질 혹은 색상과 분리된 색상들을 가지는 지점들(21a~21e)의 위치에 대응하는 뎁스 정보들을 장애물로 판단할 수도 있다.
또는 그 높이가 매우 낮은 장애물의 경우에는 바닥과 동일한 것으로 판단하고 장애물이 아닌 것으로 판단할 수도 있다.
도 4의 23을 살펴보면, 도 3의 22와 달리 22f~22i로 지시되는 지점들과 그와 유사한 평면들, 그리고 바닥에 매우 인접한 장애물들은 제거된 뎁스 정보를 보여준다. 앞서 21b는 높이가 낮은 장애물과 높이가 높은 장애물 중에서 높이가 높은 장애물만 23b와 같이 뎁스 정보를 가지는 장애물로 확인된다.
도 3 및 도 4와 같이 본 발명을 적용하면 지면과 장애물의 뎁스 정보를 식별할 수 있으므로, 이들 장애물들의 뎁스 정보를 글로벌한 좌표에 기준한 임시맵의 위치에 저장하여 로봇은 임시맵에 기반하여 이동할 수 있다. 임시맵에 저장된 장애물들은 로봇과의 거리가 일정 수준 이상 멀어지기 전까지, 즉 로봇의 안전거리를 벗어나기 전까지는 임시맵에 저장하여 로봇이 회전하거나 후진하는 경우 등에서도 장애물을 회피하여 동작할 수 있도록 한다.
이를 위해 로봇은 각 공간에서의 지면에 대한 정보와 지면에 대해 뎁스 정보를 산출할 경우의 평면 방정식에 대한 정보도 보유하여 해당 공간으로 이동하여 뎁스 정보가 1차적으로 센싱되면 이를 캘리브레이션 할 수 있다.
정리하면, 뎁스 센싱부(120)는 로봇의 주행 방향의 지면 및 지면 상의 사물들의 뎁스를 센싱하여 x, y, z 값이 포함된 제1뎁스 정보(도 3의 22)를 생성할 수 있다. 그리고 평면 분석부(160)는 제1뎁스 정보의 제1영역의 x, y, z 값을 지면 정보를 구성하는 평면 방정식에 입력하여 지면으로 산출된 경우 제1뎁스 정보에서 제1영역을 제거하여 도 4의 23과 같은 제2뎁스 정보를 생성할 수 있다.
도 5는 본 발명의 일 실시예에 의한 고정맵의 구성을 보여주는 도면이다.
고정맵(210a)은 일종의 비트맵과 같이 구성할 수 있다. 이미지 파일의 비트맵에서 각 비트가 하나의 단위 영역을 나타내도록 구성할 수 있다. 각 단위 영역은 좌측 하단을 (0, 0)으로, 우측 상단을 (19, 19)로 지시할 수 있다. 또한, 도 5의 210a은 20x20 구조의 데이터 구조를 가질 수 있다. 예를 들어, 각 위치에 대해 객체가 배치되는지 여부에 대한 정보를 포함할 수 있다. 일종의 행렬과 같이 정보를 배치하고, 고정 객체가 배치되는 경우에는 해당 행렬의 값을 미리 설정된 값으로 설정할 수 있다.
또한, 고정맵(210a)에는 고정 객체들에 대한 특성 정보를 저장할 수 있는데, 객체에 대한 특성 정보는 범주로 분류하여 구분하여 고정맵(210a)에 저장될 수 있다. 도 5의 고정맵(210a)에서 검은 색으로 표시된 부분(211)은 콘트리트와 같이 빛이 전혀 투과하지 않는 재질의 객체를 나타낸다. 이는 범주 99에 해당하는 것으로 저장할 수 있다.
한편 212에서 지시하는 부분은 반투명 유리와 같이 빛이 일부 투과되고 일부 반사되는 재질의 객체를 나타낸다. 범주 97에 해당하는 것으로 저장할 수 있다. 또한, 213에서 지시하는 부분은 유리와 같이 빛의 투과도가 높은 재질의 객체를 나타낸다. 범주 93에 해당하는 것으로 저장할 수 있다.
즉, 도 5의 고정맵(210a)은 20x20의 비트맵 공간 중에서 각 공간의 객체 특성의 범주를 저장할 수 있다. 이는 20x20 행렬에 빈 공간을 지시하는 값(0) 또는 특정한 고정 객체의 특성 정보(범주 93, 97, 99 등)를 포함시킬 수 있다. 객체들의 특성 정보는 이들의 재질, 컬러, 혹은 고정성 등을 반영한 것으로, 이들 특성 정보는 이동 객체에도 적용할 수 있다.
객체들의 특성 정보는 구현 방식에 따라 다양하며 특정한 숫자에 본 발명이 한정되지 않는다.
한편, 고정 객체가 아닌 빈 공간에 대해서는 지면에 대한 정보를 입력할 수 있다. 지면의 정보는 컬러, 재질, 혹은 적용 가능한 평면 방정식을 지시하는 정보를 포함한다. 지면의 종류는 전술한 요소들에 의해 분류될 수 있다. 지면의 정보는 고정맵(210a)에 저장할 수 있도록 일종의 범주화된 정보를 저장하고, 이들 범주에 대한 정보는 별도로 구성할 수 있다.
도 6은 본 발명의 일 실시예에 의한 고정맵에 저장되는 정보들의 특성 정보 및 이들의 범주를 보여주는 도면이다.
201a는 고정 객체에 할당가능한 특성정보의 범주와 지면에 할당가능한 특성정보의 범주를 범위로 제시하고 있다. 201b는 보다 상세히 객체의 재질에 따라 범주를 달리 설정한 예이다. 201b는 라이다 센싱부(110)를 이용하여 신호의 반사 강도로 재질 특성을 특성정보의 실시예로 범주에 반영한 것이며, 이외에도 다른 센싱부들이 센싱한 값에 따라 재질과 컬러 특성을 반영할 수도 있다. 고정 객체와 지면의 특성에 따라서 나눈 후 각 지면에 적용되는 평면 방정식들에 대한 정보(평면 방정식을 구성하는 계수들인 vX, vY, vZ, vD의 정보)가 201c와 같이 저장될 수 있다. 201a 내지 201c는 고정맵(210a)과 연계하여 맵 저장부(200)에 별도의 데이터베이스로 저장될 수 있다.
도 6의 201c와 같이 바닥의 특성에 따라 보정된 평면 방정식을 산출하기 위해 로봇은 공간을 주행하며 바닥에 대한 평면 방정식을 산출할 수 있다. 일 실시예로 특정한 범주로 나뉘어지는 각각의 지면에 대해 로봇이 이동하여 해당 지면에 대한 평면 방정식을 산출할 수 있다. 일 실시예로 로봇은 유동인구가 많은 대규모 공간인 공항, 호텔, 병원, 학교 등에서 주행하는 것으로 설정된 경우 해당 공간에 존재하는 바닥의 정보인 평면방정식을 구하기 위한 3점의 x,y,z 뎁스 정보를 미리 뎁스 센싱부(120)로 측정하여 별도의 데이터베이스로 구축한다.
일 실시예로 동일한 위치의 세 점의 (x, y, z) 뎁스 정보를 수학식 1과 같이 구성할 수 있으며 이들은 데이터베이스 내에 저장될 수 있다.
[수학식 1]
a) 대리석(특성정보의 범주 7) 지면에 대한 세 점의 뎁스 정보
double plane1_320[3] = { 40, 230, 2040 };
double plane2_320[3] = { 280, 230, 2040 };
double plane3_320[3] = { 160, 200, 2850 };
b) 카펫(빨간색)(특성정보의 범주 1) 지면에 대한 세 점의 뎁스 정보
double plane1_320[3] = { 40, 230, 2010 };
double plane2_320[3] = { 280, 230, 2010 };
double plane3_320[3] = { 160, 200, 2800 };
c) 회색 (특성정보의 범주 3) 지면에 대한 세 점의 뎁스 정보
double plane1_320[3] = { 40, 230, 2030 };
double plane2_320[3] = { 280, 230, 2030 };
double plane3_320[3] = { 160, 200, 2820 };
그리고 위의 정보를 기반으로 어느 한 종류의 지면에 대한 벡터를 수학식 2와 같이 산출할 수 있다. 하기 수학식 2의 벡터는 수학식 1의 a), b). c) 모두에 각각 적용할 수 있다.
[수학식 2]
vec1[0] = plane2_320[0] - plane1_320[0];
vec2[0] = plane3_320[0] - plane1_320[0];
vec1[1] = plane2_320[1] - plane1_320[1];
vec2[1] = plane3_320[1] - plane1_320[1];
vec1[2] = plane2_320[2] - plane1_320[2];
vec2[2] = plane3_320[2] - plane1_320[2];
수학식 2에서 산출한 벡터를 이용하여 평면 방정식에 적용할 계수인 vX, vY, vZ, vD를 수학식 3과 같이 산출할 수 있다.
[수학식 3]
vX = (vec1[1] * vec2[2]) - (vec1[2] * vec2[1]);
vY = ((vec1[0] * vec2[2]) - (vec1[2] * vec2[0]));
vZ = (vec1[0] * vec2[1]) - (vec1[1] * vec2[0]);
vD = (vX*plane1_320[0]) - (vY*plane1_320[1]) + (vZ*plane1_320[2]);
최종적인 평면 방정식은 수학식 4와 같이 구해진다. 여기서 nX,nY,nZ는 이후 로봇이 주행하며 뎁스 센싱부(120)가 센싱한 공간의 뎁스 정보들의 각 픽셀의 x,y픽셀값과 Z값(거리)가 되며, 뎁스 센싱부(120)가 센싱한 뎁스 정보를 입력하여 0을 만족시키면 해당 픽셀에 대응하는 공간은 평면, 즉 지면인 것으로 판단한다.
[수학식 4]
pY = (vX * nX) - (vY * nY) + (vZ * nZ) - vD;
즉, 평면 분석부(160)는 해당 공간의 평면 방정식을 구성하는 계수들인 vX, vY, vZ, vD와 실시간으로 로봇이 뎁스 센싱부(120)에서 센싱한 뎁스 정보인 nX,nY,nZ를 수학식 4에 입력한다. 그리고 산출된 결과인 pY값이 0이면 nX,nY,nZ에 대응하는 픽셀의 공간은 평면, 즉 지면에 대응하는 것이므로, nX,nY,nZ에 대응하는 픽셀 값을 제거하면 뎁스 센싱된 정보에서 지면이 제거된 장애물들이 표시될 수 있다.
도 7은 본 발명의 일 실시예에 의한 비전 센싱부를 이용하여 장애물을 검출하는 과정을 보여주는 도면이다.
도 3 및 도 4의 뎁스 센싱된 정보는 도 5 내지 도 6에서 살펴본 해당 지면의 평면 방정식에 기반하여 캘리브레이션을 수행한 후, 지면을 제거하는 과정을 보여준다. 이에 추가하여 비전 센싱부(130)가 센싱한 이미지 정보에서 재질 혹은 색상의 변화가 급격히 일어나는 지점에 대응하는 뎁스 정보을 장애물로 판단하는 과정을 살펴본다.
도 7은 본 발명의 일 실시예에 의한 비전 센싱부의 센싱된 이미지에 기반하여 지면과 장애물을 구별하는 도면이다.
앞서 도 3의 21 및 22 중에서 뎁스 센싱부(120)에서 지면과 식별이 되지 않던 장애물이 다수 배치되었던 21a~21e가 배치된 이미지를 각각 확대한 것이 21s 및 22s이다. 비전 센싱부(130)가 센싱한 이미지의 확대 이미지(21s)에서 제어부(900)는 확대 이미지(21s)에 대해 픽셀 단위로 RGB 값의 차이가 큰 부분을 확인한다. 동일한 지면인 경우 조명에 따라 지면의 밝기가 달라질 수는 있으나 RGB 값의 급격한 변화가 발생하지는 않는다.
그러나, 장애물이 배치된 경우, 해당 장애물이 지면과 동일한 색상이 아니라면 지면과의 경계 영역에서 RGB 값의 차이가 커진다. 21k로 지시되는 부분은 조명에 의해 부분적으로 밝아진 지면이지만 지면의 색상 변화는 순차적이다. 반면 21a_line 또는 21c_line으로 지시되는 부분은 지면과 색상이 상이한 영역이자 색상 차가 큰 부분이다.
즉, 비전 센싱부(130)가 센싱한 이미지에서 순차적으로 스캔하는 과정에서 제어부(900)는 각 픽셀이 인접한 픽셀과의 차이가 큰 부분만을 식별할 수 있다. 그리고 식별된 부분에 대해서는 뎁스 센싱부(120)에서 센싱한 뎁스 값(22s)이 지면과 비슷한 경우라 하여도 제어부(900)가 해당 객체에 대해 장애물로 판단할 수 있다.
정리하면, 비전 센싱부(130)는 진행 방향의 사물들을 촬영하여 이미지 정보를 생성한다. 그리고 제어부(900)는 이미지 정보에서 인접한 두 픽셀의 색상차가 미리 설정된 기준 이상인 경계선을 식별하여 제1뎁스 정보 또는 제2뎁스 정보에서 경계선에 대응하는 영역을 유지하여 지면으로 제거되지 않도록 한다.
도 8은 본 발명의 일 실시예에 의한 제어부가 비전 센싱부가 센싱한 이미지에서 인접 픽셀과의 차이를 산출한 결과를 보여주는 도면이다. 앞서 살펴본 비전 센싱부(130)가 센싱한 이미지에서 일부 영역을 확대한 결과 각 픽셀 별로 가지는 RGB값에서 좌측 픽셀의 RGB값에서 우측 픽셀의 RGB값을 뺀 후 이를 노멀라이즈 시킨 결과이다. RGB는 통상의 256x256x256의 Red/Green/Blue 값을 적용할 수 있으나 본 발명이 이에 한정되는 것은 아니다. 그리고 RGB 값의 차이 역시 R, G, B 각각의 차이를 산출하거나 혹은 차이를 누적하는 등의 방식으로 할 수 있다.
도 8은 5x5 픽셀의 좌우 픽셀 차이를 보여주고 있다. 여기서 차이의 절대값이 20 이상인 경우에 지면의 일반적인 변화와 상이한 것으로 판단하여 해당 픽셀에 대응하는 영역에 장애물이 배치된 것으로 판단할 수 있다. 예를 들어 도 8에서 21_x_line1 및 21_x_line2로 지시되는 픽셀이 재질의 변화 혹은 색상의 변화가 확인된다. 이 부분은 뎁스 센싱부(120)에서 센싱되거나 혹은 센싱된 정보를 캘리브레이션한 정보, 혹은 다른 센싱부들이 센싱한 정보들과 결합하여 장애물 판단 데이터를 제공한다.
뎁스 센싱부(120) 및 비전 센싱부(130)는 일정한 공간에 대한 이미지와 뎁스 정보를 산출하므로 장애물로 식별된 객체들의 이미지 내의 위치 정보를 글로벌 좌표, 즉 고정맵의 좌표로 변경하거나, 혹은 고정맵의 일부 영역에 대응하는 임시맵의 좌표로 변경하는 과정이 필요하다. 장애물의 실제 거리값에 기반하여 로봇 기준으로 글로벌 좌표로 변환하고 이를 저장한 후, 로봇은 임시맵에 장애물의 좌표를 기재한다. 이에 대해서는 도 9에서 보다 자세히 살펴본다.
도 9는 본 발명의 일 실시예에 의한 로봇이 생성한 임시맵에서 장애물을 관리하는 과정을 보여주는 도면이다. 전술한 과정에서 로봇은 주행 방향에 배치된 장애물을 식별하여 이를 글로벌 좌표로 변환하여 로봇의 주변을 대상으로 생성한 임시맵(91) 상에 장애물의 위치를 저장한다. 로봇이 주행하는 과정에서 점선은 로봇의 센싱부들이 장애물을 검출하는 범위를 보여준다.
로봇이 장애물을 센싱하여 임시맵(91)에 저장하고 직진하면 장애물들의 위치는 로봇을 기준으로 할 때 전면(91의 임시맵 참조)에서 측면(92의 임시맵)으로 변한다. 이 상태에서 로봇의 센싱부들은 장애물들을 검출할 수 없는 상태이므로, 임시맵(92) 상에 장애물들을 그대로 저장한다.
즉, 로봇에 장착된 뎁스 센싱부(120)에 검출되는 범위를 벗어 났지만 로봇이 회전할 때 장애물에 충돌 위험이 발생할 수 있기 때문에 장애물을 3차원의 임시맵(92)에 계속 저장을 유지한다. 이후, 93과 같이 로봇에 장착된 뎁스 센싱부(120)에 검출되는 범위를 벗어 났고, 로봇이 회전 및 후진 과정에서 충돌 위험이 있는 위험 지역을 벗어난 경우에는 장애물들을 임시맵(93)에서 삭제한다.
한편, 도 9에서 임시맵에는 장애물들의 높이를 저장할 수 있다. 앞서 뎁스 정보를 글로벌 좌표로 전환하는 과정에서 높이 정보를 산출할 수 있으며, 제어부(900)는 일정 높이 이하의 장애물(예를 들어 전선과 같이 매우 높이가 낮은 장애물)은 임시맵에 저장하지 않고 장애물 위로 로봇이 이동할 수 있도록 제어한다.
도 10은 본 발명의 일 실시예에 의한 로봇이 바닥의 장애물을 식별하여 이동하는 과정 및 임시맵에 이들을 저장하고 이동 후 삭제하는 과정을 보여주는 도면이다.
제어부(900)는 로봇이 보유한 바닥 정보, 즉 지면 정보를 이용하여 바닥 평면의 평면 방정식을 도출한다(S61). 이를 위해 앞서 맵 저장부(200)에 저장된 바닥 재질에 대한 정보, 바닥의 색상에 대한 정보, 또는 바닥의 종류 혹은 바닥에 대한 평면 방정식의 계수 정보들을 추출할 수 있다.
평면 분석부(160)는 뎁스 센싱부(120)가 센싱한 뎁스 정보들, 즉 각 픽셀의 x, y, z 값을 전술한 평면 방정식에 대입하여 해당 픽셀이 평면에 포함되는지 판단한다(S62). 판단 결과 평면에 위치하는 픽셀들의 뎁스 정보는 제거하고 평면에 위치하지 않는 장애물들만을 남겨서 제어부가 식별할 수 있다(S63).
S62 과정에서 만약 모든 픽셀들이 평면으로 판단된 경우에는 장애물이 없는 공간이므로 로봇이 지나갈 수 있는 것으로 판단할 수 있다. 제어부(900)는 검출된 장애물들의 뎁스 정보인 x, y, z 값을 로봇과의 물리적으로 떨어진 실제 거리값으로 산출한다(S64). 그리고 제어부(900)는 장애물의 실제 거리값으로 로봇 기준 글로벌 좌표로 변환하여 저장한다(S65).
이후 로봇은 이동하는 과정에서 혹은 장애물을 검출하는 과정에서 30m/s 마다 업데이트되는 장애물 정보들 중에서 중복되지 않은 장애물을 저장한다(S66). 전술한 30m/s는 예시적인 것으로 다양하게 조절 가능하다. 그리고 제어부(900)는 로봇 주변의 일정 범위 이내, 예를 들어 1m 이내에 초음파로 검출되는 장애물이 없으면 뎁스 정보로 검출된 장애물을 임시맵에서 삭제하여 동적 장애물을 삭제한다(S67). S61~S67의 과정 또는 동일한 재질의 평면이 유지되는 경우 S62~S67의 과정은 뎁스 센싱부(120)의 데이터 입력 주기에 맞추어 반복될 수 있다. 일 실시예로 30 m/s 마다 반복할 수 있다.
도 11은 본 발명의 일 실시예에 의한 로봇의 구성요소들이 동작하는 과정을 보여주는 도면이다.
로봇의 센싱 모듈(100)을 구성하는 뎁스 센싱부(120)가 진행 방향의 사물들을 뎁스 센싱하여 제1 뎁스 정보를 생성한다(S1110). 뎁스 정보의 센싱의 일 실시예는 뎁스 센싱부(120)가 주행 방향의 지면 및 지면 상의 사물들의 뎁스를 센싱하여 x, y, z 값이 포함된 제1뎁스 정보를 생성하는 것을 일 실시예로 한다. 각 픽셀은 x, y의 위치 및 뎁스 값인 z값을 포함하도록 생성되며 도 3 및 도 4에서 살펴본 뎁스 영상 이미지가 뎁스 정보의 일 실시예가 된다.
또한, 과정에서 선택적으로 비전 센싱부(130)가 진행 방향의 사물들의 이미지를 촬영한다(S1115). 그리고 비전 센싱부(130)는 제어부(900)에게 촬영한 이미지 정보를 제공한다(S1120). 또한, 맵 저장부(200)는 제어부(900)의 제어에 따라, 현재 위치의 지면 정보를 평면 분석부(160)에게 제공한다(S1125). 이는 해당 위치에서의 평면 방정식 혹은 해당 위치에서의 지면의 재질 정보 등을 센싱 모듈(100)이 이용할 수 있도록 한다.
평면 분석부(160)는 로봇의 맵 저장부(200)가 저장한 지면 정보를 제공받아 이를 이용하여 전술한 뎁스 센싱부(120)가 생성한 제1뎁스 정보를 캘리브레이션하여 제2뎁스 정보를 생성한다(S1130 및 S1135).
보다 상세히 살펴보면, 지면 정보의 평면 방정식에 제1뎁스 정보를 구성하는 각 픽셀의 x, y 및 이의 뎁스 값인 z 값을 입력하여 해당 픽셀이 지면인지 여부를 판단하여 지면, 즉 바닥면인 평면으로 경우에는 뎁스 정보를 제거하는 캘리브레이션 과정을 진행할 수 있다(S1130). 그리고 제1뎁스 정보에서 지면을 제거한 제2뎁스 정보를 생성한다(S1135). 각 픽셀별로 산출하거나 혹은 뎁스 정보 내의 특정한 영역을 설정하여 영역별로 픽셀을 선택하여 평면 방정식에 뎁스 정보의 값들을 입력할 수 있다.
또한, 생성된 제2뎁스 정보를 센싱 모듈(100)이 제어부(900)에게 제공한다(S1150). 한편 제어부(900)는 전술한 S1120의 비전 센싱부가 센싱한 이미지 정보에서 경계선을 식별한다(S1140). 경계선 식별이란, 앞서 도 7 및 도 8에서 살펴본 바와 같이, 제어부(900)가 이미지 정보에서 인접한 두 픽셀의 색상차가 미리 설정된 기준 이상인 경계선을 식별하는 것을 일 실시예로 한다.
이후 제어부(900)는 제1뎁스 정보 또는 제2뎁스 정보에서 경계선에 대응하는 영역을 유지하도록 처리한 후, 제2뎁스 정보에서 장애물을 식별한다(S1160). 도 11에서는 제어부(900)가 경계선을 식별한 후 제2뎁스 정보를 제공받는 과정을 설명하고 있으나, 본 발명이 이에 한정되는 것은 아니다.
예를 들어, 제어부(900)가 경계선을 식별하고 식별한 정보를 평면 분석부(160)에 제공한 후, 평면 분석부는 뎁스 정보에서 지면 정보를 제거하는 과정에서 경계선에 대응하는 영역에 대해서는 평면 방정식에서 평면으로 판단된 경우에도 지면으로 판단하지 않는 등 제1뎁스 정보와 경계선의 식별 정보를 결합할 수 있다.
제어부는 전술한 다양한 실시예에 따라 생성된 제2뎁스 정보에서 장애물을 식별한다(S1160). 즉, 뎁스 정보에서 지면이 아닌 것으로 판단된 사물들을 장애물로 식별한다. 그리고 식별된 장애물의 위치 정보를 좌표 변환하고(S1170), 이 과정에서 장애물의 높이 정보를 추출하여(S1175) 일정한 높이 이상의 장애물에 대해서만 맵 저장부(200)의 임시맵에 장애물로 저장한다(S1180). 장애물이 저장된 임시맵의 실시예는 도 9에서 살펴보았다.
S1170 내지 S1180 과정을 보다 상세히 살펴보면 제어부(900)는 제2뎁스 정보의 장애물로 판단되는 사물의 x, y. z값을 로봇을 기준으로 하는 글로벌 좌표로 변환하여 좌표를 포함하는 장애물의 위치 정보를 임시맵에 저장할 수 있다. 글로벌 좌표로의 변환의 일 실시예로 제어부(900)가 뎁스 정보의 x, y 좌표를 임시맵 상의 후보 위치 영역으로 설정하고 z 좌표값에 기반하여 임시맵 상에 장애물의 높이 정보를 선택적으로 저장할 수 있다.
또한, S1175에서 살펴본 바와 같이, 제어부(900)는 장애물의 높이가 미리 설정된 기준 이하인 경우, 임시맵에 저장하지 않을 수 있다. 이는 높이가 낮은 장애물은 통과하기 위함이다. 또는 제어부(900)가 장애물의 높이를 임시맵에 저장하여 로봇이 이동하는 과정에서 해당 장애물을 넘어서 통과할 것인지 아니면 회피할 것인지를 결정할 수 있다.
이후, 도 9에서 살펴본 바와 같이, 로봇이 이동한 후, 제어부(900)는 장애물이 로봇의 동작 범위 내에 위치하는지 확인하여, 장애물이 로봇의 동작 범위 외에 위치하는 경우, 장애물을 임시맵에서 삭제하고, 여전히 장애물이 로봇의 동작 범위 내에 위치하는 경우, 장애물을 임시맵에서 유지한다(S1190).
도 11에서는 평면 분석부(160)와 제어부(900)가 분리되어 있으나, 평면 분석부(160)의 작업을 제어부(900)가 수행할 수 있다. 이 경우, 제어부(900)는 센싱 모듈(100)이 센싱한 뎁스 정보 및 이미지 정보를 취합하고, 맵 저장부(200)에 저장된 지면 정보를 이용하여 장애물을 식별할 수 있다.
도 12는 본 발명의 일 실시예에 의한 장애물의 높이를 임시맵에 저장하는 실시예를 보여주는 도면이다.
도 12의 1201은 로봇이 지면 정보를 제거한 후 장애물들의 높이를 임시맵(1201)에 저장한 실시예이다. 장애물의 높이(mm)가 임시맵(1201)에 표시되어 있다. 여기서 제어부(900)는 장애물의 높이에 따라 로봇이 통과할 수 있는 장애물과 그렇지 않은 장애물을 선별할 수 있다. 일 실시예로 장애물의 높이가 30mm 이하인 장애물은 모두 임시맵(1201)에서 제거할 수 있다. 그 결과 1202와 같이 로봇이 통과할 수 없는 높이의 장애물들만 임시맵(1202)에 저장할 수 있다.
장애물의 높이가 로봇의 하단부의 높이보다 낮고 장애물의 폭이 로봇의 이동부 사이의 간격보다 작은 경우와 같이 로봇의 이동부 및 로봇의 하단부의 공간의 크기와 장애물의 크기를 비교하여 제어부는 이동 경로를 변경할 수 있다.
도 13은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(1000a)의 뎁스 센싱부(120a), 비전 센싱부(130a), 그리고 이동부(300a~300d)가 배치되어 있다. 뎁스 센싱부(120a)와 비전 센싱부(130a)의 센싱된 이미지의 정확도를 위해 뎁스 센싱부(120a)와 비전 센싱부(130a)의 거리는 최소한으로 좁히거나 혹은 특정 거리를 기준으로 동일한 영상을 촬영할 수 있도록 한다.
도면에 미도시되었으나 도 1의 구성요소들은 로봇(1000a)에 배치될 수 있다. 1301은 로봇의 측면을 보여주며, 1302는 로봇의 하면을 보여준다.
로봇의 이동부가 도 13과 같이 바퀴로 구성된 경우 바퀴 사이의 거리를 W-Width라 하고, 로봇의 하단부와 지면 사이의 거리를 W-Height라 한다. 이 경우 장애물의 폭이 W-Width보다 작고 장애물의 높이가 W-Height 보다 작은 경우 제어부(900)는 해당 장애물을 로봇의 이동부 사이로 통과하도록 로봇(1000a)을 제어할 수 있다. 또한 로봇의 이동부가 넘어서 이동할 수 있는 장애물의 높이를 Pass-Height라 한다. 발명의 구성에 따라 Pass-Height 는 W-Height 보다 작은 크기가 된다.
도 14는 본 발명의 일 실시예에 의한 로봇이 지면에 배치된 장애물의 높이와 폭에 따라 경로를 수정하는 과정을 보여주는 도면이다. 도 14의 임시맵(1401)의 단위와 로봇의 W-Width와 비교할 때, 3개의 칸에 대응한다. 또한 W-Height는 50 mm인 것으로 가정하며 Pass-Height는 20 mm인 것으로 가정한다. 로봇의 중심점이 RC(Robot Center)에 있을 때, 1401에서 애초에 설정된 로봇의 경로는 직진하는 방향(점선)이었다. 그러나 그 과정에서 로봇의 이동부는 좌측에 높이 30mm 인 장애물과 우측에 높이 25mm인 장애물들을 마주치게 된다. 이 경우, 로봇의 이동부는 두 개의 장애물을 그대로 넘어서 통과할 수는 없다. 왜냐하면 도 14의 로봇의 Pass-Height는 20이기 때문이다.
그러나 양측의 장애물의 높이는 모두 W-Height인 50 보다는 모두 낮으므로, 제어부(900)는 로봇의 경로를 수정하여 로봇이 좌측의 장애물(높이 30mm)을 이동부 사이로 통과하거나(1402 참조), 혹은 우측의 장애물(높이 25mm)을 이동부 사이로 통과하는(1403 참조) 방식으로 이동할 수 있다.
정리하면, 로봇의 제어부(900)는 도 11의 장애물의 높이 정보를 추출하는 과정에서 로봇의 이동부가 넘어서 통과할 수 있는 높이(Pass-Height 보다 낮은 장애물)과 로봇의 하단부의 빈 공간을 이용하여 통과할 수 있는 높이(W-Height 보다 낮은 장애물) 및 폭(W-Width 보다 좁은 장애물)을 센싱된 장애물과 비교하여 로봇의 이동 경로를 변경할 수 있다.
본 발명을 적용할 경우, 넓은 공간에서 이동하는, 높이가 높은 로봇이 이동을 자유롭게 하기 위해 실시간으로 로봇 주변 수미터 내의 장애물 정보를 정확히 검출할 수 있다. 특히, 본 발명의 다양한 센싱부를 사용하여 다양한 높이의 장애물을 검출할 수 있다. 예를 들어, 라이다 센싱부(110)는 설치된 높이의 장애물을 검출하고, 초음파 센싱부(140)는 장애물의 위치 현황 정도를 파악하게 된다.
여기에서 뎁스 센싱부(120) 및 비전 센싱부(130)의 센싱된 정보를 결합하여 로봇이 이동하는 방향의 지면에 가까이 배치된 장애물들을 센싱할 수 있다. 즉, 본 명세서에서는 뎁스 센싱부(120)가 실시간으로 생성하는 3차원의 데이터(뎁스 정보)를 가공하여 로봇 주변의 일정 범위 이내의 장애물 정보를 효과적으로 검출하고, 뎁스 센싱부(120)가 센싱할 수 없는 영역의 장애물을 로봇이 위험 지역을 벗어날 때까지 임시맵(220)에 저장하여 장애물을 효과적으로 회피하여 대면적에서 이동할 수 있다.
따라서, 본 발명의 실시예에 의한 뎁스 센싱부(120) 및 평면 분석부(160)는 실시간으로 검출되는 데이터에서 지면 정보를 제거하고, 장애물 정보만 검출하고 제어부(900)는 뎁스 정보의 각 픽셀별 X, Y, Z 값을 실세계의 좌표계와 매핑하여 임시맵으로 저장한다. 뎁스 센싱의 정확도를 위하여 뎁스 센싱부(120)가 바닥 쪽을 향하도록 배치할 수 있다.
특히 본 발명을 적용할 경우, 뎁스 센싱부(120)에서 생성한 뎁스 정보에서 지면 정보를 효과적으로 제거할 수 있다. 특히, 도 15에 제시된 바와 같이 바닥 재질, 밝기에 따라 뎁스 정보의 z값은 20~50mm까지 차이를 보일 수 있으므로, 앞서 산출한 각 지면에 대한 평면 방정식을 적용하여 지면 정보를 제거할 수 있다.
도 15는 바닥의 재질에 따른 z값의 변화를 보여주는 도면이다. 도 15의 표(1501)에 나타난 바와 같이 지면, 즉 바닥의 재질에 따른 뎁스 센싱부(120)의 거리 값(z값)이 변동함을 알 수있다. 즉, 동일한 x,y 좌표에서도 재질과 밝기가 다른 곳에서 20~50mm까지 차이가 발생할 수 있으므로, 앞서 도 6 에서 살펴본 바와 같이 맵이 보유한 바닥의 재질 정보와 비전 센싱부(130)를 이용하여 바닥의 특성에 따라 캘리브레이션을 진행할 수 있다.
캘리브레이션의 일 실시예로는 해당 지면에 대한 평면 방정식의 계수를 이용하여 뎁스 센싱된 정보에서 지면을 제거하고 장애물에 대한 뎁스 정보만을 포함하는 제2뎁스 정보를 생성하는 것을 포함한다.
본 발명을 적용할 경우, 초음파 센싱부(140) 및 라이다 센싱부(110)가 가진 장애물 검출의 편향성을 교정할 수 있다. 예를 들어 초음파 센싱부(140)는 장애물 검출 능력은 좋지만, 로봇의 어느 방향으로 장애물이 위치해있는지 알 수 없고, 장애물의 크기 또한 알 수 없다는 한계가 있다. 또한, 라이다 센싱부(110)는 장애물을 정해진 높이에서만 알 수 있고, 장애물의 정확한 크기 및 형상이 가늠이 되지 않을 수 있다.
따라서, 본 발명의 실시예들을 적용할 경우, 지면과 분리된 장애물의 뎁스 정보를 활용하여 장애물 정보만 확실하게 검출할 수 있으며, 실시간으로 업데이트되는 뎁스 정보를 활용하여 장애물 정보가 저장되는 임시맵을 생성하여 로봇이 이동하므로, 충돌의 위험을 낮출 수 있다. 특히, 센싱 모듈(100)이 확인할 수 없는 부분에 대해서도 장애물 정보를 임시맵에 저장 및 유지하여, 장애물들이 다수 배치된 위험지역을 완전히 벗어날 때까지 로봇의 이동 과정에서 임시맵을 참조하도록 하여, 센서의 사각지대에서 발생할 수 있는 사고의 위험을 낮출 수 있다.
또한, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
100: 센싱모듈 110: 라이다 센싱부
120: 뎁스 센싱부 130: 비전 센싱부
160: 평면 분석부 200: 맵 저장부
210: 고정맵 220: 임시맵
300: 이동부 400: 기능부
500: 통신부 900: 제어부
1000: 로봇

Claims (15)

  1. 로봇의 센싱 모듈의 비전 센싱부가 진행 방향의 사물들을 촬영하여 이미지 정보를 생성하는 단계;
    상기 센싱 모듈의 뎁스 센싱부가 상기 로봇의 주행 방향의 지면 및 지면 상의 사물들의 뎁스를 센싱하여 x, y, z 값이 포함된 제1뎁스 정보를 생성하는 단계;
    상기 센싱 모듈의 평면 분석부는 상기 로봇의 맵 저장부가 저장한 지면 정보를 이용하여 상기 제1뎁스 정보를 캘리브레이션하여 제2뎁스 정보를 생성하는 단계;
    상기 로봇의 제어부가 상기 제1뎁스 정보의 제1영역의 x, y, z 값을 상기 지면 정보를 구성하는 평면 방정식에 입력하여 지면으로 산출된 경우 상기 제1뎁스 정보에서 상기 제1영역을 제거하여 상기 제2 뎁스 정보에서 장애물을 식별하는 단계; 및
    상기 제어부가 상기 식별한 장애물의 위치 정보를 상기 맵 저장부의 임시맵에 저장하는 단계를 포함하며,
    상기 평면 방정식은
    상기 맵 저장부의 고정맵에 저장된 지면 정보인 재질, 색상, 종류, 또는 적용 가능한 평면 방정식을 지시하는 정보 중 어느 하나 이상을 이용하여 산출되며,
    상기 제2뎁스 정보를 생성하는 단계는
    상기 평면 분석부는 상기 지면 정보 중 바닥 재질에 따라 상기 제1 뎁스 데이터에서 제거할 평면 방정식의 계수를 결정하여 캘리브레이션하며 상기 바닥 재질은 상기 고정맵의 정보와 상기 비전 센싱부가 센싱한 바닥 재질을 반영한 것이며,
    상기 장애물을 식별하는 단계는
    상기 비전 센싱부의 이미지와 비교하여 바닥의 재질 또는 색상과 분리된 색상을 가지는 지점들의 위치에 대응하는 뎁스 정보들을 장애물로 판단하는 것을 특징으로 하는, 주행 지면의 장애물을 식별하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 고정맵은 고정 객체의 재질, 컬러 또는 고정성 중 어느 하나 이상을 상기 객체 특성의 범주 정보로 저장하는 것을 특징으로 하는, 주행 지면의 장애물을 식별하는 방법.
  4. 제1항에 있어서,
    상기 식별하는 단계는
    상기 제어부가 상기 이미지 정보에서 인접한 두 픽셀의 색상차가 미리 설정된 기준 이상인 경계선을 식별하는 단계; 및
    상기 제1뎁스 정보 또는 상기 제2뎁스 정보에서 상기 경계선에 대응하는 영역을 유지하는 단계를 포함하는, 주행 지면의 장애물을 식별하는 방법.
  5. 제1항에 있어서,
    상기 저장하는 단계는
    상기 제2뎁스 정보의 장애물의 x, y, z값을 상기 로봇을 기준으로 하는 좌표로 변환하여 상기 임시맵에 저장하는 단계를 더 포함하며,
    상기 제어부는 상기 장애물의 높이가 미리 설정된 기준 이하인 경우, 상기 임시맵에 저장하지 않는 단계를 더 포함하는, 주행 지면의 장애물을 식별하는 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 로봇이 이동한 후, 상기 로봇의 제어부는 상기 장애물이 상기 로봇의 동작 범위 내에 위치하는지 확인하여, 상기 장애물이 상기 로봇의 동작 범위 외에 위치하는 경우, 상기 장애물을 상기 임시맵에서 삭제하는 단계를 포함하는, 주행 지면의 장애물을 식별하는 방법.
  8. 진행 방향의 사물들을 촬영하여 이미지 정보를 생성하는 비전 센싱부와, 로봇의 주행 방향의 지면 및 지면 상의 사물들의 뎁스를 센싱하여x, y, z 값이 포함된 제1뎁스 정보를 생성하는 뎁스 센싱부와, 상기 로봇의 맵 저장부에 저장된 지면 정보를 이용하여 상기 제1뎁스 정보를 캘리브레이션하여 제2뎁스 정보를 생성하는 평면 분석부를 포함하는 센싱 모듈;
    상기 제1뎁스 정보의 제1영역의 x, y, z 값을 상기 지면 정보를 구성하는 평면 방정식에 입력하여 지면으로 산출된 경우 상기 제1뎁스 정보에서 상기 제1영역을 제거하여 상기 제2뎁스 정보에서 장애물을 식별하는 제어부;
    상기 제어부의 제어에 따라 상기 식별된 장애물의 위치 정보를 저장하는 임시맵을 포함하는 맵 저장부; 및
    상기 제어부의 제어에 따라 상기 로봇을 이동시키는 이동부를 포함하며,
    상기 평면 방정식은
    상기 맵 저장부의 고정맵에 저장된 지면 정보인 재질, 색상, 종류, 또는 적용 가능한 평면 방정식을 지시하는 정보 중 어느 하나 이상을 이용하여 산출되며,
    상기 평면 분석부는 상기 지면 정보 중 바닥 재질에 따라 상기 제1뎁스데이터에서 제거할 평면 방정식의 계수를 결정하여 캘리브레이션하며 상기 바닥 재질은 상기 고정맵의 정보와 상기 비전 센싱부가 센싱한 바닥 재질을 반영한 것이며,
    상기 제어부는 상기 비전 센싱부의 이미지와 비교하여 바닥의 재질 또는 색상과 분리된 색상을 가지는 지점들의 위치에 대응하는 뎁스 정보들을 장애물로 판단하는 것을 특징으로 하는, 주행 지면의 장애물을 식별하는 로봇.
  9. 삭제
  10. 제8항에 있어서,
    상기 고정맵은 고정 객체의 재질, 컬러 또는 고정성 중 어느 하나 이상을 상기 객체 특성의 범주 정보로 저장하는, 주행 지면의 장애물을 식별하는 로봇.
  11. 제8항에 있어서,
    상기 제어부는 상기 이미지 정보에서 인접한 두 픽셀의 색상차가 미리 설정된 기준 이상인 경계선을 식별하여 상기 제1뎁스 정보 또는 상기 제2뎁스 정보에서 상기 경계선에 대응하는 영역을 유지하는, 주행 지면의 장애물을 식별하는 로봇.
  12. 제8항에 있어서,
    상기 임시맵은 상기 제2뎁스 정보의 장애물의 x, y, z값을 상기 로봇을 기준으로 하는 좌표로 변환한 장애물의 위치 정보를 저장하며,
    상기 제어부는 상기 장애물의 높이가 미리 설정된 기준 이하인 경우, 상기 임시맵에 저장하지 않는, 주행 지면의 장애물을 식별하는 로봇.
  13. 삭제
  14. 제8항에 있어서,
    상기 로봇의 제어부는 상기 이동부를 제어하여 상기 로봇이 이동한 후, 상기 장애물이 상기 로봇의 동작 범위 내에 위치하는지 확인하여, 상기 장애물이 상기 로봇의 동작 범위 외에 위치하는 경우, 상기 장애물을 상기 임시맵에서 삭제하는, 주행 지면의 장애물을 식별하는 로봇.
  15. 삭제
KR1020170043924A 2017-04-04 2017-04-04 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇 KR102461938B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170043924A KR102461938B1 (ko) 2017-04-04 2017-04-04 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇
US16/500,672 US11182625B2 (en) 2017-04-04 2018-02-19 Method for identifying obstacle on driving ground and robot for implementing same
PCT/KR2018/002029 WO2018186583A1 (ko) 2017-04-04 2018-02-19 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170043924A KR102461938B1 (ko) 2017-04-04 2017-04-04 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇

Publications (2)

Publication Number Publication Date
KR20180112623A KR20180112623A (ko) 2018-10-12
KR102461938B1 true KR102461938B1 (ko) 2022-10-31

Family

ID=63712707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170043924A KR102461938B1 (ko) 2017-04-04 2017-04-04 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇

Country Status (3)

Country Link
US (1) US11182625B2 (ko)
KR (1) KR102461938B1 (ko)
WO (1) WO2018186583A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102220865B1 (ko) * 2018-10-02 2021-02-25 엘지전자 주식회사 청소로봇이 지면의 단차에 적응적으로 동작하는 방법 및 청소로봇
US11650597B2 (en) 2019-07-09 2023-05-16 Samsung Electronics Co., Ltd. Electronic apparatus for identifying object through warped image and control method thereof
WO2021026831A1 (zh) 2019-08-14 2021-02-18 珊口(深圳)智能科技有限公司 移动机器人及其控制方法和控制系统
KR20210039869A (ko) * 2019-10-02 2021-04-12 삼성전자주식회사 이동 로봇 및 그 제어방법
US11494939B2 (en) 2019-12-02 2022-11-08 Toyota Research Institute, Inc. Sensor self-calibration in the wild by coupling object detection and analysis-by-synthesis
CN111308491A (zh) * 2020-03-09 2020-06-19 中振同辂(江苏)机器人有限公司 一种基于多传感器组合的障碍物感知方法
KR102348963B1 (ko) * 2020-03-10 2022-01-11 엘지전자 주식회사 로봇 청소기 및 그 제어 방법
US11880209B2 (en) * 2020-05-15 2024-01-23 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
KR102431986B1 (ko) * 2020-07-22 2022-08-12 엘지전자 주식회사 로봇 청소기 및 이의 제어방법
CN112561941A (zh) * 2020-12-07 2021-03-26 深圳市银星智能科技股份有限公司 一种悬崖检测方法、装置和机器人
CN114911221B (zh) * 2021-02-09 2023-11-28 北京小米机器人技术有限公司 机器人的控制方法、装置及机器人
KR102583945B1 (ko) * 2021-09-17 2023-10-05 주식회사 알지티 투명 물체 인식 자율 주행 서비스 로봇 수단
WO2024022692A1 (de) * 2022-07-26 2024-02-01 Sew-Eurodrive Gmbh & Co. Kg Verfahren zum betrieb einer technischen anlage und technische anlage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101041930B1 (ko) * 2010-12-30 2011-06-16 국방과학연구소 자율 이동 차량의 장애물 지도 생성 장치, 이를 구비하는 자율 이동 차량 및 자율 이동 차량의 장애물 지도 생성 방법
JP2014085940A (ja) * 2012-10-25 2014-05-12 Sharp Corp 平面検出装置およびそれを備えた自律移動装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3781217B2 (ja) * 1996-09-09 2006-05-31 ソニー株式会社 障害物検出装置、障害物検出方法、移動装置及び移動方法
KR100791382B1 (ko) 2006-06-01 2008-01-07 삼성전자주식회사 로봇의 이동 경로에 따라 소정 영역의 특성에 관한 정보를수집하고 분류하는 방법 및 상기 영역 특성에 따라제어되는 로봇, 상기 영역 특성을 이용한 ui 구성 방법및 장치
KR101407508B1 (ko) 2007-12-21 2014-06-17 재단법인 포항산업과학연구원 지면 형상 인식 알고리즘을 이용한 이동로봇의 이동경로추출 시스템 및 방법
KR101619076B1 (ko) 2009-08-25 2016-05-10 삼성전자 주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
KR101371038B1 (ko) 2011-10-26 2014-03-10 엘지전자 주식회사 이동 로봇 및 이의 목표물 추적 방법
KR101598385B1 (ko) 2014-11-11 2016-03-02 한양대학교 산학협력단 직선 정보 기반 장소 인식을 이용한 로봇의 자율주행 방법 및 자율 주행 로봇
KR101749984B1 (ko) 2015-04-06 2017-06-22 국방과학연구소 험지 통과를 위한 로봇의 이동 시뮬레이션 시스템
GB2541884A (en) * 2015-08-28 2017-03-08 Imp College Of Science Tech And Medicine Mapping a space using a multi-directional camera
DE102015114883A1 (de) * 2015-09-04 2017-03-09 RobArt GmbH Identifizierung und Lokalisierung einer Basisstation eines autonomen mobilen Roboters
US10437342B2 (en) * 2016-12-05 2019-10-08 Youspace, Inc. Calibration systems and methods for depth-based interfaces with disparate fields of view

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101041930B1 (ko) * 2010-12-30 2011-06-16 국방과학연구소 자율 이동 차량의 장애물 지도 생성 장치, 이를 구비하는 자율 이동 차량 및 자율 이동 차량의 장애물 지도 생성 방법
JP2014085940A (ja) * 2012-10-25 2014-05-12 Sharp Corp 平面検出装置およびそれを備えた自律移動装置

Also Published As

Publication number Publication date
US11182625B2 (en) 2021-11-23
US20200089970A1 (en) 2020-03-19
KR20180112623A (ko) 2018-10-12
WO2018186583A1 (ko) 2018-10-11

Similar Documents

Publication Publication Date Title
KR102461938B1 (ko) 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇
CN111989544B (zh) 基于光学目标的室内车辆导航的系统和方法
KR102033143B1 (ko) 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇
Xavier et al. Fast line, arc/circle and leg detection from laser scan data in a player driver
US11500391B2 (en) Method for positioning on basis of vision information and robot implementing same
KR20180136833A (ko) 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
CN108474653B (zh) 三维计测装置及其计测辅助处理方法
KR100657915B1 (ko) 코너 검출 방법 및 코너 검출 장치
KR20180087784A (ko) 이동 객체를 식별하여 맵을 작성하는 방법 및 이를 구현하는 로봇
CN111747247A (zh) 一种机器人搭乘电梯的方法
Burhanpurkar et al. Cheap or robust? The practical realization of self-driving wheelchair technology
CN112347876A (zh) 一种基于tof摄像头的障碍物识别方法、清洁机器人
CN112087573B (zh) 环境的绘制
Wang et al. Autonomous robot navigation with rich information mapping in nuclear storage environments
Nickerson et al. An autonomous mobile robot for known industrial environments
KR102329674B1 (ko) 고정객체와 이동객체의 식별에 기반하여 위치를 설정하는 방법 및 이를 구현하는 로봇
CN115565058A (zh) 机器人、避障方法、装置和存储介质
KR102012548B1 (ko) 로봇의 진입 가능 영역을 식별하는 방법 및 이를 구현하는 로봇
KR102114558B1 (ko) 라이다를 이용한 지면 및 비지면 검출 장치 및 방법
KR20180105984A (ko) 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇
JP3512099B2 (ja) 位置検出システム、位置検出装置及び位置検出方法並びにロボツト装置及びその制御方法
KR102564813B1 (ko) 로봇의 맵 디컴포지션을 위한 영역 구분 장치 및 방법
CN115657021A (zh) 一种可移动机器人的火灾检测方法及可移动机器人
Drwięga et al. A set of depth sensor processing ROS tools for wheeled mobile robot navigation
US11967095B2 (en) Image processing system and image processing method

Legal Events

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