KR102218120B1 - 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법 - Google Patents
자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법 Download PDFInfo
- Publication number
- KR102218120B1 KR102218120B1 KR1020200121488A KR20200121488A KR102218120B1 KR 102218120 B1 KR102218120 B1 KR 102218120B1 KR 1020200121488 A KR1020200121488 A KR 1020200121488A KR 20200121488 A KR20200121488 A KR 20200121488A KR 102218120 B1 KR102218120 B1 KR 102218120B1
- Authority
- KR
- South Korea
- Prior art keywords
- floor
- light source
- processor
- reflection
- synchronized
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 230000001360 synchronised effect Effects 0.000 claims description 33
- 230000000873 masking effect Effects 0.000 claims description 32
- 239000011159 matrix material Substances 0.000 description 10
- 230000009466 transformation Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 101150013335 img1 gene Proteins 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- 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/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
- G05D1/0253—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 extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- 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
- G05D1/0251—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 extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- 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/08—Programme-controlled manipulators characterised by modular constructions
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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
- 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
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/002—Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/02—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
- G01B11/026—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring distance between sensor and object
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
-
- 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
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/08—Systems determining position data of a target for measuring distance only
-
- 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
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
- G01S17/894—3D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
-
- G06T5/002—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/60—Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/56—Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
-
- 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
- G01S15/00—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
- G01S15/02—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems using reflection of acoustic waves
- G01S15/06—Systems determining the position data of a target
- G01S15/08—Systems for measuring distance only
-
- G05D2201/0217—
-
- 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/10024—Color image
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
일정 시간마다 바닥을 향해 신호를 쏘아 반사되어 돌아오는 데까지 걸리는 시간을 측정하여 복수의 높이 정보들을 생성하는 거리 센서, 상기 바닥을 향해 빛을 발산하는 광원, 및 상기 일정 시간마다 상기 바닥을 촬영하여 복수의 바닥 이미지들을 생성하는 카메라를 포함하는 이동 로봇에 포함되는 자율 주행 모듈이 개시된다. 상기 자율 주행 모듈은 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다. 상기 명령들은 상기 복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화하고, 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하며, 상기 광원의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출하며, 상기 검출된 특징들에 따라 상기 이동 로봇의 위치를 추정하도록 구현되며, 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거는 상기 동기화된 복수의 바닥 이미지들 각각에 대해 평균 픽셀 값을 계산하며, 상기 동기화된 복수의 바닥 이미지들 각각에서 미리 알고 있는 상기 광원의 외경 정보와 상기 거리 센서에 의해 생성되는 바닥과 상기 거리 센서까지 높이에 관한 정보를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 외경을 계산하며, 상기 동기화된 복수의 바닥 이미지들 각각에서 픽셀값들의 분포를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 중심을 계산하며, 상기 반지 모양의 외경과 상기 반지 모양의 중심을 이용하여 원 방정식을 계산하며, 상기 원 방정식을 이용하여 상기 반지 모양 내부의 평균 픽셀 값을 계산하며, 상기 평균 픽셀 값과 상기 반지 모양 내부의 평균 픽셀 값을 이용하여 상기 동기화된 복수의 바닥 이미지들 각각에서 마스킹 영역을 설정하며, 상기 설정된 마스킹 영역을 상기 광원의 반사에 의해 생성되는 영역으로 설정하도록 구현된다.
Description
본 발명의 개념에 따른 실시 예는 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 동작 방법에 관한 것으로, 특히, 전기 기계적인 엔코더를 사용하지 않고, 카메라를 이용하여 전기 기계적인 엔코더의 역할을 수행하는 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법에 관한 것이다.
엔코더(encoder)란 회전하는 샤프트(shaft)의 위치, 또는 움직임을 아날로그 또는 디지털 신호로 변환하는 전기 기계적인 장치이다. 엔코더는 이동하는 로봇의 위치를 감지하는데 사용될 수 있다. 엔코더에 의해 변환된 신호에 따라 이동하는 로봇의 위치가 추정될 수 있다.
엔코더는 기계식, 자기식, 및 광학식 등 여러 가지 방법들로 구현될 수 있다. 상기 엔코더는 모두 복잡하고 정밀한 기계적인 부품들을 이용하여 구현된다. 기계적인 부품들은 사용에 따라 내구성의 문제가 발생할 수 있다. 또한, 이동 로봇의 샤프트가 회전하지 않고, 이동 로봇이 미끄러져 이동 로봇의 위치가 변경될 때, 엔코더는 이동 로봇의 샤프트가 회전하지 않아 샤프트의 움직임을 감지하지 않는다. 따라서 엔코더에 따라 이동 로봇의 위치가 추정될 때, 이동 로봇의 위치는 잘못 추정될 수 있다.
전기 기계적인 엔코더의 문제점들을 해결하기 위한 새로운 방법이 요구된다.
본 발명이 이루고자 하는 기술적인 과제는 종래의 전기 기계적인 엔코더의 문제점을 해결하기 위해 전기 기계적인 엔코더 대신에 카메라를 이용하여 종래의 전기 기계적인 엔코더의 역할을 수행하는 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법을 제공하기 위한 것이다.
본 발명의 실시 예에 따른 일정 시간마다 바닥을 향해 신호를 쏘아 반사되어 돌아오는 데까지 걸리는 시간을 측정하여 복수의 높이 정보들을 생성하는 거리 센서, 상기 바닥을 향해 빛을 발산하는 광원, 및 상기 일정 시간마다 상기 바닥을 촬영하여 복수의 바닥 이미지들을 생성하는 카메라를 포함하는 이동 로봇에 포함되는 자율 주행 모듈은 명령들을 실행하는 프로세서, 상기 명령들을 저장하는 메모리를 포함한다. 상기 명령들은 상기 복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화하고, 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하며, 상기 광원의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출하며, 상기 검출된 특징들에 따라 상기 이동 로봇의 위치를 추정하도록 구현된다.
본 발명의 실시 예에 따른 이동 로봇은 상기 바닥을 향해 빛을 발산하는 광원, 상기 일정 시간마다 상기 바닥을 촬영하여 복수의 바닥 이미지들을 생성하는 카메라, 및 자율 주행 모듈을 포함한다.
상기 자율 주행 모듈은 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다.
상기 명령들은 복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화하고, 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하며, 상기 광원의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출하며, 상기 검출된 특징들에 따라 이동 로봇의 위치를 추정하도록 구현된다.
실시 예에 따라 상기 이동 로봇은 상기 이동 로봇의 바닥을 향하도록 설치되며, 상기 복수의 높이 정보들을 생성하기 위해 일정 시간마다 바닥을 향해 신호를 쏘아 반사되어 돌아오는 데까지 걸리는 시간을 측정하는 거리 센서를 더 포함할 수 있다.
본 발명의 실시 예에 따른 일정 시간마다 바닥을 향해 신호를 쏘아 반사되어 돌아오는 데까지 걸리는 시간을 측정하여 복수의 높이 정보들을 생성하는 거리 센서, 상기 바닥을 향해 빛을 발산하는 광원, 및 상기 일정 시간마다 상기 바닥을 촬영하여 복수의 바닥 이미지들을 생성하는 카메라를 포함하는 이동 로봇의 위치 추정 방법은 프로세서는 상기 복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화하는 단계, 상기 프로세서는 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하는 단계, 상기 프로세서는 상기 광원의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출하는 단계, 및 상기 검출된 특징들에 따라 상기 이동 로봇의 위치를 추정하는 단계를 포함한다.
상기 프로세서는 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하는 단계는 상기 프로세서는 상기 동기화된 복수의 바닥 이미지들 각각에 대해 평균 픽셀 값을 계산하는 단계, 상기 프로세서는 상기 동기화된 복수의 바닥 이미지들 각각에서 미리 알고 있는 상기 광원의 외경 정보와 상기 거리 센서에 의해 생성되는 바닥과 상기 거리 센서까지 높이에 관한 정보를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 외경을 계산하는 단계, 상기 프로세서는 상기 동기화된 복수의 바닥 이미지들 각각에서 픽셀값들의 분포를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 중심을 계산하는 단계, 상기 프로세서는 상기 반지 모양의 외경과 상기 반지 모양의 중심을 이용하여 원 방정식을 계산하는 단계, 상기 프로세서는 상기 원 방정식을 이용하여 상기 반지 모양 내부의 평균 픽셀 값을 계산하는 단계, 상기 프로세서는 상기 평균 픽셀 값과 상기 반지 모양 내부의 평균 픽셀 값을 이용하여 상기 동기화된 복수의 바닥 이미지들 각각에서 마스킹 영역을 설정하는 단계, 및 상기 프로세서는 상기 설정된 마스킹 영역을 상기 광원의 반사에 의해 생성되는 영역으로 설정하는 단계를 포함한다.
본 발명의 실시 예에 따른 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법은 전기 기계적인 엔코더 대신에 카메라를 이용하여 이동 로봇의 위치를 추정하도록 함으로써 종래의 전기 기계적인 엔코더가 갖는 단점들을 해결할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 이동 로봇의 블록도를 나타낸다.
도 2는 도 1에 도시된 이동 로봇의 저면도를 나타낸다.
도 3은 도 1에 도시된 광원에 의해 유발되는 영역의 제거를 설명하기 위해 도 1에 도시된 카메라에 의해 촬영된 바닥 이미지와, 프로세서에 의해 처리된 바닥 이미지들을 나타낸다.
도 4는 도 1에 도시된 광원에 의해 유발되는 영역의 제거를 설명하기 위해 도 1에 도시된 카메라에 의해 촬영된 바닥 이미지를 나타낸다.
도 5는 도 1에 도시된 광원에 의해 유발되는 영역에서 마스킹 영역의 설정을 설명하기 위해 도 4에 도시된 이미지의 일부를 나타낸다.
도 6은 도 1에 도시된 카메라에 의해 촬영된 픽셀 유닛을 메트릭 유닛으로 변환을 설명하기 위한 개념도를 나타낸다.
도 7은 도 1에 도시된 이동 로봇의 위치를 추정하기 위한 흐름도를 나타낸다.
도 1은 본 발명의 실시 예에 따른 이동 로봇의 블록도를 나타낸다.
도 2는 도 1에 도시된 이동 로봇의 저면도를 나타낸다.
도 3은 도 1에 도시된 광원에 의해 유발되는 영역의 제거를 설명하기 위해 도 1에 도시된 카메라에 의해 촬영된 바닥 이미지와, 프로세서에 의해 처리된 바닥 이미지들을 나타낸다.
도 4는 도 1에 도시된 광원에 의해 유발되는 영역의 제거를 설명하기 위해 도 1에 도시된 카메라에 의해 촬영된 바닥 이미지를 나타낸다.
도 5는 도 1에 도시된 광원에 의해 유발되는 영역에서 마스킹 영역의 설정을 설명하기 위해 도 4에 도시된 이미지의 일부를 나타낸다.
도 6은 도 1에 도시된 카메라에 의해 촬영된 픽셀 유닛을 메트릭 유닛으로 변환을 설명하기 위한 개념도를 나타낸다.
도 7은 도 1에 도시된 이동 로봇의 위치를 추정하기 위한 흐름도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 이동 로봇의 블록도를 나타낸다.
도 1을 참고하면, 이동 로봇(100)은 마트, 창고, 공장, 또는 쇼핑몰 등에서 상품 이송, 상품 안내, 또는 재고 관리 등의 목적으로 이용된다. 또한, 실시 예에 따라 이동 로봇(100)은 실내뿐만 아니라 실외에서도 이용될 수 있다.
이동 로봇(100)은 바퀴(15)와 같은 이동 수단에 의해 이동하는 장치이다. 실시 예에 따라 이동 로봇(100)은 자율 주행 장치, 운송 로봇 또는 자율 주행 로봇 등 다양한 용어들로 호칭될 수 있다. 이동 로봇(100)은 자율 주행 모듈(10), 거리 센서(20), 광원(30), 및 카메라(40)를 포함한다.
자율 주행 모듈(10)은 이동 로봇(100)의 위치를 추정하기 위해 이용된다. 자율 주행 모듈(10)은 프로세서(11)와 메모리(13)를 포함한다. 자율 주행 모듈(10)은 프로세서(11)와 메모리(13)가 탑재된 보드(board) 형태로 이동 로봇(100)의 내부에 구현될 수 있다. 또한, 자율 주행 모듈(10)은 프로세서(11)와 메모리(13) 이외에 거리 센서(20), 광원(30), 또는 카메라(40)를 더 포함할 수 있다. 즉, 거리 센서(20), 광원(30), 또는 카메라(40)는 자율 주행 모듈(10)에서 구현될 수 있다. 프로세서(11)는 이동 로봇(100)의 위치를 추정하기 위한 명령들을 실행한다. 프로세서(11)에 의해 실행되는 이동 로봇(100)의 위치를 추정하기 위한 명령들은 뒤에서 자세히 설명될 것이다. 메모리(13)는 상기 명령들을 저장한다. 상기 명령들은 프로그램 코드들로 구현될 수 있다. 상기 명령들은 자율 주행 솔루션(autonomous navigating solution)으로 호칭될 수 있다.
도 2는 도 1에 도시된 이동 로봇의 저면도를 나타낸다. 도 2는 이동 로봇의 밑면의 일부를 나타낸 것으로, 자율 주행 모듈의 밑면으로 이해될 수도 있다.
도 1과 도 2를 참고하면, 거리 센서(20), 광원(30), 및 카메라(40)는 이동 로봇(100)의 본체(101)의 하부에 구현된다. 즉, 거리 센서(20), 광원(30), 및 카메라(40)는 바닥(3)을 향하도록 구현된다. 일반적으로, 바닥(3)의 패턴은 동일하지 않다. 바닥(3)은 서로 다른 패턴을 가지고 있다. 종래의 전기 기계적인 엔코더 대신에 서로 다른 패턴을 가지는 바닥(3)을 카메라(40)가 촬영하고 촬영된 바닥 이미지들을 분석함으로써 이동 로봇(100)의 위치가 추정된다.
거리 센서(20)는 이동 로봇(100)의 바닥(3)을 향하도록 설치된다. 거리 센서(20)는 일정 시간마다 바닥(3)을 향해 신호를 쏘아 반사되어 돌아오는 데까지 걸리는 시간을 측정하여 복수의 높이 정보들을 생성한다. 상기 복수의 높이 정보들은 바닥(3)과 거리 센서(20)까지의 높이에 관한 정보들을 의미한다. 거리 센서(20)는 ToF 센서, 초음파 센서, 적외선 센서, 또는 라이다 센서 등 다양한 센서들로 구현될 수 있다. 본 명세서에서는 거리 센서(20)로 호칭되었으나, 거리 센서(20)는 깊이 센서, 3D 깊이 센서, ToF 카메라, 또는 깊이 카메라 등 다양한 용어들로 호칭될 수 있다.
카메라(40)는 상기 일정 시간마다 바닥(3)을 촬영하여 복수의 바닥 이미지들을 생성한다.
광원(30)은 바닥(3)을 향해 빛을 발산한다. 광원(30)은 저조명으로 인해 유발되는 바닥 이미지 퀄리티의 저하를 방지하기 위해 이용된다. 주변의 조도가 밝더라도 카메라(40)는 이동 로봇(100)의 본체(101)의 하부에 구현되므로, 카메라(40)에 의해 촬영되는 이미지는 어둡다. 광원(30)은 거리 센서(20)와 카메라(40)의 화각(field of view)에 영향을 주지 않도록 반지 모양(ring shape)으로 구현된다.
프로세서(11)는 거리 센서(20)로부터 상기 복수의 높이 정보들과, 카메라(40)로부터 상기 복수의 바닥 이미지들을 수신한다.
프로세서(11)는 상기 복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화한다. 상기 동기화란 같은 시간에 생성된 높이 정보와 바닥 이미지들을 서로 매칭함을 의미한다. 예컨대, 프로세서(11)는 제1시간(예컨대, T1)에 생성된 제1높이 정보(예컨대, H1)과 제1바닥 이미지(예컨대, IMG1)를 매칭하여 상기 제1높이 정보(H1)와 상기 제1바닥 이미지(IMG1)는 상기 제1시간(T1)에서 생성되었음을 확인한다. 상기 복수의 높이 정보들은 거리 센서(20)에 의해 생성된 정보이며, 상기 복수의 바닥 이미지들은 카메라(40)에 의해 생성된 정보이다. 즉, 각 정보는 서로 다른 장치들(20, 40)에 의해 생성되므로, 각 정보를 매칭하는 과정이 필요하다.
도 3은 도 1에 도시된 광원에 의해 유발되는 영역의 제거를 설명하기 위해 도 1에 도시된 카메라에 의해 촬영된 바닥 이미지와, 프로세서에 의해 처리된 바닥 이미지들을 나타낸다.
도 1 내지 도 3을 참고하면, 환형인 광원(30)이 바닥을 향해 빛을 발산할 때, 상기 빛은 바닥에서 반사된다. 카메라(40)가 바닥을 촬영하여 바닥 이미지를 생성할 때, 상기 바닥 이미지에 광원(30)의 반사에 의해 생성되는 영역이 포함된다. 도 3의 (a)는 반지 모양이 광원(30)의 반사에 의해 생성되는 영역을 나타낸다.
만약, 상기 바닥 이미지에서 광원(30)의 반사에 의해 생성되는 영역이 제거되지 않을 때, 프로세서(11)는 이동 로봇(10)의 위치 추정을 위한 특징점들 추출 과정에서 오류가 생성된다. 왜냐하면 프로세서(11)는 광원(30)의 반사에 의해 생성되는 영역을 특징점들로 추출할 것이고, 상기 특징점들은 바닥(3)의 특징점들과 혼동될 것이기 때문이다. 도 3의 (g)를 참고하면, 바닥(3)보다는 광원(30)의 반사에 의해 생성되는 영역 주변의 특징점들이 추출되었음을 알 수 있다.
도 4는 도 1에 도시된 광원에 의해 유발되는 영역의 제거를 설명하기 위해 도 1에 도시된 카메라에 의해 촬영된 바닥 이미지를 나타낸다.
도 1, 도 2, 및 도 4를 참고하면, 바닥 이미지에서 광원(30)의 반사에 의해 생성되는 영역을 제거하기 위한 동작들이 설명된다.
프로세서(11)는 상기 바닥 이미지에 대해 전체 평균 픽셀 값을 계산한다.
[수학식 1]
상기 API는 상기 바닥 이미지에 대한 전체 평균 픽셀 값을, n은 상기 바닥 이미지의 전체 픽셀들의 개수를, I(k)는 k번째 픽셀 값을 의미한다.
프로세서(11)는 스펙(spec)을 통해 미리 알고 있는 광원(30)의 외경 정보와, 거리 센서(20)에 의해 생성되는 바닥(3)과 거리 센서(20)까지의 높이에 관한 정보를 이용하여 상기 바닥 이미지에서 반지 모양의 외경을 계산한다. 상기 바닥 이미지에서 반지 모양의 외경은 수학식 2와 수학식 3을 통해 계산될 수 있다. 상기 스펙이란 광원(30)에 대한 사양을 의미한다.
광원(30)의 반사에 의해 생성되는 영역은 반지 모양(ring shape)으로 원과 유사하다. 따라서 프로세서(11)는 상기 반지 모양을 원(circle)으로 가정하고 상기 바닥 이미지에서 바깥 원(outer circle)의 직경, 즉, 외경(outer diameter)을 계산할 수 있다. 이동 로봇(100)에서 광원(30)의 위치는 제작 오차에 의해 실제 위치는 스펙과 다를 수 있다.
[수학식 2]
DnormalizedRingLED=DringLED/TOF
상기 DnormalizedRingLED는 광원(30)의 외경에 대한 정규 좌표(normalized coordinate)를, 상기 DringLED는 스펙을 통해 미리 알고 있는 광원(30)의 실제 외경을 나타내며, 상기 TOF는 거리 센서(20)에 의해 생성되는 바닥(3)과 거리 센서(20)까지의 높이에 관한 정보를 나타낸다. 상기 DringLED는 월드 좌표(world coordinate)로 표현된다. 상기 수학식 2를 통해 광원(30)의 외경에 대한 정규 좌표(normalized coordinate)인 DnormalizedRingLED가 계산될 수 있다.
[수학식 3]
Dc=K*DnormalizedRingLED
상기 Dc는 상기 바닥 이미지에서 반지 모양의 외경을, 상기 K는 카메라의 초점 길이(focal length)와 렌즈 왜곡(lens distorion)과 같은 카메라 고유 파라미터(camera intrinsic parameter)를 나타낸다. 상기 Dc는 이미지 좌표(image coordinate)를 나타낸다. 상기 수학식 3을 통해 상기 바닥 이미지에서 반지 모양의 외경인 Dc가 계산될 수 있다.
도 4에서 오른쪽 그래프는 바닥 이미지의 열에 따른 픽셀의 값들을 나타내고, 아래쪽 그래프는 바닥 이미지의 행에 따른 픽셀의 값들을 나타낸다.
도 4의 그래프를 참고하면, 상기 반사에 의해 생성되는 영역인 반지 모양의 중심에서 최소 픽셀 값을 가진다. 반지 모양의 중심의 좌우 영역에서 최대 픽셀 값을 가진다. 최소 픽셀 값과 최대 픽셀 값은 그래프에 도시된 곡선의 변곡점에 해당한다. 즉, 도 4의 그래프에 도시된 곡선은 4차 방정식의 곡선과 유사하다. 따라서 4차 방정식의 곡선의 변곡점 사이의 거리가 최대가 되는 픽셀의 위치가 상기 반사에 의해 생성되는 영역인 반지 모양의 중심이 된다. 프로세서(11)는 도 4의 그래프의 곡선에 대해 다항식 함수 피팅(polynomial function fitting)을 이용하여 4차 방정식을 추정한다. 4차 방정식은 아래의 수학식 4와 같이 표현될 수 있다.
[수학식 4]
상기 수학식에서 상기는 픽셀 값을, 상기 x는 도 4에 도시된 이미지의 행, 또는 열을 나타낸다. 도 4에 도시된 이미지의 아래쪽 그래프의 경우, 상기 x는 상기 도 4에 도시된 이미지의 행을 나타낸다. 도 4에 도시된 이미지의 왼쪽 그래프의 경우, 상기 x는 상기 도 4에 도시된 이미지의 열을 나타낸다. 상기 a0, a1, a2, a3, 및 a4는 계수를 나타낸다.
상기 수학식 4는 아래의 수학식 5와 같이 표현될 수 있다. 즉, 프로세서(11)는 수학식 4를 수학식 5로 변환할 수 있다.
[수학식 5]
또한, 상기 수학식 5는 아래의 수학식 6으로 변환될 수 있다. 즉, 프로세서(11)는 수학식 5를 수학식 6으로 변환할 수 있다.
[수학식 6]
상기 A는 상기 a0, a1, a2, a3, 및 a4의 매트릭스를 나타낸다. 상기 Y와 상기 X는 수학식 5에서 각각 계수 y(x)와 x에 대응되는 매트릭스를 나타낸다.
상기 수학식 6은 수학식 7로 변환될 수 있다. 즉, 프로세서(11)는 수학식 6을 수학식 7로 변환할 수 있다.
[수학식 7]
프로세서(11)는 상기 수학식 7을 계산하여 상기 a0, a1, a2, a3, 및 a4의 매트릭스인 매트릭스 A를 계산할 수 있다. 즉, 프로세서(11)는 4차 방정식에서 계수인 a0, a1, a2, a3, 및 a4를 계산할 수 있다. 프로세서(11)는 계산된 4차 방정식에서 변곡점 사이의 거리를 계산할 수 있다. 변곡점 사이의 거리는 수학식 8로 표현될 수 있다.
[수학식 8]
d=|MILeft-MIRight|
상기 d는 변곡적 사이의 거리를, 상기 MILeft와 상기 MIRight는 도 4에 도시된 그래프에서 각각 왼쪽 변곡점과 오른쪽 변곡점을 나타낸다.
프로세서(11)는 상기 바닥 이미지의 픽셀 값의 차이를 이용하여 반지 모양의 중심을 계산한다. 상기 반지 모양의 중심은 수학식 9와 같이 표현된다.
[수학식 9]
상기 는 도 4에 도시된 이미지의 반지 모양의 중심의 x 좌표를, 상기 는 도 4에 도시된 이미지의 반지 모양의 중심의 y 좌표를 나타낸다. Irow는 도 4에서 아래쪽 그래프에 대응하는 곡선을, Icolumn은 도 4에서 오른쪽 그래프에서 대응하는 곡선을 나타낸다. 상기 MILeft와 상기 MIRihgt는 각 픽셀의 값을, max는 최대값을 선택하는 연산자를 의미한다.
프로세서(11)는 상기 반지 모양에 대해 원 방정식으로 표현한다. 상기 원 방정식은 아래의 수학식 10과 같다. 도 3의 (c)는 프로세서(11)에 의해 계산된 원 방정식과 대응되는 원을 나타낸다.
[수학식 10]
또한, 프로세서(11)는 상기 수학식 10을 수학식 11로 변환한다. 상기 수학식 11은 아래와 같다. 도 3의 (f)는 프로세서(11)에 의해 계산된 원 방정식과 대응되는 원에 대해 마스크로 설정한 이미지를 나타낸다.
[수학식 11]
상기 K는 수학식 3에 개시된 K와 다른 것으로, 임의의 상수를 의미한다.
상기 Dc는 상기 바닥 이미지에서 반지 모양의 외경을 나타낸다.
[수학식 12]
상기 는 상기 반지 모양 내부의 픽셀 값을, 상기 K는 허용 오차를 나태난다. 상기 K의 값은 픽셀 2개의 크기인 2로 나타내었으나, 실시 예에 따라 상기 K의 값은 다양할 수 있다.
픽셀의 위치(x,y)가 상기 반지 모양 내부에 위치할 때, 픽셀의 값은 그대로 유지되나, 픽셀의 위치(x,y)가 상기 허용 오차(K)를 넘어 상기 반지 모양 외부에 위치할 때, 픽셀의 값은 0으로 설정된다.
프로세서(11)는 상기 반지 모양 내부의 픽셀 값 각각에 대해 합하고 전체 개수로 나누어 반지 모양의 평균 픽셀 값을 계산할 수 있다. 상기 반지 모양의 평균 픽셀 값은 아래의 수학식 13과 같이 계산될 수 있다.
[수학식 13]
프로세서(11)는 수학식 1과 수학식 13을 이용하여 아래의 수학식 14와 같이 문턱값(THRES)을 계산할 수 있다.
[수학식 14]
프로세서(11)는 상기 바닥 이미지에서 상기 계산된 문턱값(THRES)보다 큰 픽셀값을 가지는 픽셀들에 대해 마스킹(masking) 영역으로 설정한다. 도 3의 (d)는 문턱값(THRES)에 의해 설정된 마스크 이미지를 나타낸다.
실시 예에 따라 프로세서(11)는 마스킹 영역으로 설정된 픽셀들 각각에 대해 주변에 마스킹 영역으로 설정된 픽셀이 있는지 조사한다.
도 5는 도 1에 도시된 광원에 의해 유발되는 영역에서 마스킹 영역의 설정을 설명하기 위해 도 4에 도시된 이미지의 일부를 나타낸다. 도 5에서 검은 픽셀은 마스킹 영역으로 설정된 픽셀을, 하얀 픽셀은 마스킹 영역으로 설정되지 않은 픽셀을 의미한다.
도 1, 도 4, 및 도 5를 참고하면, 프로세서(11)는 마스킹 영역으로 설정된 픽셀들(예컨대, P1~P9, 및 P21) 각각에 대해 주변에 마스킹 영역으로 설정된 픽셀이 없을 때, 마스킹 영역으로 설정된 픽셀을 마스킹 영역에서 제외한다. 예컨대, 픽셀(P21)은 주변에 마스킹 영역으로 설정된 픽셀(P22~P28)이 없으므로, 프로세서(11)는 마스킹 영역으로 설정된 픽셀(P21)을 마스킹 영역에서 제외한다. 상기 주변이란 각 픽셀과 접하고 있는 8개의 이웃 픽셀을 의미한다. 예컨대, 픽셀(P1)의 주변은 픽셀(P1)에 접하고 있는 8개의 이웃 픽셀들(P2~P9)이다.
반대로, 프로세서(11)는 마스킹 영역으로 설정된 픽셀들 각각에 대해 주변에 마스킹 영역으로 설정된 픽셀이 있을 때, 마스킹 영역으로 설정된 픽셀은 마스킹 영역으로 유지한다. 예컨대, 픽셀(P1)은 주변에 마스킹 영역으로 설정된 픽셀(P2, P4, P7)이 있으므로, 프로세서(11)는 마스킹 영역으로 설정된 픽셀(P1)을 마스킹 영역으로 유지한다. 도 3의 (e)는 이웃 픽셀들을 고려하여 설정된 마스크 이미지를 나타낸다.
프로세서(11)는 상기 복수의 바닥 이미지들에서 마스킹 영역으로 설정된 영역은 제외하고 특징들을 검출한다. 프로세서(11)는 상기 복수의 바닥 이미지들에서 특징들을 검출하기 위해 광원(30)의 반사에 의해 생성되는 영역은 제거한다. 마스킹 영역은 광원(30)의 반사에 의해 생성되는 영역이다.
프로세서(11)는 광원(30)의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출한다. 상기 복수의 바닥 이미지들에서 특징들의 검출은 FAST(Features from Accelerated Segment Test), SURF(Speeded Up Robust Feature), 또는 SIFT(Scale Invariant Feature Transform) 등 잘 알려진 알고리즘이 이용될 수 있다. 도 3의 (h)는 광원(30)의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 검출된 특징들을 나타낸다. 즉, 도 3의 (h)는 마스크 영역을 제외하고 검출된 특징들이다.
프로세서(11)는 검출된 특징들을 추출한다. 상기 추출에 의해 피처 디스크립터들(feature descriptors), 또는 피처 벡터들(feature vectors)이 도출된다.
프로세서(11)는 검출된 특징들과 피처 디스크립터들을 이용하여 서로 다른 시간에 생성된 바닥 이미지들에서 검출된 특징들을 매칭한다.
프로세서(11)는 상기 매칭 결과에 따라 변환 매트릭스(transformation matrix)를 계산한다. 상기 변환 매트릭스를 통해 서로 다른 시간에 생성된 바닥 이미지들에서 검출된 특징들의 관계가 도출된다. 서로 다른 시간에 생성된 바닥 이미지들에서 검출된 특징들은 회전하거나 이동한다. 따라서 상기 변환 매트릭스는 회전 매트릭스(rotation matrix), 이동 매트릭스(translation matrix), 또는 이들의 결합으로 구현될 수 있다.
상기 변환 매트릭스는 이미지 좌표(image coordinate)인 픽셀 유닛(pixel unit)이다. 상기 이미지 좌표인 픽셀 유닛은 월드 좌표(world coordinate)인 메트릭 유닛(metric unit)으로 변경되어야 한다.
도 6은 도 1에 도시된 카메라에 의해 촬영된 픽셀 유닛을 메트릭 유닛으로 변환을 설명하기 위한 개념도를 나타낸다.
프로세서(11)는 이미지 좌표(IC)인 픽셀 유닛(pixel unit)을 정규 좌표(NC)인 유닛 벡터(unit vector)로 먼저 변환한다. 이미지 좌표(IC)인 픽셀 유닛은 렌즈와 이미지 센서 사이의 거리를 나타내는 초점 거리에 따른 좌표이다. 정규 좌표(NC)인 유닛 벡터는 초점 거리를 1일 때 좌표이다. 따라서 프로세서(11)는 카메라(40)의 초점 거리를 이용하여 이미지 좌표(IC)인 픽셀 유닛(pixel unit)을 정규 좌표(NC)인 유닛 벡터(unit vector)로 변환한다.
프로세서(11)는 정규 좌표(NC)에서 월드 좌표(WC)로 변환한다. 정규 좌표(NC)에서 월드 좌표(WC)로 변환은 다음의 순서들에 의해 수행된다.
프로세서(11)는 수학식 15를 계산한다.
[수학식 15]
상기 는 정규 좌표(NC) 대비 월드 좌표(WC)의 비율을 나타내는 스케일 파라미터(scale parameter)를, 상기 ti는 정규 좌표(NC)에서 가상의 y축을 기준으로 가상의 x축으로 얼마나 떨어져 있는지를, 상기 Ti는 월드 좌표(WC)에서 가상의 y축을 기준으로 가상의 x축으로 얼마나 떨어져 있는지를 나타낸다.
프로세서(11)는 수학식 16을 계산한다.
[수학식 16]
상기 ToF는 거리 센서(20)에서 바닥까지의 높이를, 상기 t1는 정규 좌표(NC)에서 가상의 y축을 기준으로 가상의 x축으로 얼마나 떨어져 있는지를, 상기 T1는 월드 좌표(WC)에서 가상의 y축을 기준으로 가상의 x축으로 얼마나 떨어져 있는지를 나타낸다.
프로세서(11)는 수학식 16을 이용하여 수학식 15에 대해 아래의 수학식 17과 같이 계산할 수 있다.
[수학식 17]
프로세서(11)는 수학식 17에 대해 아래의 수학식 18과 같이 계산할 수 있다.
[수학식 18]
프로세서(11)는 수학식 18에 대해 아래의 수학식 19와 같이 계산할 수 있다.
[수학식 19]
즉, 프로세서(11)는 정규 좌표(NC)에서 거리 센서(20)에서 바닥까지의 높이(ToF)를 곱함으로써 월드 좌표(WC)로 변환할 수 있다.
정리하면, 프로세서(11)는 이미지 좌표(IC)로 표현된 변환 매트릭스에서 카메라(40)의 초점 거리를 나누어 정규 좌표(NC)로 변환하고, 변환된 정규 좌표(NC)에 거리 센서(20)에서 바닥까지의 높이(ToF)를 곱함으로써 월드 좌표(WC)로 변환할 수 있다.
프로세서(11)는 상기 추출된 특징점들에 따라 이동 로봇(100)의 위치를 추정한다. 구체적으로, 프로세서(11)는 서로 다른 시간에 생성된 복수의 바닥 이미지들에서 계산된 변환 매트릭스들을 누적시켜 이동 로봇(100)의 위치를 추정한다.
도 7은 도 1에 도시된 이동 로봇의 위치를 추정하기 위한 흐름도를 나타낸다.
도 1과 도 7을 참고하면, 프로세서(11)는 상기 복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화한다(S10).
프로세서(11)는 상기 동기화된 복수의 바닥 이미지들에서 광원(30)의 반사에 의해 생성되는 영역을 제거한다(S20). 상기 동기화된 복수의 바닥 이미지들에서 광원(30)의 반사에 의해 생성되는 영역 제거의 구체적인 동작들은 아래와 같다.
프로세서(11)는 상기 동기화된 복수의 바닥 이미지들 각각에 대해 평균 픽셀 값을 계산한다. 프로세서(11)는 상기 동기화된 복수의 바닥 이미지들 각각에서 미리 알고 있는 광원(30)의 외경 정보와, 거리 센서(20)에 의해 생성되는 바닥과 거리 센서(20)까지 높이에 관한 정보를 이용하여 광원(30)의 반사에 의해 생성되는 반지 모양의 외경을 계산한다. 프로세서(11)는 상기 동기화된 복수의 바닥 이미지들 각각에서 픽셀값들의 분포를 이용하여 광원(30)의 반사에 의해 생성되는 반지 모양의 중심을 계산한다. 프로세서(11)는 상기 반지 모양의 외경과 상기 반지 모양의 중심을 이용하여 원 방정식을 계산한다. 프로세서(11)는 상기 원 방정식을 이용하여 상기 반지 모양 내부의 평균 픽셀 값을 계산한다. 프로세서(11)는 상기 평균 픽셀 값과 상기 반지 모양 내부의 평균 픽셀 값을 이용하여 상기 동기화된 복수의 바닥 이미지들 각각에서 마스킹 영역을 설정한다, 프로세서(11)는 상기 설정된 마스킹 영역을 광원(30)의 반사에 의해 생성되는 영역으로 설정한다.
프로세서(10)는 광원(30)의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출한다(S30).
프로세서(10)는 상기 검출된 특징들에 따라 이동 로봇(100)의 위치를 추정한다(S40).
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 이동 로봇;
15: 바퀴;
10: 자율 주행 모듈;
11: 프로세서;
13: 메모리;
20: 거리 센서;
30: 광원;
40: 카메라;
15: 바퀴;
10: 자율 주행 모듈;
11: 프로세서;
13: 메모리;
20: 거리 센서;
30: 광원;
40: 카메라;
Claims (5)
- 일정 시간마다 바닥을 향해 신호를 쏘아 반사되어 돌아오는 데까지 걸리는 시간을 측정하여 복수의 높이 정보들을 생성하는 거리 센서, 상기 바닥을 향해 빛을 발산하는 광원, 및 상기 일정 시간마다 상기 바닥을 촬영하여 복수의 바닥 이미지들을 생성하는 카메라를 포함하는 이동 로봇에 포함되는 자율 주행 모듈에 있어서,
명령들을 실행하는 프로세서; 및
상기 명령들을 저장하는 메모리를 포함하며,
상기 명령들은,
상기 복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화하고, 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하며, 상기 광원의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출하며, 상기 검출된 특징들에 따라 상기 이동 로봇의 위치를 추정하도록 구현되며,
상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거는,
상기 동기화된 복수의 바닥 이미지들 각각에 대해 평균 픽셀 값을 계산하며, 상기 동기화된 복수의 바닥 이미지들 각각에서 미리 알고 있는 상기 광원의 외경 정보와 상기 거리 센서에 의해 생성되는 바닥과 상기 거리 센서까지 높이에 관한 정보를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 외경을 계산하며, 상기 동기화된 복수의 바닥 이미지들 각각에서 픽셀값들의 분포를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 중심을 계산하며, 상기 반지 모양의 외경과 상기 반지 모양의 중심을 이용하여 원 방정식을 계산하며, 상기 원 방정식을 이용하여 상기 반지 모양 내부의 평균 픽셀 값을 계산하며, 상기 평균 픽셀 값과 상기 반지 모양 내부의 평균 픽셀 값을 이용하여 상기 동기화된 복수의 바닥 이미지들 각각에서 마스킹 영역을 설정하며, 상기 설정된 마스킹 영역을 상기 광원의 반사에 의해 생성되는 영역으로 설정하도록 구현되는 자율 주행 모듈. - 바닥을 향해 빛을 발산하는 광원;
일정 시간마다 상기 바닥을 촬영하여 복수의 바닥 이미지들을 생성하는 카메라; 및
자율 주행 모듈을 포함하며,
상기 자율 주행 모듈은
명령들을 실행하는 프로세서; 및
상기 명령들을 저장하는 메모리를 포함하며,
상기 명령들은,
복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화하고, 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하며, 상기 광원의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출하며, 상기 검출된 특징들에 따라 이동 로봇의 위치를 추정하도록 구현되며,
상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거는,
상기 동기화된 복수의 바닥 이미지들 각각에 대해 평균 픽셀 값을 계산하며, 상기 동기화된 복수의 바닥 이미지들 각각에서 미리 알고 있는 상기 광원의 외경 정보와 상기 거리 센서에 의해 생성되는 바닥과 상기 거리 센서까지 높이에 관한 정보를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 외경을 계산하며, 상기 동기화된 복수의 바닥 이미지들 각각에서 픽셀값들의 분포를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 중심을 계산하며, 상기 반지 모양의 외경과 상기 반지 모양의 중심을 이용하여 원 방정식을 계산하며, 상기 원 방정식을 이용하여 상기 반지 모양 내부의 평균 픽셀 값을 계산하며, 상기 평균 픽셀 값과 상기 반지 모양 내부의 평균 픽셀 값을 이용하여 상기 동기화된 복수의 바닥 이미지들 각각에서 마스킹 영역을 설정하며, 상기 설정된 마스킹 영역을 상기 광원의 반사에 의해 생성되는 영역으로 설정하도록 구현되는 이동 로봇. - 제2항에 있어서, 상기 이동 로봇은,
상기 이동 로봇의 바닥을 향하도록 설치되며,
상기 복수의 높이 정보들을 생성하기 위해 일정 시간마다 바닥을 향해 신호를 쏘아 반사되어 돌아오는 데까지 걸리는 시간을 측정하는 거리 센서를 더 포함하는 이동 로봇. - 일정 시간마다 바닥을 향해 신호를 쏘아 반사되어 돌아오는 데까지 걸리는 시간을 측정하여 복수의 높이 정보들을 생성하는 거리 센서, 상기 바닥을 향해 빛을 발산하는 광원, 및 상기 일정 시간마다 상기 바닥을 촬영하여 복수의 바닥 이미지들을 생성하는 카메라를 포함하는 이동 로봇의 위치 추정 방법에 있어서,
프로세서는 상기 복수의 높이 정보들과 상기 복수의 바닥 이미지들을 동기화하는 단계;
상기 프로세서는 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하는 단계;
상기 프로세서는 상기 광원의 반사에 의해 생성되는 영역이 제거된 상기 복수의 바닥 이미지들에서 특징들을 검출하는 단계; 및
상기 프로세서는 상기 검출된 특징들에 따라 상기 이동 로봇의 위치를 추정하는 단계를 포함하며,
상기 프로세서는 상기 동기화된 복수의 바닥 이미지들에서 상기 광원의 반사에 의해 생성되는 영역을 제거하는 단계는,
상기 프로세서는 상기 동기화된 복수의 바닥 이미지들 각각에 대해 평균 픽셀 값을 계산하는 단계;
상기 프로세서는 상기 동기화된 복수의 바닥 이미지들 각각에서 미리 알고 있는 상기 광원의 외경 정보와 상기 거리 센서에 의해 생성되는 바닥과 상기 거리 센서까지 높이에 관한 정보를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 외경을 계산하는 단계;
상기 프로세서는 상기 동기화된 복수의 바닥 이미지들 각각에서 픽셀값들의 분포를 이용하여 상기 광원의 반사에 의해 생성되는 반지 모양의 중심을 계산하는 단계;
상기 프로세서는 상기 반지 모양의 외경과 상기 반지 모양의 중심을 이용하여 원 방정식을 계산하는 단계;
상기 프로세서는 상기 원 방정식을 이용하여 상기 반지 모양 내부의 평균 픽셀 값을 계산하는 단계;
상기 프로세서는 상기 평균 픽셀 값과 상기 반지 모양 내부의 평균 픽셀 값을 이용하여 상기 동기화된 복수의 바닥 이미지들 각각에서 마스킹 영역을 설정하는 단계; 및
상기 프로세서는 상기 설정된 마스킹 영역을 상기 광원의 반사에 의해 생성되는 영역으로 설정하는 단계를 포함하는 이동 로봇의 위치 추정 방법. - 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200121488A KR102218120B1 (ko) | 2020-09-21 | 2020-09-21 | 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법 |
US17/301,072 US20220091614A1 (en) | 2020-09-21 | 2021-03-24 | Autonomous driving module, mobile robot including the same, and position estimation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200121488A KR102218120B1 (ko) | 2020-09-21 | 2020-09-21 | 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102218120B1 true KR102218120B1 (ko) | 2021-02-22 |
Family
ID=74687405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200121488A KR102218120B1 (ko) | 2020-09-21 | 2020-09-21 | 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220091614A1 (ko) |
KR (1) | KR102218120B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2939332A1 (es) * | 2023-02-03 | 2023-04-20 | Ostirion S L U | Procedimiento y equipo de control de robots moviles sin computador ni sensores embarcados |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3569627B2 (ja) * | 1998-05-15 | 2004-09-22 | 三菱電機株式会社 | 画像上の位置判読装置 |
KR100750902B1 (ko) | 2005-07-29 | 2007-08-22 | 삼성중공업 주식회사 | 스마트 디지털 엔코더 센서를 이용한 로봇 동작 제어 방법및 시스템 |
KR20110116610A (ko) * | 2010-04-19 | 2011-10-26 | 인하대학교 산학협력단 | 지면 특징점을 사용한 영상 주행 기록 시스템 및 방법 |
KR101234511B1 (ko) | 2010-07-30 | 2013-02-19 | 주식회사 에스엠이씨 | 자기 엔코더로 로봇의 위치제어를 실시하는 로봇 엑츄에이터 |
KR20190081316A (ko) * | 2017-12-29 | 2019-07-09 | 삼성전자주식회사 | 청소용 이동장치 및 그 제어방법 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9002511B1 (en) * | 2005-10-21 | 2015-04-07 | Irobot Corporation | Methods and systems for obstacle detection using structured light |
JP4944635B2 (ja) * | 2007-02-15 | 2012-06-06 | 本田技研工業株式会社 | 環境認識装置 |
US9947134B2 (en) * | 2012-07-30 | 2018-04-17 | Zinemath Zrt. | System and method for generating a dynamic three-dimensional model |
US20150254861A1 (en) * | 2012-10-18 | 2015-09-10 | T. Eric Chornenky | Apparatus and method for determining spatial information about environment |
US9560284B2 (en) * | 2012-12-27 | 2017-01-31 | Panasonic Intellectual Property Corporation Of America | Information communication method for obtaining information specified by striped pattern of bright lines |
US9952042B2 (en) * | 2013-07-12 | 2018-04-24 | Magic Leap, Inc. | Method and system for identifying a user location |
JP6221158B2 (ja) * | 2014-08-27 | 2017-11-01 | 本田技研工業株式会社 | 自律行動ロボット、及び自律行動ロボットの制御方法 |
GB2529846B (en) * | 2014-09-03 | 2019-02-20 | Dyson Technology Ltd | Illumination Control of a Vision System for a Mobile Robot |
KR101620428B1 (ko) * | 2014-10-10 | 2016-05-12 | 엘지전자 주식회사 | 로봇 청소기 및 로봇 청소기의 제어방법 |
KR101620427B1 (ko) * | 2014-10-14 | 2016-05-12 | 엘지전자 주식회사 | 로봇 청소기의 제어방법 |
US9886620B2 (en) * | 2015-06-12 | 2018-02-06 | Google Llc | Using a scene illuminating infrared emitter array in a video monitoring camera to estimate the position of the camera |
US9454820B1 (en) * | 2015-06-12 | 2016-09-27 | Google Inc. | Using a scene illuminating infrared emitter array in a video monitoring camera for depth determination |
US9840003B2 (en) * | 2015-06-24 | 2017-12-12 | Brain Corporation | Apparatus and methods for safe navigation of robotic devices |
US11069082B1 (en) * | 2015-08-23 | 2021-07-20 | AI Incorporated | Remote distance estimation system and method |
US11449061B2 (en) * | 2016-02-29 | 2022-09-20 | AI Incorporated | Obstacle recognition method for autonomous robots |
US11449064B1 (en) * | 2017-03-02 | 2022-09-20 | AI Incorporated | Robotic fire extinguisher |
US10785418B2 (en) * | 2016-07-12 | 2020-09-22 | Bossa Nova Robotics Ip, Inc. | Glare reduction method and system |
US10445928B2 (en) * | 2017-02-11 | 2019-10-15 | Vayavision Ltd. | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types |
KR102017148B1 (ko) * | 2017-03-03 | 2019-09-02 | 엘지전자 주식회사 | 장애물을 학습하는 인공지능 이동 로봇 및 그 제어방법 |
US20190340306A1 (en) * | 2017-04-27 | 2019-11-07 | Ecosense Lighting Inc. | Methods and systems for an automated design, fulfillment, deployment and operation platform for lighting installations |
US20190096057A1 (en) * | 2017-05-11 | 2019-03-28 | Jacob Nathaniel Allen | Object inspection system and method for inspecting an object |
WO2018230864A2 (ko) * | 2017-06-14 | 2018-12-20 | 엘지전자 주식회사 | 외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치 |
US11348269B1 (en) * | 2017-07-27 | 2022-05-31 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
JP7179051B2 (ja) * | 2017-08-28 | 2022-11-28 | トリナミクス ゲゼルシャフト ミット ベシュレンクテル ハフツング | 少なくとも1つの物体の位置を決定するための検出器 |
US10422648B2 (en) * | 2017-10-17 | 2019-09-24 | AI Incorporated | Methods for finding the perimeter of a place using observed coordinates |
US11274929B1 (en) * | 2017-10-17 | 2022-03-15 | AI Incorporated | Method for constructing a map while performing work |
WO2019126332A1 (en) * | 2017-12-19 | 2019-06-27 | Carnegie Mellon University | Intelligent cleaning robot |
US11241791B1 (en) * | 2018-04-17 | 2022-02-08 | AI Incorporated | Method for tracking movement of a mobile robotic device |
US11153503B1 (en) * | 2018-04-26 | 2021-10-19 | AI Incorporated | Method and apparatus for overexposing images captured by drones |
US10816939B1 (en) * | 2018-05-07 | 2020-10-27 | Zane Coleman | Method of illuminating an environment using an angularly varying light emitting device and an imager |
US10630921B2 (en) * | 2018-05-21 | 2020-04-21 | Gopro, Inc. | Image signal processing for reducing lens flare |
US11548159B1 (en) * | 2018-05-31 | 2023-01-10 | AI Incorporated | Modular robot |
GB2574418B (en) * | 2018-06-05 | 2022-08-31 | Dyson Technology Ltd | A mobile robot and method of controlling a mobile robot illumination system |
US10948907B2 (en) * | 2018-08-24 | 2021-03-16 | Ford Global Technologies, Llc | Self-driving mobile robots using human-robot interactions |
WO2020092367A1 (en) * | 2018-10-29 | 2020-05-07 | Brain Corporation | Systems, apparatuses, and methods for dynamic filtering of high intensity broadband electromagnetic waves from image data from a sensor coupled to a robot |
EP3738500A1 (en) * | 2019-05-13 | 2020-11-18 | Nederlandse Organisatie voor toegepast- natuurwetenschappelijk Onderzoek TNO | Confocal and multi-scatter ophthalmoscope |
US11688030B2 (en) * | 2019-06-12 | 2023-06-27 | Frito-Lay North America, Inc. | Shading topography imaging for robotic unloading |
US11500090B2 (en) * | 2019-06-18 | 2022-11-15 | R-Go Robotics Ltd | Apparatus and method for obstacle detection |
US11644571B2 (en) * | 2019-07-01 | 2023-05-09 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
US11977167B2 (en) * | 2019-12-04 | 2024-05-07 | Waymo Llc | Efficient algorithm for projecting world points to a rolling shutter image |
US11940805B2 (en) * | 2020-05-06 | 2024-03-26 | Brain Corporation | Systems and methods for enhancing performance and mapping of robots using modular devices |
KR20210146141A (ko) * | 2020-05-26 | 2021-12-03 | 엘지전자 주식회사 | 이동 로봇 및 이의 코너 구역 주행 방법 |
US11467599B2 (en) * | 2020-09-15 | 2022-10-11 | Irobot Corporation | Object localization and recognition using fractional occlusion frustum |
-
2020
- 2020-09-21 KR KR1020200121488A patent/KR102218120B1/ko active IP Right Grant
-
2021
- 2021-03-24 US US17/301,072 patent/US20220091614A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3569627B2 (ja) * | 1998-05-15 | 2004-09-22 | 三菱電機株式会社 | 画像上の位置判読装置 |
KR100750902B1 (ko) | 2005-07-29 | 2007-08-22 | 삼성중공업 주식회사 | 스마트 디지털 엔코더 센서를 이용한 로봇 동작 제어 방법및 시스템 |
KR20110116610A (ko) * | 2010-04-19 | 2011-10-26 | 인하대학교 산학협력단 | 지면 특징점을 사용한 영상 주행 기록 시스템 및 방법 |
KR101234511B1 (ko) | 2010-07-30 | 2013-02-19 | 주식회사 에스엠이씨 | 자기 엔코더로 로봇의 위치제어를 실시하는 로봇 엑츄에이터 |
KR20190081316A (ko) * | 2017-12-29 | 2019-07-09 | 삼성전자주식회사 | 청소용 이동장치 및 그 제어방법 |
Also Published As
Publication number | Publication date |
---|---|
US20220091614A1 (en) | 2022-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10234873B2 (en) | Flight device, flight control system and method | |
WO2021000664A1 (zh) | 跨模态目标检测中的差异自动校准方法、系统、装置 | |
US10515271B2 (en) | Flight device and flight control method | |
US11830216B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP6736257B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
US10083512B2 (en) | Information processing apparatus, information processing method, position and orientation estimation apparatus, and robot system | |
JP2011123071A (ja) | 撮像装置、オクルージョン領域の探索方法、及びプログラム | |
US11508085B2 (en) | Display systems and methods for aligning different tracking means | |
KR20160030224A (ko) | 화상 처리 장치, 화상 처리 시스템, 화상 처리 방법, 및 컴퓨터 프로그램 | |
Ellmauthaler et al. | A novel iterative calibration approach for thermal infrared cameras | |
CN105279771B (zh) | 一种视频中基于在线动态背景建模的运动目标检测方法 | |
KR101943046B1 (ko) | 보조 rgb-d 카메라를 이용한 프로젝터-카메라의 캘리브레이션 방법 | |
CN111964680B (zh) | 一种巡检机器人的实时定位方法 | |
KR102218120B1 (ko) | 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법 | |
JP2010157093A (ja) | 運動推定装置及びプログラム | |
US11138760B2 (en) | Display systems and methods for correcting drifts in camera poses | |
JP5743935B2 (ja) | 対象物検出装置および対象物検出方法 | |
Kahlmann et al. | Range imaging technology: new developments and applications for people identification and tracking | |
JP2022039719A (ja) | 位置姿勢推定装置、位置姿勢推定方法及びプログラム | |
US20230245345A1 (en) | Object-based camera calibration | |
WO2015119657A1 (en) | Depth image generation utilizing depth information reconstructed from an amplitude image | |
JP6042146B2 (ja) | 対象物検出装置および対象物検出方法 | |
CN104937608B (zh) | 道路区域检测 | |
KR102136245B1 (ko) | 표적 탐지 및 포착을 위한 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 | |
KR101594113B1 (ko) | 스케일을 고려한 이미지 패치 추적 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |