KR102704815B1 - 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버 - Google Patents
아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버 Download PDFInfo
- Publication number
- KR102704815B1 KR102704815B1 KR1020190115576A KR20190115576A KR102704815B1 KR 102704815 B1 KR102704815 B1 KR 102704815B1 KR 1020190115576 A KR1020190115576 A KR 1020190115576A KR 20190115576 A KR20190115576 A KR 20190115576A KR 102704815 B1 KR102704815 B1 KR 102704815B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- information
- cell
- location information
- control unit
- Prior art date
Links
- 230000007246 mechanism Effects 0.000 title claims abstract description 195
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004891 communication Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 41
- 238000013136 deep learning model Methods 0.000 claims description 39
- 238000010295 mobile communication Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 210000004027 cell Anatomy 0.000 description 282
- 238000013473 artificial intelligence Methods 0.000 description 24
- 238000013528 artificial neural network Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 24
- 238000013135 deep learning Methods 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000004807 localization Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 3
- 210000000225 synapse Anatomy 0.000 description 3
- 101000880640 Centruroides elegans Beta-mammal toxin CeII9 Proteins 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 241000255749 Coccinellidae Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000032823 cell division Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-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/0257—Hybrid positioning
- G01S5/0263—Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems
- G01S5/0264—Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems at least one of the systems being a non-radio wave positioning system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/48—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/48—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
- G01S19/485—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an optical system or imaging system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/16—Position-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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0278—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0285—Control 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20072—Graph-based image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
본 발명은 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버에 관한 것으로, 본 발명의 일 실시예에 따른 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇은 아웃도어 영역을 구분하는 둘 이상의 셀 정보 및 셀 별 위치정보 획득 메커니즘을 저장하는 저장부와, 아웃도어 영역 중에 로봇이 위치하는 셀 정보를 획득하고 획득한 셀에 설정된 위치정보 획득 메커니즘에 로봇의 센서가 획득한 센싱 정보를 입력하여 로봇의 위치 정보를 산출하는 제어부를 포함할 수 있다.
Description
본 발명은 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버에 관한 기술이다.
아웃도어(outdoor) 영역에서 로봇이 주행하는 과정에서는 로봇의 현재 위치를 확인하는 과정이 필요하다. 특히, 로봇이 자율 주행하여 다양한 작업(배송, 안내, 청소, 보안 등)을 수행하는 과정에서는 로봇의 현재 위치 정보를 정밀하게 확보해야 한다.
종래에 아웃도어 영역에서 위치 정보의 확보하기 위해서는 GPS 등을 이용하여 위치를 확인할 수 있었으나, GPS 장치가 가지는 정밀도가 로봇의 작업 수행에 필요한 수준을 만족시키지 못하는 경우가 있다.
이에, 본 명세서에서는 대면적의 아웃도어 영역에서 로봇이 정밀하게 위치 정보를 확보하는 방안에 대해 살펴본다.
본 명세서에서는 아웃도어 공간에서 로봇 또는 클라우드 서버가 정밀하게 위치 정보를 확보하는 방안을 제공하고자 한다.
또한, 본 명세서에서는 로봇 또는 클라우드 서버가 아웃도어 공간을 셀로 분할하여 각각의 셀에 최적화된 방식으로 위치 정보를 확보하는 방안을 제공하고자 한다.
또한, 본 명세서에서는 로봇 또는 클라우드 서버가 아웃도어 공간의 위치 정보 획득에 최적화된 셀의 구성에 기반하여 위치 정보를 확보하는 방안을 제공하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 따른 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇은 아웃도어 영역을 구분하는 둘 이상의 셀 정보 및 셀 별 위치정보 획득 메커니즘을 저장하는 저장부와, 아웃도어 영역 중에 로봇이 위치하는 셀 정보를 획득하고 획득한 셀에 설정된 위치정보 획득 메커니즘에 로봇의 센서가 획득한 센싱 정보를 입력하여 로봇의 위치 정보를 산출하는 제어부를 포함할 수 있다.
또한 본 발명의 일 실시예에 따른 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 클라우드 서버는 로봇이 이동하는 아웃도어 영역을 구분하는 둘 이상의 셀 정보 및 셀 별 위치정보 획득 메커니즘을 저장하는 저장부와, 아웃도어 영역 중에 로봇이 위치하는 셀 정보에 설정된 위치정보 획득 메커니즘에 서버의 통신부가 수신한 센싱 정보를 입력하여 로봇의 위치 정보를 산출하여 통신부에게 위치 정보를 제공하는 서버제어부를 포함할 수 있다.
또한 본 발명의 일 실시예에 따른 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법은 로봇의 저장부가 로봇이 이동하는 아웃도어 영역을 구분하는 둘 이상의 셀 정보 및 셀 별 위치정보 획득 메커니즘을 저장하는 단계와, 로봇의 센서 또는 로봇의 통신부가 GPS(Global Positioning System)의 좌표 정보, 무선 네트워크의 식별 정보 또는 이동통신 네트워크의 식별 정보, 센서 정보, 또는 외부 맵 정보를 산출하는 단계와, 로봇의 제어부가 산출된 정보를 이용하여 셀 정보를 획득하는 단계와, 제어부가 획득한 셀에 설정된 위치정보 획득 메커니즘에 센서가 획득한 센싱 정보를 입력하여 로봇의 위치 정보를 산출하는 단계를 포함할 수 있다.
본 발명의 실시예들을 적용할 경우, 로봇 또는 클라우드 서버는 셀 정보를 획득한 후 정밀하게 위치 정보를 확보할 수 있다.
본 발명의 실시예들을 적용할 경우, 로봇 또는 클라우드 서버가 아웃도어 공간을 셀로 분할하여 각각의 셀에 최적화된 방식으로 위치 정보를 신속하게 확보하여 위치 정보 획득에서 속도와 정밀도를 모두 높일 수 있다.
본 발명의 실시예들을 적용할 경우, 로봇 또는 클라우드 서버가 아웃도어 공간의 위치 정보 획득에 최적화된 셀의 구성에 기반하여 위치 정보를 확보할 수 있다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1 내지 도 3은 본 발명의 일 실시예에 의한 로봇이 이동하는 대면적의 아웃도어 영역을 셀로 구분한 도면이다.
도 4는 본 발명의 일 실시예에 의한 로봇의 구성을 보여준다.
도 5는 본 발명의 일 실시예에 의한 로봇이 셀 정보를 획득하는 과정을 보여준다.
도 6은 본 발명의 일 실시예에 의한 위치 좌표를 이용하여 셀 정보를 획득하는 과정을 보여준다.
도 7은 본 발명의 일 실시예에 의한 로봇의 좌표를 산출하여 셀 정보를 획득하는 과정을 보여준다.
도 8은 본 발명의 일 실시예에 의한 좌표 정보를 기반으로 위치정보 획득 메커니즘을 실행시키는 조건을 나열한 트리 구성을 보여준다.
도 9는 본 발명의 일 실시예에 의한 통신 관련 정보를 이용하여 셀 정보를 획득하는 과정을 보여준다.
도 10은 본 발명의 일 실시예에 의한 센서 데이터를 이용하여 셀 정보를 획득하는 과정을 보여준다.
도 11은 본 발명의 일 실시예에 의한 셀정보 획득 메커니즘과 위치정보 획득 메커니즘의 적용 프로세스를 보여준다.
도 12는 본 발명의 일 실시예에 의한 전체 공간을 셀로 분할하는 예시를 보여준다.
도 13은 본 발명의 일 실시예에 의한 클라우드 서버의 구성을 보여준다.
도 4는 본 발명의 일 실시예에 의한 로봇의 구성을 보여준다.
도 5는 본 발명의 일 실시예에 의한 로봇이 셀 정보를 획득하는 과정을 보여준다.
도 6은 본 발명의 일 실시예에 의한 위치 좌표를 이용하여 셀 정보를 획득하는 과정을 보여준다.
도 7은 본 발명의 일 실시예에 의한 로봇의 좌표를 산출하여 셀 정보를 획득하는 과정을 보여준다.
도 8은 본 발명의 일 실시예에 의한 좌표 정보를 기반으로 위치정보 획득 메커니즘을 실행시키는 조건을 나열한 트리 구성을 보여준다.
도 9는 본 발명의 일 실시예에 의한 통신 관련 정보를 이용하여 셀 정보를 획득하는 과정을 보여준다.
도 10은 본 발명의 일 실시예에 의한 센서 데이터를 이용하여 셀 정보를 획득하는 과정을 보여준다.
도 11은 본 발명의 일 실시예에 의한 셀정보 획득 메커니즘과 위치정보 획득 메커니즘의 적용 프로세스를 보여준다.
도 12는 본 발명의 일 실시예에 의한 전체 공간을 셀로 분할하는 예시를 보여준다.
도 13은 본 발명의 일 실시예에 의한 클라우드 서버의 구성을 보여준다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것으로, 특별히 반대되는 기재가 없는 한, 제1 구성요소는 제2 구성요소일 수도 있음은 물론이다.
명세서 전체에서, 특별히 반대되는 기재가 없는 한, 각 구성요소는 단수일 수도 있고 복수일 수도 있다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
명세서 전체에서, "A 및/또는 B" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, A, B 또는 A 및 B 를 의미하며, "C 내지 D" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, C 이상이고 D 이하인 것을 의미한다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 다양한 형상을 가지며, 특정한 목적(배송, 청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 것으로 확인된 거리의 이미지, 고정된 벽, 건물, 계단 등 고정 객체에 대한 정보를 의미한다. 또한, 주기적으로 배치되는 이동 장애물, 즉 동적인 객체들에 대한 정보도 맵 상에 저장될 수 있다.
본 명세서에서 로봇은 대면적의 공간인 아웃도어 영역을 이동하며 정밀한 위치정보를 확보하기 위해 클라우드 서버와 통신으로 정보를 송수신할 수 있다. 그리고 이 과정에서 로봇은 클라우드 서버로부터 맵 정보를 수신할 수도 있다. 또는 로봇이 위치한 영역을 포함한 일정 범위 내에서 로봇이 취득한 정보를 클라우드 서버에게 전송할 수 있다.
그리고, 클라우드 서버는 수신된 정보를 처리하여 새로운 맵 정보를 생성하고 이를 로봇에게 전송할 수 있다. 로봇은 수신된 정보 또는 로봇 자체적으로 보유하는 정보들을 이용하여 로봇의 현재 위치 정보를 확인할 수 있다.
대면적의 아웃도어 영역에서 로봇이 이동하거나 위치 정보를 확보하기 위해서는 로봇이 위치 정보를 확보할 수 있어야 한다. 그런데, 대면적의 아웃도어 영역은 매우 다양한 공간을 포함하므로, 단일한 방식으로 로봇의 위치 정보를 확보하는 것은 효율적이지 않으며 정밀도 역시 떨어질 수 있다. 이에, 로봇은 현재 위치를 확보하기 위해서 대면적의 아웃도어 영역을 셀(Cell)로 분할하고 각 셀에서의 위치 정보를 확보하는 메커니즘을 달리 설정할 수 있다.
이하 설명은 로봇(100)을 중심으로 하지만, 로봇(100)이 수행하는 대부분의 작업은 도 13의 클라우드 서버(300) 역시 수행할 수 있다. 따라서, 로봇(100)의 제어부(250)가 수행하는 작업들은 모두 클라우드 서버(300)의 서버 제어부(350)가 수행할 수 있다.
구현에 따라 로봇(100)의 제어부(250) 및 클라우드 서버(300)의 서버 제어부(350) 모두 본 명세서에서 설명하는 셀 정보 획득 메커니즘을 수행하거나, 위치정보 획득 메커니즘을 수행할 수 있다. 또는 로봇(100)의 제어부(250)는 컴퓨팅 파워와 통신 상태 등에 따라 본 명세서에서 설명하는 위치정보 획득 메커니즘을 수행하지 않을 수 있다.
이 경우, 클라우드 서버(300)의 서버 제어부(350)가 위치정보 획득 메커니즘을 수행할 수 있다. 그리고 로봇(100)은 클라우드 서버(300)에게 위치정보 획득 메커니즘을 수행하는데 필요한 이미지, 라이다 프레임 등을 전송할 수 있다.
또는 로봇(100)의 제어부(250)는 컴퓨팅 파워와 통신 상태 등에 따라 셀 정보 획득 메커니즘을 수행하지 않고, 클라우드 서버(300)의 서버 제어부(350)가 셀 정보 획득 메커니즘을 수행할 수 있다. 이 경우 로봇(100)은 클라우드 서버(300)에게 셀 정보 획득 메커니즘을 수행하는데 필요한 정보들을 전송할 수 있다.
도 1 내지 도 3은 본 발명의 일 실시예에 의한 로봇이 이동하는 대면적의 아웃도어 영역을 셀로 구분한 도면이다.
도 1에 제시된 바와 같이, 로봇이 이동하는 대면적의 아웃도어 영역(OUTDOOR REGION, 1)은 다수의 셀(Cell1~Cell9)로 구분된다. 셀들로 구분되는 방식은 셀들의 경계선이 접하여 셀들의 영역이 중첩되지 않는 경우(11) 및 셀들의 영역이 중첩되는 경우(12) 중 어느 하나가 될 수 있다. 또는 셀에 따라서 일부 셀들은 영역이 중첩되고, 다른 일부 셀들은 영역이 중첩되지 않을 수 있다. 도 1은 셀들의 크기나 형상이 동일한 실시예를 보여준다.
도 1은 셀들의 형상이 사각형으로 설명하고 있으나, 본 발명이 이에 한정되는 것은 아니며, 셀들의 형상은 삼각형/오각형 등의 다각형, 원형, 타원형 또는 다양한 형상인 것을 실시예로 한다.
도 2의 13에 제시된 바와 같이 로봇이 이동하는 대면적의 아웃도어 영역(OUTDOOR REGION, 1)은 셀들의 크기가 상이할 수 있다. 13은 Cell1의 크기가 Cell2 및 Cell3의 크기보다 큰 실시예이다. 예를 들어 Cell1이 커버하는 영역이 제1위치 정보 확보 메커니즘으로 처리 가능하며, Cell2가 커버하는 영역이 제2위치 정보 확보 메커니즘으로 처리 가능하며 Cell3가 커버하는 영역이 제3위치 정보 확보 메커니즘으로 처리 가능한 경우에 적용 가능하다.
도 2의 14에 제시된 바와 같이 로봇이 이동하는 대면적의 아웃도어 영역(OUTDOOR REGION, 1)은 셀들의 크기 및 형상이 상이할 수 있다. 하나의 셀(Cell1)는 사각형 형상이지만, Cell2는 사다리꼴이며 Cell3는 삼각형 형상이다. Cell 4는 아웃도어 영역(1)에서 다른 셀들에 속하지 않는 영역을 포함하는 구성이다.
도 3은 각 셀들(Cell1~Cell4)이 부정형의 폐곡선 형태로 대면적의 아웃도어 영역(OUTDOOR REGION, 1)을 분할한 예시이다.
도 1 내지 도 3에 도시된 바와 같이, 셀은 아웃도어의 영역을 동일한 크기로 구분할 수도 있고 상이한 크기로 구분할 수도 있다. 또한 셀의 형태 역시 사각형, 원형, 다각형, 타원, 부정형의 폐곡선 등 다양한 형태를 가질 수 있다.
각 셀은 해당 셀의 최적의 위치정보 획득 메커니즘을 가진다. 따라서, 각 셀마다 상이한 위치정보 획득 메커니즘이 설정된다. 로봇은 자신의 현재 위치에 대해 개략적으로 산출하여 어느 셀에 포함되는지를 확인한다. 그리고 로봇은 확인된 셀에 설정된 위치정보 획득 메커니즘을 이용하여 정밀한 위치 정보를 획득한다.
도 1 내지 도 3에서 살펴본 바와 같이, 로봇이 이동하는 타겟 환경(Target environment) 또는 타겟 공간(Target Space)을 여러 개의 작은 cell 단위로 분할한 후, 각 cell별로 최적화된 위치정보 획득 메커니즘을 설정한다.
로봇은 위치정보 획득 메커니즘을 이용하여 리로컬라이제이션(relocalization, 또는 재로컬라이제이션)을 수행할 수 있다.
각 타겟 공간은 다양한 기준에 따라 다수의 셀들로 분할될 수 있다. 일 실시예로, 각 셀들의 범위를 GPS 좌표를 이용하여 정의할 수 있다. 도 2의 13에서 중심점 GPS 좌표인 (x1, y1)을 기준으로 상하 각각 h1 거리, 좌우 각각 w1 거리만큼의 범위를 Cell1의 영역으로 설정할 수 있다.
그리고 Cell1 내의 위치에서 로봇은 위치정보 획득 메커니즘(Position Information Acquisition Mechanism, PIAM)으로 제1위치정보 획득 메커니즘(PIAM_1)을 사용할 수 있다.
마찬가지로 GPS 좌표인 (x2, y2)를 기준으로 상하좌우 폭 r2로 정의되는 범위를 Cell2의 영역으로 설정할 수 있다. 그리고 Cell2 내의 위치에서 로봇은 위치정보 획득 메커니즘으로 제2위치정보 획득 메커니즘(PIAM_2)을 사용할 수 있다.
동일한 방식으로 GPS 좌표인 (x2, y3)를 기준으로 상하좌우 폭 r2로 정의되는 범위를 Cell3의 영역으로 설정할 수 있다. 그리고 Cell3 내의 위치에서 로봇은 위치정보 획득 메커니즘으로 제3위치정보 획득 메커니즘(PIAM_3)을 사용할 수 있다.
도 2의 13과 같이 셀이 분할된 경우, 로봇은 GPS 좌표를 확인하여 Cell1~Cell3 중 하나의 셀에 로봇이 위치함을 확인할 수 있다. 셀의 중심 좌표 및 상하좌우의 범위에 대한 정보(h1, w1, r1, r2)가 표 1과 같이 셀 정보와 함께 저장될 수 있다.
위치 좌표 | Cell 정보 | 위치정보 획득 메커니즘 |
{(x1, y1), h1, w1} | Cell1 | PIAM_1 |
{(x2, y2), r2} | Cell2 | PIAM_2 |
{(x2, y3), r2} | Cell3 | PIAM_3 |
표 1 및 도 2의 13을 적용할 경우, 현재 위치 정보를 이용하여 셀을 확인하고, 셀에 해당하는 함수(메커니즘)을 제어부(250)가 호출하여 실행시킬 수 있다.
도 2의 13에 살펴본 좌표 정보는 GPS 좌표 외에도 다양한 위치 정보에 기반하여 산출될 수 있다. 소정의 방식으로 확보된 위치 정보를 기준으로 셀의 범위를 결정하고, 각 셀마다 적용 가능한 위치정보 획득 메커니즘을 표 1과 같이 저장할 경우, 추후 로봇이 리로컬라이제이션을 수행할 때, i) 자신의 위치가 Cell1~Cell3 중 어디에 속하는지를 판단하고, ii) 해당 셀의 메커니즘을 이용하여 리로컬라이제이션을 수행하는 두 단계 프로세스를 수행한다.
다른 실시예로, 각 셀들의 범위를 통신 네트워크와 관련된 정보를 이용하여 정의할 수 있다. 예를 들어 도 2의 14에서 각 셀들에 위치할 경우 스캔되는 Wi-Fi AP에 대한 정보, 이동 통신 네트워크의 기지국 정보 등을 이용하여 셀을 설정하고 각 셀에 해당하는 위치정보 획득 메커니즘을 표 2와 같이 설정할 수 있다.
통신 관련 정보 | Cell 정보 | 위치정보 획득 메커니즘 |
SSID1 | Cell1 | PIAM_1 |
ESSID2 | Cell2 | PIAM_2 |
WiFi AP의 mac address3 | Cell3 | PIAM_3 |
Base Station의 Cell ID4 | Cell4 | PIAM_4 |
표 2에 설명한 바와 같이, 통신 관련 정보(식별자들)을 이용하여 셀을 정의할 수 있다.
Wi-Fi에서 로컬 네트워크(local network)를 지정하기 위한 SSID, ESSID 또는 WiFi AP의 맥 주소(mac address)으로 구분되는 영역들을 셀로 설정하고, 각 셀과 위치정보 획득 메커니즘을 결합할 수 있다.
또는 3G/4G/5G와 같은 이동통신 네트워크(cellular network)에서 하나의 기지국(base station) 또는 기지국과 유사한 기능을 하는 릴레이 등이 커버하는 영역들(Base Station Cell ID, Relay Cell ID로 구분)을 셀로 설정하고, 각 기지국/릴레이 등의 식별 정보를 셀을 식별하는 기준으로 하여 각 셀과 위치정보 획득 메커니즘을 결합할 수 있다.
표 2 및 도 2의 14를 적용할 경우, 로봇이 획득 가능한 통신 관련 정보(SSID. ESSID, Mac Address, Base Station 등)를 이용하여 셀을 확인하고, 셀에 기반으로 관련된 함수(메커니즘)를 제어부(250)가 호출하여 실행시킬 수 있다.
각 셀마다 적용 가능한 위치정보 획득 메커니즘을 표 2과 같이 저장할 경우, 추후 로봇이 리로컬라이제이션을 수행할 때, i) 현재 확인된 통신 관련 정보를 이용하여 자신의 위치가 Cell1~Cell4 중 어디에 속하는지를 판단하고, ii) 해당 셀의 메커니즘을 이용하여 리로컬라이제이션을 수행하는 두 단계 프로세스를 수행한다.
전술한 프로세스에서 로봇은 현재 위치에서 스캔하는 Wi-Fi AP나 이동 통신 네트워크(cellular network)의 기지국(BS)를 기반으로 가장 신호 강도(signal strength)가 높은 것을 기준으로 위치정보 획득 메커니즘을 선택할 수 있다.
또한, 영역 지정에 이용되는 Wi-Fi AP 관련 정보나 이동통신 네트워크 기지국 정보 등은 해쉬 테이블(hash table)을 이용하여 위치정보 획득 메커니즘과 결합되는 형태로 저장부(210)에 저장시켜, 추후 위치 정보를 획득하는 과정에서의 검색 시간을 줄일 수 있다. 이때 검색 시간은 "search time O(1)"이 될 수 있다.
제어부(250)는 도 3과 같이 각 셀들에 특징적인 랜드마크(landmark)를 저장부(210)에 저장하고 이들 랜드마크에 대응하는 셀 정보 및 위치정보 획득 메커니즘을 저장부(210)에 저장할 수 있다.
일 실시예로, 도 3에서 제어부(250)는 각 셀 내에서 획득한 이미지들 중 객체 감지(object detection)을 수행하여 중요한 식별력을 가지는 객체인 랜드마크(landmark)들을 선택할 수 있다. 그리고 이들 각 랜드마크들(LM1~LM8)을 표 3과 같이 셀 별로 저장한다. 그리고 로봇이 해당 영역을 이동하는 과정에서 획득한 이미지가 특정한 랜드마크(예를 들어 LM1)와 동일하거나 유사한 경우, 로봇의 현재 위치를 Cell1으로 확인한다.
랜드마크 | Cell 정보 | 위치정보 획득 메커니즘 |
LM1, LM2 | Cell1 | PIAM_1 |
LM3, LM4 | Cell2 | PIAM_2 |
LM5, LM6, LM7 | Cell3 | PIAM_3 |
LM8 | Cell4 | PIAM_4 |
표 3은 하나 이상의 랜드마크에 대응하는 셀 정보와, 각 셀에 설정된 위치정보 획득 메커니즘의 저장 예시이다.
표 3 및 도 3을 적용할 경우, 제어부(250)는 로봇이 촬영한 이미지에 YOLOv3, Fast R-CNN 등과 같은 알고리즘을 적용하여 객체 감지를 수행한다. 객체 감지 결과 제어부(250)는 랜드마크로 적용 가능한 객체를 촬영한 이미지로부터 자동으로 또는 수동으로 추출 및 획득한 후, 이를 표 3의 랜드마크들과 비교한다.
비교 결과 LM3인 경우 로봇은 현재 위치를 Cell2로 확인하고, 위치정보 획득 메커니즘인 PIAM_2를 이용하여 리로컬라이제이션을 수행할 수 있다.
각 셀마다 적용 가능한 위치정보 획득 메커니즘을 표 3과 같이 저장할 경우, 추후 로봇이 리로컬라이제이션을 수행할 때, i) 현재 위치에서 획득한 이미지 내의 객체를 랜드마크로 저장하는 셀들을 표 3에서 검색하여 자신의 위치가 Cell1~Cell4 중 어디에 속하는지를 판단하고, ii) 해당 셀의 메커니즘을 이용하여 리로컬라이제이션을 수행하는 두 단계 프로세스를 수행한다.
각 셀 별로 취적화된 위치정보 획득 메커니즘(PIAM)은 딥러닝 기반을 이용하거나, 혹은 카메라 센서가 획득한 비주얼 프레임(이미지), 라이다 센서가 획득한 라이다 프레임(라이다 센서 데이터), 또는 그 외의 UWB를 이용하는 등 다양한 실시예를 포함하지만, 본 발명이 이에 한정되는 것은 아니다.
도 4는 본 발명의 일 실시예에 의한 로봇의 구성을 보여준다.
여기서 로봇은 아웃도어 공간을 이동하며 소정의 기능(배송, 카트, 수납, 안내, 보안 등)의 수행할 수 있다. 특히 아웃도어 영역에서 로봇은 배송 기능을 제공하기 위해 정확한 위치 정보의 획득을 필요로 한다.
도 4의 로봇은 아웃도어 영역을 이동하며 로봇의 현재 위치에 따라 셀 정보를 취득하고 셀 정보에 대응하는 위치정보 획득 메커니즘을 선택하여 정밀한 위치 정보를 획득한다.
로봇(100)은 수납부(110)를 선택적으로 포함한다. 수납부(110)는 사용자에 의해 사물이 수납되거나 적재되는 공간이다. 또한, 로봇은 수납부(110)를 가지고 사용자를 추종하여 이동할 수도 있다. 또는 수납부(110)는 배송 기능을 제공하는 로봇(100)에게 필수적으로 탑재되어 물건을 적재할 수 있다. 특히, 배송 로봇(100)은 적재된 물건을 지정된 위치에 하차시키거나, 혹은 외부에 배치된 물건을 수납부(110)로 적재할 수 있다. 수납부(110)는 자동으로 물품을 적재하거나 적재된 물품을 하차시키거나, 또는 적재된 물품의 적재 순서를 변경할 수 있다.
기능부(120)는 로봇에게 부여된 소정의 기능을 수행하는 구성요소이다. 청소 기능의 로봇에 있어서 기능부(120)는 청소를 위한 물걸레, 흡입기 등을 포함한다. 배송을 위한 로봇에 있어서 기능부(120)는 수납공간, 수납된 짐을 이동시키는 운반부 등을 포함한다. 보안을 위한 로봇에 있어서 기능부(120)는 안전에 필요한 검사기(공기질 검사, 폭발물 검사 등)를 포함한다.
배터리(180)는 로봇(100)이 동작하는데 필요한 전기적 에너지를 제공한다. 이동부(190)는 로봇의 이동 기능을 제공한다.
로봇은 액츄에이터 또는 모터를 포함하는 이동부(190)를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 이동부에 휠, 브레이크, 프로펠러 등이 포함되어, 이동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
또한 로봇은 자율주행을 수행할 수 있다. 자율 주행은 스스로 주행하는 기술을 의미하며, 자율 주행 로봇은 사용자의 조작 없이 또는 사용자의 최소한의 조작으로 주행한다.
예컨대, 자율 주행에는 주행 중인 공간의 다른 장애물과 거리를 유지하는 기술, 어댑티브 크루즈 컨트롤과 같이 속도를 자동으로 조절하는 기술, 정해진 경로를 따라 자동으로 주행하는 기술, 목적지가 설정되면 자동으로 경로를 설정하여 주행하는 기술 등이 모두 포함될 수 있다.
로봇은 자율 주행을 위해 내연 기관 또는 전기 모터를 구비할 수 있으며 이들은 이동부(190)의 하위 구성요소가 된다.
또한, 로봇(100)은 전술한 구성요소들을 제어하는 제어부(250)를 포함한다. 제어부(250)는 인공지능부(255)를 더 포함할 수 있다.
또한, 제어부(250)는 로봇의 구성요소인 저장부(210), 라이다 센서(220), 카메라 센서(230), 통신부(280)를 제어한다.
저장부(210)는 로봇이 이동하는 아웃도어 영역을 구분하는 둘 이상의 셀 정보 및 셀 별 위치정보 획득 메커니즘을 저장한다. 예를 들어, 도 1의 실시예에 기반할 때, 저장부(210)는 아웃도어 영역에서 각 셀들(Cell1~Cell9)들의 영역에 대한 정보와 각 셀들 각각에 적용되는 각각의 위치정보 획득 메커니즘에 대한 정보를 저장할 수 있다.
위치정보 획득 메커니즘이란 해당 셀에서 획득한 이미지를 이용하여 로봇의 위치 정보를 획득하는 딥러닝 모델(deep learning)을 일 실시예로 한다. 또는 위치정보 획득 메커니즘이란 카메라 센서(230)가 확보한 이미지를 이용하여 피쳐 기반(feature-based)으로 로봇의 위치 정보를 획득하는 메커니즘을 일 실시예로 한다. 또는, 위치정보 획득 메커니즘이란 라이다 센서(220)가 확보한 라이다 센서 데이터를 이용하여 로봇의 위치 정보를 획득하는 메커니즘을 일 실시예로 한다.
라이다 센서(LiDAR Sensor)(220)는 2차원 또는 3차원으로 주변의 사물들을 센싱할 수 있다. 2차원 라이다 센서의 경우 로봇을 중심으로 360도 범위 또는 그보다 작은 범위 내의 사물의 위치를 센싱할 수 있다. 특정 위치에서 센싱한 라이다 정보는 센서 데이터의 일 실시예가 된다.
또는 라이다 센서(220)로 확보한 센서 데이터를 라이다 프레임이라고 지칭할 수 있다. 즉, 라이다 센서(220)는 로봇의 외부에 배치된 사물과 로봇 사이의 거리를 센싱하여 라이다 프레임을 생성한다.
카메라 센서(230)는 일반 카메라를 일 실시예로 한다. 시야각의 제약을 해결하기 위해 둘 이상의 카메라 센서(230)를 사용할 수 있다. 특정 위치에서 촬영한 영상은 이미지 정보를 구성한다. 즉, 카메라 센서(230)는 로봇의 외부에 배치된 사물을 촬영하여 생성한 이미지 정보는 센서 데이터의 일 실시예가 된다.
또는, 카메라 센서(230)로 확보한 센서 데이터를 비주얼 프레임을 프레임이라고 지칭할 수 있다. 즉, 카메라 센서(230)는 로봇의 외부를 촬영하여 비주얼 프레임을 생성한다.
이하 본 발명을 적용하는 로봇(100)은 라이다 센서(220) 또는 카메라 센서(230) 중 어느 하나 또는 둘을 이용하여 SLAM(simultaneous localization and mapping)을 수행한다.
SLAM 과정에서 로봇(100)은 라이다 프레임과 비주얼 프레임을 각각 이용하거나 또는 이들을 결합하여 맵을 생성하거나 위치를 추정할 수 있다.
인터페이스부(290)는 사용자로부터 정보를 입력받는다. 터치 입력, 음성 입력 등 다양한 정보를 사용자로부터 입력받고, 이에 대한 결과를 출력한다. 인터페이스부(290)는 또한 이동 과정에서 사람들에게 로봇(100)이 접근함을 알리는 소리를 출력할 수 있다. 즉, 인터페이스부(290)는 외부의 사람들에게 소정의 시각적 또는 청각적 정보를 제공할 수 있다. 그리고 외부의 사람들로부터 음성 명령을 입력받거나 터치 스크린을 통한 입력을 받을 수 있다.
제어부(250)는 아웃도어 영역 중에 로봇이 위치하는 셀 정보를 획득하고 획득한 셀에 설정된 위치정보 획득 메커니즘에 센서(라이다 센서 및/또는 카메라 센서)가 획득한 센싱 정보를 입력하여 로봇의 위치 정보를 산출할 수 있다. 그리고 이에 기반하여 제어부(250)는 이동부(190)를 제어하고, 이동부(190)는 제어에 따라 로봇을 이동시킨다.
또한, 제어부(250)는 휠 인코더(Wheel Encoder)를 포함할 수 있다. 휠 인코더는 로봇의 이동부를 구성하는 바퀴의 회전이나 방향 등의 정보를 취합하여 휠 오도메트리 정보를 생성한다. 제어부(250) 휠 인코더가 생성한 정보에 기반하여 이동 거리나 이동 방향 등을 산출할 수 있다.
통신부(280)는 로봇(100)이 다른 로봇 또는 외부의 클라우드 서버와 통신하여 정보를 송수신할 수 있도록 한다. 또한, 통신부(280)는 로봇(100)이 셀 정보를 확인하는데 필요한 외부의 통신 환경에 대한 정보를 획득할 수 있다.
예를 들어, 통신부(280)는 로봇(100)의 현재 위치를 기준으로 무선 네트워크 기지국의 정보, 셀룰라 네트워크(cellular network)와 같은 이동 통신에서의 베이스 스테이션(base station)의 정보를 를 획득할 수 있다. 그리고 이러한 정보는 셀 정보와 함께 미리 저장부(210)에 저장되어 로봇(100)이 검색 시 사용할 수 있다.
인공지능부(255)에 대해서는 후술한다.
도 4의 구성에 따라 로봇은 넓은 공간인 아웃도어 영역의 세부 영역(셀) 별로 특정한 위치 정보 획득 메커니즘을 적용하므로, 위치 정보의 획득에서 정밀도와 속도를 높일 수 있다. 특히, 아웃도어 영역은 특정한 하위 영역 별(셀 별)로 상이한 특성을 가지므로, 로봇은 셀 별로 특화된 위치정보 획득 메커니즘을 이용하여 위치 정보를 획득하는 것이 필요하다.
도 5는 본 발명의 일 실시예에 의한 로봇이 셀 정보를 획득하는 과정을 보여준다. 로봇이 셀 정보를 획득하기 위해서는 현재 로봇의 위치 정보를 이용하거나, 현재 로봇이 위치한 공간의 통신적 특성(무선 네트워크, 이동통신 네트워크 등)을 이용할 수 있다.
또는 로봇이 셀 정보를 획득하기 위해서는 현재 로봇이 위치한 공간에 대해 외부의 맵 정보를 이용하거나 또는 로봇이 현재 위치에서 취득한 소정의 이미지 정보 또는 랜드마크 정보 등을 이용할 수 있다.
로봇(100)의 제어부(250)는 현재 위치에서 적용 가능한 셀 정보 획득 메커니즘을 결정한다. 예를 들어, 로봇(100)이 GPS 좌표 정보, 통신 정보, 또는 랜드 마크 정보 등 이용 가능한 셀 정보 획득 메커니즘이 무엇인지를 확인하고, 해당 메커니즘에 기반하여 셀 정보를 획득할 수 있다. 여기서 셀 정보 획득 메커니즘을 선택함에 있어서, 로봇이 이전에 수행한 위치 정보의 획득 과정에서 산출된 정보를 반영할 수 있다.
예를 들어, 이전에 GPS 좌표 정보를 이용하여 셀 정보를 획득한 후, GPS 정보의 정확도가 낮은 경우에는 로봇(100)은 GPS가 아닌 다른 셀 정보 획득 메커니즘을 선택할 수 있다.
보다 상세히, 로봇의 제어부는 셀 정보를 획득하는 메커니즘을 선택한다(S21). 이 메커니즘은 로봇의 위치를 개략적으로 확인하기 위함이다. 즉, 로봇이 자신의 위치를 정확하게 확인하기 위해 어느 셀에 포함되는지를 판단하기 위함이다.
셀 정보 획득 메커니즘의 실시예는 다음과 같다. 로봇(100)의 센서들 또는 통신부(280)는 GPS(Global Positioning System)의 좌표 정보, 무선 네트워크의 식별 정보 또는 이동통신 네트워크의 식별 정보를 산출한다. 또는 센서가 이미지, 라이다 프레임 등(센서 정보)을 산출할 수 있다. 또는 통신부(280)가 외부 맵 정보를 수신할 수 있다. 전술한 정보들을 이용하여 로봇이 위치한 셀 정보를 획득할 수 있다.
선택된 메커니즘(셀 정보 획득 메커니즘)이 GPS 기반인 경우(S22), 로봇의 제어부(250)는 GPS 좌표 정보를 이용하여 셀 정보 획득 및 해당 셀에 대응하는 위치정보 획득 메커니즘 1을 선택한다(S23).
선택된 메커니즘이 통신 정보 기반인 경우(S24), 로봇의 제어부(250)는 통신 정보를 이용하여 셀 정보 획득 및 해당 셀에 대응하는 위치정보 획득 메커니즘 2를 선택한다(S25). 통신 정보란 무선 네트워크의 식별 정보 또는 이동통신 네트워크의 식별 정보 등을 일 실시예로 한다.
한편, 선택된 메커니즘이 센서 데이터 기반인 경우(S26) 로봇의 제어부(250)는 센서 데이터(센서가 획득한 정보)를 이용하여 셀 정보 획득 및 해당 셀에 대응하는 위치정보 획득 메커니즘 3을 선택한다(S27). 센서 데이터란, 예를 들어 카메라 센서가 주변을 촬영하고, 촬영한 이미지 내에서 랜드마크(landmark)와 같이 중요한 정보를 추출한 경우, 이 정보를 이용하여 셀 정보를 확인하는 것을 의미한다.
S22, S24, S26 외에도 로봇은 S28에 제시된 바와 같이 다양한 방식으로 셀 정보를 획득할 수 있다. 일 실시예로, 로봇의 제어부(250)는 외부 포털 업체가 제공하는 외부 맵 정보를 이용하여 셀 정보를 산출할 수 있다.
일 실시예로 로봇의 제어부(250)는 이전에 적용했던 셀 정보를 재사용할 수 있다. 이는 제어부(250)가 이전에 셀 정보를 획득했던 위치에서 멀리 이동하지 않았을 경우 동일한 셀에 위치할 가능성이 있으므로, 이전에 사용한 셀 정보를 재사용하여 셀 정보 획득 시간을 줄일 수 있다.
일 실시예로, 로봇의 제어부(250)는 휠 오도메트리를 이용하여 셀 정보를 선택할 수 있다. 이는 제어부(250)가 이전에 셀 정보를 획득했던 위치에서 이동한 방향과 거리에 기반하여 이전 셀 혹은 이전 셀에 인접한 셀을 선택할 수 있다. 예를 들어, 도 2의 14에서 로봇이 제1시점에 Cell4에 위치했고 이후 이동한 제2시점까지 이동할 수 있다.
이때, 제어부(250)는 제1시점에서 제2시점까지 이동한 거리와 방향을 계산하여 로봇이 제2시점에 Cell6에 위치한 것으로 판단할 수 있다. 이 경우, 로봇의 제어부(250)는 다른 정보가 없이도, 휠 오도메트리를 이용하여 Cell6을 셀 정보로 획득할 수 있다.
S28은 S22 내지 S26의 메커니즘을 사용하지 못하거나, 혹은 이전 시점에서 이동한 거리가 짧은 경우에 적용 가능하다.
이후 로봇의 제어부(250)는 S28에서 획득한 셀 정보의 셀에 대응하는 위치정보 획득 메커니즘 4를 선택한다(S29).
위치정보 획득 메커니즘 1 내지 4는 해당 셀에서 최적화된 것으로, 각 셀 마다 설정될 수 있다. 그리고 위치정보 획득 메커니즘은 셀정보 획득 메커니즘과 독립적으로 구성될 수 있다.
위치정보 획득 메커니즘의 실시예를 살펴보면, 딥러닝 모델에 기반한 위치 정보 획득 메커니즘이거나, 혹은 딥러닝 기반이 아닌 방법론으로 특징 기반(feature-based) 위치 정보 획득 메커니즘, 또는 딥러닝 기반이 아닌 방법론으로 레이저 기반(laser-based) 위치 정보 획득 메커니즘 등이 될 수 있다.
일 실시예로, 딥러닝 모델에 기반하여 위치정보를 획득하는 메커니즘의 경우, 딥러닝 모델은 셀 내에서의 이미지를 입력받은 후 로봇의 포즈(pose) 정보를 출력하여 로봇이 위치 정보를 획득할 수 있다. 획득한 위치정보를 이용하여 로봇은 리로컬라이제이션(relocalization)을 수행할 수 있다.
일 실시예로, 각 셀에서 레이디벅(Ladybug)과 같은 360도 카메라를 이용하여 이미지 데이터와 결합(associated)되는 카메라의 절대적 포즈 정보(absolute pose information) 또는 상대적 포즈 정보(relative pose information)를 수집한다. 그리고 다음과 같은 실시예들과 같이, 수집된 데이터를 바탕으로 각 셀 별로 각각의 딥러닝 모델을 따로 학습한다. 예를 들어, 딥러닝 모델은 이미지가 입력되면 출력으로 해당 위치 정보를 제공한다.
각 셀 별로 별도의 딥러닝 모델을 학습하므로, 셀에 특화된 딥러닝 모델을 각각 생성할 수 있다.
셀 별로 특화된 딥러닝 모델을 생성하는 일 실시예로, 포즈넷(posenet)을 이용할 수 있다. 딥러닝 모델은 CNN(Convolutional Neural Network)을 포함할 수 있으며, 딥러닝 모델의 입력 노드로 한 장의 이미지가 들어오면 포즈 정보를 딥러닝 모델의 출력 노드로 출력하는 형태로 구현될 수도 있다. 이때 CNN의 일 실시예는 GoogleNet을 포함한다.
한편, 다른 실시예에 의한 딥러닝 모델은 다수의 연속된 이미지들을 입력노드에서 입력받고, 이들 연속된 이미지의 상관관계(correlation)를 반영하여 포즈 정보를 출력 노드로 출력할 수 있다. 이 경우 CNN과 LSTM(Long Short-Term Memory)을 결합한 형태가 될 수도 있다.
또한, 다른 실시예에 의한 딥러닝 모델은 SNN(Siamese Neural Network)을 포함하며, 상이한 장소에서 획득되었으나 유사해보이는 이미지들을 구분하여 포즈 정보를 출력 노드로 출력할 수 있다.
딥러닝 모델의 전술한 예시들은 본 발명의 일 실시예에 해당하며, 본 발명의 위치정보 획득 메커니즘은 전술한 딥러닝 모델 외에도 다양한 딥러닝 모델을 포함할 수 있다.
한편, 본 발명의 다른 실시예에 의한 위치정보 획득 메커니즘은 딥러닝 모델을 사용하지 않고 카메라 센서(230)가 촬영한 이미지를 이용하여 특징 기반으로 위치 정보를 획득할 수 있다. 또한 본 발명의 또다른 실시예에 의한 위치정보 획득 메커니즘은 딥러닝 모델을 사용하지 않고 라이다 센서(220)가 획득한 거리 정보(2차원 또는 3차원)를 이용하여 위치 정보를 획득할 수 있다.
마찬가지로, 로봇은 전술한 방식들에서 획득한 위치정보를 이용하여 리로컬라이제이션(relocalization)을 수행할 수 있다.
도 6은 본 발명의 일 실시예에 의한 위치 좌표를 이용하여 셀 정보를 획득하는 과정을 보여준다. 위치 좌표란 GPS 좌표, 외부 맵을 통한 좌표, 또는 외부의 이미지에 포함된 랜드마크 정보를 이용하여 산출된 좌표를 포함한다. 이들 위치 좌표는 일정한 범위 내의 오차를 가진다. 따라서, 로봇의 제어부(250)는 이에 대한 오차 범위를 적용하여 셀 정보를 획득할 수 있다.
먼저, 로봇의 제어부(250)는 로봇의 좌표(x, y)를 획득한다(S31). 좌표 획득 방식은 전술한 GPS, 외부 맵 정보, 외부 랜드마크 확인 등을 일 실시예로 한다.
산출된 로봇의 좌표를 중심(centroid)으로 적용 가능한 오차 범위(e)를 산출한다. GPS의 경우 오차 범위, 외부 맵 정보의 경우 오차 범위, 외부 랜드마크 확인 시의 오차 범위는 각각 상이할 수 있다. 또한 GPS를 사용하는 경우라도 이전의 위치확인 과정에서 GPS 좌표와 실제 획득한 위치 정보 사이의 차이가 기준범위를 벗어난 경우, GPS 오차 범위를 증가시킬 수 있다.
반대로, 이전의 GPS 좌표 정보가 실제 획득된 위치 정보 사이의 차이가 일치하거나 최소 기준 범위에 속할 경우 GPS 오차 범위를 줄일 수 있다. 이는 GPS 오차가 주변 환경에 따라 달라지므로, 로봇의 제어부(250)는 이를 반영하여 실시간으로 증감하여 정확도를 높이고자 한다.
이러한 오차 범위의 증감은 외부 맵 정보나 외부 랜드마크 확인 과정에서도 동일하게 적용될 수 있다.
로봇의 제어부(250)는 S32에서 오차 범위를 산출한 후 좌표 및 오차범위를 적용하여 셀 정보를 산출한다(S33). 예를 들어 로봇의 제어부(250)는 (x, y)로 산출된 지점을 중심으로 "e" 거리 내의 원을 형성한 후, 이 원과 중첩하는 셀을 식별할 수 있다. 로봇의 제어부(250)가 셀의 경계에 배치될 경우에는 둘 이상의 셀 정보를 획득할 수 있다. 이 경우 로봇의 제어부(250)는 다른 셀 정보 획득 메커니즘을 이용하여 정확도를 높일 수 있다.
로봇의 제어부(250)는 S33의 셀 정보에 결합한 위치정보 획득 메커니즘을 이용하여 로봇의 위치 정보를 획득한다(S34). 획득한 정보를 이용하여 로봇은 리로컬라이제이션(relocalization)을 수행하여(S35) 로봇의 현재 위치를 복구할 수 있다.
리로컬라이제이션은 로봇이 현재 위치를 확인하는데 실패한 경우에 다시 현재 위치를 재추정(re-estimate)하는 과정을 포함한다.
도 6의 실시예를 적용하기 위해 제어부(250)는 앞서 도 2의 13 및 표 1에서 살펴본 바와 같이, 셀 정보(위치 정보 포함)와 위치정보 획득 메커니즘을 결합시켜 저장할 수 있다.
예를 들어, GPS의 좌표 (xi, yi)를 중심으로 오차 범위(ei)이내에 해당되는 셀에 위치정보 획득 메커니즘을 결합시킬 수 있다. 예를 들어 저장부(210)는 특정한 리로컬라이제이션(relocalization) 방법을 특정 셀에 결합한 정보를 저장할 수 있다.
비주얼 슬램(visual SLAM)과 같은 다양한 SLAM 방법의 로컬라이제이션을 통해서 알려진 위치 정보(xt, yt)를 기반으로 각 셀마다 위치정보 획득 메커니즘을 결합시킬 수 있다. 예를 들어 저장부(210)는 특정한 리로컬라이제이션(relocalization) 방법을 특정 셀에 결합한 정보를 저장할 수 있다.
그리고 셀 경계를 넘어갈 경우, 로봇의 제어부(250)는 리로컬라이제이션 방법을 스위칭할 수 있다.
물론, 로봇의 제어부(250)는 외부의 맵 정보나 랜드마크 정보를 이용하여 좌표 및 오차 범위에 기반하여 셀 정보를 산출할 수 있다.
도 7은 본 발명의 일 실시예에 의한 로봇의 좌표를 산출하여 셀 정보를 획득하는 과정을 보여준다. 도 2의 13과 같이 셀이 구획된 경우에 로봇이 셀 정보를 확인하는 과정을 살펴본다. 설명의 편의를 위해 도 2의 13에 표기되었던 각 셀들의 중심 좌표 및 범위에 대한 표기는 도 7의 13에서 생략하였다.
로봇이 GPS 등을 통해 현재 확인된 좌표 정보가 (xt, yt)이다. GPS의 오차가 없다면 로봇의 현재 좌표 정보는 (xt, yt)에 해당하며 Cell1에 포함된다.
만약 GPS의 오차가 e1인 경우 로봇이 위치할 수 있는 범위는 (xt, yt)을 중심으로 e1만큼 떨어진 원의 범위(37)가 될 수 있다. 37이 지시하는 원은 여전히 Ce111 내부이므로, 로봇은 Cell1에 적용되는 PIAM_1(표 1 참조)을 이용하여 로봇의 정확한 위치를 산출할 수 있다. 예를 들어, 제어부(250)는 PIAM_1을 이용하여 리로컬라이제이션을 수행할 수 있다.
한편, 만약 GPS의 오차가 e2인 경우 로봇이 위치할 수 있는 범위는 (xt, yt)을 중심으로 e2만큼 떨어진 원의 범위(38)가 될 수 있다. 38이 지시하는 원은 Ce111 및 Cell2 에 걸쳐 있다. 따라서, 로봇은 다른 메커니즘에 기반하여 셀을 확정하거나, 혹은 이전의 로봇의 위치를 기준으로 셀을 확정할 수 있다.
예를 들어 직전에 로봇의 위치가 Cell2의 P2였고, 이전 시점부터 지금까지 로봇이 이동한 거리가 짧다면 현재 위치를 Cell2로 결정한다. 반면, 직전에 로봇의 위치가 Cell1의 P1이었고, 이전 시점부터 지금까지 로봇이 이동한 거리가 짧다면 현재 위치를 Cell1로 결정한다.
즉, 셀을 결정하는 과정에서 제어부(250)는 로봇의 이동 거리와 방향 등을 반영할 수 있다.
또는 Cell1에 적용되는 PIAM_1 및 Cell2에 적용되는 PIAM_2를 이용하여 로봇의 정확한 위치를 산출할 수 있다.
도 7에 도시된 바와 같이, 제어부(250)는 GPS의 좌표 정보에 대응하는 오차 범위를 산출할 수 있다. 이 오차 범위는 미리 고정된 값일 수 있고, 이전 위치 정보 획득 과정에서 업데이트된 값일 수 있다. 제어부(250)는 GPS의 좌표 정보에 적용한 오차 범위 내에서 중첩되는 셀 정보를 하나 이상 산출할 수 있다. 셀 정보가 하나만 산출될 경우, 제어부(250)는 해당 셀 정보를 위치정보 획득 메커니즘을 선택하는데 이용한다.
반면, 셀 정보가 둘 이상 산출될 경우, 제어부(250)는 이들 중에서 하나를 선택하며, 선택 과정에서 이전 로봇의 셀 정보나 로봇의 이동 거리, 방향 등을 반영할 수 있다.
도 7에 제시된 바와 같이, 로봇이 위치하는 셀 정보가 오차 범위 내에서 두 개 이상인 경우에 로봇은 이전에 획득한 셀 정보를 이용하여 오차 범위 내의 둘 이상의 셀 정보들 중 하나를 선택할 수 있다. 이때, 제어부(250)는 휠 오도메트리를 이용하여 이전 셀로부터의 이동 거리와 방향에 기반하여 현재 셀 정보를 추정할 수 있다. 이러한 메커니즘은 다양한 셀 정보 획득 메커니즘에서도 적용될 수 있다.
즉, 셀의 경계 영역에서는 통신 관련 정보도 중첩될 수 있다. 예를 들어 로봇이 두 개의 기지국 경계에 위치하면 두 개의 기지국 각각의 식별 정보를 수신할 수 있다. 이 경우, 로봇은 두 개의 기지국의 식별 정보들 중에서 신호가 센 기지국에 대응하여 셀 정보를 획득할 수 있다. 또는 두 개의 기지국의 식별 정보 중에서 로봇이 이전에 위치했던 셀로부터의 이동 거리와 방향을 반영하여 하나의 셀 정보를 획득할 수 있다.
도 8은 본 발명의 일 실시예에 의한 좌표 정보를 기반으로 위치정보 획득 메커니즘을 실행시키는 조건을 나열한 트리 구성을 보여준다. 표 1 및 도 2의 13을 기준으로 트리 구성을 보여준다. 로봇이 다양한 방식(GPS, 외부 맵 정보 등)을 이용하여 현재 좌표 (x, y)를 산출한다. 그리고 x, y가 가질 수 있는 값의 범위는 도 8의 트리 구조에 따라 분기하며 어떤 셀의 어떤 위치정보 획득 메커니즘을 지시하는지 보여준다. 즉, 각 분기 지점에 따라 3개의 위치정보 획득 메커니즘이 지정된다.
만약, Cell1에 속할 경우 현재 좌표 (x, y)는 표 8의 점선에 해당한다. 즉, x 좌표값의 경우, x1-w1<=x<=x1+w1 를 만족하며, y 좌표값의 경우 y1-h1<=y<=y1+h1를 만족한다. 그 결과 제어부(250)는 PIAM_1이라는 위치정보 획득 메커니즘을 호출하여 리로컬라이제이션을 수행할 수 있다.
GPS를 이용하여 현재 좌표 정보를 획득하면, 도 8과 같은 트리를 이용하여 해당 셀에 적합한 딥러닝 모델이나 방법론에 해당하는 위치정보 획득 메커니즘을 호출할 수 있다. 이 과정에서 GPS의 위치 정보의 오차 범위가 있을 경우 제어부(250)는 도 7에 도시된 실시예를 적용하거나, 또는 다른 셀 정보 획득 메커니즘과 결합하여 정확하게 셀 정보를 산출할 수 있다.
도 9는 본 발명의 일 실시예에 의한 통신 관련 정보를 이용하여 셀 정보를 획득하는 과정을 보여준다. 통신 관련 정보란 Wi-Fi에서 로컬 네트워크(local network)를 지정하기 위한 SSID, ESSID 또는 WiFi AP의 맥 주소(mac address), 3G/4G/5G와 같은 이동통신 네트워크(cellular network)에서 하나의 기지국(base station) 또는 기지국과 유사한 기능을 하는 릴레이 등이 커버하는 영역들(Base Station Cell ID, Relay Cell ID로 구분)에 대한 정보이다. 통신부(280)는 다양한 통신 관련 정보를 수신하거나 취합하여 저장할 수 있다.
로봇의 위치에 따라 둘 이상의 통신 관련 정보가 수신될 수 있다. 따라서, 제어부(250)는 통신부(280)가 수신한 신호의 세기, 직전 위치의 셀 정보 등을 반영하여 하나의 셀 정보를 선택할 수 있다. 상세히 살펴본다.
먼저, 로봇의 통신부(280)는 통신 관련 정보를 수신한다(S41). 통신 관련 정보란 전술한 무선 네트워크, 이동통신 네트워크 등에서 송신되는 정보를 일 실시예로 한다.
제어부(250)는 통신 관련 정보에 대응하는 셀 정보를 산출한다. 제어부(250)는 표 2와 같이 저장부(210)에 저장된 정보들과 수신한 정보를 비교하여 대응하는 셀 정보를 산출한다. 이때, 둘 이상의 셀 정보가 산출될 경우 제어부(250)는 신호 강도, 직전 셀 정보 등을 반영하여 하나의 셀 정보를 선택한다(S43).
예를 들어, 도 2의 14에서 로봇이 Cell 2의 신호(ESSID2)와 Cell4의 신호(Base Station의 Cell ID4)를 모두 수신할 수 있다. 이 경우, 두 신호 중에서 강한 신호를 선택할 수 있다. 또는 수신된 신호가 WiFi 관련 신호 및 이동통신 관련 신호일 경우, 제어부(250)는 WiFi와 같이 무선 네트워크의 신호에 우선순위를 할당할 수 있다. 이는 이동통신 관련 신호는 커버리지(coverage)가 넓은 반면 무선 네트워크의 경우 커버리지가 좁으므로, 무선 네트워크의 신호가 수신되면 해당 신호에 대응하는 셀(표 2에서는 Cell2)을 선택한다.
로봇의 제어부(250)는 S43에서 선택한 셀 정보에 결합한 위치정보 획득 메커니즘을 이용하여 로봇의 위치 정보를 획득한다(S44). 획득한 정보를 이용하여 로봇은 리로컬라이제이션(relocalization)을 수행하여(S45) 로봇의 현재 위치를 복구할 수 있다.
리로컬라이제이션은 로봇이 현재 위치를 확인하는데 실패한 경우에 다시 현재 위치를 재추정(re-estimate)하는 과정을 포함한다.
정리하면, 제어부(250)는 무선 네트워크의 식별 정보 또는 이동통신 네트워크의 식별 정보를 이용하여 셀 정보를 획득할 수 있다. 또한, 제어부(250)는 셀 정보의 획득 과정에서 무선 네트워크 또는 이동통신 네트워크의 신호의 세기나 커버리지를 기준으로 하나의 셀 정보를 획득할 수 있다.
도 9의 실시예를 적용하기 위해 제어부(250)는 앞서 도 2의 14 및 표 2에서 살펴본 바와 같이, 셀 정보(통신 관련 정보 포함)와 위치정보 획득 메커니즘을 결합시켜 저장할 수 있다.
도 10은 본 발명의 일 실시예에 의한 센서 데이터를 이용하여 셀 정보를 획득하는 과정을 보여준다.
센서 데이터, 예를 들어 카메라 센서(230)를 이용하여 촬영된 이미지는 S51에서 객체 감지(object detection)를 통해 랜드마크에 대응하는 객체를 추출한다. 그리고 추출된 객체를 VocTree(Vocabulary Tree)에 입력한다(S62). 그 결과 제어부(250)는 후보가 되는 위치정보 획득 메커니즘(Candidate PIAM)의 ID를 추출한다.
그리고 제어부(250)는 추출된 PIAM의 ID에 대응하는 랜드마크들과 유사도를 비교한다(S54). 그 결과 최적의 PIAM ID가 산출되면, 제어부(250)는 해당 PIAM ID에 해당하는 딥러닝 모델 또는 방법론을 적용하여 리로컬라이제이션을 수행할 수 있다.
제어부(250)는 앞서 표 3에 살펴본 바와 같이 각 영역별로 랜드마크를 저장하고 이미지가 들어왔을 때 감지된 랜드마크와 표 3의 모든 엔트리들(entries)을 각각 비교해서 가장 유사한 랜드마크에 해당하는 셀 정보를 산출하고, 해당 셀 정보에 대응하는 위치정보 획득 메커니즘을 도출할 수 있다.
또는 도 10에 도시된 바와 같이 제어부(250)는 감지된 객체에 대해 VocTree를 이용하여 검색 공간(search space)를 줄이고 후보가 될 수 있는 메커니즘(candidate 모델 또는 candidate 방법론)에 해당되는 랜드마크들을 중심으로 유사도를 비교해서 가장 유사한 메커니즘(가장 유사한 모델 또는 방법론)의 ID를 검색한다. 그리고 제어부(250)는 검색된 메커니즘을 이용하여 위치정보를 획득한다.
도 11은 본 발명의 일 실시예에 의한 셀정보 획득 메커니즘과 위치정보 획득 메커니즘의 적용 프로세스를 보여준다.
로봇의 제어부(250)는 셀 정보를 획득하기 위한 변수를 입력받는다(S61). 이 변수는 앞서 확인한 GPS 좌표 정보, 외부 맵 정보, 센서 데이터, 통신 관련 정보 등을 포함한다.
그리고 제어부(250)는 입력된 정보를 이용하여 현재 영역에 대응하는 셀을 지정하고 해당 영역에 대응하는 셀에 최적화된 모델, 즉 위치정보 획득 메커니즘을 확인한다(S62).
앞서 표 1 내지 표 3에서 살펴본 바와 같이 로봇의 제어부(250)는 각 셀에서 최적의 위치정보 획득 메커니즘에 따라, 딥러닝 모델 1~3 또는 딥러닝 기반이 아닌 다른 방법을 적용할 수 있다(S63). 예를 들어, 딥러닝 모델 1 내지 3이 각각 위치정보 획득 메커니즘일 될 수 있다.
또한, 로봇의 제어부(250)는 딥러닝 기반이 아닌, 특징 기반(feature-based)로 리로컬라이제이션을 수행하거나, 딥러닝 기반이 아닌, 레이저(laser) 기반으로 리로컬라이제이션을 수행할 수 있다.
딥러닝 모델의 일 실시예는 딥러닝 모델에 센서 데이터가 입력된 후, 딥러닝 모델의 출력부가 포즈(pos) 정보를 출력한다(S64).
예를 들어, 카메라 센서(230)가 주변을 촬영하여 이미지를 생성한다. 이 경우, 위치정보 획득 메커니즘이 딥러닝 모델인 경우 다음과 같이 위치 정보가 출력된다. 즉, 제어부(250)가 딥러닝 모델의 입력 노드에 카메라 센서(230)가 촬영한 이미지를 입력하고, 딥러닝 모델은 이미지에 대응하는 위치 정보를 산출한다.
한편, 위치정보 획득 메커니즘은 딥러닝을 이용하지 않고, 특징 기반으로 위치 정보를 산출할 수 있다.
마찬가지로, 카메라 센서(230)가 주변을 촬영하여 이미지를 생성한다. 그리고 저장부(210)는 위치정보 획득 메커니즘이 적용되는 셀에 대응하는 공간에서 촬영된 다수의 이미지들을 저장한다. 또는 저장부(210)는 위치정보 획득 메커니즘이 적용되는 셀에 대응하는 공간에서 촬영된 이미지들의 피쳐(특징)를 저장한다.
또한, 저장부(210)는 저장된 이미지 또는 피쳐(특징)에 각각 대응하는 위치 정보 역시 저장한다.
그 결과, 위치정보 획득 메커니즘이 특징 기반인 경우에 제어부(250)는 카메라 센서(230)가 촬영한 이미지 또는 촬영된 이미지에서 추출된 피쳐를 저장부(210)에서 검색한다. 검색된 경우, 제어부(250)는 저장된 이미지/피쳐에 대응하는 위치 정보를 산출한다.
도 12는 본 발명의 일 실시예에 의한 전체 공간을 셀로 분할하는 예시를 보여준다.
셀의 분할은 하나의 로봇이 이동하는 과정에서 이루어질 수 있다. 또는 중앙의 클라우드 서버가 로봇들이 획득한 정보를 취합한 후에 셀을 구성할 수 있다.
도 12는 다수의 셀들이 다양한 크기로 구성됨을 보여준다. 셀들의 크기나 위치, 또는 다른 셀들과의 중첩 정도는 로봇의 위치정보 확인의 정확도 또는 신속도에 따라 결정될 수 있다. 즉, 셀들을 분할하고 각 셀들이 커버하는 커버리지(coverage)를 지정하는 기준으로 로봇 또는 클라우드 서버는 아래의 요소들을 반영할 수 있다.
영역을 셀로 지정하기 위한 일 실시예로, 구분 가능한 영역에 대해 각각 하나의 셀로 설정하여 로봇은 해당 셀에서 리로컬라이제이션을 수행할 수 있다. 예를 들어, 로봇 또는 클라우드 서버는 Wi-Fi AP1이 커버하는 영역을 하나의 셀에 대응시킨다.
즉, 로봇 또는 클라우드 서버는 Wi-Fi AP1이 커버하는 영역은 여러 개의 작은 리로컬라이제이션 셀로 분할하지 않도록 셀들을 구성할 수 있다. 왜냐하면 하위 셀로 분할된 경우에 로봇은 하위 셀을 추가로 검색해야 하기 때문이다. 통신 관련 정보를 이용하는 실시예의 경우에 로봇 또는 클라우드 서버는 별도의 검색 과정을 줄이기 위해 통신 관련 정보에 대응하는 영역 하나에 대해 하나의 셀을 설정할 수 있다.
또는, 로봇 또는 클라우드 서버는 Wi-Fi AP1 및 AP2가 커버하는 영역을 하나의 셀로 지정할 수 있다. 이 경우 Wi-Fi AP1을 확인한 로봇 및 Wi-Fi AP2를 확인한 로봇 모두 하나의 셀에 위치한 것으로 판단하고 위치정보 확인 메커니즘을 선택할 수 있다.
또한, 공간 자체의 특성이 광활한 나대지와 같이 로봇이 주행함에 있어서 충돌할 사물이 없어서 로봇이 대략의 위치 정보만을 필요로 하는 공간의 경우에는 셀의 크기를 크게 설정한다. 이 경우, 셀의 사이즈를 크게 하고, 해당 셀에는 조밀도가 낮은(coarse-grained) 형태의 위치정보 획득 메커니즘을 설정한다.
이 경우 설정되는 위치정보 획득 메커니즘은 계산량이 많지 않은 라이트 모델(light model)을 적용할 수 있다. 즉, 로봇 또는 클라우드 서버는 위치 정보의 획득이 정밀할 필요가 없는 영역은 리로컬라이제이션 셀의 크기를 크게 하여 신속하게 위치 정보를 확인하여 리로컬라이제이션이 수행될 수 있도록 한다.
반대로, 공간 자체가 도시나 중심지와 같이 사물과 사람이 다수 이동하거나 배치된 공간은 로봇이 주행 과정에서 충돌을 회피해야하는 경우가 많고, 이로 인해 리로컬라이제이션이 빈번하게 일어날 수 있다. 따라서, 이러한 공간은 작은 셀들로 분할하여 조밀도가 높은(find-grained) 형태의 위치정보 획득 메커니즘을 설정한다.
이 경우 설정되는 위치정보 획득 메커니즘은 계산량이 많은 복합적(complex) 모델을 적용할 수 있다. 즉, 로봇 또는 클라우드 서버는 위치 정보의 획득이 정밀할 필요가 있는 영역은 리로컬라이제이션 셀의 크기를 작게 하여 정밀하게 위치 정보를 확인하여 리로컬라이제이션이 수행될 수 있도록 한다.
도 13은 본 발명의 일 실시예에 의한 클라우드 서버의 구성을 보여준다. 도 13의 클라우드 서버는 맵을 생성하거나, 위치정보 획득 메커니즘을 생성할 수 있다. 클라우드 서버는 일종의 인공지능 서버이며, 다수의 로봇들과 데이터를 송수신할 수 있다.
로봇(100)이 전송한 셀 정보, 또는 로봇이 전송한 센서 데이터 등을 이용하여 서버 제어부(350)는 위치정보 획득 메커니즘을 수행하여 위치 정보를 생성하여 이를 로봇(100)에게 전달할 수 있다.
일 실시예로 모델 저장부(331)는 딥러닝 모델에 기반한 위치정보 획득 메커니즘(331a)을 포함할 수 있다. 서버 제어부(350)는 모델 저장부(331)를 제어하여 딥러닝 모델에 기반한 위치정보 획득 메커니즘을 수행할 수 있다.
그리고 서버 제어부(350)는 딥러닝 기반이 아닌 위치정보 획득 메커니즘을 수행할 수 있다.
로봇(100)과 클라우드 서버(300)는 앞서 살펴본 도 1 내지 도 12의 작업을 협업으로 진행할 수 있다. 이러한 협업은 다음과 같이 분류된다.
제1범주는 로봇(100)이 셀 정보 획득 메커니즘 수행 및 위치정보 획득 메커니즘 수행을 모두 담당하는 경우이다. 이 경우 클라우드 서버(300)는 데이터 백업 및 동기화 작업을 수행한다. 제1범주의 실시예에서 로봇의 컴퓨팅 파워가 좋으므로 로봇이 리로컬라이제이션에 필요한 모든 작업을 수행할 수 있다.
제2범주는 로봇(100)이 셀 정보 획득 메커니즘을 수행하고, 컴퓨팅 파워를 적게 사용하는 라이트 모델인 위치 정보 획득 메커니즘을 수행한다. 클라우드 서버(300)는 컴퓨팅 파워를 많이 사용하는 헤비 모델(heavy model)인 위치정보 획득 메커니즘을 수행하는 경우이다. 이는 로봇(100)의 컴퓨팅 파워가 중간-상위 수준인 경우에 적합하다. 로봇(100)이 계산량이 적은 위치정보 획득 메커니즘을 수행한다.
반면, 클라우드 서버(300)가 계산량이 많은 위치정보 획득 메커니즘을 수행하여 위치 정보를 로봇(100)에게 전송한다. 이를 위해 로봇(100)은 카메라 센서(230)가 촬영한 이미지, 라이다 센서(220)가 센싱한 라이다 프레임 등 센서 데이터를 클라우드 서버(300)에게 전송한다.
제3범주는 로봇(100)이 셀 정보 획득 메커니즘을 수행하고, 클라우드 서버(300)는 위치정보 획득 메커니즘을 수행하는 경우이다. 이는 로봇(100)의 컴퓨팅 파워가 중간-하위 수준인 경우에 적합하다. 로봇(100)이 계산량이 적은 셀 정보 획득 메커니즘만을 수행한다. 그리고 로봇(100)은 센서 데이터를 모두 클라우드 서버(300)에게 전송한 후, 클라우드 서버(300)로부터 위치 정보를 수신하여 리로컬라이제이션을 완료한다.
제4범주는 로봇(100)이 GPS 좌표 정보, 통신 관련 정보, 또는 센서 데이터를 클라우드 서버(300)에게 전송한다. 클라우드 서버(300)는 셀 정보 획득 메커니즘 수행 및 위치정보 획득 메커니즘 수행을 모두 담당한다, 이는 로봇(100)의 컴퓨팅 파워가 하위 수준인 경우에 적합하다. 앞서 로봇의 제어부(250)가 수행하는 작업들은 모두 서버 제어부(350)가 수행할 수 있다.
전술한 실시예들을 적용할 경우, 로봇(100)이나 클라우드 서버(300)는 GPS, WiFi, 이동 통신 네트워크(cellular network)를 통해 정밀도가 다소 낮은 위치정보(셀 정보)를 확보한 후, 해당 셀에 적합하게 정밀한 위치 정보를 획득할 수 있다.
넓은 공간을 커버해야하는 아웃도어 로봇(outdoor robot)의 경우, 전체 영역을 하나의 맵이나 위치정보 획득 메커니즘으로 위치 정보를 산출하는 것은 매우 비효율적이다. 즉, 로봇이 리로컬라이제이션(relocalization)을 수행하기 위해서 전체 맵을 검색해야하므로 이를 계산하기 위한 컴퓨팅 파워가 증가한다.
따라서, 도 1 내지 도 3에 예시적으로 제시한 바와 같이 넓은 공간을 셀로 구분지으면, 로봇은 1차적으로 자신의 위치가 어느 셀에 속하는지 확인하고, 해당 셀에 관련된 맵만을 검색하거나, 해당 셀에 관련된 위치정보 획득 메커니즘을 수행하여 검색 속도를 높일 수 있다.
특히, 딥러닝기반의 비주얼 기반 리로컬라이제이션(visual-based relocalization)을 위치정보 획득 메커니즘으로 구현할 경우, 상대적으로 정밀한(fine grained) 로컬라이제이션(localization)이 가능하다. 그러나, 단일한 딥러닝 모델을 넓은 영역에 적용할 경우, 전체영역을 커버하는 360도 이미지들의 양이 매우 많으며 이는 학습의 효율을 떨어뜨린다.
즉, 넓은 공간에서 산출된 많은 이미지들과 해당 위치 정보를 하나의 딥러닝 모델로 학습할 경우 딥러닝 모델이 지나치게 복잡해지는 문제가 있다. 또한, 넓은 영역을 하나의 딥러닝 모델이 커버하도록 적용할 경우, 학습시간뿐만 아니라, 로컬라이제이션 수행시간도 길어지며, 정확도 역시 떨어질 수 있다.
그리고 광대역 공간의 하위 영역들은 각각 최적인 리로컬라이제이션 방법이 상이할 수 있다.
이에, 전술한 바와 같이, 로봇(100) 또는 클라우드 서버(300)는 공간을 그리드 형태 또는 원형, 다각형 등 다양한 형태로 분할하여 작게 분할된 영역을 셀로 정의한다. 그리고 로봇(100) 또는 클라우드 서버(300)는 해당 셀에 최적화된 리로컬라이제이션 모델/방법론인 위치정보 획득 메커니즘을 설정한다.
이후, 전술한 바와 같이, 로봇(100) 또는 클라우드 서버(300)는 1차적으로 셀 정보 획득 메커니즘을 이용하여 상대적으로 조밀하지 않은(coarse-grained)된 위치 정보(셀 정보)를 이용하여 더 정밀한(fine grained) 위치 정보를 획득하여 로봇의 위치를 보정할 수 있다.
셀로 공간을 구분할 경우, 넓은 공간을 하나의 복잡한 딥러닝 모델로 커버할 필요가 없다. 따라서, 로봇(100) 또는 클라우드 서버(300)는 선택된 하나의 셀 정보에 결합된 보다 단순한 딥러닝 모델과 같은 위치정보 획득 메커니즘을 통해서 신속하게 로컬라이제이션을 수행할 수 있다.
또한, 해당 셀 내에서 사물이 이동하거나 재배치되거나 건물이 신축되는 등의 변화가 발생하면, 로봇(100) 또는 클라우드 서버(300)는 해당 셀의 위치정보 획득 메커니즘만을 업데이트 할 수 있다.
한편, 로봇(100) 또는 클라우드 서버(300)는 리로컬라이제이션을 수행하는 과정에서 로봇이 예측했던 포즈 값과 위치정보 획득 메커니즘에 기반한 결과가 상이할 경우에 위치정보 획득 메커니즘의 업데이트를 수행할 수 있다.
이는 위치정보 획득 메커니즘을 통해 산출된 위치 정보가 정확하지 않을 경우에 해당하며, 이는 외부 공간의 특성이 변경되었음을 의미한다. 따라서, 로봇(100) 또는 클라우드 서버(300)는 이러한 변경을 반영한 업데이트된 위치정보 획득 메커니즘이 필요한 상태이므로, 업데이트 작업을 수행할 수 있다.
전술한 바와 같이 각 셀 별로 구획된 공간이 상이한 특징을 가질 경우 본 발명은 각 셀 별로 상이한 위치정보 획득 메커니즘을 적용할 수 있다. 예를 들어 복잡한 사물들이 다수 배치된 도시 중심지의 셀은 고해상도의 이미지들로 구성되거나 정밀한 360도 라이다 프레임을 포함하는 맵을 저장할 수 있다.
반대로, 사물이 배치되지 않은 나대지에 대응하는 셀은 저해상도 혹은 단순 맵을 저장할 수 있다. 따라서, 각 셀의 특징에 따라 로봇(100) 또는 클라우드 서버(300)는 이종의 위치정보 획득 메커니즘을 적용할 수 있다. 즉, 로봇(100) 또는 클라우드 서버(300)는 이종의 딥러닝 모델 혹은 이종의 피쳐 기반/레이저 기반 방법론을 적용할 수 있다.
또한, 하나의 로봇(100)이 여러 다른 영역들(상이한 셀들) 상이한 시간대에 주행할 경우, 해당 셀을 지정하고 새로운 모델이나 방법론으로 스위칭 할 수 있다. 예를 들어, 동일한 로봇이 제1시점에는 제1지역을 주행하다가 제2시점에는 제2지역을 주행하는 경우를 가정한다. 로봇(100)은 제1지역에 적용할 제1위치정보 획득 메커니즘을 이용하여 제1지역에서 리로컬라이제이션을 수행한다. 그리고 로봇(100)이 제2지역으로 이동하면 제2지역에 적용할 제2위치정보 획득 메커니즘을 이용하여 제2지역에서 리로컬라이제이션을 수행한다.
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
로봇(100)은 앞서 살펴보았던 제어부(250)를 구성하는 하위 구성요소인 인공지능부(255)가 인공지능 기능을 수행할 수 있다. 제어부(250) 내에 인공지능부(255)가 소프트웨어 또는 하드웨어로 구성될 수 있다.
이 경우, 로봇(100)의 통신부(280)는 유무선 통신 기술을 이용하여 다른 AI 기능을 제공하는 로봇이나 또는 도 13에서 살펴본 클라우드 서버(300) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(280)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(280)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
인터페이스부(290)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 인터페이스부(290)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 라이다 센서(220), 카메라 센서(230) 또는 마이크로폰이 획득한 정보들은 센싱 데이터 또는 센서 정보 등을 지칭한다.
인터페이스부(290) 및 각종 센서들과 이동부의 휠 인코더(260) 등은 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 전술한 구성요소들은 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 제어부(250) 또는 인공지능부(255)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
인공지능부(255)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 로봇(00)이 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 로봇(100)의 인공지능부(255)는 클라우드 서버(300)의 인공지능부(355)와 함께 AI 프로세싱을 수행할 수 있다.
이때, 로봇(100)의 인공지능부(255)는 로봇(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 로봇(100)의 인공지능부(255)는 별도의 메모리 또는 로봇(100)에 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
로봇(100)은 다양한 센서들을 이용하여 로봇(100)의 내부 정보, 로봇(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
로봇(100)에 내장된 메모리는 로봇(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 로봇(100)에 내장된 각종 센서들이나 인터페이스부(290) 등이 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
제어부(250)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, 로봇(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 제어부(250)는 로봇(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 제어부(250)는 인공지능부 또는 메모리의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 로봇(100)의 구성 요소들을 제어할 수 있다.
이때, 제어부(250)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
제어부(250)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
한편, 제어부(250)는 이미지 센서 데이터 또는 라이다 센서 데이터와 같이 실시간으로 획득한 센서 데이터에서 특징점을 추출할 수 있다. 이를 위해 인공지능부(255) 보다 상세히 FEM 서브모듈이 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, 로봇(100)의 인공지능부(255)는 학습된 것이나, 클라우드 서버(300)의 인공지능부(355)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
제어부(250)는 로봇(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리 또는 인공지능부(255)에 저장하거나, 클라우드 서버(300) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
앞서 살펴본 도 13은 본 발명의 일 실시예에 의한 클라우드 서버의 또다른 구성을 보여준다.
인공 지능 서버, 즉 AI 서버의 기능을 제공하는 클라우드 서버(300)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, 클라우드 서버(300)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다.
클라우드 서버(300)는 통신부(380), 서버제어부(350), 인공지능부(355) 등을 포함하며 각각에 대해 도 3에서 살펴본 바 있다. 한편 클라우드 서버(300)는 메모리(330)를 더 포함할 수 있다.
메모리(330)는 모델 저장부(331)를 포함할 수 있다. 모델 저장부(331)는 인공지능부(355)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 331a)을 저장할 수 있다.
인공지능부(355)는 학습 데이터를 이용하여 인공 신경망(331a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 클라우드 서버(300)에 탑재된 상태에서 이용되거나, 로봇(100)등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(330)에 저장될 수 있다.
서버제어부(350)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
100: 로봇 210: 저장부
250: 제어부 300: 클라우드 서버
350: 서버제어부
250: 제어부 300: 클라우드 서버
350: 서버제어부
Claims (20)
- 로봇이 이동하는 아웃도어 영역을 센싱하는 센서;
상기 아웃도어 영역을 구분하는 둘 이상의 셀 정보 및 상기 셀 별 위치정보 획득 메커니즘을 저장하는 저장부;
상기 아웃도어 영역 중에 상기 로봇이 위치하는 셀 정보를 획득하고 상기 획득한 셀에 설정된 위치정보 획득 메커니즘에 상기 센서가 획득한 센싱 정보를 입력하여 상기 로봇의 위치 정보를 산출하는 제어부; 및
상기 로봇을 이동시키는 이동부를 포함하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 제1항에 있어서,
상기 제어부는 GPS(Global Positioning System)의 좌표 정보, 무선 네트워크의 식별 정보 또는 이동통신 네트워크의 식별 정보, 상기 센서가 획득한 정보, 또는 외부 맵 정보를 이용하여 상기 셀 정보를 획득하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 제2항에 있어서,
상기 제어부는 상기 GPS의 좌표 정보에 대응하여 오차 범위를 산출하고,
상기 제어부는 상기 GPS의 좌표 정보에 적용한 상기 오차 범위 내에서 중첩되는 하나 이상의 셀 정보를 산출하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 제2항에 있어서,
상기 제어부는 상기 무선 네트워크의 식별 정보 또는 상기 이동통신 네트워크의 식별 정보를 이용하여 셀 정보를 획득하며,
상기 제어부는 셀 정보의 획득 과정에서 상기 무선 네트워크 또는 상기 이동통신 네트워크의 신호의 세기나 커버리지를 기준으로 하나의 셀 정보를 획득하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 제2항에 있어서,
상기 센서는 카메라 센서이며,
상기 저장부는 하나 이상의 랜드마크에 대응하는 셀 정보 및 상기 셀에 설정된 위치정보 획득 메커니즘을 저장하며,
상기 제어부는 상기 카메라 센서가 획득한 이미지에서 객체 감지를 통한 제1랜드마크를 획득하며,
상기 제어부는 상기 제1랜드마크와 상기 저장부에 저장된 랜드마크를 비교하여 상기 셀 정보를 산출하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 제1항에 있어서,
상기 센서는 이미지를 생성하는 카메라 센서이며,
상기 위치정보 획득 메커니즘은 상기 제어부가 딥러닝 모델의 입력 노드에 상기 이미지를 입력하여 상기 이미지에 대응하는 위치 정보를 산출하는 메커니즘인, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 제1항에 있어서,
상기 센서는 이미지를 생성하는 카메라 센서이며,
상기 저장부는 상기 셀에 대응하는 공간에서 촬영된 다수의 이미지들 또는 상기 이미지들의 피쳐에 각각 대응하는 위치 정보를 저장하며,
상기 위치정보 획득 메커니즘은 상기 제어부가 상기 이미지 또는 상기 이미지에서 추출된 피쳐를 상기 저장부에서 검색하여 위치 정보를 산출하는 메커니즘인, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 제1항에 있어서,
상기 로봇이 위치하는 셀 정보가 오차 범위 내에서 두 개 이상인 경우,
상기 제어부는 이전에 획득한 셀 정보를 이용하여 상기 오차 범위 내의 둘 이상의 셀 정보들 중 하나를 선택하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 제1항에 있어서,
상기 제어부는 상기 위치 정보를 이용하여 로봇의 현재 위치를 복구하는 리로컬라이제이션(relocalization)을 수행하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 로봇.
- 다수의 로봇과 정보를 송수신하며 상기 로봇의 센서가 센싱한 센싱 정보를 수신하는 통신부;
상기 로봇이 이동하는 아웃도어 영역을 구분하는 둘 이상의 셀 정보 및 상기 셀 별 위치정보 획득 메커니즘을 저장하는 저장부;
상기 아웃도어 영역 중에 상기 로봇이 위치하는 셀 정보에 설정된 위치정보 획득 메커니즘에 상기 수신한 센싱 정보를 입력하여 상기 로봇의 위치 정보를 산출하여 상기 통신부에게 상기 위치 정보를 제공하는 서버제어부를 포함하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 클라우드 서버.
- 제10항에 있어서,
상기 통신부는 상기 로봇으로부터 GPS(Global Positioning System)의 좌표 정보, 무선 네트워크의 식별 정보 또는 이동통신 네트워크의 식별 정보, 상기 센서가 획득한 정보 중 어느 하나 이상을 수신하며,
상기 서버제어부는 상기 통신부가 수신한 정보를 이용하여 상기 셀 정보를 획득하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 클라우드 서버.
- 제11항에 있어서,
상기 서버제어부는 상기 GPS의 좌표 정보에 대응하여 오차 범위를 산출하고,
상기 서버제어부는 상기 GPS의 좌표 정보에 적용한 상기 오차 범위 내에서 중첩되는 하나 이상의 셀 정보를 산출하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 클라우드 서버.
- 제11항에 있어서,
상기 서버제어부는 상기 무선 네트워크의 식별 정보 또는 상기 이동통신 네트워크의 식별 정보를 이용하여 셀 정보를 획득하며,
상기 서버제어부는 셀 정보의 획득 과정에서 상기 무선 네트워크 또는 상기 이동통신 네트워크의 신호의 세기나 커버리지를 기준으로 하나의 셀 정보를 획득하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 클라우드 서버.
- 제11항에 있어서,
상기 저장부는 하나 이상의 랜드마크에 대응하는 셀 정보 및 상기 셀에 설정된 위치정보 획득 메커니즘을 저장하며,
상기 서버제어부는 상기 로봇으로부터 수신한 이미지에서 객체 감지를 통한 제1랜드마크를 획득하며,
상기 서버제어부는 상기 제1랜드마크와 상기 저장부에 저장된 랜드마크를 비교하여 상기 셀 정보를 산출하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 클라우드 서버.
- 제10항에 있어서,
상기 로봇이 위치하는 셀 정보가 오차 범위 내에서 두 개 이상인 경우,
상기 서버제어부는 이전에 획득한 셀 정보를 이용하여 상기 오차 범위 내의 둘 이상의 셀 정보들 중 하나를 선택하는, 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 클라우드 서버.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190115576A KR102704815B1 (ko) | 2019-09-19 | 2019-09-19 | 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버 |
US15/931,724 US11188753B2 (en) | 2019-09-19 | 2020-05-14 | Method of using a heterogeneous position information acquisition mechanism in an operating space and robot and cloud server implementing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190115576A KR102704815B1 (ko) | 2019-09-19 | 2019-09-19 | 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210033808A KR20210033808A (ko) | 2021-03-29 |
KR102704815B1 true KR102704815B1 (ko) | 2024-09-06 |
Family
ID=74882089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190115576A KR102704815B1 (ko) | 2019-09-19 | 2019-09-19 | 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11188753B2 (ko) |
KR (1) | KR102704815B1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210042537A (ko) * | 2019-10-10 | 2021-04-20 | 엘지전자 주식회사 | 대면적의 공간에서 로컬 영역별로 위치를 추정하는 방법 및 이를 구현하는 로봇과 클라우드 서버 |
WO2021154575A1 (en) * | 2020-01-30 | 2021-08-05 | Arris Enterprises Llc | System and method for graphical symbolic wi-fi ssid display support |
US11880212B2 (en) * | 2020-07-10 | 2024-01-23 | Alarm.Com Incorporated | Robot localization |
EP4215931A1 (en) * | 2022-01-25 | 2023-07-26 | ryd GmbH | Determining a vehicle location |
EP4321308A1 (en) * | 2022-08-08 | 2024-02-14 | Neura Robotics GmbH | Method for recommissioning a robot and robot |
CN118605487A (zh) * | 2023-02-28 | 2024-09-06 | 苏州宝时得电动工具有限公司 | 边界处理方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101691329B1 (ko) | 2016-05-30 | 2016-12-30 | 한경대학교 산학협력단 | 무인배송시스템 및 무인배송방법 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380349B1 (en) * | 2011-05-06 | 2013-02-19 | Google Inc. | Methods and systems for providing instructions to a robotic device |
ES2728861T3 (es) * | 2013-03-15 | 2019-10-29 | Univ Carnegie Mellon | Sistema robótico autónomo supervisado para inspección y procesamiento de superficie compleja |
EP3078935A1 (en) * | 2015-04-10 | 2016-10-12 | The European Atomic Energy Community (EURATOM), represented by the European Commission | Method and device for real-time mapping and localization |
KR101876968B1 (ko) * | 2016-10-21 | 2018-07-12 | 네이버 주식회사 | 실내 자율 주행 로봇을 위한 제어 방법 및 시스템 |
KR102567525B1 (ko) * | 2016-11-17 | 2023-08-16 | 삼성전자주식회사 | 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법 |
KR20180068578A (ko) * | 2016-12-14 | 2018-06-22 | 삼성전자주식회사 | 복수의 센서를 이용하여 객체를 인식하는 전자 기기 및 방법 |
KR101993603B1 (ko) * | 2017-08-29 | 2019-06-27 | 인하대학교 산학협력단 | 다수의 무인 비행체를 이용한 광역 자율탐색 방법 및 시스템 |
GB2573398A (en) * | 2018-04-16 | 2019-11-06 | Bach Ly Xuan | Apparatus and method to project lighting in a physical space adjacent to a commercial vehicle |
US10997453B2 (en) * | 2019-01-29 | 2021-05-04 | Adobe Inc. | Image shadow detection using multiple images |
-
2019
- 2019-09-19 KR KR1020190115576A patent/KR102704815B1/ko active IP Right Grant
-
2020
- 2020-05-14 US US15/931,724 patent/US11188753B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101691329B1 (ko) | 2016-05-30 | 2016-12-30 | 한경대학교 산학협력단 | 무인배송시스템 및 무인배송방법 |
Also Published As
Publication number | Publication date |
---|---|
US11188753B2 (en) | 2021-11-30 |
KR20210033808A (ko) | 2021-03-29 |
US20210089772A1 (en) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102704815B1 (ko) | 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버 | |
US11554495B2 (en) | Method of localization using multi sensor and robot implementing same | |
US11673269B2 (en) | Method of identifying dynamic obstacle and robot implementing same | |
CN113110457B (zh) | 在室内复杂动态环境中智能机器人的自主覆盖巡检方法 | |
KR20210017981A (ko) | 로봇을 이용한 서빙 시스템 및 그 작동방법 | |
US20200004266A1 (en) | Method of performing cloud slam in real time, and robot and cloud server for implementing the same | |
US8090193B2 (en) | Mobile robot | |
JP4241673B2 (ja) | 移動体の経路生成装置 | |
CN109202885B (zh) | 一种物料搬运移动复合机器人 | |
KR102615685B1 (ko) | 멀티 센서를 동기화시켜 위치를 추정하는 방법 및 이를 구현하는 로봇 | |
TWI766410B (zh) | 移動機器人 | |
US11755882B2 (en) | Method, apparatus and system for recommending location of robot charging station | |
US11467598B2 (en) | Method of estimating position in local area of large space and robot and cloud server implementing thereof | |
KR20210029586A (ko) | 이미지 내의 특징적 객체에 기반하여 슬램을 수행하는 방법 및 이를 구현하는 로봇과 클라우드 서버 | |
US11338438B2 (en) | Method, system and non-transitory computer-readable recording medium for determining a movement path of a robot | |
US12085951B2 (en) | Method of updating map in fusion SLAM and robot implementing same | |
Beinschob et al. | Advances in 3d data acquisition, mapping and localization in modern large-scale warehouses | |
Behrje et al. | An autonomous forklift with 3d time-of-flight camera-based localization and navigation | |
KR20190109325A (ko) | 로봇 및 로봇의 위치를 인식하기 위한 방법 | |
CN114755373B (zh) | 一种基于多机器人编队的空气污染源预警定位方法 | |
KR20210026595A (ko) | 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇 | |
KR20210073001A (ko) | 로봇 및 로봇 시스템 | |
EP4367477A1 (en) | Supporting localization and mapping using a heterogeneous map | |
Lan et al. | Design of Swarm Robots Formation Control System Based on Vision Guidance | |
Zhu et al. | Edge-Cloud Based Vehicle SLAM for Autonomous Indoor Map Updating |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |