KR20180136833A - 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇 - Google Patents

3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇 Download PDF

Info

Publication number
KR20180136833A
KR20180136833A KR1020170076120A KR20170076120A KR20180136833A KR 20180136833 A KR20180136833 A KR 20180136833A KR 1020170076120 A KR1020170076120 A KR 1020170076120A KR 20170076120 A KR20170076120 A KR 20170076120A KR 20180136833 A KR20180136833 A KR 20180136833A
Authority
KR
South Korea
Prior art keywords
sensing
map
sensing unit
unit
sensed
Prior art date
Application number
KR1020170076120A
Other languages
English (en)
Other versions
KR102326077B1 (ko
Inventor
이창현
손병곤
최규천
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020170076120A priority Critical patent/KR102326077B1/ko
Priority to US16/622,183 priority patent/US11602850B2/en
Priority to PCT/KR2018/005747 priority patent/WO2018230852A1/ko
Publication of KR20180136833A publication Critical patent/KR20180136833A/ko
Application granted granted Critical
Publication of KR102326077B1 publication Critical patent/KR102326077B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/881Radar or analogous systems specially adapted for specific applications for robotics
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/93Sonar systems specially adapted for specific applications for anti-collision purposes
    • G01S15/931Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Acoustics & Sound (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇에 관한 것으로, 본 발명의 일 실시예에 의한 3차원 공간의 이동 객체를 식별하는 로봇은둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈, 외부에 미리 설정된 기능을 제공하는 기능부, 로봇을 이동시키는 이동부, 로봇이 이동하는 공간에서 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 저장하는 맵 저장부, 및 센싱 모듈, 기능부, 이동부 및 맵 저장부를 제어하며 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고, 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 3차원 맵에 저장하며, 센싱 모듈의 센싱부들 중 어느 하나 이상의 센싱 결과에 따라 맵 저장부에 저장된 객체 중 이동 객체를 3차원 맵에서 제거하는 제어부를 포함한다.

Description

3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇{METHOD OF IDENTIFYING MOVABLE OBSTACLE IN 3-DIMENSIONAL SPACE AND ROBOT IMPLEMENTING THEREOF}
본 발명은 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에서 로봇이 동작하기 위해서는 전체 공간에 대한 맵을 가져야 한다. 한편, 맵은 2차원 적으로 구성할 수도 있으나 로봇이 일정한 높이를 가질 경우 외부의 공간에 대해 3차원 정보를 유지하면 로봇 이동의 정확성이 높아진다.
특히, 공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에는 구조물이 일률적으로 배치되지 않으며, 또한 임시적으로도 안내데스크 같은 구조물이 배치된 후 다시 제거되는 경우도 많으며 이동 객체들 역시 다양한 높이를 가질 수 있다.
따라서, 외부 객체들의 높이를 반영한 3차원 맵을 생성하기 위해서는 로봇이 다양한 방식으로 센싱된 정보들을 취합 및 조정하여 정확한 맵을 생성하는 방안이 필요하다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 둘 이상의 센싱부를 이용하여 공간에 배치된 객체들의 위치 정보와 높이 정보를 생성하여 이를 반영하는 3차원 맵을 생성하고자 한다.
또한, 본 명세서에서는 지속적으로 이동하거나 사라지는 이동 객체들을 확인하여 3차원 맵 상에 고정된 객체들만이 저장될 수 있도록 하여 로봇의 이동 효율을 높이고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 3차원 공간의 이동 객체를 식별하는 로봇은둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈, 외부에 미리 설정된 기능을 제공하는 기능부, 로봇을 이동시키는 이동부, 로봇이 이동하는 공간에서 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 저장하는 맵 저장부, 및 센싱 모듈, 기능부, 이동부 및 맵 저장부를 제어하며 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고, 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 3차원 맵에 저장하며, 센싱 모듈의 센싱부들 중 어느 하나 이상의 센싱 결과에 따라 맵 저장부에 저장된 객체 중 이동 객체를 3차원 맵에서 제거하는 제어부를 포함한다.
본 발명의 다른 실시예에 의한 3차원 공간의 이동 객체를 식별하는 로봇은 로봇에 결합하여 객체와 로봇 사이의 물리적 거리와 객체와 로봇 사이의 각도 정보를 산출하는 라이다 센싱부와, 로봇의 일방향의 뎁스 정보를 산출하는 뎁스 센싱부와, 로봇의 일정 반경 내의 객체의 거리를 센싱하는 초음파 센싱부를 포함하며, 센싱부들 중 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈, 라이다 센싱부가 생성하는 2차원 라이다 센서맵과 뎁스 센싱부가 생성하는 3차원 뎁스 센서맵을 결합하여 생성되는 3차원 맵을 저장하는 맵 저장부, 및 둘 이상의 센서맵에서 공통으로 센싱된 제1객체와, 라이다 센싱부가 센싱할 수 없는 높이에 배치되어 뎁스 센싱부에 의해 센싱된 제2객체와, 뎁스 센싱부에서 센싱되지 않았으나 라이다 센싱부가 센싱한 제3객체 중 어느 하나 이상을 3차원 맵에 저장하고, 3차원 맵에 저장된 객체 중에서 반경 내에 센싱되지 않은 객체를 이동 객체로 확인하여 3차원 맵에서 제거하는 제어부를 포함한다.
본 발명의 또 다른 실시예에 의한 3차원 공간의 이동 객체를 식별하는 방법은 로봇의 센싱 모듈이 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 단계, 로봇의 제어부가 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하는 단계, 제어부가 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 생성하여 로봇의 맵 저장부에 저장하는 단계, 및 센싱 모듈의 둘 이상의 센싱부가 센싱한 어느 하나 이상의 센싱 결과에 따라 제어부가 이동 객체를 확인하여 맵 저장부에 저장된 3차원 맵에서 상기 이동 객체를 제거하는 단계를 포함한다.
본 발명의 실시예들을 적용할 경우, 로봇이 이동하는 과정에서 주변에 배치되는 객체들의 높이와 깊이 등의 정보를 산출하여 로봇이 충돌 없이 이동할 수 있도록 한다.
또한, 본 발명의 실시예를 적용할 경우, 로봇은 센싱부의 다양한 센싱 결과들을 결합하여 특정한 센서가 가지는 센싱 데이터의 오류를 보완할 수 있다.
또한, 본 발명의 실시예를 적용할 경우, 다양한 높이의 객체들을 센싱하고 이들의 이동 상황 또는 고정된 상태에 따라 맵에서 추가 및 삭제하여 로봇이 정확하게 전체 공간에 대한 사물들의 배치 상황을 확인하여 이동할 수 있도록 한다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 공간을 3차원적으로 센싱하는 센싱 모듈의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 둘 이상의 센싱부들을 이용하여 3차원 맵을 생성하는 과정을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 라이다 센싱부가 외부의 객체를 센싱하여 이를 물리 좌표계로 변환하는 과정을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 뎁스 센싱부가 외부의 객체를 센싱하여 이를 물리 좌표계로 변환하는 과정을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 라이다 센싱부가 맵에 센싱한 객체를 표시한 도면이다.
도 7은 본 발명의 일 실시예에 의한 뎁스 센싱부가 맵에 센싱한 객체를 표시한 도면이다.
도 8은 본 발명의 일 실시예에 의한 뎁스 센싱부가 맵에 센싱한 객체의 바닥 높이와 상단부 높이를 모두 표시한 도면이다.
도 9는 본 발명의 일 실시예에 의한 두 종류의 센싱부에서 센싱한 정보를 결합하여 3차원 맵을 생성한 도면이다.
도 10은 본 발명의 일 실시예에 의한 두 개의 센싱부가 센싱한 결과를 얼라이닝 시키는 과정을 보여주는 도면이다.
도 11은 본 발명의 일 실시예에 의한 초음파 센싱부를 이용하여 로봇의 일정 반경 내의 객체를 센싱하여 맵 저장부(200)의 3차원 맵에 저장되었던 객체들 중 이동 객체를 식별하여 제거하는 과정을 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 의한 로봇이 이동 과정에서 이동 객체를 제거하는 과정을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 의한 3차원 공간의 이동 객체를 로봇이 식별하는 과정을 보여주는 도면이다.
도 14은 본 발명의 일 실시예에 의한 다양한 센싱부들이 배치되는 구성을 보여주는 도면이다.
도 15는 본 발명의 일 실시예에 의한 각각의 센싱부들이 센싱한 객체들의 위치를 비교하여 이동 객체를 확인하는 과정을 보여주는 도면이다.
도 16 및 도 17은 본 발명의 일 실시예에 의한 라이다 센서맵과 뎁스 센서맵, 그리고 3차원 맵을 보여주는 도면이다.
도 18은 도 16에 연속하여 생성된 뎁스 센서맵을 보여주는 도면이다.
도 19는 본 발명의 일 실시예에 의한 차원 공간의 이동 객체를 식별하는 과정을 보여주는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등에 대한 정보를 의미한다. 또한, 로봇은 맵 위에 별도의 객체들에 대한 정보를 저장할 수 있다. 예를 들어, 고정된 벽에 부착된 안내 플랫폼, 새로이 설치된 자판기 등은 높이를 가지는 물체라는 점에서 이들의 높이 정보도 맵에 저장되는 것이 필요하다.
또한, 본 명세서에서 로봇은 공간을 3차원적으로 저장하여 벽이나 유리가 3차원 상에 배치되어도 로봇이 진입 가능한 영역 혹은 기능 가능한 영역인지를 확인할 로봇이 확인하고, 이에 대한 정보를 저장할 수 있다.
특히, 본 명세서에서는 둘 이상의 센싱부들이 센싱한 정보들을 조정하여 3차원 맵을 생성하는 실시예들에 대해 살펴본다.
도 1은 본 발명의 일 실시예에 의한 공간을 3차원적으로 센싱하는 센싱 모듈의 구성을 보여주는 도면이다. 로봇에 하나 또는 다수가 장착될 수 있다.
센싱 모듈(100)은 초음파 센싱부(110), 적외선 센싱부(120), 라이다 센싱부(130), 그리고 뎁스 센싱부(140)와 같은 센싱을 수행하는 구성요소와, 센싱된 값을 분석하는 센싱 데이터 분석부(150)를 포함한다. 센싱 모듈(100)을 구성하는 각각의 구성요소들은 논리적 구성요소들이므로, 이들이 반드시 물리적으로 하나의 장치 내에 구현될 필요는 없다. 예를 들어, 적외선 센싱부(120)는 로봇의 경계 영역에 배치되고, 초음파 센싱부(110)는 로봇의 전면 중심 영역에 배치될 수 있다. 또한 뎁스 센싱부(140)와 라이다 센싱부(130)는 로봇의 상면에 배치될 수 있다.
또한, 이들 각각의 센싱부들과 센싱 데이터 분석부(150)는 데이터 링크 또는 무선 신호를 통해 센싱된 정보를 송수신할 수 있다. 또한 각각의 센싱부들은 다양한 센서들의 집합일 수 있다. 예를 들어 적외선 센싱부(120)가 전면에 배치된 사물을 센싱하기 위해, 물리적으로 적외선 송신부 및 적외선 수신부가 한 쌍 또는 다수 배치되는 것을 통합하여 논리적으로 적외선 센싱부(120)로 지시할 수 있다. 마찬가지로 초음파 센싱부(110) 역시 물리적으로 초음파 송신부 및 초음파 수신부가 한쌍 또는 다수 배치되는 것을 통합하여 논리적으로 초음파 센싱부(110)로 지시할 수 있다.
본 발명을 적용할 경우, 로봇이 장애물을 쉽게 회피하여 주행할 수 있도록 3차원 맵을 생성할 수 있다. 이를 위해 본 발명의 실시예에서는 다양한 종류의 센싱부들을 조합하여 3차원 맵을 생성한다. 특히, 외부의 장애물이 가지는 특징, 예를 들어 빛의 반사도, 투과도 등과 외부광에 의해 센싱 정확도가 영향받는 부분, 장애물의 높이 등을 고려하여 로봇이 신뢰성 높은 3차원 맵을 생성할 수 있도록 한다.
이를 위해, 두 종류의 센싱 데이터(라이다 및 뎁스)를 결합하고 이에 기반하여 SLAM에 의한 맵을 생성하는 과정에 대해 살펴보고, 이들 맵에서 이동 객체를 제거하는 과정을 살펴본다. 본 발명을 적용하면 라이다-뎁스 슬램(Lidar-Depth SLAM)을 수행할 수 있어 로봇이 이동하는 대면적의 공간에서 정확한 3차원 맵을 생성할 수 있다.
라이다 센싱부(130)가 센싱한 결과와 뎁스 센싱부(140)가 센싱한 결과를 결합하여 3차원 맵을 생성하는 것은 본 발명의 일 실시예이며, 라이다 센싱부(130) 대신 적외선 센싱부(120)를 이용할 수도 있다. 예를 들어, 적외선 센싱부(120)를 다수 배치하고, 일정 각도로 적외선 신호를 전송하여 수신되는 신호의 특성에 따라 라이다 센싱부(130)와 같이 포인트 방식으로 객체를 센싱할 수 있다.
뿐만 아니라, 적외선 센싱부(120)를 뎁스 센싱부(140) 대신 이용할 수 있다. 라이다 센싱부(130)가 센싱한 객체들 중에서 전진 방향의 객체들, 또는 일정한 거리 내의 객체들의 높이 정보를 센싱할 수 있도록 로봇(1000)의 다양한 높이에 적외선 센싱부(120)를 배치하고 각각의 적외선 센싱부(120)가 센싱한 객체들의 정보과 라이다 센싱부(130)가 센싱한 정보를 결합하여 3차원 맵을 생성할 수 있다.
본 명세서에서 도 1과 같은 센싱모듈(100)을 장착한 로봇은 전체 공간에 대한 3차원의 맵을 형성하면서, 이 과정에서 불필요한 이동 객체들은 맵에 임시적으로 표시하되 로봇이 이들 이동 객체들로부터 멀어지거나 이동 객체들이 사라질 경우 이들 이동 객체들을 맵 상에서 제거할 수 있다. 이동 객체들과 고정 객체들 모두를 로봇은 센싱할 수 있는데, 센싱의 정확도를 높이기 위해 각각의 센싱부들을 이용하여 센싱된 정보 중에서 특정 정보에 가중치를 높이거나 혹은 일부 정보들을 취사 선택하여 센싱 정확도를 높일 수 있다.
고정 객체는 벽, 문, 유리창 등 공간의 건물에 고정된 사물들이며 이동 객체는 사람, 사람에 의해 이동하는 사물, 혹은 임시적으로 배치된 사물 등이 될 수 있다. 본 명세서에서 3차원 맵을 생성하는 과정에서 임시적으로 센싱된 이동 객체는 로봇이 이동한 후에는 맵에서 제거된다. 각각의 센싱부들에 대해 보다 상세히 살펴본다.
본 발명의 일 실시예로, 초음파 센싱부(110)는 외부에 이동 객체 혹은 고정 객체들이 존재하는지 여부를 확인할 수 있다. 초음파 센싱부(110)는 초음파를 발산하는 초음파 발산부와 발산된 초음파가 장애물로부터 반사되어 돌아오는 반사파를 수신하는 초음파 수신부로 구성될 수 있다. 초음파 센싱부(110)는 초음파 발산 및 수신 시간을 이용하여 장애물을 가지하고 장애물까지의 거리를 산출할 수 있다.
다만, 초음파 센싱부(110)는 장애물의 정확한 높이를 파악하지 못한다. 따라서, 초음파 센싱부(110)에서 센싱한 장애물의 정보는 장애물과의 거리를 판단하며 이는 로봇이 이동하는 축(X-Y)에서의 거리 정보를 판단할 수 있다. 초음파 센싱부(110)는 주변에 이동 객체 또는 고정 객체가 존재하는지를 판단하므로 뎁스 센싱부(140) 또는 라이다 센싱부(130)가 센싱하지 못하는 객체들을 센싱할 수 있다.
다음으로 적외선 센싱부(120)는 로봇이 진행하는 방향에 배치되는 특정 높이의 객체들을 센싱할 수 있다. 예를 들어, 로봇의 최상단 양쪽 끝에 적외선 센싱부(120)가 배치될 경우, 로봇의 상단 부분에 배치된 객체들이 존재하는지를 센싱할 수 있다. 본 명세서에 로봇이 센싱 정확도를 높이기 위해 적외선 센싱부(120)가 로봇에 높이를 기준으로 분포될 수 있다. 예를 들어 로봇의 높이가 H 인 경우 H/3, 2*H/3, H 와 같은 높이에 적외선 센싱부(120)들이 다수 배치되어 다양한 높이의 객체들을 센싱할 수 있다.
또 다른 실시예로 적외선 센싱부(120)는 로봇의 최하단 양쪽 끝에도 배치될 수 있다. 이는 로봇이 통과할 수 있는 높이의 장애물이 배치되는지를 판단하기 위해 전방의 하단에 배치된 장애물을 센싱한다.
라이다(Lidar) 센싱부(130)는 특정한 높이에 배치되는 장애물들을 스캔한다. 따라서 특정한 높이, 예를 들어 라이다 센싱부가 배치된 높이가 H1인 경우, H1을 기준으로 객체들을 센싱할 수 있으나 이는 H1보다 높거나 혹은 낮은 위치에 배치되는 객체들을 센싱하지 못한다. 한편 라이다 센싱부(130)는 센싱 거리가 매우 길고 방향 또한 270도 이상 혹은 360도까지 포괄하는 넓은 범위의 장애물을 센싱할 수 있다. 따라서, 라이다 센싱부(130)는 넓은 범위의 장애물을 센싱하여 맵을 생성할 수 있다. 이 맵은 특정한 높이에 배치되는 장애물들의 위치를 저장할 수 있다.
뎁스 센싱부(140)는 전방에 배치된 장애물의 거리를 센싱한다. 뎁스 센싱부(140)는 각각의 기준영역(예를 들어 픽셀) 단위로 촬영된 사물까지의 거리를 센싱하여 3차원의 거리 정보가 반영된 촬영 이미지를 생성할 수 있다. 뎁스 센싱부(140)는 센싱 범위가 특정한 높이에 한정되지 않으므로, 적외선 센싱부(120)가 배치되지 않은 높이에서의 장애물을 확인할 수 있다. 특히, 적외선 센싱부(120)가 센싱한 위치의 장애물이 상하로 길게 배치되는 장애물인지 여부를 뎁스 센싱부(140)에서 센싱한 정보를 이용할 수 있다.
또한, 라이다 센싱부(130)와 뎁스 센싱부(140)의 센싱 정보를 취합하여 유리가 배치된 공간을 확인할 수 있다. 뎁스 센싱부(140)는 빛이 투과하는 유리를 센싱하는 정확도가 100%가 되기 어려우므로, 라이다 센싱부(130)에서 센싱한 값과 뎁스 센싱부(140)가 센싱한 값을 조합하여 통유리와 같은 사물들이 배치된 공간을 파악할 수 있다.
이하, 적외선 센싱부(120)에서 로봇의 상측, 중간, 또는 하측 전면에 배치된 장애물을 센싱할 수 있다. 초음파 센싱부(110)에서 로봇의 전면부에 배치된 장애물을 센싱하여 객체를 센싱할 수 있한다. 뎁스 센싱부(140)가 전면에 배치된 객체의 뎁스 값을 센싱하여 생성한 정보를 뎁스 정보라고 한다. 따라서, 뎁스 센싱부(140)는 전술한 객체들의 경계선과 거리 정보와 취합하여 장애물의 전체적인 윤곽과 이들 객체들의 뎁스 정보를 산출한다.
도 1의 센싱 모듈(100)은 둘 이상의 센싱부들을 이용하여 외부의 객체의 높이와 위치 정보를 산출한다. 일 실시예로 라이다 센싱부(130)와 뎁스 센싱부(140)를 이용하거나, 적외선 센싱부(120)와 뎁스 센싱부(140)를 이용할 수 있다.
도 2는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(1000)은 이동 객체와 고정 객체 등 로봇의 외부에 배치된 객체들을 센싱하는 센싱 모듈(100), 맵을 저장하는 맵 저장부(200), 로봇을 이동시키며 이동을 기계적 혹은 전자적으로 제어하는 이동부(300), 로봇의 소정의 기능, 즉 미리 설정된 기능을 수행하는 기능부(400), 다른 로봇과 맵 또는 객체들에 관한 정보를 송수신하는 통신부(500), 그리고 이들 각각의 구성요소들을 제어하는 제어부(900)를 포함한다.
특히 제어부(900)는 센싱 모듈(100)이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고, 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 3차원 맵에 저장하며, 센싱 모듈(100)의 다양한 센싱부들 중 어느 하나 이상의 센싱 결과에 따라 맵 저장부에 저장된 객체 중 이동 객체를 상기 3차원 맵에서 제거한다. 제거하는 과정에서 초음파 센싱부(110)를 이용하여 뎁스 센싱부(140)가 센싱하지 못하는 영역의 객체의 존재 유무를 확인할 수 있다.
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 정보를 이용하여 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 또한, 센싱 모듈(100)에서 센싱된 외부의 객체들에 대한 정보를 제어부(900)가 분석하여 진행 방향에 로봇의 진행 경로에 충돌 가능한 사물이 배치되어 있는지를 확인한 후, 이동부(300)의 이동을 제어할 수 있다.
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있다. 또한, 외부의 객체들의 크기나 특성, 혹은 로봇이 주행하는 공간에 따라 제어부(900)는 기능부(400)가 특정한 기능을 수행하도록 제어하거나, 혹은 기능부(400)가 기능을 수행하지 않도록 제어할 수 있다.
통신부(500)는 센싱한 맵을 다른 로봇 혹은 서버에게 전송하거나 새로운 맵을 수신한다. 뿐만 아니라, 센싱부들이 센싱한 결과를 얼라이닝 시키는 과정에서 오류가 발생한 센싱부에 대한 정보를 서버 장치로 전송할 수 있다.
맵 저장부(200)는 맵을 저장한다. 맵은 로봇(1000)이 이동할 수 있는 공간에 대한 정보를 의미한다. 맵은 전체 공간을 세분화된 단위 영역으로 나누어 단위 영역에 배치된 객체의 높이 정보도 저장한다. 높이 정보를 구성하는 일 실시예로 가장 높은 높이 값을 저장하는 방식과, 객체의 최하단의 높이와 최상단의 높이를 저장하는 방식으로 나뉘어질 수 있다. 이에 대해서는 후술한다.
맵 저장부(200)는 로봇이 이동하는 과정에서 생성한 3차원 맵을 저장한다. 3차원 맵은 누적하여 저장할 수 있고, 제어부(900)가 누적된 맵들을 이용하여 하나의 맵을 생성할 수도 있다.
맵은 다양한 방식으로 구성될 수 있다. 일 실시예로 전체 공간을 X축 및 Y축으로 하고, 일정한 단위 영역으로 나누어 각 단위 영역에 센싱된 객체의 높이가 저장될 수 있다. 로봇을 기준으로 센싱된 객체의 높이가 저장되므로 로봇이 통과할 수 있는 높이보다 더 높은 위치의 객체들은 맵에 저장되지 않는다.
2차원 행렬의 값으로 객체의 높이가 저장될 수 있다. 또는 2차원 행렬에 두 개의 값의 쌍으로 저장될 수 있는데, 일 실시예로는 가장 낮은 바닥면의 높이값과 가장 높은 높이값을 저장할 수 있다. 이에 대해서는 후술한다.
도 2에서 맵 저장부(200)는 로봇(1000) 내에 포함되어 있으나, 다른 실시예에 의하면 맵 저장부(200)가 서버에 배치될 수 있다. 이 경우, 로봇(1000)은 실시간으로 혹은 일정한 시간 간격을 두고 서버에 저장된 맵을 서버의 통신부와 통신을 이용하여 수신할 수 있다. 또한, 로봇(1000)이 추가로 저장해야 할 정보를 서버에 전송할 수 있다.
맵 저장부(200)에 저장되는 맵은 로봇(1000)의 센싱 모듈(100)이 센싱한 값을 이용하여
라이다(Lidar) 센서를 이용하여 생성될 수 있다. 예를 들어, 도 1에 추가적으로 라이다 센서가 배치되어 로봇은 지속적으로 맵을 생성 및 업데이트할 수 있다. 또한, 라이다 센서가 돌출물에 대한 정보를 파악하기 위해서 다른 센싱부들(110, 120, 140)을 이용하여 맵을 구성하는데 필요한 정보를 제공할 수 있다.
도 3은 본 발명의 일 실시예에 의한 둘 이상의 센싱부들을 이용하여 3차원 맵을 생성하는 과정을 보여주는 도면이다. 일 실시예로 라이다 센싱부(130)와 뎁스 센싱부(140)가 객체들(외부의 사물들)을 센싱한다.
먼저, 라이다 센싱부(130)가 객체들을 센싱하고(S11), 센싱 데이터 분석부(150)가 S11에서 센싱된 객체들의 좌표를 물리 좌표계로 변환한다(S12). 물리좌표계의 변환이란, 로봇을 기준으로 (x, y) 값을 산출하는 것을 의미한다. 일 실시예로, x는 로봇정면에서 물체까지의 거리, y는 로봇 정면에서 횡 방향으로의 떨어진 거리가 될 수 있다.
다음으로 뎁스 센싱부(140)가 객체들을 센싱하고(S13), 마찬가지로 센싱 데이터 분석부(150)가 S13에서 센싱된 객체들의 좌표를 물리 좌표계로 변환한다(S14). 여기서 뎁스 센싱부(140)는 객체들의 높이 정보까지도 전술한 물리 좌표계에 포함시킬 수 있다.
그리고 센싱 데이터 분석부(150)는 물리 좌표계로 변환된 객체들의 위치 정보를 제어부(900)에게 전달한다(S15).
제어부(900)는 로봇의 글로벌 좌표 상에서 로봇의 현재 좌표와 S15에서 전달받은 객체들의 위치 정보를 매칭하여 맵에 저장하며 센서 얼라이닝한다(S16).
즉, S16은 라이다 센싱부(130)와 뎁스 센싱부(140)에 의해 센싱된, 즉 로봇의 센싱 모듈(100)이 검출한 객체들의 좌표를 로봇 중심에서 x, y 방향으로 얼마나 떨어져 있는지 계산하여 이를 3차원 맵에 저장한다. 센서 얼라이닝은 둘 이상의 센싱부들이 생성한 정보를 이용하여 센싱된 값을 비교하여 센싱부들에 오류가 없는지를 확인하는 과정을 의미한다.
이후 로봇은 라이다 센싱부(130)와 뎁스 센싱부(140), 그리고 초음파 센싱부(110)를 이용하여 3차원 맵에 저장된 객체를 업데이트 한다(S17). 맵에 저장된 객체의 업데이트란, 이동 객체로 확인된 객체들을 맵에서 삭제하는 것을 의미한다. 로봇이 이동하는 과정에서 센싱 모듈(100)은 지속적으로 객체들을 센싱하는데, 이 과정에서 이전의 맵에 저장되었으나 더 이상 센싱되지 않는 객체들, 즉 이동 객체가 사라지거나 또는 로봇이 이동하여 그 객체가 더 이상 센싱되지 않는 경우에 이를 반영하여 맵에 저장된 객체를 삭제한다.
도 3의 과정에 대해 보다 상세히 살펴본다. 제어부(900)는 각각의 센싱부들이 제공하는 값을 이용하여 각 센서들이 생성한 객체들의 맵을 생성할 수 있다. 일 실시예로 라이다 센싱부(130)가 센싱한 객체들의 위치 정보를 라이다 센서맵에, 그리고 뎁스 센싱부(140)가 센싱한 객체들의 위치 및 높이 정보를 뎁스 센서맵에 저장할 수 있다.
라이다 센싱부(130)는 특정한 위치, 즉 라이다 센싱부(130)가 로봇(1000)에 배치된 높이의 객체들을 센싱한다. 따라서, 제어부(900)는 라이다 센싱부가 제공하는 객체들의 정보는 2차원의 라이다 센서맵에 저장할 수 있다. 한편, 라이다 센싱부(130)가 로봇(1000)에 두 개가 배치되고, 이들 라이다 센싱부(130) 두 개가 상이한 높이에 배치될 경우 두 개의 라이다 센서맵에 각각 센싱한 객체들이 저장될 수 있다. 또는 라이다 센싱부(130) 들이 센싱한 객체들의 높이를 반영하여 3차원의 라이다 센서맵에 객체들의 위치 및 높이 정보를 저장할 수 있다.
한편, 뎁스 센싱부(140)는 센싱된 객체들의 높이 정보가 뎁스 정보에 포함되므로, 뎁스 센싱부(140)가 센싱한 객체들은 3차원의 뎁스 센서맵에 저장된다.
도 4는 본 발명의 일 실시예에 의한 라이다 센싱부가 외부의 객체를 센싱하여 이를 물리 좌표계로 변환하는 과정을 보여주는 도면이다. 도 3의 S12 과정을 보여준다.
라이다 센싱부(130)가 0의 위치에서 객체(19a)를 센싱한다. 라이다 센싱부(130)는 센싱한 객체(19a)에 대한 각도 정보와 거리 값을 이용하여 Deg1, Deg2, z 값을 알 수 있다. 그 결과 0의 위치를 중심으로 하는 물리좌표계에서 객체(19a)의 (x, y) 값을 하기와 같은 수학식을 이용하여 구할 수 있다.
[수학식 1]
x = cos(Deg2) * z
y = cos(Deg1) * z
x, y의 값이 확인되면, 도 3의 S15와 같이 로봇의 위치를 중심으로 맵 상에 객체(19a)의 위치를 맵 상에 저장할 수 있다.
특히, 라이다 센싱부(130)의 경우 270도 이상, 최대 360도까지, 그리고 최대 센싱 가능한 거리(예를 들어 30미터 혹은 50미터) 내에서 센싱되는 객체들에 대해 각각 Deg1, Deg2, z 값을 산출할 수 있으므로, 이를 이용하여 로봇 주위에 객체들의 위치를 맵 상에 저장할 수 있다. 한편, 라이다 센싱부(130)는 특정한 높이에서만 센싱되는 객체들을 맵 상에 저장하므로 라이다 센싱부(130)가 생성하는 객체들의 맵 상의 위치는 맵 상에서 2차원 형태로 저장될 수 있다.
맵 상에 저장되는 객체들의 위치는 맵을 글로벌 좌표로 하는 공간에서의 절대위치를 의미한다. 즉, 앞서 라이다 센싱부(130)가 센싱한 객체의 위치 값은 로봇을 기준으로 하는 상대위치이지만 이를 글로벌 좌표로 변환하면 맵이 나타내는 전체 공간에서의 절대위치가 된다. 라이다 센싱부(130)의 센싱 정확도에 따라 높은 해상도(resolution)로 센싱 데이터가 증가 혹은 감소할 수 있다. 도 4는 라이다 센싱부(130)를 중심으로 설명하였으나 이는 적외선 센싱부(120)와 같이 포인트 방식으로 객체의 위치를 센싱하는 센서들에도 적용할 수 있다.
도 5는 본 발명의 일 실시예에 의한 뎁스 센싱부가 외부의 객체를 센싱하여 이를 물리 좌표계로 변환하는 과정을 보여주는 도면이다. 도 3의 S14 과정을 보여준다.
뎁스 센싱부(140)는 0의 위치에서 전면의 객체들에 대한 뎁스 값을 산출한다. 예를 들어 뎁스 센싱부(140)는 객체(19b)가 포함된 뎁스 영상에서 객체(19b)의 픽셀 위치(pX, pY) 값과 거리값 z를 산출할 수 있다. 이를 이용하여 뎁스 센싱부(140)를 기준으로 하는 x 및 y 값을 산출할 수 있다.
먼저, 뎁스 센싱부(140)는 각도 정보가 없으며, 도 5에 제시된 바와 같이 y 값과 z값은 같다. 즉, 뎁스 센싱부(140)가 센싱한 값으로 y = z 이기 때문에 y는 그대로 대입하여 사용할 수 있으며, x 값을 산출하기 위해서는 뎁스 센싱부(140)의 센싱 영역에 대한 정보를 확인할 수 있다. 일 실시예로 정면 3미터 이내의 장애물들에 대해 어라운드 맵으로 저장하고 여기서 x값을 산출할 수 있다.
일 실시예로, 뎁스 센싱부(140)가 전방 3m에서 3.45m의 horizontal 영역을 검출하고, 뎁스 센싱부(140)가 전방 2m에서 2.30m의 horizontal 영역을 검출하고, 또한, 뎁스 센싱부(140)가 전방 1m에서 1.15m의 horizontal 영역을 검출하면, 이들 정보들을 이용하여 "y = 1.15x" 라는 비례 관계를 산출할 수 있다. 이에 기반하여 x는 검출된 픽셀의 거리값, y는 검출물체의 거리에서 뎁스 센싱부(140)가 센싱하는 수평(horizontal)의 거리를 적용하여 y 값을 산출하고, 이에 기반하여 뎁스 센싱부(140)의 해상도(예를 들어 320)를 이용하여 하나의 픽셀이 차지하는 수평 길이를 산출할 수 있다.
도 5에서 산출한 x, y 값은 도 4에서 설명한 바와 같이 로봇을 중심으로 전체 공간의 맵 상에서의 글로벌 좌표로 변환할 수 있다. 뎁스 센싱부(140)는 객체의 높이 정보를 가지므로 높이 값 역시 전술한 수평 거리와 유사한 방식으로 수직(vertical) 거리를 적용하여 픽셀이 차지하는 수직 길이를 산출하고 이에 기반하여 객체의 높이 정보를 산출할 수 있다.
라이다 센싱부(130)가 설치된 높이의 객체들이 라이다 센싱부(130) 및 뎁스 센싱부(140)에서 모두 센싱되었다면 라이다 센싱부(130) 및 뎁스 센싱부(140)의 센싱 우선순위에 따라 3차원 맵 상에 객체 정보를 등록한다. 일 실시예로, 근거리에서는 뎁스 센싱부(140)를, 원거리에서는 라이다 센싱부(130)의 센싱 결과를 더 우선 순위로 두어 맵 상에 객체 정보, 즉 객체의 위치를 등록할 수 있다. 또는, 빛의 반사 세기 균일하지 않은 상황, 예를 들어 객체의 재질이 빛을 흡수 또는 투과하는 것으로 확인될 경우 뎁스 센싱부(140)에 우선 순위를 두어 맵 상에 객체의 위치를 등록할 수 있다. 반대로, 외부의 빛이 강하여 뎁스 센싱부(140)가 정확하게 객체를 센싱하기 어려운 상태에서는 라이다 센싱부(130)의 센싱 결과를 더 우선 순위로 두어 맵 상에 객체의 위치를 등록할 수 있다.
이 과정에서 이동하는 객체는 맵 상에서 다시 삭제할 수 있다. 예를 들어, 라이다 센싱부(130)가 20m/s로 계속 객체들의 위치 정보를 업데이트하는 과정에서 특정한 높이의 객체들만 센싱하기 때문에, 라이다 센싱부(130)는 이동하여 사라진 객체를 맵 상에서 삭제할 수 있다.
반면, 뎁스 센싱부(140)는 로봇(1000) 상에 배치되는 위치에 따라 센싱하지 못하는 영역이 존재할 수 있다. 이 경우 이동하여 사라진 동적 객체를 맵 상에서 삭제할 수 없다. 이를 위해 본 명세서에서는 1차적으로 라이다 센싱부(130)와 뎁스 센싱부(140)가 센싱한 객체들을 맵 상에 위치 또는 위치와 높이 정보를 모두 등록한 후, 실시간으로 초음파 센싱부(110)가 일정한 거리(예를 들어 1미터) 내의 모든 객체들을 센싱하여 일정한 거리 내에 센싱되지 않는 객체들은 뎁스 센싱부(140)에서 등록했던 3차원 맵 상의 객체 정보에서 삭제할 수 있다.
라이다 센싱부(130) 또는 뎁스 센싱부(140)의 각각 하나의 센서만 사용할 경우 센싱된 객체들의 위치 정보에 오류가 발생하면 찾아낼 수 없다. 그러나 도 3에서 살펴본 바와 같이, 기존의 맵정보에 뎁스 값이 정확이 맵핑이 되는 상태에서 라이다 센싱부(130)가 틀어진 센싱 값을 제공하면, 로봇(1000)의 제어부(900)는 데이터가 틀어진 정도를 계산하여 보정할 수 있으며, 이에 기반하여 다종 다양한 용도의 센서들을 융합하여 사용할 수 있다.
도 4 및 도 5에서 살펴본 바와 같이, 라이다 센싱부(130)와 뎁스 센싱부(140) 각각 물체에 대한 거리와 각도 등의 정보를 생성하여 리턴하는데, 각각 다른 방식으로 데이터를 표현한다. 예를 들어, 라이다 센싱부(130)는 센싱한 객체의 각도정보와 거리값을 생성하고 뎁스 센싱부(140)는 뎁스 센싱부(140)를 중심으로 X,Y 좌표값과 거리값을 생성한다. 따라서, 본 명세서는 후술할 도 6 내지 도 10과 같이 두 센싱부가 검출한 객체들의 위치를 얼라이닝하여 정확하게 3차원 맵을 생성할 수 있다.
도 6은 본 발명의 일 실시예에 의한 라이다 센싱부가 맵에 센싱한 객체를 표시한 도면이다. 도 6에서 전체 공간을 10x10의 크기의 맵으로 구성하며, 각 셀(칸) 별로 객체가 센싱되었는지 여부를 확인할 수 있다. 일 실시예로, 도 6에서 검은 색으로 마킹된 영역은 라이다 센싱부(130)가 배치된 높이에서 센싱된 객체들의 맵 상의 위치를 의미한다. 도 6은 라이다 센싱부(130)가 H 높이에 배치된 경우에 센싱된 객체들을 보여준다.
한편, 본 발명의 다른 실시예에 의한 둘 이상의 라이다 센싱부, 또는 라이다 센싱부와 적외선 센싱부가 상이한 높이에 배치된 경우 외부 객체의 높이 정보를 산출할 수 있다. 예를 들어 360도 혹은 270도로 센싱이 가능한 제1라이다 센싱부를 로봇(1000)의 상단부에 배치하고, 180도 혹은 그 이하의 각도로 센싱이 가능한 제2라이다 센싱부 혹은 적외선 센싱부가 로봇(1000)의 하단부에 배치될 경우 두 개의 높이에 대응하여 객체들을 센싱할 수 있다. 이 경우, 도 6의 특정 높이에서의 객체들의 위치가 저장된 임시맵(라이다 센서맵)이 다수 생성될 수 있다.
도 7은 본 발명의 일 실시예에 의한 뎁스 센싱부가 맵에 센싱한 객체를 표시한 도면이다. 앞서 도 3 및 도 5에서 살펴본 바와 같이 뎁스 센싱부(140)는 센싱한 객체의 높이 정보까지 산출할 수 있다. 따라서, 도 7은 높이 정보가 표시된 맵을 보여준다. 도 6에서 라이다 센싱부(130)가 센싱한 공간에 대해 뎁스 센싱부(140)가 센싱한 결과를 보여준다.
도 7에서 각 셀에 표시된 높이는 뎁스 센싱부가 센싱한 객체의 높이를 mm 단위로 표시한 것이다. 도 6에서 H가 1000이며 라이다 센싱부(130)가 센싱한 높이값이 1000 mm임을 가정할 때, 도 7에서 1000 보다 작은 숫자는 뎁스 센싱부(140)에서만 센싱된 객체의 높이를 의미한다.
또한, 1000 보다 큰 숫자이면서 라이다 센싱부(130)에서 센싱되지 않고 뎁스 센싱부(140)에서만 센싱된 객체(예를 들어 (3, 9)의 1500으로 센싱된 부분)는 해당 객체의 하단부의 높이가 1000 보다 큰 경우 또는 라이다 센싱부(130)가 센싱 과정에서 오류가 발생한 경우 중 어느 하나에 해당한다.
한편, 맵 상에 3차원 정보를 보다 정확하게 저장하기 위해 높이 정보를 세분하여 상단부의 높이와 하단부의 높이를 함께 저장할 수 있다.
도 8은 본 발명의 일 실시예에 의한 뎁스 센싱부가 맵에 센싱한 객체의 바닥 높이와 상단부 높이를 모두 표시한 도면이다. 도 7의 객체들의 최하단부 높이까지 표시하고 있다. 각 셀은 (상단부 높이, 바닥부 높이)와 같이 2 개의 값으로 구성된다. 도 8에서 바닥부 높이가 0인 경우는 기둥과 같이 바닥면에 부착된 객체를 의미한다. 반면, 바닥부 높이가 0보다 큰 경우 바닥 면에 붙어있지 않고 떠있는 객체를 의미한다. 예를 들어, 벽에서 돌출된 객체들의 경우 바닥부의 높이가 0보다 클 수 있다.
도 6과 도 7, 또는 도 6과 도 8을 비교하면, (0, 0) 셀의 객체를 라이다 센싱부(130)에서는 센싱되었으나, 뎁스 센싱부(140)에서는 객체를 센싱하지 못한 상태이다. 이는 뎁스 센싱부(140)가 외부의 빛 때문에 혹은 뎁스 센싱부(140)의 사각 지대로 인해 객체를 센싱하지 못한 경우이다. 반면, 도 7 및 도 8에서 높이가 1000mm 지점이 아닌 영역의 객체들이 다수 뎁스 센싱부(140)에서 센싱됨을 확인할 수 있다. 따라서, 둘 이상의 센싱부들을 이용하면 특정한 신호를 이용하는 센싱부가 센싱하지 못한 객체를 센싱하여 외부 객체들의 센싱 정확도를 높일 수 있다. 특히, 도 7 및 도 8에서 뎁스 센싱부(140)에 의해서만 검출되는 객체들의 위치를 로봇(1000)이 확인함으로써 로봇이 낮은 높이의 장애물들을 회피하여 이동할 수 있다.
도 9는 본 발명의 일 실시예에 의한 두 종류의 센싱부에서 센싱한 정보를 결합하여 3차원 맵을 생성한 도면이다. 도 6 내지 도 8은 각 센싱부가 센싱된 값을 맵 상의 글로벌 좌표로 표시한 것이다. 도 6 내지 도 8은 임시로 생성한 맵, 즉 임시맵(라이다 센서맵 및 뎁스 센서맵)이 될 수 있다. 이들 임시맵에 저장된 객체들을 조합하여 맵 저장부(200)에 저장할 수 있다.
도 9는 제어부(900)가 도 6 및 도 7의 두 종류의 임시맵을 조합하여 생성한 맵을 보여준다. 셀에서 음영으로 표시된 부분은 두 센싱부들의 센싱 결과가 일치하지 않는 셀을 의미한다. 이들 셀은 추후 로봇이 이동하는 과정에서 새로이 센싱한 값에 따라 센싱된 값의 정확도를 높일 수 있다. 만약, 도 6과 도 8의 임시맵을 결합할 경우, 바닥 높이까지 3차원 맵에 저장될 수 있다.
도 9의 맵은 시간적으로 계속 누적된다. 누적된 결과 이동하지 않고 위치를 유지하는 객체들은 고정된 객체, 즉 벽이나 문과 같은 고정된 객체로 판단한다. 반면, 누적된 결과 특정 위치의 객체가 더 이상 센싱되지 않는 경우, 이는 이동가능한 객체로 공간에서 이동하여 사라진 것을 의미한다. 따라서, 누적하여 저장한 맵들을 제어부(900)가 비교하거나 또한 로봇이 이동하는 과정에서 센싱한 결과 이전에 센싱된 것으로 맵 상에 저장되었던 위치에 객체가 존재하지 않는 경우, 해당 객체를 제거할 수 있다.
가장 정확하게 객체의 이동 여부를 확인하기 위해서는 라이다 센싱부(130) 및 뎁스 센싱부(140) 모두 동일하게 특정 객체가 이동 혹은 사라진 것으로 판단하는 것이다. 다음으로는 라이다 센싱부(130) 또는 뎁스 센싱부(140) 중 어느 하나 이상이 특정 객체가 사라지거나 이동한 것으로 확인하고, 초음파 센싱부(110)가 근거리 내의 객체의 존재 여부를 확인하여 정확도를 높일 수 있다.
SLAM(Simultaneous localization and mapping) 과정에서 라이다 센싱부(130)가 생성하는 맵 정보와 뎁스 센싱부(140)가 센싱한 맵 정보를 결합하여 특정한 센싱부가 센싱하지 못하는 객체들을 맵에 위치를 저장하여 로봇(1000)이 이동하는 공간에 대해 보다 정확한 맵을 생성할 수 있다. 특히, 두 종류의 센서들을 운용하여 라이다-뎁스 슬램(LiDAR Depth SLAM)으로 맵을 생성할 경우 로봇이 외부의 객체를 보다 정확하게 확인하여 충돌하지 않고 목표지점까지 효율적인 경로를 생성할 수 있다.
또한, 로봇(1000)의 센싱부들 중에서 어느 하나가 기계적으로 또는 전자적으로 오류가 발생하여 데이터에 오류가 발생한 경우, 다른 센싱부를 이용하여 얼라이닝(aligning) 할 수 있어 장애물 회피와 맵 생성의 정확도를 높일 수 있다.
특히, 맵은 시간적으로 누적되므로 이전에 생성한 맵과 최근에 생성한 맵을 비교하여 오류가 발생한 센싱부를 확인할 수 있다. 그리고, 둘 이상의 센싱부들을 이용하면 다양한 높이의 객체들을 정확하게 센싱할 수 있다. 특히 센싱의 정확도가 높으나 특정한 위치의 객체만을 센싱하는 라이다 센싱부(130)에 뎁스 센싱부(140)가 높이 정보를 센싱하여 도 9와 같이 3차원 맵을 생성할 경우 로봇(1000)이 이동 과정에서 외부 객체와의 충돌을 회피할 수 있다.
정리하면, 제어부(900)는 라이다 센싱부(130)가 센싱한 높이 H의 객체의 위치 정보와 뎁스 센싱부(140)가 센싱한 객체의 높이 및 위치 정보를 결합하여 도 9와 같은 3차원 맵을 생성하여 맵 저장부(200)에 저장하며, 이러한 3차원 맵은 로봇 또는 센싱 모듈의 위치나 시간에 따라 맵 저장부(200)에 누적하여 저장된다. 즉, 맵 저장부(200)에는 다수의 3차원 맵이 저장될 수 있으며 이전에 생성된 3차원 맵들은 센싱부들의 센싱된 값을 비교하거나 객체의 이동 상태를 확인하는 기준이 될 수 있다.
보다 상세히 살펴보면, 제어부(900)는 라이다 센싱부(130)가 센싱한 높이 H(예를 들어 1000 mm)에서의 객체의 위치 정보가 저장된 도 6의 임시맵(라이다 센서맵)과 뎁스 센싱부(140)가 센싱한 객체의 높이 및 위치 정보가 저장된 도 7 또는 도 8의 임시맵(뎁스 센서맵)을 결합하여 도 9와 같은 3차원 맵을 생성하여
도 10은 본 발명의 일 실시예에 의한 두 개의 센싱부가 센싱한 결과를 얼라이닝 시키는 과정을 보여주는 도면이다. 제1맵(20)은 시간적으로 이전에 생성한 맵이다. 설명의 편의를 위해 높이 정보는 모두 1000mm 라고 가정한다. 높이 정보는 별도로 저장될 수 있다.
제2맵(21)은 로봇(1000)이 특정 시점에서 센싱한 객체들의 위치를 결합하여 생성한 맵이다. 제2맵(21)에서 뎁스 센싱부(140)가 센싱한 객체들의 위치와 라이다 센싱부(130)가 센싱한 객체들의 위치가 틀어져 있는 상태를 확인할 수 있다. 두 센싱부들이 센싱한 객체들의 위치가 어긋나는 상황을 보여준다. 이때, 이전에 센싱하여 객체들의 위치를 저장했던 제1맵(20)의 객체들의 위치와 제2맵(21)의 객체들의 위치를 비교하여 정확한 객체의 위치를 센싱한 센싱부를 선택한다.
도 10에서는 뎁스 센싱부(140)로 제1맵(20)에 일치하므로 뎁스 센싱부(140)를 기준으로 데이터들을 수정한다. 도 10에서 라이다 센싱부(130)가 센싱한 객체들의 위치는 각도가 일부 수정되어야 함을 보여주며 수정되어야 하는 각도만큼 얼라이닝을 한다. 한편 제어부(900)는 두 개의 센싱부의 데이터가 일치하지 않으며, 이 중에서 특정 센싱부의 데이터가 얼라이닝이 필요한 상태임을 서버 장치에게 경고(Alert) 메시지로 전송하거나 또는 로봇(1000)에 부착된 디스플레이부에 표시하여 문제가 발생한 센싱부를 교체하거나 혹은 수리할 수 있도록 한다.
도 10의 과정을 정리하면 다음과 같다. 뎁스 센싱부(140)가 센싱한 객체들의 뎁스 정보는 물리좌표(거리값)으로 변환되며 라이다 센싱부(130)가 센싱한 값들을 얼라이닝 시킨다. 그 결과 로봇(1000)의 특정한 위치에 설치된 라이다 센싱부(130)가 센싱한 라이다 정보 이외도 뎁스 센싱부(140)를 이용하여 다른 높이에 배치되는 객체들의 뎁스 정보를 적용할 수 있다.
또한, 라이다 센싱부(130)와 뎁스 센싱부(140) 모두 객체를 센싱한 경우, 이는 라이다 센싱부(130)가 센싱할 수 있는 높이에 객체가 배치된 것을 의미한다. 그리고 라이다 센싱부(130)가 센싱한 거리값과 뎁스 센싱부(140)가 센싱한뎁스 정보에서 추출된 거리값을 비교하여 상이한 경우 이를 특정한 센싱부에 우선순위를 두어 조절할 수 있다.
한편, 외부에 배치된 객체가 벽면인 경우, 뎁스 센싱부(140)가 센싱한 벽면의 세 점의 뎁스 정보를 이용하여 벽면의 평면 방정식을 산출할 수 있다. 그리고, 산출한 벽면의 평면 방정식에 라이다 센싱부(130)가 센싱한 값(라이다 데이터)을 대입하면, 데이터의 오류 및 왜곡을 확인할 수 있다. 이는 기구상의 결함 또는 라이다 데이터의 오류에 의해 발생할 수 있는데, 왜곡 또는 오류의 정도에 따라 라이다 데이터를 캘리브레이션(Calibration) 할 수 있다.
즉, 제어부(900)는 라이다 센싱부(130)가 센싱한 객체의 위치 정보와 뎁스 센싱부(140)가 센싱한 객체의 위치 정보를 비교하여 도 10의 21과 같이 오차가 발생한 경우, 어느 하나의 센싱부의 센싱 결과를 적용하거나 센싱부의 센싱된 결과를 캘리브레이션 할 수 있다.
일 실시예로, 제어부(900)는 라이다 센싱부(130) 및 뎁스 센싱부(140)의 우선 순위에 따라 위치 정보를 캘리브레이션 할 수 있다. 이는 현재 로봇(1000)이 위치한 영역에서 보다 정확성이 높은 센싱부의 센싱값을 선택하거나 혹은 센싱된 객체의 거리에 따라 센싱값을 선택하여 위치 정보를 캘리브레이션 하는 것을 의미한다. 만약, 먼 거리에 있는 객체에 대한 센싱값이라면 라이다 센싱부(130)의 센싱값에 우선순위를 줄 수 있다. 반면, 객체의 재질 혹은 반사 강도에 따라, 뎁스 센싱부(140)의 센싱값에 우선순위를 줄 수 있다. 제어부(900)는 로봇의 위치 및 외부의 빛의 상태, 센싱된 객체의 거리 등을 종합하여 센싱된 위치 정보를 캘리브레이션 할 수 있다.
또 다른 실시예로, 제어부(900)는 맵 저장부(200)에 이전에 저장한 3차원 맵과의 비교 결과에 따라 위치 정보를 캘리브레이션할 수 있다. 도 10에서 살펴본 바와 같이 이전의 3차원 맵에 저장된 정보와 비교하여 이전에 센싱한 값과의 일치 정도가 높은 센싱부가 센싱한 위치 정보를 캘리브레이션 할 수 있다.
이 과정에서 특정한 센싱부가 지속적으로 오차를 생성하는 것으로 제어부(900)가 확인한 경우, 해당 센싱부가 센싱한 객체들의 위치 정보를 캘리브레이션 하기 위한 변수를 제어부(900)가 산출할 수 있다. 예를 들어, 도 10의 경우 라이다 센싱부(130)의 각도가 틀어지는 것을 캘리브레이션 하기 위한 변수(도 4에서 살펴본 Deg1 또는 Deg2 또는 Z 등을 조절하는 변수)를 산출하고, 제어부(900)는 라이다 센싱부(130)가 산출하는 객체의 위치 정보에 변수를 적용하여 보다 정확한 위치 정보를 확인할 수 있도록 캘리브레이션을 수행할 수 있다. 이러한 과정을 센싱부 얼라이닝이라 할 수 있다.
도 11은 본 발명의 일 실시예에 의한 초음파 센싱부를 이용하여 로봇의 일정 반경 내의 객체를 센싱하여 맵 저장부(200)의 3차원 맵에 저장되었던 객체들 중 이동 객체를 식별하여 제거하는 과정을 보여주는 도면이다.
초음파 센싱부(110)는 로봇(1000)의 일정 반경 내의 객체를 센싱한다(S31). 그리고 센싱한 결과는 센싱 모듈(100)의 센싱 데이터 분석부(150)에서 가공하여 제어부(900)에게 전달된다. 제어부(900)는 초음파 센싱부가 센싱한 객체의 거리와 맵 저장부의 3차원 맵의 객체를 비교한다(S32). 비교한 결과, 맵 저장부(200)에 일정 반경 내에 저장된 객체가 초음파 센싱부(110)에 센싱되었는지를 확인한다(S33).
예를 들어 초음파 센싱부(110)가 일정한 반경(예를 들어 1미터) 이내에 위치한 50 cm 거리의 객체를 센싱한 상태이면 제어부는 맵 저장부(200)의 3차원 맵에서 로봇의 현재 위치를 기준으로 50cm 이내의 객체가 있는지 확인할 수 있다.
한편, 초음파 센싱부(110)가 일정한 반경(예를 들어 1미터) 이내에 객체가 없는 것으로 센싱한 상태에서 제어부가 맵 저장부(200)의 3차원 맵에서 로봇의 현재 위치를 기준으로 일정 반경 이내에 객체가 있는지를 확인한다.
만약, 맵 상에 객체가 있으며, 그 객체의 높이가 초음파 센싱부(110)가 센싱할 수 있는 높이임에도 초음파 센싱부(110)에 의해 센싱되지 않으면 제어부(900)는 해당 객체를 이동 객체로 확인하여 맵에서 제거한다.
정리하면, 맵 저장부(200)의 맵 상에서 일정 반경 내에 위치하는 것으로 저장된 객체가 초음파 센싱부에 의해 센싱되었는지를 제어부(900)가 확인하여(S33), 만약 센싱된 경우라면 객체가 여전히 배치된 상태이므로 제어부(900)는 초음파 센싱부(110)가 센싱한 객체와의 충돌을 회피하도록 이동부(300)를 제어할 수 있다(S34).
반면, 센싱되지 않는 경우라면, 제어부(900)는 센싱되지 않은 객체의 높이에 따라 라이다 센싱부(130)의 센싱 결과를 반영하여 맵 저장부(200)의 3차원 맵에서 삭제한다(S35). 특히 뎁스 센싱부(140)가 센싱하지 못하는 영역, 예를 들어 뎁스 센싱부(140)가 로봇의 전방을 센싱하는 경우, 로봇(1000)이 지나온 뒤쪽의 객체에 대해서는 뎁스 센싱부(140)가 센싱할 수 없으므로, 이에 대해서 초음파 센싱부(110)를 이용하여 이동 객체인지 여부를 확인할 수 있다(S35).
도 12는 본 발명의 일 실시예에 의한 로봇이 이동 과정에서 이동 객체를 제거하는 과정을 보여주는 도면이다. 도 12의 맵에서 로봇의 위치는 "R"로 표시되어 있으며 로봇의 진행 방향이 (6, 4)에서 (6, 6)으로 이동한다. (6, 3)의 위치에서 객체(50)가 뎁스 센싱부(140)에 의해 센싱된다. 높이가 420mm이므로 객체(50)는 라이다 센싱부(130)에서는 센싱되지 않는다.
이후 로봇이 이동하는 과정에서 지속적으로 뎁스 센싱부(140)에 의해 전면 방향에서 객체들의 뎁스를 센싱한다. 만약, (6, 4)의 위치에 로봇이 위치한 상태에서 객체(50)가 이동하여 사라진 경우에 뎁스 센싱부(140)에 해당 객체(50)가 센싱되지 않는다. 마찬가지로 초음파 센싱부(110) 역시 인접한 위치에서 객체(50)가 센싱되지 않으므로 이를 3차원 맵에서 삭제할 수 있다.
반면, 로봇이 (6, 6)의 위치로 이동한 상태에서는 뎁스 센싱부(140)는 객체(50)를 센싱할 수 없는 상태이다. 즉, 객체(50)가 배치되어 있어도 뎁스 센싱부(140)는 전면 방향에 있기 때문에 객체(50)를 센싱할 수 없으며, 이를 센싱하기 위해서 로봇은 회전을 할 수 있으나 이는 로봇의 이동 속도를 낮추는 원인이 된다.
따라서, 도 12에서 살펴본 바와 같이, 로봇이 객체(50)를 지나간 후에 초음파 센싱부(110)를 이용하여 인접한 후면 방향으로도 객체(50)가 센싱되는지를 확인하여, 객체(50)가 센싱되는 경우에는 이를 3차원 맵에 저장된 상태를 유지한다. 반면, 객체(50)가 초음파 센싱부(110)에 의해 센싱되지 않으면 이동 객체로 확인하여 객체(50)를 3차원 맵에서 제거한다.
정리하면, 초음파 센싱부(110)는 로봇의 일정한 반경 내에서 객체가 존재하는지를 센싱한다. 그리고 초음파 센싱부(110)에서 객체가 센싱되지 않으며 3차원 맵 상에서 객체가 존재하는 것으로 확인되면, 제어부(900)는 맵 상에 저장된 객체는 이동 객체인 것으로 확인하고 3차원 맵에서 이동 객체를 제거한다.
도 13은 본 발명의 일 실시예에 의한 3차원 공간의 이동 객체를 로봇이 식별하는 과정을 보여주는 도면이다.
로봇(1000)의 센싱 모듈(100)이 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출한다(S61). 여기서 둘 이상의 센싱부란, 로봇에 결합하여 객체와 로봇 사이의 물리적 거리와 객체와 상기 로봇 사이의 각도 정보를 산출하는 라이다 센싱부(130)와, 로봇의 일방향의 뎁스 정보를 산출하는 뎁스 센싱부(140), 그리고 로봇의 일정 반경 내의 객체의 거리를 센싱하는 초음파 센싱부(110)가 될 수 있다. 그리고 센싱 모듈(100)은 이들 중에서 둘 이상의 센싱부들을 이용하여 객체의 높이 및 위치 정보를 산출한다.
그리고 로봇(1000)의 제어부(900)가 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고(S62), 제어부(900)가 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 생성하여 로봇의 맵 저장부에 저장한다(S63). 앞서 도 3 내지 9에서 3차원 맵을 생성하는 과정을 살펴보았다.
보다 상세히, 라이다 센싱부(130)는 임시맵의 일 실시예인 2차원 라이다 센서맵을 생성하고, 뎁스 센싱부(140) 역시 임시맵의 일 실시예인 3차원 뎁스 센서맵을 생성할 수 있는데, 제어부(900)가 이들을 결합하여 3차원 맵을 생성하며, 맵 저장부(200)는 전술한 차원 라이다 센서맵과 3차원 뎁스 센서맵을 결합하여 생성되는 3차원 맵을 저장한다.
이후, 센싱 모듈(100)의 둘 이상의 센싱부가 센싱한 어느 하나 이상의 센싱 결과에 따라 제어부(900)가 이동 객체를 확인하여 맵 저장부(200)에 저장된 3차원 맵에서 이동 객체를 제거한다(S64). 앞서 도 11 및 도 12에서 이러한 이동 객체를 맵에서 제거하는 과정을 살펴보았다.
본 발명의 일 실시예로 제어부(900)는 전술한 둘 이상의 센서맵(라이다 센서맵과 뎁스 센서맵)에서 공통으로 센싱된 제1객체와, 라이다 센싱부(130)가 센싱할 수 없는 높이에 배치되어 뎁스 센싱부(140)에 의해 센싱된 제2객체와, 뎁스 센싱부(140)에서 센싱되지 않았으나 라이다 센싱부(130)가 센싱한 제3객체 중 어느 하나 이상을 3차원 맵에 저장한다. 그리고, 제어부(900)는 3차원 맵에 저장된 객체 중에서 일정한 반경 내에 센싱되지 않은 객체를 이동 객체로 확인하여 3차원 맵에서 제거한다.
일정한 반경이란 초음파 센싱부(110)가 정확하게 센싱할 수 있는 범위를 일 실시예로 한다. 혹은, 3차원 맵에서 객체의 이동 여부를 파악하기 위한 범위를 일정 반경으로 할 수 있다. 예를 들어, 3차원 맵에서 로봇이 이동하는 과정에서 주변의 2미터 이내의 객체들의 이동 여부만을 판단하는 것으로 제어부(900)가 설정한 경우, 2미터 이내의 객체들을 초음파 센싱부(110)가 센싱할 수 있다. 또한, 센싱한 결과의 정확도를 높이기 위해 라이다 센싱부(130) 및 뎁스 센싱부(140)의 센싱 결과를 종합할 수 있다.
또한, 전술한 제2객체와 제3객체가 미리 설정된 간격 이내에 인접하여 위치한 경우, 예를 들어, 도 10에서 살펴본 바와 같이 검출된 라인이 교차하듯이 가까이 배치된 경우, 제어부(900)는 제2객체 또는 제3객체의 위치와 맵 저장부(200)에 이전에 저장한 3차원 맵을 비교하여 제2객체 또는 제3객체의 위치 정보를 캘리브레이션 할 수 있다.
다양한 높이의 객체들이 배치된 환경에서 로봇은 통과할 수 있는지를 각각의 센싱부들을 조합하여 확인할 수 있다. 일 실시예로, 벽에 튀어나온 장애물에 대해서 어떤 센싱부를 적용하느냐에 따라 이를 통과할 수 있는 장애물로 판단하거나 혹은 통과가 불가능한 장애물로 판단할 수 있다.
로봇이 특정한 공간을 통과하기 위해서는 바닥에 배치된 하단 장애물의 높이가 로봇이 통과할 수 있는 높이인지를 판단하는 것이 필요하다. 또한, 전면에 벽과 같은 평면적이고 전면적인 장애물이 아닌 돌출된 장애물이 있다면, 이 장애물이 특정한 높이 상에서 점유하는 공간에 따라 로봇이 통과할 수 있는지 여부를 판단할 수 있다.
따라서, 돌출형 장애물(돌출물)의 위치에 따라 로봇의 근접하여 소정의 기능(청소, 안내, 보안, 검색 등)을 수행하거나 혹은 해당 장애물을 회피하도록 동작할 수 있다. 로봇이 외부의 장애물에 대응하여 동작하기 위해서는 본 명세서에서 살펴본 바와 같이 3차원 맵을 구축하여 로봇이 3차원적으로 외부의 장애물들을 센싱하는 것이 필요하다. 즉, 로봇은 다양한 종류의 센싱부들을 이용하여 3차원의 맵을 구현할 수 있다.
특히, 공항, 터미널, 병원, 호텔, 학교 등 유동인구 또는 사용인구가 많은 공간에서 청소, 안내, 보안 검색 등의 역할을 수행하는 로봇의 키는 일정 크기 이상 높아야 한다. 이 경우 로봇은 전체 공간을 3차원적으로 센싱하여 이에 기반한 3차원 맵을 작성하고 이동할 수 있다. 이 과정에서 또한 로봇은 이동하는 객체를 센싱하여 이동 객체는 맵에서 삭제하여 불필요한 정보가 맵에 저장되는 것을 방지한다.
다양한 센싱부들은 각각의 특징에 따라 객체들을 센싱할 수 있다. 라이다 센싱부(130)는 넓은 방향 및 먼 거리의 객체를 센싱할 수 있으며, 뎁스 센싱부(140)는 진행 방향의 객체들의 높이를 센싱할 수 있다. 또한, 초음파 센싱부(110)는 맵 상에 저장된 객체가 인접하게 배치되어 있는지를 확인하여 맵에서 제거해야 하는 객체인지를 제어부(900)가 식별할 수 있도록 한다.
도 14는 본 발명의 일 실시예에 의한 다양한 센싱부들이 배치되는 구성을 보여주는 도면이다. 로봇(1000a)의 전면 또는 측면, 후면 등에는 초음파 센싱부(110a~110f), 라이다 센싱부(130a), 뎁스 센싱부(140a)가 배치되어 있다. 실시예에 따라 다양한 종류의 센싱부들이 하나 혹은 다수가 배치될 수 있다. 초음파 센싱부가 배치된 영역들 중에서 일부는 적외선 센싱부가 배치되어 진행 방향의 객체들을 확인할 수 있다. 초음파 센싱부(110a~110f)는 다양한 높이 영역에 배치된 객체들을 효과적으로 센싱하기 위해 배치된다.
라이다 센싱부(130a)는 전체 맵을 작성할 수 있다. 뎁스 센싱부(140a)는 전면부에 배치되는 객체의 뎁스 정보를 산출한다. 초음파 센싱부(110a~110f)는 뎁스 센싱부(140a)가 센싱하지 못하는 사각 지대의 객체를 센싱하여 맵 상에 저장된 객체가 이동했는지 여부를 확인할 수 있다.
그 외 기능부(400a)가 배치될 수 있다. 도 13에서 기능부(400a)는 청소를 수행하는 구성요소로 솔이나 걸레, 혹은 먼지 흡입구 등이 될 수 있다. 기능부(400a)가 보안을 수행하는 경우, 폭탄 탐지를 수행하는 구성요소가 포함될 수 있다. 이동부(300)는 로봇의 아래에 배치되어 도 13에 도시되지 않은 형태이다.
또한 센싱 정확도를 높이기 위해 추가적인 라이다 센싱부(130b)를 로봇(1000a)에 배치할 수 있다.
본 발명을 적용할 경우, 라이다 센싱부(130)가 설치된 높이 이외의 다른 높이에 배치된 객체를 SLAM 상에 피쳐(feature)로 등록할 수 있도록 한다. 즉, 다양한 높이의 객체들의 위치와 높이 정보를 3차원 맵에 저장할 수 있다. 특히, 초기 생성된 맵을 기반으로 로봇이 이동 경로를 선정하고 기능을 수행할 구역을 설정하는데, 본 발명과 달리, 라이다 센싱부(130)만을 이용할 경우 해당 높이 이외의 객체들은 센싱되지 않아 로봇의 이동에 위험요소가 되고, 기능의 수행 효율을 떨어뜨릴 수 있다. 반면, 본 발명을 적용할 경우, SLAM 과정에서 라이다 센싱부(130) 및 뎁스 센싱부(140)에서 검출된 객체들의 피쳐가 맵에 추가되면 전체 공간의 객체들을 모두 반영한 맵을 작성할 수 있으며 정확도가 향상된 맵에 기반하여 로봇의 이동 경로가 보다 효율적으로 생성될 수 있다.
특히, 로봇의 상단부 외에도 로봇의 하단부(예를 들어 도 14의 130b)에 배치하여 라이다 센싱부(130)에서 산출하는 두 개의 높이의 2차원 맵을 결합하여 센싱의 정확도를 높일 수 있다.
이 경우, 상단부의 라이다 센싱부(130a)는 센싱할 수 있는 각도가 넓은 것으로, 하단부의 라이다 센싱부(130b)는 센싱할 수 있는 각도가 좁은 것으로 구성할 수 있다.
본 발명을 적용할 경우, 뎁스 센싱부(140)가 빛의 영향을 받는 경우에는 라이다 센싱부(130)의 센싱 데이터에 우선순위를 높여서 정확하게 외부의 객체를 센싱할 수 있다. 또한, 라이다 센싱부(130)를 이용하면 특정한 높이에서 객체를 센싱하는데, 이를 뎁스 센싱부(140)가 다양한 높이의 객체를 센싱할 수 있도록 보완하므로 정확한 3차원 맵을 생성할 수 있다.
또다른 실시예로, 각각의 센싱부들이 센싱한 객체들의 위치가 저장된 임시맵들, 즉 라이다 센서맵과 뎁스 센서맵을 이용하여 초음파 센싱부(110)에 기반한 동적 객체의 판단을 보완하거나 보다 정밀하게 센싱할 수 있다.
도 15는 본 발명의 일 실시예에 의한 각각의 센싱부들이 센싱한 객체들의 위치를 비교하여 이동 객체를 확인하는 과정을 보여주는 도면이다.
라이다 센싱부(130)는 외부의 객체에 대한 라이다 센싱 데이터를 생성하고(S71), 마찬가지로 뎁스 센싱부(140) 역시 외부의 객체에 대한 뎁스 센싱 데이터를 생성하여(S72), 이들 각각의 센싱부가 센싱 데이터 분석부에게 생성한 데이터를 제공한다(S73, S74).
센싱 데이터 분석부(150)는 각각의 센싱 데이터를 로봇 중심의 물리 좌표로 변환하여(S75) 이를 제어부(900)에게 제공한다(S75). 물리 좌표로 변환하는 경우, 어느 센싱부에서 센싱한 결과인지를 같이 제공한다. 따라서, 제어부(900)는 물리 좌표로 변환된 센싱 데이터들을 글로벌 좌표로 변환한다(S81). 글로벌 좌표로 변환하면 이전에 생성한 각각의 라이다 센서맵과 뎁스 센서맵과 센싱된 데이터를 비교할 수 있다. 또한, 제어부(900)는 이들 라이다 센서맵과 뎁스 센서맵을 결합한 3차원 맵과도 비교할 수 있다.
일 실시예로, 라이다 센싱 데이터를 라이다 센서맵과 비교하여 이동 객체인지 판단하여 라이다 센서맵 업데이트할 수 있다(S82). 한편, 이 과정에서 라이다 센싱부(130)에서 센싱되지 않아 제거된 이동 객체가 뎁스 센서맵에 존재하면 이동 객체의 높이에 따라 뎁스 센서맵을 업데이트할 수 있다(S83). 이는 뎁스 센싱부(140)가 가지는 방향각 또는 객체의 검출 가능한 범위가 벗어난 경우 이동 객체가 이동한 후라 하여도 뎁스 센싱부(140)는 뎁스 센서맵을 업데이트하지 않고 해당 객체의 위치를 유지할 수 있다. 따라서 이를 해결하기 위해 라이다 센싱부(130)에서 센싱하여 특정 글로벌 좌표에 객체가 존재하지 않는 것으로 판단된 경우에 이동 객체의 높이에 따라 라이다 센싱부(130)가 센싱할 수 있는 높이라면 뎁스 센서맵에서 제거하고, 라이다 센싱부(130)가 센싱할 수 없는 높이라면 뎁스 센서맵에 유지한다.
그리고 제어부(900)는 업데이트한 라이다 센서맵과 뎁스 센서맵을 결합하여 3차원 맵을 생성할 수 있다(S84).
보다 상세히 살펴보면, 라이다 센싱부(130)가 센싱한 객체들의 물리적 좌표는 제어부(900)가 글로벌 좌표로 변환하여 지속적으로 라이다 센서맵을 생성한다. 마찬가지로, 뎁스 센싱부(140)가 센싱한 객체들의 물리적 좌표 역시 제어부(900)가 글로벌 좌표로 변환하여 지속적으로 뎁스 센서맵을 생성한다.
이 과정에서 라이다 센싱부(130)에서는 센싱되지 않아 라이다 센서맵에서 제거하는 것으로 판단한 객체가 확인될 수 있다. 보다 정확하게는, 특정한 객체가 위치하는 것으로 이전에 확인되었던 글로벌 좌표에서 더 이상 라이다 센싱부(130)가 객체를 센싱하지 않는 것을 일 실시예로 한다. 제어부(900)는 이러한 글로벌 좌표에 대응하여 뎁스 센싱부(140)가 센싱한 객체가 있는지를 확인한다.
만약, 글로벌 좌표에 대응하는 영역에서 뎁스 센싱부(140)가 센싱한 객체가 있으며, 보다 정확하게 라이다 센싱부(130)가 센싱할 수 없는 높이의 객체인 것으로 확인되면, 해당 객체는 뎁스 센서맵에서 삭제하지 않고 유지한다. 그 결과, 라이다 센서맵에서는 센싱되지 않아 이동 객체로 판단하여 제거되지만, 뎁스 센서맵에서 확인된 경우 뎁스 센서맵에서 유지하여, 차후 3차원 맵에는 뎁스 센싱부(140)가 센싱한 데이터라는 것을 구별하여 저장할 수 있다.
한편, 뎁스 센싱부(140)는 Fov(Field of View)가 라이다 센싱부(130) 보다는 좁을 수 있으며 객체를 검출할 수 있는 거리도 라이다 센싱부(130) 보다 짧을 수 있다. 따라서, Fov를 벗어난 영역에 대해 뎁스 센싱부(140)가 센싱하지 못하는 객체가 존재할 수 있다. 이를 보완하기 위해 라이다 센싱부(130)에서 센싱되지 않으며, 뎁스 센싱부(140)에서도 센싱되지 않는 경우, 초음파 센싱부(110)를 이용하여 객체의 이동 여부를 확인할 수 있다.
본 발명의 실시예를 적용하면 로봇(1000)에 설치된 뎁스 센싱부(140)의 위치와 Fov에 따라, 로봇의 뎁스 센싱부(140)가 검출할 수 없는 영역에 대해서도 객체를 센싱할 수있다. 특히, 대면적의 유동 인구가 존재하는 공간에서는 바닥에 가까운 낮은 높이의 객체들, 예를 들어, 바닥의 5cm 높이의 장애물을 뎁스 센싱부(140)로 검출하기 위해서는 로봇 전방 2m 지점에서 검출이 가능한데, 이를 벗어나면 검출된 객체가 이동을 하여도 뎁스 센싱부(140)가 이를 확인할 수 없으므로, 뎁스 센서맵에서 이들 객체를 제거할 수 없다.
만약, 뎁스 센서맵에서 실시간으로 이동 객체들을 제거하지 않을 경우, 라이다 센서맵과 뎁스 센서맵을 결합한 3차원 맵 상에서는 동적인 물체들이 지속하여 그 위치가 유지되는 것으로 잘못된 정보가 저장될 수 있으며, 이로 인해 로봇이 이동할 수 있는 범위 혹은 로봇의 이동 가능한 경로의 선택 가능성이 좁아지며 로봇이 효율적으로 이동할 수 없게 된다. 따라서, 도 15와 같이 뎁스 센서맵에서도 지속하여 이동한 객체를 제거할 경우 로봇이 동작 가능한 범위를 확보할 수 있다. 즉, 본 발명을 적용할 경우, 로봇이 지나온 영역, 즉 뎁스 센싱부(140)가 센싱하지 못하는 영역에서 이동하여 사라진 객체들의 이동 상태를 반영하여 정확한 맵을 생성할 수 있다.
도 16 및 도 17은 본 발명의 일 실시예에 의한 라이다 센서맵과 뎁스 센서맵, 그리고 3차원 맵을 보여주는 도면이다.
라이다 센싱부(130)는 일정한 높이에서의 객체들을 센싱하여 센싱 데이터 분석부(150)가 물리적 좌표를 제어부(900)에게 제공하면 제어부(900)는 이를 기반으로 라이다 센서맵(201)을 생성한다. 글로벌 좌표가 반영된 라이다 센서맵이다. 한편, 로봇의 위치에서 뎁스 센싱부(140)가 센싱 가능한 범위는 201a와 같은데, 이 영역에서 뎁스 센싱부(140)가 센싱한 객체들의 글로벌 좌표들을 반영하여 제어부(900)는 뎁스 센서맵(202)을 생성할 수 있다.
두 개의 센서맵(201, 202)를 살펴보면 두 개의 센싱부에서 모두 센싱되어 글로벌 좌표로 저장되는 영역(201b, 202a)과 어느 하나의 센싱부에 의해서만 글로벌 좌표로 저장되는 영역(202b)이 있다.
그리고 이들 두 개의 맵을 결합하면, 도 17과 같이 3차원 맵(210)을 구성한다. 3차원 맵(210)에서 라이다 센싱부(130)와 뎁스 센싱부(140) 모두에 의해 센싱된 영역(210a)과, 뎁스 센싱부(140)에 의해서만 센싱된 영역(210b), 그리고 라이다 센싱부에 의해 센싱된 영역들로 구분할 수 있으며, 이는 로봇이 이들 각각을 상이한 색상 혹은 상이한 형태로 구분하여 디스플레이 할 수 있도록 한다.
한편, 도 17에서 3차원 맵에 표시된 좌표들은 모두 객체가 배치된 위치를 보여주는데, 이들 중에는 이동 객체가 존재할 수 있다. 따라서, 도 16의 뎁스 센서맵(202)에서 로봇이 R의 위치에서 화살표 방향으로 이동한 후에 생성하는 뎁스 센서맵을 살펴보면 도 18과 같다. 도 17의 맵 역시 임시맵이 될 수 있다. 즉, 임시적으로 생성하여 유지하고 일정한 시점에서 고정된 맵으로 저장할 수 있다.
도 18은 도 16에 연속하여 생성된 뎁스 센서맵을 보여주는 도면이다. 뎁스 센서맵(204)는 로봇(R로 표시)이 전진하는 과정에서 센싱한 새로운 객체들의 위치가 표시된 영역(204a, 204b)이 제시된다. 반면, 로봇의 후면에 배치된 202a 및 202b 영역에 대해서는 뎁스 센싱부(140)가 센싱하지 못하는 영역이다.
따라서, 도 15의 프로세스를 적용하여, 라이다 센싱부(130)에서 만약에 202a 및 202b의 영역에서 객체가 센싱된 경우라면 해당 객체는 이동하지 않았으므로 라이다 센서맵에 그대로 유지한다. 한편, 라이다 센싱부(130)에서 센싱되지 않는 높이(도 16의 202b 및 도 17의 210b에 대응하는 도 18의 202b 영역)의 객체에 대해서는 그대로 유지하되, 초음파 센싱부(110)가 202b 영역에서 객체를 센싱하지 않은 상태라면 이를 뎁스 센서맵(204)에서도 제거할 수 있다.
정리하면 다음과 같다. 뎁스 센싱부(140)와 라이다 센싱부(130)를 모두 가지고 있는 로봇의 제어부(900)가 각각의 센싱부에서 검출한 사물들, 즉 객체들의 위치를 저장하는 임시맵(라이다 센서맵, 뎁스 센서맵)을 생성한다. 그리고 뎁스 센서맵은 일정한 주기(뎁스 센싱부의 스펙에 따라 결정) 뎁스 센싱부(140)가 검출할 수 있는 Fov 와 거리 내에 있는 객체들의 좌표들이 실시간 업데이트되어 저장된다. 반면, Fov와 거리를 벗어난 정보는 로봇의 글로벌 좌표에 따라 3차원 맵 상에 변환되어 저장된다.
이 과정에서 이동한 객체는 3차원 맵에 저장되지 않도록 하기 위해 라이다 센싱부(130)를 이용하여 이동 객체를 판별한다. 예를 들어, 라이다 센서맵은 일정한 주기로 라이다 센싱부(130)가 검출할 수 있는 각도와 거리 내에 있는 객체들을 실시간으로 업데이트하여 로봇좌표계의 Global 좌표로 변환하여 저장함과 동시에 이동 객체가 제거된 라이다 센서맵이 업데이트된다. 이 과정에서 뎁스 센서맵에서도 이동 객체를 제거하기 위해 라이다 센서맵과 비교할 수 있다. 즉, 라이다 센서맵을 업데이트 하는 과정에서 객체가 더 이상 존재하지 않는 지점의 글로벌 좌표를 뎁스 센서맵과 비교하여 업데이트 한다.
예를 들어, 라이다 센서맵에서 제거된 좌표가 실제 라이다 센싱부(130)가 센싱하지 못하는 지점이라면, 즉, 라이다 센싱부(130)가 설치된 위치에서 검출되는 객체가 아니라면 뎁스 센서맵에서 삭제하지 않고 유지한다. 반면, 라이다 센싱부(130)가 검출할 수 있는 높이의 객체가 더 이상 센싱되지 않는다면, 뎁스 센서맵에서 삭제할 수 있다. 보다 정확성을 높이기 위해 초음파 센싱부(110) 또는 적외선 센싱부(120)를 이용하여 뎁스 센서맵에서 뎁스 센싱부(140)가 센싱하지 못하는 영역의 객체의 이동 유무를 확인할 수 있다.
도 19는 본 발명의 일 실시예에 의한 차원 공간의 이동 객체를 식별하는 과정을 보여주는 도면이다. 라이다 센싱부(130)가 센싱한 객체들의 위치 정보가 반영된 제1라이다 센서맵을 산출하고(S91), 뎁스 센싱부(S92)가 센싱한 객체들의 높이 및 위치 정보가 반영된 뎁스 센서맵을 산출한다. 이는 도 16에서 살펴보았다. 그리고 라이다 센싱부(130)가 센싱한 객체들의 위치 정보가 반영된 제2라이다 센서맵을 산출한다(S92). 그 결과 이동한 객체, 즉 사라진 객체는 제2라이다 센서맵에 존재하지 않는다.
따라서, 제어부(900)가 제1라이다 센서맵과 제2라이다 센서맵을 비교하여 제거된 객체의 위치를 산출하고 산출된 위치를 뎁스 센서맵에서 확인한다(S94). 만약 뎁스 센서맵에서도 제거된 것으로 확인되면 두 개의 센서부에서 변화가 확인한 것이므로, 뎁스 센서맵에서도 제거한다. 반면 일치하지 않는 경우, 예를 들어 제거된 객체의 위치가 뎁스 센싱부(140)가 검출할 수 없는 영역인 경우, 높이에 따라 제거 여부를 선택한다.
즉, 제어부(900)는 뎁스 센서맵에서 제거된 객체의 위치에 대응하는 높이 정보를 이용하여 뎁스 센서맵을 업데이트한다(S95). 예를 들어, 제어부(900)는 높이 정보가 라이다 센싱부(130)가 센싱할 수 있는 높이가 아닌 경우, 뎁스 센서맵에 객체의 위치를 유지한다. 대신 제어부(900)는 다른 센싱부, 예를 들어 초음파 센싱부(110) 및 적외선 센싱부(120) 중 어느 하나를 이용하여 여전히 객체가 센싱되지 않는 경우에는 뎁스 센서맵에서 해당 객체의 위치를 제거하여 장애물이 없는 것으로 구성할 수 있다.
본 명세서에서는 로봇의 일 실시예로 청소 기능이 탑재된 로봇을 중심으로 설명하였으나, 본 발명이 이에 한정되는 것은 아니며, 모든 자율 주행 가능한 로봇제품에 적용 가능한 기술이다. 특히, 본 발명의 로봇은, 다양한 센서들의 융합으로 이동 객체를 식별하고 객체들의 위치를 3차원 맵에 저장할 수 있도록 한다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
1000: 로봇 100: 센싱 모듈
110: 초음파 센싱부 120: 적외선 센싱부
130: 라이다 센싱부 140: 뎁스센싱부
150: 센싱 데이터 분석부 200: 맵 저장부
300: 이동부 400: 기능부
500: 통신부 900: 제어부

Claims (15)

  1. 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈;
    외부에 미리 설정된 기능을 제공하는 기능부;
    로봇을 이동시키는 이동부;
    상기 로봇이 이동하는 공간에서 상기 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 저장하는 맵 저장부; 및
    상기 센싱 모듈, 상기 기능부, 상기 이동부 및 상기 맵 저장부를 제어하며 상기 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고, 상기 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 상기 3차원 맵에 저장하는 제어부를 포함하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  2. 제1항에 있어서,
    상기 센싱 모듈은 라이다 센싱부 및 뎁스 센싱부를 포함하며,
    상기 제어부는 상기 라이다 센싱부가 센싱한 높이 H의 객체의 위치 정보와 상기 뎁스 센싱부가 센싱한 객체의 높이 및 위치 정보를 결합하여 상기 3차원 맵을 생성하여 맵 저장부에 저장하며,
    상기 맵 저장부는 상기 센싱 모듈의 위치 또는 시간에 따라 다수의 3차원 맵을 저장하며,
    상기 제어부는 상기 라이다 센싱부 또는 상기 뎁스 센싱부 중 어느 하나 이상의 센싱 결과에 따라 상기 맵 저장부에 저장된 객체 중 이동 객체를 상기 3차원 맵에서 제거하는 는, 3차원 공간의 이동 객체를 식별하는 로봇.
  3. 제2항에 있어서,
    상기 제어부는 상기 라이다 센싱부가 센싱한 객체의 위치 정보와 상기 뎁스 센싱부가 센싱한 객체의 위치 정보를 비교하여 오차가 발생한 경우, 상기 라이다 센싱부 및 상기 뎁스 센싱부의 우선 순위에 따라 상기 위치 정보를 캘리브레이션 하거나 또는 상기 맵 저장부에 이전에 저장한 3차원 맵과의 비교 결과에 따라 상기 위치 정보를 캘리브레이션하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  4. 제3항에 있어서,
    상기 제어부는 상기 비교 결과에 기반하여 오차가 발생한 센싱부의 센싱 결과를 캘리브레이션 하는 변수를 산출하며,
    상기 제어부는 상기 오차가 발생한 센싱부가 센싱하는 객체의 위치 정보에 상기 변수를 적용하여 캘리브레이션 하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  5. 제1항에 있어서,
    상기 센싱 모듈은 초음파 센싱부를 더 포함하며,
    상기 로봇의 일정한 반경 내에서 상기 3차원 맵에 저장된 객체가 상기 초음파 센싱부에서 센싱되지 않으면, 상기 제어부는 상기 객체를 이동 객체로 확인하고 상기 3차원 맵에서 상기 이동 객체를 제거하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  6. 로봇에 결합하여 객체와 로봇 사이의 물리적 거리와 상기 객체와 상기 로봇 사이의 각도 정보를 산출하는 라이다 센싱부와, 상기 로봇의 일방향의 뎁스 정보를 산출하는 뎁스 센싱부와, 상기 로봇의 일정 반경 내의 객체의 거리를 센싱하는 초음파 센싱부를 포함하며, 상기 센싱부들 중 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈;
    상기 라이다 센싱부가 생성하는 2차원 라이다 센서맵과 상기 뎁스 센싱부가 생성하는 3차원 뎁스 센서맵을 결합하여 생성되는 3차원 맵을 저장하는 맵 저장부; 및
    상기 둘 이상의 센서맵에서 공통으로 센싱된 제1객체와, 상기 라이다 센싱부가 센싱할 수 없는 높이에 배치되어 상기 뎁스 센싱부에 의해 센싱된 제2객체와, 상기 뎁스 센싱부에서 센싱되지 않았으나 상기 라이다 센싱부가 센싱한 제3객체 중 어느 하나 이상을 상기 3차원 맵에 저장하고, 상기 3차원 맵에 저장된 객체 중에서 상기 반경 내에 센싱되지 않은 객체를 이동 객체로 확인하여 상기 3차원 맵에서 제거하는 제어부를 포함하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  7. 제6항에 있어서,
    상기 제2객체와 상기 제3객체가 미리 설정된 간격 이내에 인접하여 위치한 경우, 상기 제어부는 상기 제2객체 또는 상기 제3객체의 위치와 상기 맵 저장부에 이전에 저장한 3차원 맵을 비교하여 상기 제2객체 또는 상기 제3객체의 위치 정보를 캘리브레이션 하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  8. 로봇의 센싱 모듈이 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 단계;
    상기 로봇의 제어부가 상기 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하는 단계;
    상기 제어부가 상기 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 생성하여 로봇의 맵 저장부에 저장하는 단계; 및
    상기 센싱 모듈의 상기 둘 이상의 센싱부가 센싱한 어느 하나 이상의 센싱 결과에 따라 상기 제어부가 이동 객체를 확인하여 상기 맵 저장부에 저장된 상기 3차원 맵에서 상기 이동 객체를 제거하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  9. 제8항에 있어서,
    상기 센싱 모듈은 라이다 센싱부 및 뎁스 센싱부를 포함하며,
    상기 저장하는 단계는 상기 라이다 센싱부가 센싱한 높이 H의 객체의 위치 정보와 상기 뎁스 센싱부가 센싱한 객체의 높이 및 위치 정보를 상기 제어부가 비교하여 3차원 맵을 생성하여 상기 맵 저장부에 저장하는 단계를 더 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  10. 제9항에 있어서,
    상기 맵 저장부는 상기 센싱 모듈의 위치 또는 시간에 따라 다수의 3차원 맵을 저장하는, 3차원 공간의 이동 객체를 식별하는 방법.
  11. 제9항에 있어서,
    상기 저장하는 단계는
    상기 라이다 센싱부가 센싱한 객체의 위치 정보와 상기 뎁스 센싱부가 센싱한 객체의 위치 정보를 상기 제어부가 비교하는 단계;
    상기 비교한 결과 오차가 발생한 경우, 상기 제어부는 상기 라이다 센싱부 및 상기 뎁스 센싱부의 우선 순위에 따라 상기 위치 정보를 캘리브레이션 하거나 또는 상기 맵 저장부에 이전에 저장한 3차원 맵과의 비교 결과에 따라 상기 위치 정보를 캘리브레이션하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  12. 제11항에 있어서,
    상기 위치 정보를 캘리브레이션하는 단계는
    상기 제어부는 상기 비교 결과에 따라 오차가 발생한 센싱부의 센싱 결과를 캘리브레이션 하는 변수를 산출하는 단계; 및
    상기 제어부가 상기 오차가 발생한 센싱부가 센싱하는 객체의 위치 정보에 상기 변수를 적용하여 캘리브레이션 하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  13. 제8항에 있어서,
    상기 센싱 모듈은 초음파 센싱부를 더 포함하며,
    상기 이동 객체를 제거하는 단계 이전에
    상기 초음파 센싱부는 일정한 반경 내에서 객체를 센싱하는 단계; 및
    상기 제어부는 상기 초음파 센싱부가 센싱한 객체의 거리와 상기 3차원 맵에 저장된 객체의 위치를 비교하여 상기 초음파 센싱부에서 센싱되지 않은 객체를 이동 객체로 확인하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  14. 로봇의 센싱 모듈의 라이다 센싱부가 센싱한 객체들의 위치 정보가 반영된 제1라이다 센서맵을 산출하는 단계;
    상기 센싱 모듈의 뎁스 센싱부가 센싱한 객체들의 높이 및 위치 정보가 반영된 뎁스 센서맵을 산출하는 단계;
    상기 라이다 센싱부가 센싱한 객체들의 위치 정보가 반영된 제2라이다 센서맵을 산출하는 단계;
    상기 로봇의 제어부가 상기 제1라이다 센서맵과 상기 제2라이다 센서맵을 비교하여 제거된 객체의 위치를 산출하고 상기 산출된 위치를 상기 뎁스 센서맵에서 확인하는 단계;
    상기 제어부가 상기 뎁스 센서맵에서 상기 제거된 객체의 위치에 대응하는 높이 정보를 이용하여 상기 뎁스 센서맵을 업데이트하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  15. 제14항에 있어서,
    상기 제어부는 상기 높이 정보가 상기 라이다 센싱부가 센싱할 수 있는 높이가 아닌 경우, 상기 뎁스 센서맵에 상기 객체의 위치를 유지하는 단계를 더 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.

KR1020170076120A 2017-06-15 2017-06-15 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇 KR102326077B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170076120A KR102326077B1 (ko) 2017-06-15 2017-06-15 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
US16/622,183 US11602850B2 (en) 2017-06-15 2018-05-18 Method for identifying moving object in three-dimensional space and robot for implementing same
PCT/KR2018/005747 WO2018230852A1 (ko) 2017-06-15 2018-05-18 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170076120A KR102326077B1 (ko) 2017-06-15 2017-06-15 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇

Publications (2)

Publication Number Publication Date
KR20180136833A true KR20180136833A (ko) 2018-12-26
KR102326077B1 KR102326077B1 (ko) 2021-11-12

Family

ID=64660599

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170076120A KR102326077B1 (ko) 2017-06-15 2017-06-15 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇

Country Status (3)

Country Link
US (1) US11602850B2 (ko)
KR (1) KR102326077B1 (ko)
WO (1) WO2018230852A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043488A1 (ko) * 2022-08-24 2024-02-29 삼성전자주식회사 전자 장치를 관리하는 로봇 및 그 제어 방법

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109425352A (zh) * 2017-08-25 2019-03-05 科沃斯机器人股份有限公司 自移动机器人路径规划方法
CN111238465B (zh) 2018-11-28 2022-02-18 台达电子工业股份有限公司 地图建置设备及其地图建置方法
DE102019200347A1 (de) * 2019-01-14 2020-07-16 Continental Automotive Gmbh Entfernen von Objekten aus einer digitalen Straßenkarte
KR20200117772A (ko) * 2019-04-05 2020-10-14 삼성전자주식회사 전자 장치 및 그 제어 방법
TR201905154A2 (tr) * 2019-04-05 2020-10-21 Jeanologia Teknoloji A S Atalet ölçüm üni̇tesi̇ (imu) ve telli̇ kodlayici konum sensörleri̇ kullanilan üç boyutlu pozi̇syon ve oryantasyon hesaplama ve roboti̇k uygulamasi terti̇bati
US11731615B2 (en) * 2019-04-28 2023-08-22 Ottopia Technologies Ltd. System and method for remote operator assisted driving through collision avoidance
US20210004613A1 (en) * 2019-07-02 2021-01-07 DeepMap Inc. Annotating high definition map data with semantic labels
JP7214881B2 (ja) * 2019-09-26 2023-01-30 ヤマハ発動機株式会社 環境地図作成装置および該方法、ならびに、自己位置推定装置、自律移動体
US11880209B2 (en) 2020-05-15 2024-01-23 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
JP2022013117A (ja) * 2020-07-03 2022-01-18 オムロン株式会社 経路策定システム、移動ロボット、経路策定プログラムおよび移動ロボットの制御プログラム
CN112034467B (zh) * 2020-07-20 2023-09-26 深圳市无限动力发展有限公司 扫地机构图的方法、装置、计算机设备和可读存储介质
JP2023541424A (ja) * 2020-09-10 2023-10-02 トプコン ポジショニング システムズ, インク. 車両位置決定方法および車両位置決定装置
CN112348893B (zh) * 2020-10-30 2021-11-19 珠海一微半导体股份有限公司 一种局部点云地图构建方法及视觉机器人
US11580666B2 (en) * 2020-11-26 2023-02-14 Automotive Research & Testing Center Localization and mapping method and moving apparatus
US11999375B2 (en) * 2021-03-03 2024-06-04 Wipro Limited Method and system for maneuvering vehicles using adjustable ultrasound sensors
CN114637698B (zh) * 2022-05-18 2022-09-02 深圳市倍思科技有限公司 机器人的地图内存分配方法、装置、机器人及存储介质
CN117130376B (zh) * 2023-10-27 2024-02-02 合肥酷尔环保科技有限公司 一种分布式超声波避障***及其避障方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012089174A (ja) * 2012-02-08 2012-05-10 Fuji Soft Inc ロボット及び情報処理装置のプログラム
KR20170061373A (ko) * 2015-11-26 2017-06-05 삼성전자주식회사 이동 로봇 및 그 제어 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003329773A (ja) * 2002-05-10 2003-11-19 Hitachi Ltd 複数の距離検知センサを設置した車両制御装置
JP4256812B2 (ja) 2004-04-26 2009-04-22 三菱重工業株式会社 移動体の障害物回避方法及び該移動体
KR101572851B1 (ko) * 2008-12-22 2015-11-30 삼성전자 주식회사 동적 환경에서 모바일 플랫폼의 지도 작성방법
CA2928262C (en) * 2010-12-30 2018-06-26 Irobot Corporation Mobile robot system
EP2659320A2 (en) * 2010-12-30 2013-11-06 iRobot Corporation Mobile human interface robot
JP6235216B2 (ja) 2013-02-15 2017-11-22 トヨタ自動車株式会社 自律移動体及びその制御方法
JP2014203429A (ja) * 2013-04-10 2014-10-27 トヨタ自動車株式会社 地図生成装置、地図生成方法及び制御プログラム
KR101799977B1 (ko) * 2013-07-05 2017-11-22 한국기술교육대학교 산학협력단 로봇의 주행 제어 방법 및 그 장치
US9387867B2 (en) * 2013-12-19 2016-07-12 Thales Canada Inc Fusion sensor arrangement for guideway mounted vehicle and method of using the same
KR101878827B1 (ko) * 2016-11-30 2018-07-17 주식회사 유진로봇 다채널 라이더 기반 이동로봇의 장애물 검출 장치 및 방법, 및 이를 구비한 이동로봇
KR102033143B1 (ko) * 2017-01-25 2019-10-16 엘지전자 주식회사 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇
KR102012549B1 (ko) * 2017-01-25 2019-08-20 엘지전자 주식회사 이동 객체를 식별하여 맵을 작성하는 방법 및 이를 구현하는 로봇

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012089174A (ja) * 2012-02-08 2012-05-10 Fuji Soft Inc ロボット及び情報処理装置のプログラム
KR20170061373A (ko) * 2015-11-26 2017-06-05 삼성전자주식회사 이동 로봇 및 그 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043488A1 (ko) * 2022-08-24 2024-02-29 삼성전자주식회사 전자 장치를 관리하는 로봇 및 그 제어 방법

Also Published As

Publication number Publication date
KR102326077B1 (ko) 2021-11-12
US20200114509A1 (en) 2020-04-16
WO2018230852A1 (ko) 2018-12-20
US11602850B2 (en) 2023-03-14

Similar Documents

Publication Publication Date Title
KR20180136833A (ko) 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
US10620636B2 (en) Method of identifying functional region in 3-dimensional space, and robot implementing the method
KR102461938B1 (ko) 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇
US9239580B2 (en) Autonomous mobile robot, self position estimation method, environmental map generation method, environmental map generation apparatus, and data structure for environmental map
EP2697602B1 (en) Optical digitizer with improved distance measurement capability
KR100901311B1 (ko) 자율이동 플랫폼
US11335182B2 (en) Methods and systems for detecting intrusions in a monitored volume
Wang et al. Detecting glass in simultaneous localisation and mapping
EP0649709A2 (en) Device for moving a mobile robot
KR20120037065A (ko) 자율 이동 차량용 장애물 정보 제공장치 및 그 방법
CN109857112A (zh) 机器人避障方法及装置
KR20190024467A (ko) 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇
CN115008465A (zh) 机器人控制方法、机器人及计算机可读存储介质
KR102415976B1 (ko) 다중 2d 라이다 센서를 이용한 스마트 안전펜스 시스템
KR20210056694A (ko) 충돌을 회피하는 방법 및 이를 구현한 로봇 및 서버
CN113490973B (zh) 信息处理装置以及移动机器人
CN115565058A (zh) 机器人、避障方法、装置和存储介质
JP2023515267A (ja) ライダー計測においてブルーミングを認識するための方法及び装置
KR102012548B1 (ko) 로봇의 진입 가능 영역을 식별하는 방법 및 이를 구현하는 로봇
KR102329674B1 (ko) 고정객체와 이동객체의 식별에 기반하여 위치를 설정하는 방법 및 이를 구현하는 로봇
US10324565B2 (en) Optical proximity sensor
KR20210152492A (ko) 충돌 방지 시스템 및 방법
CN114521849A (zh) 用于扫地机器人的tof光学***和扫地机器人
US20220053988A1 (en) Method and a system of improving a map for a robot
Gomes et al. Terrain assessment for service robots

Legal Events

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