KR20180070932A - 이동체 및 이동체의 제어 방법 - Google Patents

이동체 및 이동체의 제어 방법 Download PDF

Info

Publication number
KR20180070932A
KR20180070932A KR1020160173535A KR20160173535A KR20180070932A KR 20180070932 A KR20180070932 A KR 20180070932A KR 1020160173535 A KR1020160173535 A KR 1020160173535A KR 20160173535 A KR20160173535 A KR 20160173535A KR 20180070932 A KR20180070932 A KR 20180070932A
Authority
KR
South Korea
Prior art keywords
image
signal
algorithm
moving object
map
Prior art date
Application number
KR1020160173535A
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 KR1020160173535A priority Critical patent/KR20180070932A/ko
Priority to US15/838,778 priority patent/US10921820B2/en
Priority to EP17207568.1A priority patent/EP3336648B1/en
Priority to CN201711353963.XA priority patent/CN108205319B/zh
Publication of KR20180070932A publication Critical patent/KR20180070932A/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/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
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • 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/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • 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
    • 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
    • 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/3833Creation or updating of map data characterised by the source of data
    • G01C21/3837Data obtained from a single source
    • 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/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257Hybrid positioning
    • G01S5/0258Hybrid positioning by combining or switching between measurements derived from different systems
    • G01S5/02585Hybrid positioning by combining or switching between measurements derived from different systems at least one of the measurements being a non-radio measurement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • 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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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
    • G05D1/0251Control 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 extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • 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
    • G05D1/0253Control 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 extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • 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/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • 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
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Studio Devices (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)

Abstract

이동체 및 이동체의 제어 방법에 관한 것으로, 이동체의 제어 방법은, 이동체 주변의 영상을 획득하는 단계, 신호를 획득하되, 상기 신호는 상기 이동체의 위치에 따라 세기가 변화하는 단계, 상기 이동체 주변의 영상 및 상기 신호를 기초로 지도를 생성하는 단계 및 상기 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계를 포함할 수 있다.

Description

이동체 및 이동체의 제어 방법{A movable object and a method for controlling the same}
이동체 및 이동체의 제어 방법에 관한 것이다.
이동체란, 복수의 위치 사이를 이동할 수 있는 장치를 의미한다. 이동체는, 바퀴, 레일, 보행용 다리 등과 같이 이동체에 마련된 적어도 하나의 이동 수단을 이용하여, 특정 위치에서 다른 위치로 이동할 수 있다.
이동체는, 별도로 마련된 각종 조작 수단, 일례로 키보드나 조이스틱 등에 대한 사용자의 조작에 따라서 이동할 수도 있다. 또한, 이동체는, 센서 등을 이용하여 외부의 정보를 수집한 후 수집된 정보에 따라서 이동할 수도 있다. 예를 들어, 이동체는, 주변의 영상을 촬영하고, 촬영된 영상에서 특징점을 추출한 후 추출된 특징점을 기초로 이동할 목표 위치나 현재의 위치를 결정한 후 결정된 목표 위치나 현 위치를 기초로 이동할 수도 있다.
이와 같은 이동체로는, 예를 들어, 차량, 카트, 열차, 로봇 청소기, 장난감 자동차, 건설 장비, 이동 가능한 의료 기기 또는 무인 운반 차 등과 같이 가정용, 산업용, 의료용 또는 군사용 목적 등으로 이용되는 장비, 로봇 또는 장치 등이 있을 수 있다.
환경 변화에 보다 강인하게 현재의 위치를 인식할 수 있는 이동체 및 이동체의 제어 방법을 제공하는 것을 해결하고자 하는 과제로 한다.
상술한 과제를 해결하기 위하여 이동체 및 이동체의 제어 방법이 제공된다.
이동체의 제어 방법은, 적어도 하나의 이동체 주변의 영상을 획득하는 단계, 적어도 하나의 신호를 획득하되, 상기 신호는 상기 이동체의 위치에 따라 세기가 변화하는 단계, 적어도 하나의 지도를 생성하되, 상기 적어도 하나의 지도는 상기 적어도 하나의 이동체 주변의 영상 및 상기 적어도 하나의 신호를 포함하는 단계 및 상기 적어도 하나의 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계를 포함할 수 있다.
상기 적어도 하나의 이동체 주변의 영상은, 적어도 하나의 전 방위 영상(omnidirectional image)을 포함할 수 있다.
이동체의 제어 방법은, 상기 적어도 하나의 전 방위 영상을 적어도 하나의 파노라마 영상으로 변환하는 단계를 더 포함할 수 있다.
상기 적어도 하나의 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계는, 상기 적어도 하나의 파노라마 영상 및 상기 적어도 하나의 신호를 상기 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계를 포함할 수 있다.
상기 적어도 하나의 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계는, 상기 적어도 하나의 파노라마 영상을 천이시키는 단계 및 천이된 파노라마 영상과 상기 신호를 상기 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계를 더 포함할 수 있다.
상기 학습된 알고리즘은 상기 이동체 주변의 영상 및 상기 신호에 대응하는 상기 이동체의 위치에 대한 알고리즘을 포함할 수 있다.
상기 알고리즘은, 심층 신경망(DNN, Deep Neural Network), 콘볼루션 신경망(CNN, Convolutional Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 심층 신뢰 신경망(DBN, Deep Belief Network) 및 심층 Q-네트워크(Deep Q-Networks) 중 적어도 하나를 이용하는 것일 수 있다.
상기 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계는, 상기 지도로부터 이동체의 위치를 획득하는 단계 및 상기 지도에 포함된 이동체 주변의 영상, 상기 신호 및 상기 이동체 위치를 상기 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계를 포함할 수 있다.
이동체의 제어 방법은, 상기 지도로부터 상기 이동체의 자세에 대한 정보를 더 획득하는 단계를 더 포함할 수 있다.
상기 이동체 주변의 영상 및 상기 신호를 기초로 지도를 생성하는 단계는, 상기 이동체 주변의 영상 및 상기 신호 중 적어도 하나를 복수의 집단으로 군집화하는 단계, 상기 복수의 집단 각각마다 복수의 서브 지도를 획득하는 단계 및 상기 복수의 서브 지도를 조합하여 지도를 생성하는 단계를 포함할 수 있다.
이동체의 제어 방법은, 상기 신호를 벡터화하는 단계를 더 포함할 수 있다.
이동체는, 이동체 주변의 영상을 획득하는 영상 획득부, 외부의 신호를 수신하되, 상기 신호는 상기 이동체의 위치에 따라 세기가 변화하는 통신부 및 상기 이동체 주변의 영상 및 상기 신호를 기초로 지도를 생성하고, 상기 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 제어부를 포함할 수 있다.
상기 이동체 주변의 영상은 전 방위 영상을 포함할 수 있다.
상기 제어부는, 상기 전 방위 영상을 파노라마 영상으로 변환하고, 상기 파노라마 영상을 상기 알고리즘에 적용할 수 있다.
상기 제어부는, 상기 파노라마 영상을 적어도 일 회 천이시키면서, 상기 알고리즘에 적용할 수 있다.
이동체는, 상기 이동체의 자세에 대한 정보를 획득하는 자세 감지부를 더 포함할 수 있다.
상기 제어부는, 상기 이동체의 자세에 대한 정보를 상기 알고리즘에 더 적용하여 학습된 알고리즘을 획득할 수 있다.
상기 제어부는, 상기 이동체 주변의 영상과 상기 신호를 복수의 집단으로 군집화하고, 상기 복수의 집단 각각마다 복수의 서브 지도를 획득하고, 상기 복수의 서브 지도를 조합하여 지도를 생성할 수 있다.
상기 제어부는, 위치 판단 동작이 개시되면, 상기 영상 획득부에 의해 획득된 이동체 주변에 대한 영상과, 상기 통신부에 의해 수신된 신호를 상기 학습된 알고리즘에 적용하여 상기 이동체의 위치를 판단할 수 있다.
이동체는, 위성 신호를 수신하는 위성 신호 수신부를 더 포함할 수 있다.
상기 제어부는, 상기 위성 신호를 더 이용하여 상기 지도를 생성하거나, 또는 상기 위성 신호를 상기 알고리즘에 더 적용하여 학습된 알고리즘을 획득할 수 있다.
로봇 청소기는, 이동체 주변의 영상을 획득하는 영상 획득부, 외부의 신호를 수신하되, 상기 신호는 상기 이동체의 위치에 따라 세기가 변화하는 통신부 및 상기 이동체 주변의 영상 및 상기 신호를 기초로 지도를 생성하고, 상기 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 제어부를 포함할 수 있다.
상술한 이동체 및 이동체의 제어 방법에 의하면, 이동체의 현재 위치 인식이 환경 변화에 보다 강인하게 수행될 수 있게 되고, 이에 따라 이동체가 적절하고 효과적이며 원하는 바에 따라 제어 가능하게 된다.
상술한 이동체 및 이동체의 제어 방법에 의하면, 다양한 외부 요인의 변화에도 불구하고 이동체가 정확하게 이동체가 배치된 위치를 인식하게 될 수 있는 장점을 얻을 수 있다.
또한, 상술한 이동체 및 이동체의 제어 방법에 의하면, 조도 변화 등의 환경 요인이나 또는 피사체의 특징, 일례로 모양이나 재질 등에 기인하여 촬영된 영상으로부터 적절한 특징점이 추출되지 않는 경우에도 이동체가 공간 상에 배치된 위치를 인식하게 될 수 있다.
도 1은 이동체 제어 시스템의 일 실시예를 설명하기 위한 도면이다.
도 2는 이동체의 일 실시예에 대한 블록도이다.
도 3은 이동체가 주행 가능한 공간의 일례에 대한 평면도이다.
도 4는 전 방위 영상의 일례를 도시한 도면이다.
도 5는 파노라마 영상의 일례를 도시한 도면이다.
도 6은 신호의 벡터화의 일례를 설명하기 위한 테이블이다.
도 7은 복수의 데이터의 군집화를 설명하기 위한 도면이다.
도 8은 제1 서브 지도의 일례를 도시한 도면이다.
도 9는 제2 서브 지도의 일례를 도시한 도면이다.
도 10은 서브 지도를 기초로 3차원 지도를 획득하는 일례를 도시한 도면이다.
도 11은 학습을 위한 알고리즘의 일례를 설명하기 위한 도면이다.
도 12는 파노라마 영상의 천이를 설명하기 위한 도면이다.
도 13은 이동체가 주행하고 있는 공간의 일례를 도시한 도면이다.
도 14는 이동체가 위치 결정을 위해 획득한 전 방위 영상의 일례를 도시한 도면이다.
도 15는 획득한 전 방위 영상에 대응하는 파노라마 영상의 일례를 도시한 도면이다.
도 16은 획득한 신호를 벡터화한 일례를 도시한 도면이다.
도 17은 로봇 청소기의 일 실시예에 대한 사시도이다.
도 18은 로봇 청소기의 일 실시예에 대한 저면도이다.
도 19는 로봇 청소기의 일 실시예의 내부 구조에 대한 평면도이다.
도 20은 로봇 청소기의 일 실시예에 대한 블록도이다.
도 21은 로봇 청소기의 동작의 일례를 설명하기 위한 제1 도이다.
도 22는 로봇 청소기의 동작의 일례를 설명하기 위한 제2 도이다.
도 23은 로봇 청소기의 동작의 일례를 설명하기 위한 제3 도이다.
도 24는 로봇 청소기의 동작의 일례를 설명하기 위한 제4 도이다.
도 25는 이동체의 제어 방법의 일 실시예에 대한 제1 흐름도이다.
도 26은 이동체의 제어 방법의 일 실시예에 대한 제2 흐름도이다.
이하 명세서 전반에 걸쳐 사용되는 '부'라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 '부'가 하나의 부품으로 구현되거나, 하나의 '부'가 복수의 부품들로 구현되는 것도 가능하다.
명세서 전체에서 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다.
또한 어떤 부분이 다른 부분을 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다.
제 1 이나 제 2 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적으로 마련되어 있거나 또는 순차적으로 수행된다는 것을 의미하는 것은 아니다.
또한, 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.
이하 도 1 내지 도 16을 참조하여 이동체 및 이동체 제어 시스템의 일 실시예에 대해서 설명하도록 한다.
도 1은 이동체 제어 시스템의 일 실시예를 설명하기 위한 도면이다.
도 1에 도시된 바를 참조하면 이동체 제어 시스템(9)은, 이동체(1)와, 이동체(1)와 통신 가능한 신호 송수신기(2)와, 이동체(1)에 지리적 위치에 대한 정보를 제공하는 인공 위성(3)을 포함할 수 있다.
이동체(1)와, 신호 송신기(2)는 전파를 이용하여 상호 무선 통신을 수행할 수 있도록 마련된다. 이 경우, 이동체(1)와 신호 송신기(2)는, 와이파이(Wi-Fi) 신호, 와이파이 다이렉트(Wi-Fi Direct) 신호, 지그비(zigbee) 신호, 블루투스(Bluetooth) 신호, 저전력 블루투스(Bluetooth Low Energy) 신호, 근거리 장 통신(NFC, Near Field Communication) 신호 및 이동 통신 신호 중 적어도 하나를 이용하여 상호 데이터를 송수신할 수 있다. 이동 통신 신호는, 예를 들어, 3GPP, 3GPP2 또는 IEEE 계열 등과 같은 적어도 하나의 이동 통신 표준에 따라 신호 송신기(2)로부터 방사되는 통신용 신호를 포함할 수 있다.
이동체(1)와 신호 송수신기(2) 사이에 전달되는 신호의 세기는, 이동체(1)와 신호 송수신기(2) 사이의 거리에 따라 상이할 수 있다. 예를 들어, 이동체(1)와 신호 송수신기(2) 사이의 거리가 짧아지면 이들 사이에 전달되는 신호의 세기는 상대적으로 작아지고, 반대로 이동체(1)와 신호 송수신기(2) 사이의 거리가 길어지면 이들 사이에 전달되는 신호의 세기는 상대적으로 증가할 수 있다.
이동체(1)는, 인공 위성으로부터 지리적 정보와 관련된 전파 신호(위성 신호)를 수신할 수 있다. 이동체(1)는, 이동체(1)의 위치를 결정하기 위해 이용되는 항법 시스템에 적절한 전파 신호를 수신할 수 있다. 여기서 항법 시스템은, 위성 위치 측정 시스템(GNSS, Global Navigation Satellite System)을 포함할 수 있으며, 위성 위치 측정 시스템은, 지피에스(GPS, Global Positioning System), 갈렐레오 시스템(Galileo system), 또는 글로나스(GLONASS, Global Orbiting Navigational Satellite System) 등을 포함할 수 있다. 뿐만 아니라, 위성 위치 측정 시스템은, 각 지역별도 개별적으로 마련된 다양한 종류의 위성 항법 시스템을 포함할 수도 있다.
신호 송수신기(2)는, 이동체(1)와의 통신을 수행할 수 있는 소정의 장치를 이용하여 구현 가능하다. 예를 들어, 이동체(1)와 신호 송수신기(2)가 상호 와이파이를 이용하여 통신을 수행하는 경우, 신호 송수신기(2)는, 예를 들어, 와이파이 공유기를 이용하여 구현될 수 있다.
도 2는 이동체의 일 실시예에 대한 블록도이다.
도 2에 도시된 바를 참조하면, 이동체(1)는, 제어부(10), 저장부(30), 영상 획득부(50), 통신부(70) 및 위성 신호 수신부(75)를 포함할 수 있다.
제어부(10)는, 이동체(1)의 전반적인 동작을 제어할 수 있도록 마련된다.
제어부(10)는, 저장부(30), 영상 획득부(50), 통신부(70) 및 위성 신호 수신부(75)와 서로 도선 또는 회로를 통해 전기적으로 연결될 수 있다. 제어부(10)는, 저장부(30), 영상 획득부(50), 통신부(70) 및 위성 신호 수신부(75)로부터 소정의 데이터를 전기적 신호의 형태로 전달받거나, 또는 저장부(30), 영상 획득부(50), 통신부(70) 및 위성 신호 수신부(75)에게 소정의 제어 신호를 전송하여 저장부(30), 영상 획득부(50), 통신부(70) 및 위성 신호 수신부(75)의 동작을 제어할 수도 있다.
제어부(10)는 영상 획득부(50), 통신부(70) 및 위성 신호 수신부(75) 각각으로부터 전기적 신호(51, 71, 76)를 개별적으로 전달받고, 전달받은 전기적 신호(51, 71, 76)를 기초로 다양한 처리 동작을 수행할 수 있다.
일 실시예에 의하면, 제어부(10)는 영상 획득부(50)가 획득한 영상(51)과, 통신부(70)를 통해 수신되는 신호의 세기를 기초로 지도(20)를 생성하여 획득할 수 있다. 또한, 제어부(10)는, 지도(20)의 획득에 응하여, 획득한 지도(20)를 알고리즘(31)에 적용하여 알고리즘(31)을 학습시킬 수도 있다. 이에 따라 학습된 알고리즘(32)이 획득된다.
학습된 알고리즘(32)은 이동체(1) 주변의 영상 및 수신한 신호(72, 77)에 대응하는 이동체(1)의 위치를 나타낸다.
또한, 제어부(10)는, 영상 획득부(50)가 획득한 영상(51)과, 통신부(70)를 통해 수신되는 신호(72)의 세기를 학습된 알고리즘(32)에 적용하여, 이동체(1)의 위치를 추정 및/또는 결정할 수도 있다. 또한, 제어부(10)는, 영상 획득부(50)가 획득한 영상(51)과, 위성 신호 수신부(75)에서 수신된 위성 신호(77)를 이용하여 이동체(1)의 위치를 추정 및/또는 결정할 수도 있다.
제어부(10)는, 필요에 따라, 영상 획득부(50)가 획득한 전 방위 영상(도 4의 52)을 파노라마 영상(도 5의 54)으로 변환할 수도 있다.
뿐만 아니라, 제어부(10)는, 적어도 하나의 신호 송수신기(2)로부터 전송된 수신 신호(72)의 세기를 각각 결정할 수 있으며, 필요에 따라, 적어도 하나의 신호 송수신기(2) 각각에 대응하는 적어도 하나의 신호(72)에 대한 벡터화 처리를 수행하고, 신호 벡터(도 6의 74)를 획득할 수도 있다.
제어부(10)에 의한 지도(20)의 생성 과정과, 학습된 알고리즘(32)의 획득 과정과, 이동체(1)의 위치 추정 및/또는 결정 과정 등 제어부(10)의 동작에 대한 자세한 설명은 후술하도록 한다.
또한, 실시예에 따라서, 제어부(10)는 사용자 인터페이스(80)와 전기적으로 연결되어, 사용자 인터페이스(80)를 통해 입력되는 사용자의 명령을 수신하고, 수신한 사용자 명령에 따른 동작을 수행할 수도 있다. 예를 들어, 제어부(10)는 지도(20)의 생성 명령이나, 알고리즘(31)의 학습 명령에 따라서 지도(20)의 생성 동작이나, 학습된 알고리즘(32)의 획득 동작 등을 수행할 수도 있다. 또한, 제어부(10)는 지도(20)의 생성 여부, 알고리즘(31)의 학습 종료 여부, 생성된 지도(20) 또는 학습된 알고리즘(32)에 대한 정보 등을 사용자 인터페이스(80)로 전달하여, 사용자 인터페이스(80)가 이들 정보를 사용자에게 제공하도록 제어할 수도 있다.
또한, 제어부(10)는, 제어 명령을 생성하고, 생성한 제어 명령을 구동부(90)로 전달할 수 있다. 이 경우, 생성되는 제어 명령은 사용자의 명령에 대응하는 것일 수 있다.
일 실시예에 의하면, 제어부(10)에 의해 생성되는 제어 명령은, 지도(20)의 생성 과정에 필요한 미리 설정된 동작에 대응하는 것일 수도 있다. 구체적으로 지도(20)의 생성 과정에 있어서, 이동체(1)의 이동이 필요한 경우, 제어부(10)는 이동체(1)의 이동과 관련된 제어 신호를 생성하고, 생성한 제어 신호를 구동부(90)로 전달하여, 이동체(1)가 이동하도록 제어할 수도 있다.
또한, 일 실시예에 의하면, 제어부(10)에 의해 생성되는 제어 명령은, 이동체(1)의 위치 판단 결과에 대응하는 것일 수도 있다. 예를 들어, 이동체(1)의 위치가 학습된 알고리즘(32)을 이용하여 결정되면, 제어부(10)는 결정된 위치에 따라서 이동체(1)가 이동하도록 하거나, 회전하도록 하거나, 또는 정지하도록 할 수도 있다.
제어부(10)는, 일 실시예에 있어서, 중앙 처리 장치(CPU, Central Processing Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit) 및 그래픽 처리 장치(GPU, Graphic Processing Unit) 등 중 적어도 하나를 이용하여 구현된 것일 수 있다. 실시예에 따라서, 제어부(10)는 복수의 물리적 장치를 이용하여 구현될 수도 있으며, 이 경우, 예를 들어, 제어부(10)의 일부의 기능은 중앙 처리 장치에 의해 수행되고, 다른 일부의 기능은 그래픽 처리 장치에 의해 수행되도록 하는 것도 가능하다.
저장부(30)는, 이동체(1)의 동작에 필요한 각종 정보를 저장할 수 있도록 마련된다. 저장부(30)는, 제어부(10)의 호출에 따라서 제어부(10)에 저장된 데이터를 제공하고, 또한 제어부(10)의 제어에 따라서 다양한 정보를 저장할 수 있다. 저장부(30)는, 주 기억 장치 및 보조 기억 장치를 포함할 수 있다.
저장부(30)는, 예를 들어, 램/롬(RAM/ROM), 솔리드 스테이트 드라이브(SSD, Solid State Drive) 또는 플래시 메모리 등과 같은 반도체 저장 매체를 이용하여 구현될 수도 있고, 하드 디스크와 같은 자기 디스크 저장 매체를 이용하여 구현될 수도 있으며, 자기 드럼 저장 매체나 광 기록 매체 등을 이용하여 구현될 수도 있다.
저장부(30)는, 일 실시예에 있어서, 제어부(10)의 제어에 따라 획득되는 학습된 알고리즘(32)을 저장할 수 있다. 또한, 저장부(30)는, 필요에 따라서, 제어부(10)에 의해 지도(20)나, 학습된 알고리즘(32)의 생성에 필요한 소정의 알고리즘(31)을 더 저장할 수도 있다.
지도(20)는, 이동체(1)가 주행할 수 있는 공간(도 3의 99, 이하 주행 공간)에 대한 정보를 소정의 형식으로 나타낸 것을 의미한다.
지도(20)는, 이동체(1)가 주행할 수 있는 공간에 대한 2차원 지도 및 3차원 지도 중 적어도 하나를 포함할 수 있다.
지도(20)는, 이동체(1)가 주행할 전체 공간에 대한 지도(도 9의 29)를 포함할 수도 있다. 또한, 실시예에 따라서, 지도(20)는 전체 공간 중 일부의 공간에 대한 지도(이하 서브 지도라 함. 도 8의 21)를 포함할 수도 있다.
일 실시예에 따르면, 지도(20)는, 제어부(10)에 의해 영상 획득부(50)에 의해 획득된 영상(52)을 기초로 생성된 것일 수도 있다. 이에 대해선 후술한다.
알고리즘(31)은, 소정의 값이 입력되면, 입력 값에 대응하는 값이 출력될 수 있도록 설계될 수 있으며, 프로그램이나 데이터베이스의 형태로 구현될 수 있다. 여기서, 입력 값은 영상 획득부(50)에 의해 획득된 영상(52), 제어부(10)에 의해 획득된 파노라마 영상(54), 통신부(70)에 의해 수신된 신호(72) 및 위성 신호 수신부(75) 중 적어도 하나를 포함할 수 있다. 또한, 출력 값은 지도(20) 상의 일 위치에 대한 정보, 예를 들어, 일 위치에 대한 3차원 좌표를 포함할 수 있다. 또한, 출력 값은 지도(20) 상의 일 위치에 대한 정보와 이동체(1)의 자세에 대한 정보, 일례로 6차원 좌표를 포함할 수도 있다.
알고리즘(31)은, 학습된 알고리즘(32)의 생성에 이용될 수 있다. 일 실시예에 의하면, 알고리즘(31)은 기계 학습 알고리즘을 포함할 수 있다.
학습된 알고리즘(32)은, 영상 획득부(50)에 의해 획득된 영상(52), 제어부(10)에 의해 획득된 파노라마 영상(54), 통신부(70)에 의해 수신된 신호(72) 및 위성 신호 수신부(75) 중 적어도 하나를 알고리즘(31)에 적용하여, 알고리즘(31)을 학습시킴으로써 획득된 알고리즘(31)을 의미한다.
일 실시예에 의하면, 학습된 알고리즘(32)은 제어부(10)에 의해 생성될 수 있다. 또한, 다른 실시예에 의하면, 학습된 알고리즘(32)은 이동체(1)와 별도로 마련된 컴퓨팅 장치 또는 다른 이동체에 의해 생성될 수도 있다. 여기서, 컴퓨팅 장치는 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트 폰, 태블릿 피씨 및 서버 전용 컴퓨팅 장치 중 적어도 하나를 포함 가능하다.
알고리즘(31) 또는 학습된 알고리즘(32)은, 심층 신경망(DNN, Deep Neural Network), 콘볼루션 신경망(CNN, Convolutional Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 심층 신뢰 신경망(DBN, Deep Belief Network) 및 심층 Q-네트워크(Deep Q-Networks) 중 적어도 하나를 단독적으로 또는 조합하여 이용함으로써 구현된 것일 수 있다.
실시예에 따라서, 지도(20)나 알고리즘(31)은, 이동체(1)에 마련된 저장부(30)가 아닌, 다른 외부 장치, 예를 들어 다른 컴퓨팅 장치나 다른 이동체에 마련된 저장 장치에 저장되어 있을 수도 있다. 다른 외부 장치의 저장 장치에 저장된 지도(20)나 알고리즘(31)은, 필요에 따라서 통신부(70)를 통하여 이동체(1)로 전달될 수 있으며, 제어부(10)는 수신한 지도(20)나 알고리즘(31)을 이용하여 알고리즘(31)을 학습시킬 수도 있다.
영상 획득부(50)는, 이동체(1)의 주변을 촬영하여, 이동체(1)의 주변에 대한 적어도 하나의 영상을 획득하도록 할 수 있다.
영상 획득부(50)는, 예를 들어, 전자기파를 이용하여 이동체(1) 주변을 촬영할 수 있다. 여기서, 전자기파는 가시 광선, 적외선, 자외선, 전파, X선, 감마선, 마이크로 웨이브, 또는 극저주파수 전자파(ELF) 등과 같이 이동체(1) 주변에 대한 정보를 획득하기 위해 통상적으로 이용되는 소정의 전자기파를 포함할 수 있다.
구체적으로, 영상 획득부(50)는 통상적인 카메라나 적외선 카메라 등을 이용하여 구현될 수 있다.
이 경우, 일 실시예에 의하면, 영상 획득부(50)는 전 방위 카메라를 이용하여 구현된 것일 수 있다. 전 방위 카메라는, 시야 각이 360도인 촬상 장치로, 이동체(1) 주변의 전 방향에 대한 영상을 촬영하여 전 방위 영상(52)을 획득할 수 있도록 마련된다. 이 경우, 전 방위 카메라는, 실시예에 따라서, 전 방향의 전부를 촬영할 수도 있고, 또는 전 방향의 일부 방향만을 촬영할 수도 있다.
전 방위 카메라는, 예를 들어, 촬상 소자와, 모든 측 방향에서 입사되는 광을 촬상 소자 방향으로 안내하도록 마련된 적어도 하나의 반사경을 포함할 수도 있다. 이 경우, 적어도 하나의 반사경은, 측 방향에서 입사되는 광을 상 방향 또는 하 방향으로 반사시키는 제1 반사경과, 제1 반사경에서 반사된 광을 촬상 소자 방향으로 반사시키는 제2 반사경을 포함할 수도 있다. 모든 측 방향에서 입사된 광은 제1 반사경에서 반사되고, 제1 반사경에서 반사된 광은 제2 반사경에 의해 렌즈를 경유하여 촬상 소자에 입사될 수 있으며, 이에 따라 촬상 소자는 전 방향에 대한 영상(52)을 획득할 수 있게 된다.
통신부(70)는, 외부의 대상, 일례로 신호 송수신기(2)로부터 신호(72)를 수신할 수 있다. 통신부(70)는, 신호 송수신기(2)와의 통신을 위하여, 적어도 하나의 통신 칩, 안테나 및 기판 등과 같은 다양한 부품을 포함할 수 있다. 통신부(70)는, 예를 들어, 와이파이와 같은 적어도 하나의 무선 통신 기술을 이용하여 신호 송수신기(2)와 통신을 수행할 수 있다. 통신부(70)에서 수신된 신호는 제어부(10)로 전달될 수 있다.
위성 신호 수신부(75)는 위성(3)으로부터 전달되는 위성 신호(77)를 수신할 수 있다. 위성 신호 수신부(75)는, 위성(3)과의 통신에 필요한 통신 칩 및 안테나를 포함하는 소정의 위성 통신 모듈을 이용하여 구현 가능하다. 위성 신호 수신부(75)에서 수신한 신호는, 전기적 신호(76)의 형태로 제어부(10)로 전달될 수 있다.
위성 신호 수신부(75)는 필요에 따라서 위성 신호(77)를 기초로 이동체(1)의 위치에 대한 정보, 일례로 지표면 상에서의 이동체(1)의 위치에 대한 좌표를 획득할 수도 있다. 위성 신호(77)를 기초로 한 이동체(1)의 위치 정보의 획득은, 제어부(10)에 의해 수행되는 것도 가능하다.
일 실시예에 따르면, 이동체(1)는 자세 감지부(60)를 더 포함할 수 있다. 자세 감지부(60)는 이동체(1)의 자세를 감지하고, 감지 결과에 대응하는 전기적 신호를 출력하여 제어부(10)로 전달할 수 있다. 여기서, 이동체(1)의 자세는, 이동체의 소정의 방향에 대한 기울어진 정도(Ψ), 소정의 방향과 직교하는 방향에 대한 기울어진 정도(Φ) 및 이동체(1)가 지면에 대한 법선을 기준으로 회전한 정도(θ) 중 적어도 하나를 포함할 수 있다.
자세 감지부(60)는, 예를 들어, 다양한 종류의 기울기 센서나 회전각 센서 등을 이용하여 구현 가능하다. 기울기 센서는, 예를 들어, 반도체 기울기 센서, 가속도 센서 및 자이로 센서 등 중 적어도 하나를 이용하여 구현될 수 있다. 회전각 센서는, 예를 들어, 광학식 인크리멘탈 인코더(incremental encoder), 광학식 앱솔루트 인코더(absolute encoder), 자기 인코더, 레졸버(resolver) 및 포텐셔미터(POT, potentiometer) 중 적어도 하나를 채용하여 구현될 수 있다. 자세 감지부(60)는 이외에도 설계자가 임의적으로 고려할 수 있는 다양한 장치를 이용하여 구현 가능하다.
일 실시예에 의하면, 이동체(1)는 사용자 인터페이스(80)를 더 포함할 수 있다.
사용자 인터페이스(80)는 사용자로부터 이동체(1)의 동작과 관련된 각종 명령을 수신하거나 및/또는 사용자에게 이동체(1)의 동작이나 상태에 대한 각종 정보를 제공할 수 있도록 마련된다.
사용자 인터페이스(80)는, 예를 들어, 물리 버튼, 터치 버튼, 터치 스크린, 터치 패드, 조이스틱, 트랙볼 또는 마우스 장치 등과 같이 소정의 명령을 수신할 수 있는 입력부와, 액정 디스플레이(LCD, Liquid Display) 등과 같은 디스플레이 패널이나 발광 다이오드(LED, Light Emitting Diode) 등과 같은 조명 장치 등을 포함하는 표시부를 포함할 수 있다. 또한, 사용자 인터페이스(80)는, 음성 또는 음향을 출력할 수 있는 사운드 출력부를 포함할 수도 있다. 뿐만 아니라, 사용자 인터페이스(80)는 범용 직렬 버스(USB, Universal Serial Bus)와 같이 연결된 장치로부터 데이터를 수신할 수 있는 연결 단자를 포함할 수도 있다.
사용자 인터페이스(80)를 통해, 이동체(1)는 알고리즘(31) 및 학습된 알고리즘(32) 중 적어도 하나를 사용자로부터 전달받을 수도 있다.
일 실시예에 의하면, 이동체(1)는 구동부(90)를 더 포함할 수도 있다.
구동부(90)는, 제어부(10)의 제어에 따라서 이동체(1)가 소정의 위치에서 다른 위치로 이동하거나, 또는 이동체(1)가 일 지점에서 회전할 수 있도록 한다.
구동부(90)는, 예를 들어, 적어도 하나의 구동 휠 또는 보행용 다리 등과 연결된 모터 또는 액추에이터 등을 이용하여 구현될 수 있다. 여기서 모터는 직류 모터, 교류 모터 또는 직류 브러시리스 모터(BLDC motor, Brushless DC motor) 또는 선형 유도 모터(Linear-Induction Motor) 등을 포함할 수 있다.
이하 도 3 내지 도 12를 참조하여, 이동체(1)가 지도(20) 및 알고리즘(31)을 이용하여 학습된 알고리즘(32)을 획득하는 과정의 일 실시예에 대해 설명하도록 한다.
도 3은 이동체가 주행 가능한 공간의 일례에 대한 평면도이고, 도 4는 전 방위 영상의 일례를 도시한 도면이다.
도 3에 도시된 바와 같이, 이동체(1)는 주행 공간(99) 내의 적어도 하나의 지점에 배치되고, 주행 공간(99) 내에서 이동할 수 있다.
주행 공간(99)은, 예를 들어, 건축물의 내부 공간, 도로, 보도, 터널 및/또는 육교 등을 포함할 수 있다. 여기서 건축물은, 단독 주택, 공동 주택, 상가 건물, 공장, 병원, 학교, 또는 창고 등 다양한 시설물을 포함할 수 있다. 건축물의 내부 공간은 방, 거실, 부엌 또는 공장 내부 등을 포함할 수 있다. 주행 공간(99)은 이동체(1)의 종류나 특성에 따라서 상이하게 정의될 수도 있다. 예를 들어, 이동체(1)가 로봇 청소기라면 주행 공간(99)은, 단독 주택이나 공동 주택의 내부 공간을 포함할 수 있을 것이다. 또한, 다른 예를 들어, 이동체(1)가 무인 운반 차라면, 주행 공간(99)은, 공장 건물의 내부 공간을 포함할 수 있을 것이다. 이외에도 다양한 공간이 이동체(1)가 배치될 수 있는 공간으로 정의될 수 있다.
주행 공간(99)은, 이동체(1)가 지나갈 수 있는 구역(97)과, 지나갈 수 없는 구역(98)을 포함할 수 있다. 이동체(1)가 지나갈 수 없는 구역(98)은, 예를 들어, 벽, 기둥, 가구, 문, 각종 전자 제품, 기계 장치, 각종 공간 및/또는 소정의 구역을 점유할 수 있는 각종 다양한 물건을 포함할 수 있다. 이동체(1)가 지나갈 수 있는 구역(97)은, 이동체(1)가 지나갈 수 없는 구역을 제외한 나머지 구역의 전부 또는 일부를 포함할 수 있다.
이동체(1)는 구동부(90)의 동작에 따라서 주행 공간(99) 내를 이동할 수 있다. 이동체(1)는 주행 공간(99) 내의 일 지점(p1 내지 p4)을 지나가거나 또는 일 지점(p1 내지 p4)에서 정지할 수 있다. 사용자의 조작이나 또는 미리 정의된 설정에 따라, 이동체(1)가 주행 공간(99) 내의 일 지점(p1 내지 P4)에 위치하면, 이동체(1)는 지도(20)의 생성을 개시할 수 있다.
지도(20)의 생성 동작이 개시되면, 이에 응하여 이동체(1)의 영상 획득부(50)는 이동체(1) 주변을 촬영하여 영상을 획득할 수 있다.
일 실시예에 의하면, 영상 획득부(50)는, 이동체(1) 주변의 전 방향에 대한 영상을 획득할 수 있다.
만약 영상 획득부(50)가 소정 시야 각의 영상을 획득할 수 있는 통상적인 카메라를 이용하여 구현된 경우라면, 이동체(1)는, 예를 들어, 전 방향에 대한 영상을 획득할 수 있도록 360도로 회전하고, 영상 획득부(50)는 이동체(1)가 회전하는 도중에 계속해서 주기적으로 촬영을 수행할 수 있다. 이에 따라, 이동체(1)는 전 방향에 대한 영상, 즉 전 방위 영상(52)을 획득할 수 있다. 또한, 다른 예를 들어, 이동체(1)는 일정한 각도 범위에서의 회전 및 정지를 반복할 수 있으며, 영상 획득부(50)는 이동체(1)가 회전을 중단한 시점마다 촬영을 수행함으로써, 전 방위 영상(52)을 획득할 수도 있다.
만약 영상 획득부(50)가 전 방위 카메라를 채용하여 구현된 경우라면, 영상 획득부(50)는, 이동체(1)의 회전 없이 일 회의 촬영만으로도, 도 4에 도시된 바와 같이, 이동체(1) 주변에 대한 전 방위 영상(52)을 획득할 수 있다.
전 방위 카메라에 의해 획득된 전 방위 영상(52)은, 통상적인 카메라로 촬영된 영상보다, 이동체(1)의 주변에 대해 상대적으로 다량의 정보를 포함할 수 있으나, 상대적으로 해상도가 더 낮아질 수도 있다. 그러나, 상대적으로 낮은 해상도는, 위치 결정에 있어서 잡음에 영향을 덜 받게 하는 원인이 될 수도 있다.
영상 획득부(50)에 의해 획득된 영상은 제어부(10)로 전달될 수 있다.
도 5는 파노라마 영상의 일례를 도시한 도면이다.
제어부(10)는, 영상 획득부(50)에서 전달된 영상이 전 방위 카메라에 의해 획득된 전 방위 영상(52)인 경우, 전 방위 영상(52)을 도 5에 도시된 바와 같이 파노라마 영상(54)으로 변환시킬 수 있다.
도 4에 도시된 바를 참조하면, 전 방위 카메라에 의해 획득된 전 방위 영상(52)은 원형, 타원형 또는 고리 형상을 가지게 되고, 원형, 타원형 또는 고리 형상의 내측에 이동체(1) 주변의 대상(피사체)가 원형, 타원형 또는 고리 형상에 대응하여 나타나게 된다. 따라서, 전 방위 영상(52)에서는 촬영된 대상의 왜곡이 발생하게 된다.
일 실시예에 의하면, 제어부(10)는, 영상 왜곡을 보정하기 위하여, 전 방위 영상(52)을 도 5에 도시된 바와 같이 파노라마 영상(54)으로 변환할 수 있다.
제어부(10)는 전 방위 영상(52)을 파노라마 영상(54)으로 변환하기 위하여 통상적으로 이용되는 알고리즘을 이용하여 파노라마 영상(54)을 획득할 수 있다. 예를 들어, 제어부(10)는 전 방위 영상(52)을 복수의 제1 단위 영상(52a 내지 52d)로 분해하고, 각각의 제1 단위 영상(52a 내지 52d)을 소정의 변환 함수에 적용하여, 정사각형 또는 직사각형 형상의 제2 단위 영상(54a 내지 54d)로 변환하여 획득하고, 획득한 제2 단위 영상(54a 내지 54d)을 조합하여 파노라마 영상(54)을 획득할 수 있다. 이 경우, 소정의 변환 함수는 제1 단위 영상(52a 내지 54d)을 내측 방향의 호부터 외측 방향의 호까지 연속적 또는 이산적으로 서로 상이한 비율로 연장, 축소 또는 유지하도록 설계된 것일 수 있다. 제어부(10)는 제2 단위 영상(54a 내지 54d)을 조합함에 있어서 통상적인 영상 스티칭(stitching) 방법을 이용할 수도 있다.
도 6은 신호의 벡터화의 일례를 설명하기 위한 테이블이다. 도 6에서 상단의 열은, 각각의 신호 송수신기(2)를 식별하기 위한 인덱스이고, 하단의 열은, 각각의 신호 송수신기(2)에 대응하는 신호(72)의 세기를 의미한다.
일 실시예에 의하면, 이동체(1)가 주행할 수 있는 공간(99) 내의 일 지점(p1 내지 P4)에 배치되면, 이동체(1)의 통신부(70)는 적어도 하나의 신호 송수신기(2)로부터 신호(72)를 수신하고, 수신한 신호(72)를 전기적 신호(71)의 형태로 제어부(10)로 전달할 수 있다.
통신부(70)의 적어도 하나의 신호(72)의 수신 동작은 영상 획득부(50)의 전 방위 영상(52) 획득과 동시에 또는 전 방위 영상(52)의 획득에 선행하거나 후행하여 수행될 수 있다.
제어부(10)는 수신한 신호(72)에 대한 정보를 획득할 수 있다. 수신한 신호(72)의 정보는, 예를 들어, 수신한 신호(72)의 세기를 포함한다. 상술한 바와 같이, 신호(72)의 세기는 이동체(1)와 신호 송수신기(2) 사이의 거리에 대응하여 변화될 수 있다. 다시 말해서, 신호(72)의 세기는 이동체(1)와 신호 송수신기(2) 사이의 거리에 비례하여 증가하거나 또는 감소할 수 있다.
복수의 신호 송수신기(2)와 통신이 가능한 경우라면, 제어부(10)는, 복수의 신호 송수신기(2) 각각의 신호(72)의 세기를 결정할 수 있다. 여기서 복수의 신호 송수신기(2) 각각의 신호(72)의 세기는, 복수의 신호 송수신기(s1 내지 s11)에서 전달된 신호의 절대적 세기를 의미할 수도 있고, 또는 복수의 신호 송수신기(s1 내지 s11)에서 전달된 신호 사이의 상대적 세기를 의미할 수도 있다.
일 실시예에 의하면, 제어부(10)는 적어도 하나의 신호 송수신기(2) 각각의 신호(72)의 세기를 벡터화할 수 있다.
예를 들어, 제어부(10)는, 도 6에 도시된 바와 같이, 적어도 하나의 신호 송수신기(s1 내지 s11)와, 적어도 하나의 신호 송수신기(s1 내지 s11)에 대응하는 신호의 세기를 상호 매칭시켜 각각의 신호(72)의 세기를 벡터화할 수 있다. 이에 따라 신호 벡터(74)가 획득된다.
일 실시예에 의하면, 이동체(1)가 소정의 공간(99) 내의 일 지점(p1 내지 P4)에 배치되면, 위성 신호 수신부(75)는 위성 신호(77)를 수신할 수도 있다. 제어부(10) 및 위성 신호 수신부(75) 중 적어도 하나는 수신한 위성 신호(77)를 기초로 이동체(1)의 위치에 대한 정보를 획득할 수 있다.
위성 신호 수신부(75)는 위성 신호(77)의 수신 동작을, 영상 획득부(50)의 전 방위 영상(52) 획득과 동시에 수행할 수도 있고, 또는 전 방위 영상(52)의 획득에 선행하거나, 또는 후행하여 수행할 수도 있다.
제어부(1)는 위선 신호(77)를 기초로 상술한 바와 같이 신호 벡터를 획득할 수도 있다.
상술한 통신부(70)에 의한 신호(72)의 수신 동작과, 위성 신호 수신부(75)의 위성 신호(77)의 수신 동작 중 적어도 하나는, 필요에 따라 또는 동작의 수행 가능 여부에 따라서 생략 가능하다. 예를 들어, 이동체(1)의 주변에 적절한 신호 송수신기(2)가 부재한 경우에는 위성 신호 수신부(75)의 위성 신호(77)의 수신 동작만이 수행될 수도 있다. 또한, 이동체(1)가 실내 공간이나 지하 공간과 같이 위성 신호(77)의 수신이 불가능하거나 어려운 지역에 위치한 경우에는, 통신부(70)에 의한 신호(72)의 수신 동작만이 수행될 수도 있다.
통신부(70)에 의한 신호(72)의 수신 동작 및 위성 신호 수신부(75)의 위성 신호(77)의 수신 동작 중 적어도 하나와, 영상 획득부(50)의 영상(52) 획득 동작은 복수의 지점(p1 내지 p4)에서 수행될 수 있다. 즉, 각각의 지점(p1 내지 p4)마다, 영상 획득부(50)는 이동체(1)의 주변에 대한 영상(52)을 촬영하고, 통신부(70) 및 위성 신호 수신부(75) 중 적어도 하나는 신호(72, 77)를 수신할 수 있다.
영상 획득부(50)의 영상(52) 획득 동작, 통신부(70)의 신호(72) 수신 동작 및 위성 신호 수신부(75)의 위성 신호(77) 수신 동작이 수행되는 경우, 이동체(1)는 계속해서 이동할 수도 있고, 또는 각각의 지점(p1 내지 p4)에서 일시적으로 정지할 수도 있다.
영상 획득부(50)에 의해 획득된 영상(52), 제어부(10)에 의해 획득된 파노라마 영상(54), 통신부(70)에 의해 수신된 신호(72) 및 위성 신호 수신부(75)에 의해 수신된 위성 신호(77) 중 적어도 하나는, 각각 저장부(30)에 저장될 수 있다. 이 경우, 동일한 지점(p1 내지 p4)에서 획득된 영상(52), 파노라마 영상(54), 신호(72) 및/또는 위성 신호(77)는 서로 대응되도록 연관되어 저장부(30)에 저장된다.
도 7은 복수의 데이터의 군집화를 설명하기 위한 도면이다.
상술한 바와 같이, 복수의 지점(p1 내지 p4)마다 서로 상이한 세기의 복수의 신호(72, 77)가 수신될 수 있다. 일 실시예에 있어서, 서로 상이한 세기의 복수의 신호(72, 77)가 수신된 경우, 제어부(10)는 복수의 신호(72, 77)를 신호(72, 77)의 세기에 따라서 군집화할 수 있다.
예를 들어, 도 7에 도시된 바를 참조하면, 통신부(70)가 복수의 서로 상이한 지점에서 신호(72a 내지 72i)를 수신한 경우, 제어부(10)는 수신한 신호(72a 내지 72i) 중 서로 동일하거나 유사한 세기의 신호를 묶어 적어도 하나의 집단(G1 내지 G3)을 형성할 수 있다.
예를 들어, 제어부(10)는 수신한 신호(72a 내지 72i) 중 신호(72a 내지 72i)의 세기의 차이가 일정 값보다 작은 신호, 일례로 제1 신호 내지 제3 신호(72a 내지 72c)를 검출하고, 이들을 하나의 집단, 일례로 제1 집단(G1)으로 분류할 수 있다.
또한, 다른 예를 들어, 제어부(10)는 수신한 신호(72a 내지 72i)에 대응하는 신호 벡터(74)를 확인하고, 각 신호(72a 내지 72i)마다 신호 벡터(74)의 패턴을 비교할 수 있다. 제어부(10)는 복수의 신호(72a 내지 72i) 중에서 신호 벡터(74)가 동일하거나 또는 유사한 신호를 적어도 하나 검출하고, 검출된 신호들을 하나의 집단으로 분류하는 것도 가능하다. 보다 구체적으로 예를 들어, 제어부(10)는 도 6에 도시된 바와 같이, 어느 하나의 신호, 일례로 제1 신호(72a)에 대응하는 신호 벡터(74)를 열람하고, 열람 결과, 적어도 하나의 신호 송수신기, 일례로 제1 신호 송수신기(s1), 제5 신호 송수신기 내지 제7 신호 송수신기(s5 내지 s7)에서 수신되는 신호의 세기가 다른 신호 송수신기(s2 내지 s4, s8 내지 s11)보다 상대적으로 크다는 것을 확인한다. 이어서, 제어부(10)는 다른 신호(72b 내지 72i)의 신호 벡터를 열람하고, 이를 제1 신호(72a)에 대응하는 신호 벡터(74)와 비교하여 동일 또는 유사한 패턴을 갖는 신호 벡터를 검출한다. 제어부(10)는 검출된 신호 벡터에 대응하는 신호, 일례로 제2 신호 내지 제3 신호(72b, 72c)를 검출하고, 제1 신호(72a) 및 검출된 신호(72b, 72c)를 집단화 함으로써, 검출된 신호들을 하나의 집단으로 분류할 수도 있다.
제어부(10)는, 복수의 신호(72a 내지 72i)를 어느 하나의 집단, 일례로 제1 집단(G1)으로 분류한 후에, 제1 집단(G1)으로 분류된 신호(72a 내지 72c)가 다른 집단, 일례로 제2 집단(G2) 또는 제3 집단(G3)으로 분류된 신호(72d 내지 72i)와 구별될 수 있도록, 어느 하나의 집단(G1)으로 분류된 신호(72a 내지 72c)에 라벨이나 태그를 부가하거나, 또는 어느 하나의 집단(G1)으로 분류된 신호(72a 내지 72c)를 다른 집단(G2, G3)으로 분류된 신호(72d 내지 72i)와 상이한 영역에 저장할 수도 있다. 여기서, 영역은 저장 공간 내에서 논리적으로 구분된 것일 수도 있고, 또는 물리적으로 구분된 것일 수도 있다.
복수의 신호(72a 내지 72i)는 동일한 지점(p1 내지 p4)에서 획득된 영상(52), 파노라마 영상(54) 및/또는 위성 신호(77)와 연관되어 있으므로, 복수의 신호(72a 내지 72i)를 군집화하는 경우, 영상(52), 파노라마 영상(54) 및/또는 위성 신호(77) 역시 신호(72a 내지 72i)의 군집화에 따라서 군집화될 수 있다.
상술한 신호(72a 내지 72i)의 군집화는 동일하게 또는 일부 변형을 거쳐 영상(52), 파노라마 영상(54) 및/또는 위성 신호(77)의 군집화에도 적용될 수 있다. 제어부(1)는 실시예에 따라서 신호(72a 내지 72i) 대신에 영상(52), 파노라마 영상(54) 및 위성 신호(77) 중 적어도 하나를 군집화할 수도 있다.
실시예에 따라서, 신호의 군집화는 생략될 수도 있다.
도 8은 제1 서브 지도의 일례를 도시한 도면이고, 도 9는 제2 서브 지도의 일례를 도시한 도면이다.
신호(72a 내지 72i)가 적어도 하나의 집단(G1 내지 G3)으로 분류되면, 제어부(10)는 군집화 결과를 이용하여, 복수의 집단(G1 내지 G3)에 대응하는 적어도 하나의 서브 지도(21)를 형성할 수 있다. 서브 지도(21)는, 대상의 일부에 대한 2차원 또는 3차원의 형태의 지도를 의미한다. 여기서, 대상은 이동체(1)가 이동할 공간 내부의 각종 구조물, 일례로 벽, 문, 가구 또는 기계 등을 포함할 수 있다. 또한, 대상은, 이동체(1)가 이동할 공간을 제공하는 건축 구조물 자체의 내부 및 외부 구조를 포함할 수도 있다.
예를 들어, 제어부(10)는 도 8에 도시된 바와 같이 제1 집단(G1)의 신호(72a 내지 72c)에 대응되는 영상(52, 54)을 이용하여 제1 서브 지도(21a)를 생성할 수 있다. 또한, 제어부(10)는 도 9에 도시된 바와 같이, 제2 집단(G2)의 신호(72d 내지 72f)에 대응되는 영상(52, 54)을 이용하여 제2 서브 지도(21b)를 생성할 수 있다. 여기서 제1 집단(G1)의 신호(72a 내지 72c)에 대응되는 영상(52, 54)은, 제1 집단(G1)의 신호(72a 내지 72c)가 수신된 지점과 동일하거나 근사한 지점에서 촬영된 전 방위 영상(52)을 포함할 수도 있고, 또는 동일하거나 근사한 지점에서 촬영된 전 방위 영상(52)으로부터 획득된 파노라마 영상(54)을 포함할 수도 있다. 제2 집단(G2)의 신호(72d 내지 72f)에 대응되는 영상(52, 54) 역시 동일하다.
일 실시예에 따르면, 제어부(10)는 3차원 복원 방법을 이용하여 적어도 하나의 집단(G1 내지 G3)에 대응하는 적어도 하나의 서브 지도를 획득할 수 있다. 3차원 복원 방법은, 예를 들어, 모션으로부터의 구조의 획득 방법(SFM, Structure From Motion)을 포함할 수 있다.
모션으로부터의 구조의 획득 방법은, 대상의 변화로부터 대상에 대한 정보, 일례로 대상의 변화 정도를 측정하고 이를 기초로 대상의 구조를 획득하는 방법을 의미한다. 모션으로부터의 구조의 획득 방법에 의하면, 대상에 대한 2차원 영상으로부터 대상의 3차원 구조를 판단 및 결정할 수 있게 된다. 또한, 모션으로부터의 구조의 획득 방법을 이용하는 경우, 대상의 3차원 구조의 획득하면서, 대상의 3차원 구조의 각 지점에서 대한 절대적 또는 상대적 좌표를 설정 또는 정의할 수도 있게 된다.
하나의 집단(G1 내지 G3)은 복수의 신호(72a 내지 72c, 72d 내지 72f, 72g 내지 72i)를 포함할 수 있으며, 복수의 신호(72a 내지 72c, 72d 내지 72f, 72g 내지 72i)는 각각 복수의 영상(52, 54)에 대응한다. 따라서, 하나의 집단(G1 내지 G3)은 복수의 전 방위 영상(52) 및/또는 파노라마 영상(54)이 대응될 수 있다. 또한, 복수의 전 방위 영상(52) 및/또는 파노라마 영상(54)은 복수의 서로 상이한 지점에서 촬영된 것이므로, 복수의 전 방위 영상(52) 및/또는 파노라마 영상(54) 역시 서로 상이하다. 따라서, 복수의 전 방위 영상(52) 및/또는 파노라마 영상(54)으로부터 대상의 변화를 감지할 수 있게 되므로, 복수의 전 방위 영상(52) 및/또는 파노라마 영상(54)에 대해 모션으로부터의 구조의 획득 방법을 적용하면, 복수의 전 방위 영상(52) 및/또는 파노라마 영상(54)에 나타나는 대상에 대한 3차원 구조를 획득할 수 있게 된다. 아울러, 복수의 전 방위 영상(52) 및/또는 파노라마 영상(54)에 나타나는 대상에 대한 3차원 구조 내의 각 지점에 대한 위치 정보, 일례로 3차원 구조 내의 각 지점에 대한 3차원 좌표 역시 획득할 수 있게 된다.
이외에도 서브 지도(21)의 생성을 위하여, 통상적으로 이용되는 다양한 종류의 3차원 복원 방법이 채용될 수 있다.
도 10은 서브 지도를 기초로 3차원 지도를 획득하는 일례를 도시한 도면이다.
도 10에 도시된 바와 같이, 복수의 서브 지도(21a, 21b)가 획득되면, 제어부(10)는, 복수의 서브 지도(21a, 21b)를 조합하여, 이동체(1)가 주행할 공간에 대한 지도(29)를 획득할 수 있다. 조합에 의해 획득된 지도(29)는 이동체(1)가 이동 가능한 모든 공간에 대한 지도일 수도 있다.
제어부(10)는 복수의 서브 지도(21a, 21b)에서 서로 대응되는 지점(p11 및 p21, p12 및 p22)을 검출하고, 서로 대응되는 지점(p11 및 p21, p12 및 p22)을 결합시킴으로써 복수의 서브 지도(21a, 21b)를 조합할 수 있다. 예를 들어, 제어부(10)는 제1 서브 지도(21a)의 일 단의 적어도 하나의 지점(p11 p12)을 검출하고, 제2 서브 지도(21b)의 타 단의 적어도 하나의 지점(p21, p22)을 검출한 후, 제1 서브 지도(21a)의 일 단의 적어도 하나의 지점(p11 p12)과 제2 서브 지도(21b)의 타 단의 적어도 하나의 지점(p21, p22)을 매칭시켜 복수의 서브 지도(21a, 21b)를 조합할 수 있다. 이 경우, 제어부(10)는, 복수의 서브 지도(21a, 21b) 각각에 존재하는 적어도 하나의 지점의 좌표를 이용하여, 복수의 서브 지도(21a, 21b)를 조합하는 것도 가능하다.
실시예에 따라서, 조합에 의해 획득된 지도(29)는, 이동 가능한 모든 공간 중 일부에 대한 지도일 수도 있다. 만약 복수의 서브 지도(21a, 21b)의 조합에 따라 대상의 일부에 대한 지도가 획득된 경우라면, 제어부(10)는 다른 서브 지도 또는 다른 서브 지도들의 조합에 따라 생성된 대상의 일부에 대한 지도와, 복수의 서브 지도(21a, 21b)의 조합에 따라 대상의 일부에 대한 지도를 조합하여, 이동체(1)가 이동할 공간에 대한 지도(29)를 획득할 수 있다.
이동체(1)가 이동할 공간에 대한 지도(29)의 각 지점(p31, p32)에는 대응되는 좌표가 매핑될 수 있다. 또한, 이동체(1)가 이동할 공간에 대한 지도(29)의 각 지점(p21, p22)에는 대응되는 영상(52), 파노라마 영상(54), 신호(74) 및/또는 위성 신호(77) 역시 매핑될 수 있다.
일 실시예에 따르면, 신호의 군집화는 생략될 수 있으며, 이에 따라 복수의 서브 지도의 생성도 생략될 수도 있다. 이 경우, 제어부(10)는 획득한 모든 영상(52, 54)에 대해 상술한 모션으로부터의 구조의 획득 방법을 적용하여 대상의 전체에 대한 지도(29)를 획득할 수도 있다.
도 11은 학습을 위한 알고리즘의 일례를 설명하기 위한 도면이다. 도 11은 학습을 위한 알고리즘의 일례로 심층 신경망 알고리즘을 도시한 것이다.
제어부(10)는 획득한 지도(20)를 적어도 하나의 알고리즘(31)에 적용하여 알고리즘(31)을 학습시킬 수 있다.
도 11에 도시된 바와 같이 심층 신경망 알고리즘(33)은, 적어도 하나의 은닉 층(34, 35)을 포함할 수 있다.
이하, 심층 신경망 알고리즘(33)이 두 개의 은닉 층(이하 제1 은닉 층(34) 및 제2 은닉 층(35))을 포함하는 실시예를 들어 알고리즘(31)의 학습에 대해 설명하도록 한다. 그러나, 심층 신경망 알고리즘(33)의 은닉 층(34, 35)의 개수나 종류는 이하 설명되는 것에 한정되는 것은 아니다. 실시예에 따라서 심층 신경망 알고리즘(33)은, 셋 이상의 은닉 층을 포함할 수도 있다.
제1 은닉 층(34)은, 소정의 영상(52, 54)이 입력될 수 있다. 제1 은닉 층(34)에 입력되는 영상은, 영상 획득부(50)에 의해 획득된 전 방위 영상(52)일 수도 있고, 또는 제어부(10)에 의해 획득된 파노라마 영상(53)일 수도 있다.
일 실시예에 있어서, 제1 은닉 층(34)은, 적어도 하나의 콘볼루션 층(convolution layer, c1, c2)과, 적어도 하나의 풀링 층(dooling layer, p1, p2)을 포함할 수 있다.
입력된 영상(52, 54)은 제1 콘볼루션 층(c1)으로 입력된다. 제1 콘볼루션 층(c1)에서는, 입력된 영상(52, 54)에 대한 콘볼루션(Convolution)이 수행된다. 제1 콘볼루션 층(c1)에서 수행된 콘볼루션에 의해, 입력된 영상(52, 54)은 크기가 축소될 수도 있고, 또한 그 형태가 일부 변형될 수도 있다.
제1 콘볼루션 층(c1)은 콘볼루션의 수행에 따라서 입력된 영상(52, 54)에 대한 적어도 하나의 피처 맵(feature map)을 출력한다. 보다 구체적으로, 제1 콘볼루션 층(c1)에서는, 입력된 영상(52, 54)의 전부 또는 일부에 콘볼루션 커널(Convolution kernel)이 적용될 수 있으며, 이에 따라 각각의 픽셀에 대한 새로운 픽셀 값이 연산될 수 있다. 이와 같이 연산된 픽셀 값에 의해 피처 맵이 획득된다.
예를 들어, 제1 콘볼루션 층(c1)에서는 입력된 영상(52, 54)을 구성하는 복수의 소자(일례로 픽셀이나 복셀) 중 적어도 하나의 구역이 선택되고, 적어도 하나의 구역에 해당하는 적어도 두 개의 소자, 즉 두 개의 픽셀의 값이 합산되거나 또는 가중합됨으로써, 적어도 하나의 구역에 대응하는 결과 값이 획득될 수 있다. 이와 같은 과정은 적어도 일 회 반복될 수 있다. 이에 따라, 복수의 구역에 대한 결과 값이 결정될 수 있다. 복수의 결과 값은 조합되고, 조합의 결과로 입력된 영상(52, 54)에 대응하는 피처 맵이 획득될 수 있다.
실시예에 따라서, 적어도 하나의 구역은 다른 구역과 중첩될 수도 있다. 다시 말해서, 어느 하나의 선택된 구역에 포함되는 영상(52, 54)의 적어도 하나의 소자는, 다른 하나의 선택된 구역에도 포함될 수 있다.
피처 맵은, 제1 풀링 층(d1)으로 전달된다. 전달되는 피처 맵은, 예를 들어, 2차원 매트릭스의 형태를 가질 수 있다. 실시예에 따라서, 획득된 피처 맵 각각에는 활성화 함수(activation function)가 더 적용될 수도 있다.
제1 풀링 층(d1)에서는 서브 샘플링(sub-sampling)이 수행될 수 있다. 서브 샘플링의 수행에 따라 입력된 피처 맵보다 상대적으로 더 작은 결과 값이 제1 풀링 층(d1)에서 출력될 수 있다.
보다 구체적으로, 제1 풀링 층(d1)에서는 피처 맵의 적어도 하나의 구역이 선택되고, 적어도 하나의 구역 내의 복수의 소자의 값을 기초로 서브 샘플링을 수행된다. 서브 샘플링은, 예를 들어, 평균 풀링(average pooling)을 이용하여 적어도 하나의 구역 내의 복수의 소자들의 값의 평균을 연산하여 결과 값을 획득하거나, 최대값 풀링(max pooling)을 이용하여 복수의 소자들의 값 중 소정의 기준에 해당하는 값, 일례로 최대 값을 선택하여 결과 값을 획득할 수도 있다.
제1 풀링 층(d1)에서의 서브 샘플링 결과 획득된 데이터는, 순차적으로 제2 콘볼루션 층(c2) 및 제2 풀링 층(d2)으로 전달될 수 있다. 제2 콘볼루션 층(c2)에서는 제1 콘볼루션 층(c1)과 동일하게 제1 풀링 층(d1)에서 전달된 결과 데이터에 대한 콘볼루션이 수행된다. 제2 콘볼루션 층(c2)에서 출력된 결과 데이터는 제2 풀링 층(d2)으로 전달될 수 있으며, 제2 풀링 층(d2)에서는 제1 풀링 층(d1)에서와 동일하게 서브 샘플링이 재차 수행될 수 있다.
도 11에는 제1 은닉 층(34)이 두 개의 콘볼루션 층(c1, c2) 및 두 개의 풀링 층(d1, p2)을 포함하는 일례에 대해서 도시되어 있으나, 이는 예시적인 것이다. 실시예에 따라서, 제1 은닉 층(34)은 하나의 콘볼루션 층 및 하나의 풀링 층을 포함할 수도 있고, 또는 셋 이상의 콘볼루션 층 및 셋 이상의 풀링 층을 포함하는 것도 가능하다.
콘볼루션 층(c1, c2) 및 풀링 층(d1, p2)을 통과하여 획득된 결과 데이터는, 제2 은닉 층(35)으로 전달될 수 있다. 제1 은닉 층(34)에서 출력된 결과 데이터는 제2 은닉 층(35)의 입력 값으로 이용된다.
또한, 제2 은닉 층(35)에는 신호 벡터(74)가 더 입력될 수도 있다. 신호 벡터(74)는, 학습된 알고리즘(32)을 이용한 위치 결정 결과가 보다 강인할 수 있도록 한다.
제2 은닉 층(35)은 전 방향 층(feed forward layer)을 포함할 수 있다.
일 실시예에 의하면, 제2 은닉 층(35)에서는 획득된 데이터, 즉 제1 은닉 층(34)의 출력 결과 및 신호 벡터(74)가 인식 및/또는 분류될 수 있다. 제2 은닉 층(35)은 전체적으로 연결된 신경 망(fully connected neural network)을 포함할 수 있다. 전체적으로 연결된 신경 망은, 복수의 뉴런을 포함하며, 복수의 뉴런 중 적어도 두 개는, 입력(즉, 영상(52, 54))과 출력(즉, 위치 정보(39))이 전적으로 연결될 수 있도록(fully connected), 서로 연결되어 있다.
실시예에 따라서, 제2 은닉 층(35)은, 회귀적 방법(regression)을 이용하여 구현 가능하며, 회귀적 방법은 선형 회귀(linear regression) 또는 로지스틱 회귀(logistic regression) 등과 같이 학습 과정에서 이용 가능한 다양한 회귀적 방법을 포함할 수 있다.
제2 은닉 층(35)의 출력에는, 입력된 전 방위 영상(52) 및 파노라마 영상(54) 중 적어도 하나에 대응하는 각각의 지점(p1 내지 p4)에 대한 정보(39)가 적용된다. 각각의 지점(p1 내지 p4)에 대한 정보(39)는, 전 방위 영상(52)의 획득이 수행된 지점(p1 내지 p4)에 대한 삼차원 좌표를 포함할 수 있다. 이 경우, 각각의 지점(p1 내지 p4)에 대한 삼차원 좌표는, 획득된 지도(20)로부터 획득될 수도 있다. 상술한 바와 같이 3차원 복원 방법을 이용하는 경우, 복원된 3차원 구조의 각 지점에 대한 좌표가 획득 가능하며, 이를 기초로 각각의 지점(p1 내지 p4)에 대한 삼차원 좌표 역시 획득될 수 있다.
이에 따라 입력된 영상(52, 54)는, 콘볼루션 층(c1, c2) 및 풀링 층(d1, p2)에 의해 축소된 후, 제2 은닉 층(35)에 입력될 수 있으며, 제2 은닉 층(35)은 입력된 영상(52, 54)과 입력된 영상(52, 54)에 대응하는 신호 벡터(74)가, 입력된 영상(52, 54)에 대응하는 위치의 정보와 서로 연관될 수 있도록 형성된다. 따라서, 영상(52, 54) 및 신호(74)에 대한 위치 정보를 학습한 알고리즘(28)이 획득될 수 있게 된다.
또한, 실시예에 따라서, 제2 은닉 층(35)의 출력 값으로, 각각의 지점(p1 내지 p4)에서의 이동체(1)의 자세에 대한 정보가 더 적용될 수도 있다. 이에 따라, 입력된 전 방위 영상(52) 및 파노라마 영상(54) 중 적어도 하나에 대응하는 위치뿐만 아니라 이동체(1)의 자세까지도 알고리즘(31)에 의해 학습될 수 있게 된다.
도 12는 파노라마 영상의 천이를 설명하기 위한 도면이다.
도 12에 도시된 바와 같이, 일 실시예에 의하면, 심층 신경망 알고리즘(33)에는 복수의 파노라마 영상(54, 541, 542)이 입력될 수 있다. 복수의 파노라마 영상(54, 541, 542)은, 순차적으로 알고리즘(31)에 입력되고, 알고리즘(31)은 입력된 복수의 파노라마 영상(54, 541, 542)에 의해 학습될 수 있다.
이 경우, 입력되는 복수의 파노라마 영상(541, 542) 중 적어도 하나는, 제어부(10)에 의해 획득된 파노라마 영상(54)을 일정한 거리(m1, m2)만큼 천이시켜 획득된 것일 수도 있다.
다시 말해서, 도 5에 도시된 바와 같이, 전 방위 영상(52)을 기반으로 한 파노라마 영상(54)이 획득되면, 획득된 파노라마 영상(54)은 알고리즘(31)에 적용된다.
이어서, 제어부(10)는, 파노라마 영상(54)을 길이 방향으로 소정의 거리(m1)로 천이시키되, 파노라마 영상(54)의 일 말단에 인접한 구역(54a)의 전부 또는 일부는 타 말단(541a2)으로 제1 거리(m1)만큼 이동시켜 제1 천이된 파노라마 영상(541)을 획득할 수 있다. 여기서, 제1 거리(m1)는 사용자, 설계자 또는 제어부(10)에 의해 결정된 것일 수 있다. 제1 천이된 파노라마 영상(541)에서는, 파노라마 영상(54)의 각각의 구역(54b, 54c, 54d)과 동일한 구역(541b, 541c, 541d)은 일 말단 방향으로 제1 거리(m1)만큼 이동되어 나타난다.
제1 천이된 파노라마 영상(541)은, 알고리즘(31) 및/또는 학습된 알고리즘(32)에 적용된다.
또한, 제어부(10)는 제1 천이된 파노라마 영상(541)을, 제1 파노라마 영상(541)의 획득 시에 영상(54)이 천이된 방향과 동일한 방향으로 제2 거리(m2)만큼 이동시켜 제2 천이된 파노라마 영상(542)을 획득할 수 있다. 여기서, 제2 거리(m2)는, 사용자, 설계자 또는 제어부(10)에 의해 결정된 것일 수 있다. 제2 거리(m2)는, 제1 거리(m1)와 동일하게 정의될 수도 있고, 상이하게 정의될 수도 있다.
이에 따라 제1 천이된 파노라마 영상(541)의 일 말단에 위치한 구역(541a1)의 전부 또는 일부는 제2 천이된 파노라마 영상(542)에서 타 말단에 나타나고(541a3), 제1 천이된 파노라마 영상(541)의 각각의 구역(541b, 541c, 541d)은, 제2 천이된 파노라마 영상(542)에서는 제2 거리(m2)만큼 일 말단 방향으로 천이되어 나타난다(541a3, 542b, 542c, 542d).
제2 천이된 파노라마 영상(542)은, 알고리즘(31) 및/또는 학습된 알고리즘(32)에 적용된다.
도 12에는 파노라마 영상(54, 541, 542)의 천이가 2회 수행된 일례에 대해 도시되어 있으나, 파노라마 영상(54, 541, 542)의 천이는 3회 이상 수행될 수도 있다. 제어부(10)는, 천이가 수행된 회수에 대응하는 개수의 파노라마 영상을 획득할 수 있다. 이 경우, 예를 들어, 획득되는 파노라마 영상의 개수는 천이가 수행된 회수와 1의 합으로 주어질 수 있다(전체 파노라마 영상의 개수=천이가 수행된 회수+1). 상술한 바와 같이 3개 이상의 파노라마 영상 각각은, 알고리즘(31) 또는 학습된 알고리즘(32)에 순차적으로 대입될 수 있다. 3개 이상의 파노라마 영상에 의해, 알고리즘(31)은 학습될 수 있다. 또한, 학습된 알고리즘(32)은, 3개 이상의 파노라마 영상에 의해, 더 학습될 수 있다.
이상 제어부(10)에 의해 지도(20)의 생성 및 알고리즘(31)의 학습이 수행되는 일 실시예에 대해 설명하였다. 그러나, 지도(20)의 생성 및 알고리즘(31)의 학습은 반드시 이동체(1)의 제어부(10)에 의해서만 수행되는 것은 아니다. 예를 들어, 지도(20)의 생성 및 알고리즘(31)의 학습 중 적어도 하나는, 이동체(1) 대신에 별도로 마련된 컴퓨팅 장치 및 다른 이동체 중 적어도 하나에 의해 수행되는 것도 가능하다. 이 경우, 통신부(70)는 컴퓨팅 장치 및 다른 이동체 중 적어도 하나로부터 생성된 지도(20) 및 학습된 알고리즘(32) 중 적어도 하나를 수신할 수 있고, 제어부(10)는 수신한 지도(20)를 기초로 알고리즘(31)을 학습시키거나, 및/또는 학습된 알고리즘(32)을 기초로 위치 판단 동작을 수행할 수도 있다.
이하 학습된 알고리즘(32)을 이용하여, 이동체(1)가 자신이 위치한 위치를 결정하는 과정의 일 실시예에 대해 설명하도록 한다.
도 13은 이동체가 주행하고 있는 공간의 일례를 도시한 도면이다.
주행 공간(99)과 관련된 학습된 알고리즘(32)이 획득되고 저장부(30)에 저장된 이후, 이동체(1)는 사용자의 조작이나 미리 정의된 설정에 따라서 주행 공간(99)을 주행하게 된다.
이동체(1)는 사용자의 조작, 사용자 또는 설계자에 의해 미리 정의된 설정 또는 제어부(10)의 임의적 판단에 따라서, 소정의 위치(p40, 이하 위치 결정 지점)에서 위치 결정을 개시한다.
도 14는 이동체가 위치 결정을 위해 획득한 전 방위 영상의 일례를 도시한 도면이고, 도 15는 획득한 전 방위 영상에 대응하는 파노라마 영상의 일례를 도시한 도면이다.
이동체(1)의 영상 획득부(50)는, 위치 개시 결정에 응하여, 위치 결정 지점(p40)에서 이동체(1) 주변에 대한 영상을 획득한다. 영상 획득부(50)는 전 방위 카메라일 수 있으며, 이 경우 획득되는 영상은 도 14에 도시된 바와 같이 전 방위 영상(53)일 수 있다.
이동체(1)의 제어부(10)는, 실시예에 따라서, 상술한 바와 동일하게 전 방위 영상(53)을 파노라마 영상(55)으로 변환할 수 있다. 예를 들어, 알고리즘(31)의 학습이 파노라마 영상(54)을 기반으로 수행된 경우라면, 제어부(10)는 전 방위 영상(53)을 파노라마 영상(55)으로 변환하여, 위치 결정 지점(p40)에 대응하는 파노라마 영상(55)을 획득한다. 만약 알고리즘(31)의 학습이 전 방위 영상(52)을 기반으로 수행된 경우라면, 제어부(10)는 전 방위 영상(53)을 파노라마 영상(55)으로 변환하지 않을 수 있다. 다시 말해서, 제어부(10)는 이동체(1)의 위치 결정을 위하여 위치 결정 지점(p40)에서 획득된 전 방위 영상(53)을 직접 이용할 수도 있다.
도 16은 획득한 신호를 벡터화한 일례를 도시한 도면이다.
또한, 영상 획득부(50)의 영상 획득과 동시에 또는 순차적으로 통신부(70)는 신호 송수신기(2)로부터 신호(72)를 수신할 수 있다. 수신된 신호(72)는 제어부(10)로 전달될 수 있다.
제어부(10)는, 실시예에 따라서, 도 16에 도시된 바와 같이, 수신된 신호(72)를 기초로 신호 벡터(74a)를 생성할 수 있다. 제어부(10)는 상술한 바와 동일하게 적어도 하나의 신호 송수신기(s1 내지 s11)와, 적어도 하나의 신호 송수신기(s1 내지 s11)에 대응하는 신호의 세기를 상호 매칭시켜 위치 결정 지점(p40)에 대응하는 신호 벡터(74a)를 획득할 수 있다.
위치 결정 지점(p40)에 대응하는 전 방위 영상(53) 또는 파노라마 영상(55)이 획득되고, 위치 결정 지점(p40)에 대응하는 신호 벡터(74a)가 획득되면, 제어부(10)는, 전 방위 영상(53)과 신호 벡터(74a)를 학습된 알고리즘(32)에 입력하여 적용하거나, 또는 파노라마 영상(55)과 신호 벡터(74a)를 학습된 알고리즘(32)에 입력하여 적용할 수 있다.
전 방위 영상(53) 및 파노라마 영상(55) 중 어느 하나와, 신호 벡터(74a)가 입력되면 학습된 알고리즘(32)은, 학습 결과에 따라서, 전 방위 영상(53) 및 파노라마 영상(55) 중 어느 하나와, 신호 벡터(74a)에 대응하는 위 치 정보, 일례로 위치에 대한 좌표를 출력할 수 있다.
이에 따라, 제어부(10)는 전 방위 영상(53) 및 파노라마 영상(55) 중 어느 하나와 신호 벡터(74a)에 대응하는 위치 정보를 획득할 수 있으며, 이동체(1)가 획득한 위치 정보에 대응되는 지점(p40)에 존재한다고 판단한다. 이에 따라서, 제어부(10)는 이동체(1)의 위치를 인식 및 결정할 수 있게 된다.
제어부(10)는, 통신부(70)가 수신한 신호(72) 대신에 위성 신호 수신부(75)가 수신한 위성 신호(77)를 학습된 알고리즘(32)에 입력하는 것도 가능하다. 필요에 따라 제어부(10)는 위성 신호(77)를 신호 벡터로 변환한 후, 위성 신호(77)에 대한 신호 벡터를 학습된 알고리즘(32)에 입력할 수도 있다.
또한, 실시예에 따라서, 제어부(10)는 통신부(70)가 수신한 신호(72)와 위성 신호 수신부(75)가 수신한 위성 신호(77)를 모두 학습된 알고리즘(32)에 입력할 수도 있으며, 이 경우, 학습된 알고리즘(32)에 입력 전에 통신부(70)가 수신한 신호(72)와 위성 신호(77)를 모두 신호 벡터로 변환할 수도 있다.
이동체(1)의 위치가 결정되면, 제어부(10)는 결정된 위치(p40)에 상응하여 다양한 동작 및/또는 처리를 수행할 수 있다.
예를 들어, 제어부(10)는 결정된 위치(p40)를 기초로 기존에 설정된 경로 상에 이동체(1)가 존재하는지 판단할 수 있다. 만약 이동체(1)가 기존에 설정된 경로 상에 존재하지 않는다면, 경로의 재설정 필요 여부를 판단하고, 기존에 설정된 목표 지점에 대한 경로를 다시 설정할 수 있다. 이어서, 제어부(10)는, 다시 설정된 경로로 이동체(1)가 이동할 수 있도록, 각 부품, 일례로 구동부(90)에 대한 제어 신호를 생성한 후, 생성한 제어 신호를 대응하는 부품에 전달할 수 있다.
또한, 제어부(10)는 이동체(1)가 충전할 필요성이 존재하는 경우, 결정된 위치(p40)와 충전 장소에 대한 정보를 기반으로 현재의 위치에서 충전 장소까지의 경로를 결정할 수도 있다. 제어부(10)는 결정된 현재의 위치에서 충전 장소까지의 경로를 기초로 이동체(1)가 이동하도록 구동부(90)를 제어할 수 있다.
또한, 제어부(10)는 결정된 위치(p40)에 따라서 이동체(1)의 이동을 정지시키거나, 또는 회전시킬 수도 있고, 결정된 위치(p40)에 따라서 이동체(1)에 탑재된 물건의 하차 여부를 결정할 수도 있다.
이외에도 사용자, 설계자 또는 제어부(10)에 의해 설정된 바에 따라서, 제어부(10)는 이동체(1)의 동작과 관련된 다양한 제어 신호를 생성할 수 있으며, 이동체(1)는 제어부(10)의 제어에 따라서 소정의 동작을 수행할 수 있다.
이하 도 17 내지 도 24를 참조하여, 이동체의 일 실시예로 로봇 청소기에 대해 설명하도록 한다.
도 17은 로봇 청소기의 일 실시예에 대한 사시도이고, 도 18은 로봇 청소기의 일 실시예에 대한 저면도이며, 도 19는 로봇 청소기의 일 실시예의 내부 구조에 대한 평면도이다. 도 20은 로봇 청소기의 일 실시예에 대한 블록도이다. 도 18에는, 도 14의 로봇 청소기(100)로부터 집진통(132)이 분리된 상태가 도시되어 있다.
이하 로봇 청소기(100)에 대해 설명함에 있어서, 로봇 청소기(100)의 중심을 기준으로 흡입 수단이 형성된 방향을 전 방향(front direction)이라 정의하고, 전 방향의 반대 방향을 후 방향이라고 정의한다. 또한, 로봇 청소기(100)가 통상적으로 동작하는 경우에, 지면을 향하는 방향을 하 방향이라고 정의하고, 하 방향의 반대 방향을 상 방향이라고 정의하도록 한다. 또한 전 방향과 후 방향을 잇는 선분과 직교하는 선분의 일 방향을 측 방향이라고 정의한다. 측 방향은 좌측 방향 및 좌측 방향에 대향하는 우측 방향을 포함할 수 있다.
도 17 내지 도 19에 도시된 바를 참조하면, 로봇 청소기(100)는 외관을 형성하는 본체(101)를 포함할 수 있으며, 본체(101)는 로봇 청소기(100)의 전방에 형성되는 제1 본체(110)와, 제1 본체(110)의 후방에 형성되는 제2 본체(130)를 포함할 수 있다.
제1 본체(110)와 제2 본체(130)은 일체형으로 제작된 것일 수도 있고, 개별적으로 제작된 후 결합된 것일 수도 있다. 제1 본체(110)와 제2 본체(130)가 각각 별도로 제작된 후 결합된 경우, 제1 본체(110)와 제2 본체(130)의 사이에는 제1 본체(110)와 제2 본체(130)를 서로 연결시키는 연결 부재(120)가 형성되어 있을 수도 있다.
일 실시예에 의하면, 제1 본체(110)에는, 로봇 청소기(100)의 주행과 관련된 각종 정보를 수집하거나, 또는 바닥면의 먼지가 유입될 수 있는 각종 부품이 마련될 수 있다.
예를 들어, 제1 본체(110)의 저면에는, 먼지가 흡입되는 흡입구(112)를 포함할 수 있다. 흡입구(112)를 통해 흡입된 먼지는 유동하여, 제1 본체(110), 연결 부재(120) 및/또는 제2 본체(130)의 내부에 마련된 적어도 하나의 관체(138a)를 통과하여 집진부(138)의 내부 공간으로 전달될 수 있다. 흡입구(112)는 제1 본체(110)의 좌측 방향에서 우측 방향으로 연장되어 형성 가능하다.
먼지가 흡입되는 흡입구(112)에는 바닥면의 먼지를 포집할 수 있도록 소정 길이의 복수의 돌기들이 외면에 형성된 브러시 모듈(111)이 마련될 수 있다. 브러시 모듈(111)은, 소정의 축을 중심으로 회동 가능한 회동 부재(111b)와, 회동 부재(111b)의 외주면에 소정의 패턴으로 형성되는 적어도 하나의 돌기(111a)를 포함할 수 있다. 회동 부재(111b)는 제1 본체(110)의 저면에 형성된 흡입구(112)의 길이 방향을 따라 형성될 수 있다. 돌기(111a)는 회동 부재(111b)의 회전에 따라 바닥면의 먼지를 쓸어낼 수 있다. 돌기(111a)는 경직된 소재 및/또는 유연한 소재를 이용하여 구현 가능하다.
브러시 모듈(111)은, 회동 부재(111b)의 회전에 따라서, 바닥면의 먼지를 후 방향 및 상 방향 중 적어도 하나의 방향으로 이동시켜, 바닥면의 먼지가 흡입구(112)로 진입하도록 할 수 있다.
일 실시예에 의하면, 제2 본체(101)에는, 포집된 먼지를 저장하거나 또는 로봇 청소기(100)와 관련된 각종 동작을 제어하기 위한 수단이 마련될 수 있다.
제2 본체(130)에는, 본체를 이동시키기 위한 구동 휠(150)이 마련될 수 있다. 구동 휠(150)은 본체의 주행을 위한 제1 구동 휠(151)과, 제2 구동 휠(152)을 포함할 수 있다. 제1 구동 휠(151)과 제2 구동 휠(152)은, 예를 들어, 제2 본체(130)의 양 측면에 서로 대향하여 설치 가능하다.
각각의 구동 휠(151, 152)은, 제2 본체(130)의 양 측면에 소정의 방향(R11, R12, R21, R22)으로 회동 가능하게 결합될 수 있다. 예를 들어, 제1 구동 휠(151)은 제2 본체(130)의 좌측 방향에 설치되고, 제2 구동 휠(152)은 제2 본체(130)의 우측 방향에 설치될 수 있다.
제1 구동 휠(151) 및 제2 구동 휠(152)은 서로 동일한 방향으로 회전할 수도 있고, 또는 서로 반대 방향으로 회전할 수도 있으며, 제1 구동 휠(151) 및 제2 구동 휠(152)의 회전 방향(R11, R12, R21, R22)에 따라서, 로봇 청소기(100)는, 전진, 후진, 제자리 회전, 선회 또는 주행 방향 전환 등의 동작을 수행할 수 있다.
또한, 로봇 청소기(100)는, 도 20에 도시된 바와 같이, 제1 구동 휠(151)을 위한 구동력을 생성하는 제1 구동부(181)와, 제2 구동 휠(152)을 위한 구동력을 생성하는 제2 구동부(182)를 포함할 수 있다. 제1 구동부(181)와 제2 구동부(182)는 모터나 액추에이터를 이용하여 구현 가능하다. 여기서 모터는 직류 모터, 교류 모터 또는 직류 브러시리스 모터 또는 선형 유도 모터 등과 같이 휠(151, 152)을 회전시키기 위해 통상적으로 사용되는 다양한 종류의 모터를 포함할 수 있다.
또한, 로봇 청소기(100)는, 필요에 따라 제1 구동 감지부(183) 및 제2 구동 감지부(184)를 더 포함할 수도 있다. 제1 구동 감지부(183) 및 제2 구동 감지부(184)는, 각각 제1 구동 휠(151) 및 제2 구동 휠(152)의 동작을 감지하고, 감지 결과를 제어부(190)에 전달할 수 있다. 제어부(190)는 수신한 감지 결과를 기초로 제1 구동부(181) 및 제2 구동부(182)를 제어함으로써, 로봇 청소기(100)가 원하는 바에 따라 적절하게 주행하도록 할 수 있다. 제1 구동 감지부(183) 및 제2 구동 감지부(184)는, 예를 들어, 회전 인코더나 포텐셔미터 등을 이용하여 구현될 수 있다.
또한 제2 본체(130)의 저면에는, 로봇 청소기(100)를 지지하면서, 로봇 청소기(100)의 회전 또는 방향 전환 동작 등을 지원하기 위한 적어도 하나의 롤러(139)가 설치되어 있을 수 있다. 롤러(139)는 360도로 회전이 가능하도록 마련된 구형 부재를 이용하여 구현 가능하다.
제2 본체(130)의 상면에는, 사용자로부터 소정의 명령을 입력 받기 위한 버튼이나 노브 등의 입력부(121)와, 로봇 청소기(100)의 상태를 표시하거나 사용자에게 필요한 각종 정보를 제공하는 표시부(122) 중 적어도 하나가 더 마련될 수도 있다. 입력부(121)나 표시부(122)는 실시예에 따라 생략 가능하다.
로봇 청소기(100)의 외장에는 영상 획득부(170)가 고정 설치될 수 있다.
영상 획득부(170)는, 로봇 청소기(100)의 전 방향, 측 방향 및 후 방향 중 적어도 하나의 방향에 대한 영상을 획득할 수 있도록 마련된다.
영상 획득부(170)는, 예를 들어, 전 방위 카메라를 이용하여 구현 가능하다. 전 방위 카메라로 구현된 경우, 영상 획득부(170)는, 도 17에 도시된 바와 같이, 360도 방향으로 영상을 촬영할 수 있도록 제2 본체(130)의 상단에 외부로 노출되어 설치될 수 있다. 또한, 실시예에 따라서, 전 방위 카메라로 구현된 영상 획득부(170)는, 제1 본체(110)의 상단에 설치될 수도 있고, 제1 본체(110)와 제2 본체(130)를 연결하는 연결 부재(120)의 상단에 설치될 수도 있다.
영상 획득부(170)는 통상적인 카메라나 적외선 카메라 등을 이용하여 구현될 수도 있다. 이 경우, 영상 획득부(170)는 도 17에 도시된 바와 같이 제2 본체의 상단에 설치될 수도 있고, 제1 본체(100) 또는 연결 부재(120)의 상단에 설치될 수도 있다. 통상적인 카메라나 적외선 카메라를 이용하여 구현된 경우, 영상 획득부(170)는 소정의 방향, 예를 들어 전방이나 후방을 향하도록 제1 본체(110), 연결 부재(120) 또는 제2 본체(130)의 외면에 설치될 수 있다.
영상 획득부(170)는, 도선이나 회로 등을 통해서, 제2 본체(130)의 내측에 설치된 기판(135)과 전기적으로 연결될 수 있다.
도 18에 도시된 바에 따르면, 제2 본체(130)의 내측에는, 로봇 청소기(100)의 각종 전자적 제어를 위한 기판(135)이 설치될 수 있다.
기판(135)에는 로봇 청소기(100)의 동작 제어와 관련된 각종 부품이 설치될 수 있다. 예를 들어, 기판(135)에는, 제어부(190), 주기억장치(192), 자세 감지부(193), 위성 신호 수신부(194), 저장부(195), 또는 통신부(199)의 기능을 수행하기 위한 적어도 하나의 반도체 칩, 회로, 안테나 및/또는 관련 부품 등이 설치될 수 있다.
제2 본체(130)의 내측에는 먼지를 흡입하여 보관하는 집진부(138)를 포함할 수 있다. 집진부(138)는 먼지를 흡입하는 동력을 제공하는 흡입 모터(134)와, 흡입 모터(134)에 의해 동작하는 송풍팬(137)과, 흡입된 먼지가 누적되는 집진통(132)을 포함할 수 있다.
집진통(132)은, 도 17에 도시된 바와 같이, 적어도 일부분이 제2 본체(130)의 외부로 노출되도록 마련될 수 있다. 필요에 따라, 집진통(132)은 사용자가 집진통(132)을 제2 본체(130)와 분리 가능하도록 마련될 수 있으며, 이 경우, 사용자의 편의를 위하여 집진통(132)에는 소정 형상의 파지부(131)가 마련될 수 있다. 집진통(132)의 외장은, 투명 재질의 소재, 일례로 유리나 합성 수지를 이용하여 구현될 수 있으며, 이에 따라 사용자는 집진통(132) 내부에 누적된 먼지를 육안으로 확인할 수 있게 된다.
송풍팬(137)은 공기의 흐름을 생성하여, 외부의 먼지가 흡입된 후 집진통(132) 내부로 이동될 수 있도록 한다. 송풍팬(137)은 흡입 모터(134)로부터 구동력을 얻을 수 있다.
흡입 모터(134)는, 송풍팬(137)에 동력을 제공한다. 흡입 모터(134)는, 예를 들어, 직류 모터, 교류 모터 또는 직류 브러시리스 모터 또는 선형 유도 모터 등을 채용하여 구현 가능하다. 흡입 모터(134)는 제어부(190)의 제어에 따라 동작을 개시할 수 있으며, 흡입 모터(134)의 구동에 따라 송풍팬(137)이 적어도 하나의 방향으로 회전하고, 이에 따라 로봇 청소기(100)는 바닥면의 먼지를 포집할 수 있게 된다.
제어부(190)는, 로봇 청소기(100)의 전반적인 동작을 제어할 수 있다.
일 실시예에 의하면, 제어부(190)는, 상술한 바와 같이, 영상 획득부(170)에서 획득된 영상과, 통신부(199)에서 수신된 신호를 이용하여 지도(196)를 생성할 수 있다.
아 경우, 제어부(190)는, 영상 획득부(170)에서 획득된 영상이 전 방위 영상인 경우, 전 방위 영상을 파노라마 영상으로 변환할 수 있다. 전 방위 영상을 파노라마 영상으로 변환하는 과정은, 지도(196)의 생성에 선행하여 수행될 수도 있고, 또는 지도(196)의 생성에 후행하여 수행될 수도 있다.
또한, 제어부(190)는, 설정된 바에 따라서, 통신부(199)가 복수의 신호 송수신기로부터 수신한 서로 상이한 신호를 신호 벡터로 변환할 수도 있다.
또한, 제어부(190)는, 복수의 신호 또는 복수의 신호 벡터를 군집화하여 복수의 집단을 생성하고, 각각의 집단마다 대응되는 서브 지도를 생성하고, 서브 지도를 조합하여, 지도(196)를 생성할 수도 있다.
일 실시예에 의하면, 제어부(190)는 생성된 지도(196)를 알고리즘(197)에 저장하여 학습된 알고리즘(198)을 획득할 수도 있다.
구체적으로, 제어부(190)는 지도(196)로부터 적어도 하나의 지점을 추출하고, 적어도 하나의 지점에 대응하는 영상(전 방위 영상 또는 파노라마 영상)과 신호(또는 신호 벡터)를 알고리즘(197)에 순차적으로 또는 동시에 적용함으로써 알고리즘(197)의 학습이 수행되도록 할 수도 있다. 이 경우, 제어부(190)는 지도(196) 상에서 정의 또는 설정된 모든 지점에 대한 영상과 신호를 알고리즘(197)에 적용함으로써, 학습된 알고리즘(198)을 획득할 수도 있다. 실시예에 따라서, 제어부(190)는 파노라마 영상을 입력하는 경우, 파노라마 영상을 천이시켜 적어도 하나의 천이된 파노라마 영상을 획득하고, 획득한 파노라마 영상을 동시에 또는 순차적으로 알고리즘(197)에 입력할 수도 있다.
지도(196)의 생성 및 알고리즘(197)의 학습은, 일 실시예에 따르면, 상술한 바와 같이 로봇 청소기(100)의 제어부(190)에 의해 수행될 수도 있고, 또는 다른 실시예에 따르면, 로봇 청소기(100)와 별도로 마련된 컴퓨팅 장치나 다른 로봇 청소기에 의해 수행되는 것도 가능하다.
또한, 일 실시예에 따르면, 제어부(190)는 학습된 알고리즘(198)을 기초로 로봇 청소기(100)의 위치를 결정할 수도 있다. 구체적으로, 제어부(190)는, 영상 획득부(170)에서 획득된 영상과 통신부(199)가 수신한 신호(및/또는 위성 신호 수신부(194)에 의해 수신된 위성 신호)를 학습된 알고리즘(198)에 입력하고, 영상과 신호의 적용에 따라 학습된 알고리즘(198)에서 출력되는 결과 값, 즉 입력된 영상과 신호에 대응하는 위치 정보를 획득함으로써, 로봇 청소기(100)의 위치를 결정할 수도 있다. 또한, 제어부(190)는 학습된 알고리즘에 영상과 신호를 입력함으로써, 로봇 청소기(100)의 자세 역시 결정할 수도 있다.
이 경우, 제어부(190)는, 영상 획득부(170)에서 획득된 전 방위 영상을 학습된 알고리즘(198)에 입력할 수도 있고, 또는 전 방위 영상을 파노라마 영상으로 변환한 후 학습된 알고리즘(198)에 입력할 수도 있다. 파노라마 영상을 입력하는 경우, 제어부(190)는 파노라마 영상을 천이시키고, 천이된 파노라마 영상을 학습된 알고리즘(198)에 입력할 수도 있다.
또한, 필요에 따라서, 제어부(190)는 통신부(199)가 수신한 신호를 신호 벡터로 변환한 후 학습된 알고리즘(198)에 입력할 수도 있다.
제어부(190)의 동작 및 기능 등은, 이동체(1)의 제어부(10)를 통해 기 설명한 바 있으므로, 이하 자세한 내용은 생략하도록 한다.
주기억장치(192)는, 제어부(190)의 동작에 필요한 각종 데이터를 저장하여, 제어부(190)의 동작을 보조할 수 있다. 주기억장치(192)는 롬(ROM) 또는 램(RAM)을 이용하여 구현 가능하다.
주기억장치(192)는, 전 방위 영상, 파노라마 영상, 지도(196), 알고리즘(197), 학습된 알고리즘(198), 통신부(199)에서 수신된 신호 및/또는 신호 벡터 등을, 제어부(190)가 지도(196) 생성, 알고리즘(197)의 학습 및/또는 위치 결정 동작을 수행하는 동안, 일시적으로 저장하여, 제어부(190)가 보다 신속하게 상술한 동작을 수행할 수 있도록 한다.
자세 감지부(193)는, 로봇 청소기(100)의 자세를 감지한다. 로봇 청소기(100)의 자세는, 전 방향에 대한 기울기, 측 방향에 대한 기울기 및 로봇 청소기(100)의 회전 정도 중 적어도 하나를 포함할 수 있다.
자세 감지부(193)는, 반도체 기울기 센서, 가속도 센서, 자이로 센서 및 회전각 센서 중 적어도 하나를 이용하여 구현 가능하다.
자세 감지부(193)에서 감지된 신호는, 로봇 청소기(100)의 위치에 대한 정보와 더불어 알고리즘(197)의 학습에 있어서 출력 값으로 적용될 수 있다.
위성 신호 수신부(194)는 위성 신호를 수신할 수 있다. 위성 신호 수신부(194)는, 다양한 종류의 항법 시스템 기술을 기반으로 위선 신호를 수신할 수 있도록 마련될 수 있다. 위성 신호 수신부(194)가 수신한 위성 신호는 제어부(190)로 전달될 수 있다. 제어부(190)는, 통신부(199)가 수신한 신호와 함께, 또는 통신부(199)가 수신한 신호 대신에, 위성 신호를 지도(196) 생성, 알고리즘(197)의 학습 및 로봇 청소기(100)의 위치 결정에 이용할 수도 있다.
저장부(195)는, 제어부(190)의 동작에 필요한 각종 데이터나 프로그램을 저장할 수 있다. 저장부(195)는, 예를 들어, 학습된 알고리즘(198)을 저장할 수 있으며, 필요에 따라서, 지도(196) 및 알고리즘(197) 중 적어도 하나를 더 저장할 수도 있다. 지도(196), 알고리즘(197) 및 학습된 알고리즘(198)은 기 설명하였으므로, 자세한 내용은 이하 생략한다.
저장부(195)는, 반도체 저장 장치, 자기 디스크 저장 장치 또는 자기 드럼 저장 장치 등을 이용하여 구현 가능하다.
통신부(199)는, 외부의 신호 송수신기(미도시)로부터 전자기파 등을 수신하여 신호 송수신기와 통신을 수행할 수 있다. 여기서, 외부의 신호 송수신기는, 와이파이 공유기를 포함할 수 있으며, 필요에 따라 통신 모듈이 설치된 도킹 스테이션을 포함할 수도 있다.
통신부(199)는, 적어도 하나의 통신 칩, 안테나 및 기판 등의 다양한 부품을 이용하여 구현 가능하다. 통신부(70)는, 예를 들어, 와이파이, 와이파이 다이렉트, 지그비, 블루투스, 저전력 블루투스, 근거리 장 통신 또는 이동 통신 등과 같은 적어도 하나의 무선 통신 표준을 이용하여 신호 송수신기와 통신을 수행할 수 있다.
입력부(121)는 사용자로부터 각종 명령을 입력 받도록 마련되고, 표시부(122)는 사용자에게 각종 정보를 시각적으로 제공하도록 마련된다.
입력부(121)는, 예를 들어, 로봇 청소기(100)가 주행할 구역에 대한 지도 및 학습에 이용될 알고리즘(197) 중 적어도 하나를 입력 받을 수 있다. 입력부(121)는 물리 버튼, 터치 버튼, 터치 스크린, 조이스틱, 트랙볼, 범용 직렬 버스(USB, Universal Serial Bus) 등과 같은 각종 입력 단자를 이용하여 구현 가능하다.
표시부(122)는, 가상 데이터의 획득에 이용되는 지도에 대한 정보나, 학습 여부, 학습 종료 여부 등 로봇 청소기(100)의 동작과 관련된 각종 정보를 표시할 수 있다. 표시부(122)는, 액정 디스플레이(LCD, Liquid Crystal Display)와 같은 소정의 디스플레이 패널을 이용하여 구현될 수도 있다. 또한 표시부(122)는, 발광 다이오드(LED, Light Emitting Diode) 등과 같은 조명 장치를 이용하여 구현될 수도 있다. 입력부(121)로 터치 스크린이 이용되는 경우, 별도의 표시부(122)는 생략될 수도 있다.
제2 본체(130)의 내측에는, 로봇 청소기(1)의 동작에 필요한 전력을 공급하는 전원(123)이 마련될 수 있다. 일 실시예에 의하면, 전원(123)은 집진부(138)의 후방에 위치하도록 배치될 수 있다. 전원(123)은, 배터리를 포함할 수 있으며, 배터리는 재충전이 가능한 2차 배터리일 수 있다. 배터리는 본체(101)가 별도로 마련된 도킹스테이션에 결합된 경우 도킹스테이션으로부터 공급되는 상용 전력에 의해 충전된다.
이하 로봇 청소기(100)의 동작을 보다 구체적으로 설명한다.
도 21은 로봇 청소기의 동작의 일례를 설명하기 위한 제1 도이고, 도 22는 로봇 청소기의 동작의 일례를 설명하기 위한 제2 도이다. 도 23은 로봇 청소기의 동작의 일례를 설명하기 위한 제3 도이고, 도 24는 로봇 청소기의 동작의 일례를 설명하기 위한 제4 도이다.
도 21에 도시된 바와 같이 로봇 청소기(100)는, 주행 공간(99) 내의 지나갈 수 있는 구역(97) 내에서 소정의 경로(200)를 따라 이동할 수 있다. 이 경우, 로봇 청소기(100)는 미리 정의된 주행 패턴에 따라 주행할 수도 있고, 사용자의 조작에 따라 주행할 수도 있다. 또한, 로봇 청소기(100)는 제어부(100)의 임의적 선택에 따라 주행할 수도 있다.
로봇 청소기(100)가 지도(196) 생성 및 알고리즘(197) 학습 동작을 수행이 개시되면, 로봇 청소기(100)는 미리 정의되거나 또는 임의의 제1 지점(201)에서 영상 촬영 및 수신한 신호의 기록 동작을 수행한다.
일 실시예에 의하면, 로봇 청소기(100)는 미리 정의되거나 또는 임의의 제1 지점(201)에 도달하면, 이동을 중단하지 않고, 영상 획득부(170)를 이용하여 영상 촬영을 수행할 수 있다.
다른 일 실시예에 의하면, 도 22에 도시된 바와 같이, 로봇 청소기(100)는 미리 정의되거나 또는 임의의 제1 지점(201)에서 정지하고, 영상 획득부(170)를 이용하여 로봇 청소기(100) 주변의 모든 방향에 대한 영상을 획득할 수도 있다. 로봇 청소기(100)에 의해 촬영된 영상에는 대상, 일례로 지나갈 수 없는 구역(98)을 이루는 각종 구조물이 나타날 수 있다.
획득된 영상은 전 방위 영상일 수 있다.
주변에 대한 영상 획득과 동시에 또는 이시에 로봇 청소기(100)의 제어부(190)는, 적어도 하나의 신호 송수신기에서 전달된 신호의 세기를 기록한다.
제1 지점(201)에서의 영상 촬영 및 수신한 신호의 기록 동작이 종료되면, 도 23에 도시된 바와 같이, 로봇 청소기(100)는 계속해서 소정의 경로(202)를 따라 주행 공간(99)을 주행할 수 있다. 만약 로봇 청소기(100)가 제1 지점(201)에서 주행을 중단한 경우라면, 로봇 청소기(100)는 구동 휠(151, 152)을 다시 회전시켜 주행을 재개할 수 있다.
미리 정의되거나 또는 임의적으로 선택된 제2 지점(203)에 도달하면, 로봇 청소기(100)는 영상 촬영 및 수신한 신호의 기록 동작을 반복해서 수행할 수 있다. 이에 따라 이동체(1) 주변의 또 다른 영상과 신호가 획득 및 저장된다.
로봇 청소기(100)는, 또한 상술한 동작을 반복하여 복수의 지점에서 영상과 신호를 획득할 수 있다.
설정된 바에 따라서, 로봇 청소기(100)는, 전 방위 영상 또는 신호가 획득되고 일정 기간 이내에, 로봇 청소기(100)가 다시 이동(202)을 수행하기 전에, 및/또는 로봇 청소기(100)가 계속해서 이동(202)하는 도중에, 전 방위 영상을 파노라마 영상으로 변환하거나, 또는 적어도 하나의 신호 송수신기에서 전달된 신호를 신호 벡터로 변환할 수 있다. 또한, 파노라마 영상 및 신호 벡터의 획득 중 적어도 하나는, 로봇 청소기(100)가 충분히 복수의 지점에 대응하는 복수의 전 방향 영상 및 신호를 획득한 이후에 수행될 수도 있다.
이어서, 이동체(1)는 영상과 신호를 이용하여 지도(196)를 생성하고, 생성한 지도(196)를 알고리즘(197)에 대입하여 학습된 알고리즘(198)을 획득할 수 있다. 지도(196)의 생성 및 알고리즘(197)의 학습은 로봇 청소기(100)가 소정의 경로(200, 202)를 따라 이동하는 도중에 수행될 수도 있고, 또는 영상 및 신호의 획득이 수행된 각각의 지점(201, 203)마다 수행될 수도 있다. 또한, 지도(196)의 생성 및 알고리즘(197)의 학습은 로봇 청소기(100)가 충분히 복수의 지점에 대응하는 복수의 전 방향 영상 및 신호를 획득한 이후에 수행될 수도 있다.
학습된 알고리즘(198)이 획득되어 저장된 후, 로봇 청소기(100)가 로봇 청소기(100)의 위치를 판단할 필요가 발생하면, 로봇 청소기(100)는 경로(210)를 이동하는 도중에 또는 소정의 지점(211)에 정지해서 주변에 대한 영상을 획득하고 또한 신호 송수신기로부터 전달되는 신호를 기록한다.
이어서, 로봇 청소기(100)는 획득한 영상과 신호를 학습된 알고리즘(198)에 입력하여 위치 정보에 대한 출력 값을 얻는다. 이에 따라, 로봇 청소기(100)는 로봇 청소기(100)의 현재의 위치에 대한 정보를 획득할 수 있다. 필요에 따라, 로봇 청소기(100)는 학습된 알고리즘(198)에 입력하기 전에, 획득한 전 방위 영상을 파노라마 영상으로 변환하고, 적어도 하나의 신호 송수신기에서 전송된 신호를 기반으로 신호 벡터를 생성하고, 생성한 파노라마 영상과 신호 벡터를 학습된 알고리즘(198)에 대입할 수도 있다.
이와 같이, 로봇 청소기(100)는, 전 방위 영상과 수신되는 신호를 기반으로 알고리즘(197)을 학습시켜, 학습된 알고리즘(198)을 획득하고, 획득한 학습된 알고리즘(198)을 기반으로 위치 추정/결정을 수행함으로써, 주행 공간(99) 내의 환경의 변화, 일례로 조도의 변화 등에도 불구하고 로봇 청소기(100)의 현재의 위치를 보다 적절하고 강인하게 인식할 수 있게 된다.
이하 도 25 및 도 26을 참조하여, 이동체의 제어 방법의 일 실시예에 대해 설명한다.
도 25는 이동체의 제어 방법의 일 실시예에 대한 제1 흐름도이다.
도 25에 도시된 바에 의하면, 이동체는 미리 정의된 바에 따라서 또는 사용자나 설계자의 명령 입력 등에 따라서 지도 생성 동작을 개시한다(300).
이동체는 적어도 하나의 지점을 따라 이동할 수 있으며, 실시예에 따라서 적어도 하나의 지점 각각마다 정지할 수 있다(301).
이동체는 각각의 지점에서 전 방위 영상 및 신호를 획득할 수 있다(302). 전 방위 영상은 전 방위 카메라를 이용하여 획득될 수도 있고, 또는 통상적인 카메라나 적외선 카메라를 이용하여 이동체를 각 지점에서 회전시키면서 획득될 수도 있다. 획득된 신호는 신호 송수신기에서 전달된 신호 및 위성에서 전달된 위성 신호 중 적어도 하나를 포함할 수 있다.
신호 송수신기에서 전달된 신호는 이동체의 위치에 따라서 세기가 변화할 수 있다. 보다 구체적으로 획득된 신호의 세기는 이동체 및 신호 송수신기의 거리에 의해 변화할 수 있다. 신호 송수신기에서 전달된 신호는, 예를 들어, 와이 파이 신호, 와이파이 다이렉트 신호, 지그비 신호, 블루투스 신호, 저전력 블루투스 신호 및 근거리 장 통신 신호 중 적어도 하나를 포함 가능하다.
실시예에 따라, 이동체는, 각각의 지점에서 자이로 센서와 같은 자세 감지부를 이용하여 이동체의 자세에 대한 정보를 더 획득할 수도 있다.
필요에 따라서, 이동체는 전 방위 영상을 파노라마 영상을 변환할 수도 있다. 또한, 이동체는 수신한 신호를 벡터화할 수도 있다. 구체적으로 예를 들어, 이동체는 복수의 신호 송수신기에서 전송된 신호를 조합하여 신호 벡터를 생성함으로써 수신한 신호를 벡터화할 수 있다.
일 실시예에 의하면, 이동체는 적어도 하나 지점에서 획득한 적어도 하나의 전 방위 영상 및 적어도 하나 신호를 군집화하여 적어도 하나의 집단을 획득할 수 있다(303).
적어도 하나의 집단이 생성되면, 이동체는 소정의 3차원 복원 방법, 예를 들어, 모션으로부터의 구조의 획득 방법을 이용하여 적어도 하나의 집단에 대응하는 적어도 하나의 서브 지도를 획득할 수 있다(304). 여기서 서브 지도는 2차원 지도일 수도 있고, 3차원 지도일 수도 있다.
적어도 하나의 서브 지도가 획득되면, 이동체는 적어도 하나의 서브 지도를 조합할 수 있으며(305), 이에 따라 이동체가 이동할 주행 공간에 대한 2차원 또는 3차원의 전체 지도가 획득될 수 있다.
이동체는 전체 지도를 이루는 데이터의 전부 또는 일부를 소정의 알고리즘에 적용하여(310), 알고리즘을 학습시킬 수 있다(311). 이에 따라 학습된 알고리즘이 획득된다(312).
예를 들어, 이동체는 지도에 포함된 이동체 주변의 영상, 수신된 신호 및 3차원 복원 방법에 따라 획득되는 이동체의 위치를, 소정의 알고리즘에 적용하여 학습된 알고리즘을 획득할 수 있다. 이 경우, 지도에 포함된 이동체 주변의 영상 및 수신된 신호는, 알고리즘에 입력 값으로 적용되고, 이동체의 위치는 알고리즘의 출력 값으로 적용된다. 이동체의 위치는 단계 306에서 획득된 지도로부터 추출되거나 또는 획득된 지도로부터 추출된 위치 정보, 일례로 좌표를 이용하여 획득된 것일 수 있다.
필요에 따라, 이동체는 수신된 신호와 더불어, 또는 수신된 신호 대신에 위성 신호를 알고리즘의 입력 값으로 적용하여 학습된 알고리즘을 획득할 수도 있다.
또한, 실시예에 따라서, 이동체는, 이동체의 위치뿐만 아니라 이동체의 자세에 대한 정보를 출력 값으로 알고리즘에 더 적용할 수도 있다.
데이터의 전부 또는 일부가 적용되는 알고리즘 및 학습된 알고리즘은, 심층 신경망, 콘볼루션 신경망, 순환 신경망, 심층 신뢰 신경망 및 심층 Q-네트워크 중 적어도 하나를 단독적으로 또는 조합하여 이용함으로써 구현된 것일 수 있다.
학습된 알고리즘은 이동체에 마련된 저장부에 일시적 또는 비일시적으로 저장되고, 이동체 내의 제어부의 호출에 따라 제어부에 제공된다. 제어부는 호출한 학습된 알고리즘을 이용하여 이동체의 위치를 판단할 수 있다.
도 26은 이동체의 제어 방법의 일 실시예에 대한 제2 흐름도이다.
도 26에 도시된 바와 같이 이동체의 위치 판단 동작이 시작되면(320), 이동체는 주행하면서 또는 위치 판단을 수행할 지점에서 정지하여 이동체 주변의 전 방위 영상과 신호를 획득할 수 있다(321). 여기서 신호는 신호 송수신기로부터 전달된 신호일 수도 있고, 및/또는 위성으로부터 전달된 위성 신호일 수도 있다.
이동체는 상술한 단계 312에서 획득한 학습된 알고리즘에 전 방위 영상과 신호를 입력할 수 있다(322). 이 경우, 이동체는 전 방위 영상 대신에 전 방위 영상을 변환하여 획득한 파노라마 영상을 입력할 수도 있다.
학습된 알고리즘에 전 방위 영상(또는 파노라마 영상)과, 신호를 입력하면, 학습된 알고리즘으로부터 이동체의 위치에 대한 정보, 일례로 좌표가 출력된다(323). 실시예에 따라서, 학습된 알고리즘으로부터 이동체의 자세에 대한 정보가 더 출력될 수도 있다.
도 25 및 도 26을 참조하여 설명한 이동체의 제어 방법은, 동일하거나 또는 일부 변형된 형태로 로봇 청소기의 제어 방법에도 적용 가능하다. 뿐만 아니라, 상술한 이동체의 제어 방법은, 차량, 카트, 각종 건설 장비, 장난감 자동차, 의료 기기, 또는 각종 산업용, 의료용 또는 군사용 로봇 등의 제어 방법에도 동일하게 또는 일부 변형을 거쳐 적용될 수 있다.
상술한 실시예에 따른 이동체의 제어 방법은, 다양한 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은, 예를 들어, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라, 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 및 영상 표시 장치의 제어 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다.
상술한 이동체의 제어 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 하드 디스크나 플로피 디스크와 같은 자기 디스크 저장 매체, 자기 테이프, 콤팩트 디스크(CD)나 디브이디(DVD)와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 기록 매체(magneto-optical media) 및 롬(ROM), 램(RAM) 또는 플래시 메모리 등과 같은 반도체 저장 장치 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 다양한 종류의 하드웨어 장치를 포함할 수 있다.
이상 이동체 및 이동체의 제어 방법의 여러 실시예에 대해 설명하였으나, 이동체 및 이동체의 제어 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 실시예 역시 상술한 이동체 및 이동체의 제어 방법의 일 실시예에 해당할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 상술한 이동체 및 이동체의 제어 방법과 동일하거나 유사한 결과를 획득할 수 있다.
1: 이동체 2: 신호 송수신기
3: 인공 위성 10: 제어부
30: 저장부 31: 알고리즘
32: 학습된 알고리즘 50: 영상 획득부
70: 통신부 90: 구동부
100: 로봇 청소기 151: 제1 구동 휠
152: 제2 구동 휠 170: 데이터 수집부
181: 제1 구동부 182: 제2 구동부
190: 제어부 195: 저장부
197: 알고리즘

Claims (20)

  1. 적어도 하나의 이동체 주변의 영상을 획득하는 단계;
    적어도 하나의 신호를 획득하되, 상기 신호는 상기 이동체의 위치에 따라 세기가 변화하는 단계;
    적어도 하나의 지도를 생성하되, 상기 적어도 하나의 지도는 상기 적어도 하나의 이동체 주변의 영상 및 상기 적어도 하나의 신호를 포함하는 단계;
    상기 적어도 하나의 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계;를 포함하는 이동체의 제어 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 이동체 주변의 영상은, 적어도 하나의 전 방위 영상(omnidirectional image)을 포함하는 이동체의 제어 방법.
  3. 제2항에 있어서,
    상기 적어도 하나의 전 방위 영상을 적어도 하나의 파노라마 영상으로 변환하는 단계;를 더 포함하는 이동체의 제어 방법.
  4. 제3항에 있어서,
    상기 적어도 하나의 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계는,
    상기 적어도 하나의 파노라마 영상 및 상기 적어도 하나의 신호를 상기 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계;를 포함하는 이동체의 제어 방법.
  5. 제3항에 있어서,
    상기 적어도 하나의 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계는,
    상기 적어도 하나의 파노라마 영상을 천이시키는 단계; 및
    천이된 파노라마 영상과 상기 신호를 상기 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계;를 더 포함하는 이동체의 제어 방법.
  6. 제1항에 있어서,
    상기 학습된 알고리즘은 상기 이동체 주변의 영상 및 상기 신호에 대응하는 상기 이동체의 위치에 대한 알고리즘인 이동체의 제어 방법.
  7. 제1항에 있어서,
    상기 알고리즘은, 심층 신경망(DNN, Deep Neural Network), 콘볼루션 신경망(CNN, Convolutional Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 심층 신뢰 신경망(DBN, Deep Belief Network) 및 심층 Q-네트워크(Deep Q-Networks) 중 적어도 하나를 이용하는 이동체의 제어 방법.
  8. 제1항에 있어서,
    상기 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계는,
    상기 지도로부터 이동체의 위치를 획득하는 단계; 및
    상기 지도에 포함된 이동체 주변의 영상, 상기 신호 및 상기 이동체 위치를 상기 알고리즘에 적용하여 학습된 알고리즘을 획득하는 단계;를 포함하는 이동체의 제어 방법.
  9. 제8항에 있어서,
    상기 지도로부터 상기 이동체의 자세에 대한 정보를 더 획득하는 단계;를 더 포함하는 이동체의 제어 방법.
  10. 제1항에 있어서,
    상기 이동체 주변의 영상 및 상기 신호를 기초로 지도를 생성하는 단계는,
    상기 이동체 주변의 영상 및 상기 신호 중 적어도 하나를 복수의 집단으로 군집화하는 단계;
    상기 복수의 집단 각각마다 복수의 서브 지도를 획득하는 단계;
    상기 복수의 서브 지도를 조합하여 지도를 생성하는 단계;를 포함하는 이동체의 제어 방법.
  11. 제1항에 있어서,
    상기 신호를 벡터화하는 단계;를 더 포함하는 이동체의 제어 방법.
  12. 이동체 주변의 영상을 획득하는 영상 획득부;
    외부의 신호를 수신하되, 상기 신호는 상기 이동체의 위치에 따라 세기가 변화하는 통신부; 및
    상기 이동체 주변의 영상 및 상기 신호를 기초로 지도를 생성하고, 상기 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 제어부;를 포함하는 이동체.
  13. 제12항에 있어서,
    상기 이동체 주변의 영상은 전 방위 영상을 포함하는 이동체.
  14. 제13항에 있어서,
    상기 제어부는, 상기 전 방위 영상을 파노라마 영상으로 변환하고, 상기 파노라마 영상을 상기 알고리즘에 적용하는 이동체.
  15. 제14항에 있어서,
    상기 제어부는, 상기 파노라마 영상을 적어도 일 회 천이시키면서, 상기 알고리즘에 적용하는 이동체.
  16. 제12항에 있어서,
    상기 이동체의 자세에 대한 정보를 획득하는 자세 감지부;를 더 포함하고,
    상기 제어부는, 상기 이동체의 자세에 대한 정보를 상기 알고리즘에 더 적용하여 학습된 알고리즘을 획득하는 이동체.
  17. 제12항에 있어서,
    상기 제어부는, 상기 이동체 주변의 영상과 상기 신호를 복수의 집단으로 군집화하고, 상기 복수의 집단 각각마다 복수의 서브 지도를 획득하고, 상기 복수의 서브 지도를 조합하여 지도를 생성하는 이동체.
  18. 제12항에 있어서,
    상기 제어부는, 위치 판단 동작이 개시되면, 상기 영상 획득부에 의해 획득된 이동체 주변에 대한 영상과, 상기 통신부에 의해 수신된 신호를 상기 학습된 알고리즘에 적용하여 상기 이동체의 위치를 판단하는 이동체.
  19. 제12항에 있어서,
    위성 신호를 수신하는 위성 신호 수신부;를 더 포함하고,
    상기 제어부는, 상기 위성 신호를 더 이용하여 상기 지도를 생성하거나, 또는 상기 위성 신호를 상기 알고리즘에 더 적용하여 학습된 알고리즘을 획득하는 이동체.
  20. 이동체 주변의 영상을 획득하는 영상 획득부;
    외부의 신호를 수신하되, 상기 신호는 상기 이동체의 위치에 따라 세기가 변화하는 통신부; 및
    상기 이동체 주변의 영상 및 상기 신호를 기초로 지도를 생성하고, 상기 지도를 알고리즘에 적용하여 학습된 알고리즘을 획득하는 제어부;를 포함하는 로봇 청소기.
KR1020160173535A 2016-12-19 2016-12-19 이동체 및 이동체의 제어 방법 KR20180070932A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160173535A KR20180070932A (ko) 2016-12-19 2016-12-19 이동체 및 이동체의 제어 방법
US15/838,778 US10921820B2 (en) 2016-12-19 2017-12-12 Movable object and control method thereof
EP17207568.1A EP3336648B1 (en) 2016-12-19 2017-12-15 Movable object and control method thereof
CN201711353963.XA CN108205319B (zh) 2016-12-19 2017-12-15 可移动对象及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160173535A KR20180070932A (ko) 2016-12-19 2016-12-19 이동체 및 이동체의 제어 방법

Publications (1)

Publication Number Publication Date
KR20180070932A true KR20180070932A (ko) 2018-06-27

Family

ID=60937501

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160173535A KR20180070932A (ko) 2016-12-19 2016-12-19 이동체 및 이동체의 제어 방법

Country Status (4)

Country Link
US (1) US10921820B2 (ko)
EP (1) EP3336648B1 (ko)
KR (1) KR20180070932A (ko)
CN (1) CN108205319B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102036136B1 (ko) * 2019-03-07 2019-10-24 (주)림스플라이 멀티 드론 운용 시스템 및 방법
KR20200008427A (ko) * 2018-07-16 2020-01-28 한국지질자원연구원 공간형상정보를 포함하는 지도 생성시스템
KR20200023789A (ko) * 2018-08-27 2020-03-06 한국항공우주연구원 강건성을 높인 실내 지도 제작 시스템 및 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446350B (zh) * 2014-09-26 2018-05-29 科沃斯机器人股份有限公司 自移动机器人移动界限划定方法
US10664502B2 (en) * 2017-05-05 2020-05-26 Irobot Corporation Methods, systems, and devices for mapping wireless communication signals for mobile robot guidance
EP3528172B1 (en) * 2018-02-19 2023-12-27 Braun GmbH System for classifying the usage of a handheld consumer device
CN112106004A (zh) * 2018-05-09 2020-12-18 索尼公司 信息处理装置、信息处理方法和程序
CN108897345A (zh) * 2018-07-18 2018-11-27 北京小马智行科技有限公司 一种控制无人车摄像头旋转的方法及系统
WO2020073168A1 (zh) * 2018-10-08 2020-04-16 苏州金瑞麒智能科技有限公司 一种轮椅控制方法及系统
DE102018131267A1 (de) * 2018-12-07 2020-06-10 Sick Ag Transportsystem für Waren und Verfahren zum Entfernen einer herabgefallenen Ware
KR20190104488A (ko) * 2019-08-21 2019-09-10 엘지전자 주식회사 인공 지능을 이용하여, 오브젝트의 이동을 관리하는 인공 지능 로봇 및 그의 동작 방법
CN111801664A (zh) * 2020-05-11 2020-10-20 蜂图科技有限公司 一种实景地图生成方法、装置、设备及可读存储介质
CN111543348B (zh) * 2020-05-14 2022-03-18 深聆科技(北京)有限公司 养殖场的声音定位装置、方法及幼崽监控方法
CN113520246B (zh) * 2021-07-30 2023-04-04 珠海一微半导体股份有限公司 移动机器人补偿清洁方法及系统

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7110880B2 (en) * 1997-10-22 2006-09-19 Intelligent Technologies International, Inc. Communication method and arrangement
US20070018890A1 (en) * 2005-07-22 2007-01-25 Kulyukin Vladimir A Multi-sensor wayfinding device
KR100702663B1 (ko) 2005-08-27 2007-04-02 한국과학기술원 입자 필터 프레임 워크에서 전방향 시각센서 기반 위치추정 및 매핑을 위한 방법
CN100595631C (zh) * 2008-04-18 2010-03-24 浙江大学 实现全视场空间三维显示的屏幕装置
KR101572851B1 (ko) * 2008-12-22 2015-11-30 삼성전자 주식회사 동적 환경에서 모바일 플랫폼의 지도 작성방법
JP5287702B2 (ja) * 2009-12-25 2013-09-11 ソニー株式会社 画像処理装置および方法、並びにプログラム
JP2012064131A (ja) * 2010-09-17 2012-03-29 Tokyo Institute Of Technology 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置
GB2509814B (en) * 2010-12-30 2014-11-12 Irobot Corp A method of operating a mobile robot
KR101997563B1 (ko) 2012-09-04 2019-07-08 삼성전자주식회사 이동 기기의 위치 인식 방법
US9930252B2 (en) * 2012-12-06 2018-03-27 Toyota Motor Engineering & Manufacturing North America, Inc. Methods, systems and robots for processing omni-directional image data
US9888215B2 (en) * 2013-04-26 2018-02-06 University Of Washington Indoor scene capture system
US9216508B2 (en) 2014-01-14 2015-12-22 Qualcomm Incorporated Connectivity maintenance using a quality of service-based robot path planning algorithm
GB2529846B (en) * 2014-09-03 2019-02-20 Dyson Technology Ltd Illumination Control of a Vision System for a Mobile Robot
WO2016033797A1 (en) * 2014-09-05 2016-03-10 SZ DJI Technology Co., Ltd. Multi-sensor environmental mapping
US10373116B2 (en) * 2014-10-24 2019-08-06 Fellow, Inc. Intelligent inventory management and related systems and methods
US10338191B2 (en) * 2014-10-30 2019-07-02 Bastille Networks, Inc. Sensor mesh and signal transmission architectures for electromagnetic signature analysis
US9584969B2 (en) * 2014-12-23 2017-02-28 Alcatel-Lucent Usa Inc. Systems and methods for localization
US9883337B2 (en) * 2015-04-24 2018-01-30 Mijix, Inc. Location based services for RFID and sensor networks
WO2016200792A1 (en) * 2015-06-07 2016-12-15 Barrows, Geoffrey, Louis Localization method and apparatus
US9630619B1 (en) * 2015-11-04 2017-04-25 Zoox, Inc. Robotic vehicle active safety systems and methods
CN105424030B (zh) * 2015-11-24 2018-11-09 东南大学 基于无线指纹和mems传感器的融合导航装置和方法
US9642167B1 (en) * 2015-12-17 2017-05-02 Cisco Technology, Inc. Location-based VoIP functions in a wireless network
US10223737B2 (en) * 2015-12-28 2019-03-05 Samsung Electronics Co., Ltd. Automatic product mapping
US10478973B2 (en) * 2016-02-09 2019-11-19 Cobalt Robotics Inc. Mobile robot security enforcement
US11020860B2 (en) * 2016-06-15 2021-06-01 Irobot Corporation Systems and methods to control an autonomous mobile robot
US10127434B2 (en) * 2016-07-15 2018-11-13 Tyco Fire & Security Gmbh Techniques for built environment representations
US10520943B2 (en) * 2016-08-12 2019-12-31 Skydio, Inc. Unmanned aerial image capture platform
JP7166926B2 (ja) * 2016-09-14 2022-11-08 アイロボット・コーポレーション エリア分類に基づくロボットの構成可能な動作のためのシステム及び方法
US10275662B1 (en) * 2016-09-30 2019-04-30 Zoox, Inc. Estimating friction based on image data
KR102608046B1 (ko) * 2016-10-10 2023-11-30 엘지전자 주식회사 공항용 안내 로봇 및 그의 동작 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200008427A (ko) * 2018-07-16 2020-01-28 한국지질자원연구원 공간형상정보를 포함하는 지도 생성시스템
KR20200023789A (ko) * 2018-08-27 2020-03-06 한국항공우주연구원 강건성을 높인 실내 지도 제작 시스템 및 방법
KR102036136B1 (ko) * 2019-03-07 2019-10-24 (주)림스플라이 멀티 드론 운용 시스템 및 방법

Also Published As

Publication number Publication date
US10921820B2 (en) 2021-02-16
EP3336648A1 (en) 2018-06-20
US20180173244A1 (en) 2018-06-21
EP3336648B1 (en) 2022-06-15
CN108205319B (zh) 2022-12-06
CN108205319A (zh) 2018-06-26

Similar Documents

Publication Publication Date Title
KR20180070932A (ko) 이동체 및 이동체의 제어 방법
Alatise et al. A review on challenges of autonomous mobile robot and sensor fusion methods
US20210018929A1 (en) Mobile robot and control method thereof
US10860033B2 (en) Movable object and method for controlling the same
US8824775B2 (en) Robot and control method thereof
Martinez-Gomez et al. A taxonomy of vision systems for ground mobile robots
Zhou et al. Guidance: A visual sensing platform for robotic applications
JP2022540387A (ja) 移動ロボット及びその制御方法
Chatterjee et al. Vision based autonomous robot navigation: algorithms and implementations
CN112740274A (zh) 在机器人设备上使用光流传感器进行vslam比例估计的系统和方法
CN207488823U (zh) 一种移动电子设备
Chatterjee et al. Mobile robot navigation
US11055341B2 (en) Controlling method for artificial intelligence moving robot
Yuan et al. Laser-based navigation enhanced with 3D time-of-flight data
Correa et al. Active visual perception for mobile robot localization
Sheikh et al. Stereo vision-based optimal path planning with stochastic maps for mobile robot navigation
CN206833252U (zh) 一种移动电子设备
US20220291686A1 (en) Self-location estimation device, autonomous mobile body, self-location estimation method, and program
JP7354528B2 (ja) 自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラム
Jia et al. Robot localization in indoor environments using radio frequency identification technology and stereo vision
WO2019202878A1 (en) Recording medium, information processing apparatus, and information processing method
Umer et al. A novel localization and navigation approach for an indoor autonomous mobile surveillance robot
Calibo Obstacle detection and avoidance on a mobile robotic platform using active depth sensing
Prasad et al. Robot localization and object detection with fish-eye vision system and sensors
HEMANTH Visual-Inertial Mapping, Localization and Planning for Autonomous Mobile Robots

Legal Events

Date Code Title Description
E902 Notification of reason for refusal