KR20200117772A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20200117772A
KR20200117772A KR1020190040407A KR20190040407A KR20200117772A KR 20200117772 A KR20200117772 A KR 20200117772A KR 1020190040407 A KR1020190040407 A KR 1020190040407A KR 20190040407 A KR20190040407 A KR 20190040407A KR 20200117772 A KR20200117772 A KR 20200117772A
Authority
KR
South Korea
Prior art keywords
section
electronic device
height
voxels
data
Prior art date
Application number
KR1020190040407A
Other languages
English (en)
Inventor
류민우
이동훈
임형우
하창호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190040407A priority Critical patent/KR20200117772A/ko
Priority to US17/290,886 priority patent/US20220004198A1/en
Priority to PCT/KR2020/002487 priority patent/WO2020204355A1/ko
Publication of KR20200117772A publication Critical patent/KR20200117772A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control 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 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • 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/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
    • G06K9/00664
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

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

Abstract

전자 장치 및 그 제어 방법이 개시된다. 본 개시에 따른 전자 장치의 제어 방법은, 전자 장치가 주행하는 동안 3D 센서를 통해 감지된 센싱 정보에 기초하여 복수의 3D 데이터를 획득하는 단계, 획득된 복수의 3D 데이터를 이용하여 기설정된 복수의 높이 구간 중 전자 장치가 주행하는 방향에 존재하는 사물에 대한 적어도 하나의 높이 구간을 판단하는 단계 및 판단된 사물의 높이 구간에 기초하여 전자 장치의 주행을 제어하는 단계를 포함한다.

Description

전자 장치 및 그 제어 방법{Electronic apparatus and method for controlling the electronic apparatus}
본 발명은 전자 장치 및 그 제어 방법에 관한 것으로써, 보다 상세하게는 3D 센서를 통해 감지된 데이터에 기초하여 사물을 파악하여 자율 주행하는 전자 장치 및 그 제어 방법에 관한 것이다.
로봇 청소기와 같은 전자 장치는 기설정된 주행 알고리즘에 기초하여 자율 주행하여 실내를 청소한다.
이 같은 전자 장치는 기설정된 주행 알고리즘에 기초하여 자율 주행하는 동안, 전자 장치에 구비된 센서 등을 통해 전자 장치가 주행하는 방향에 장애물이 있는지 파악하여 해당 장애물을 회피하거나 승월하여 주행할 수 있다.
한편, 종래에는 IR 센서 혹은 초음파 센서 등을 이용하여 전자 장치가 주행하는 방향에 장애물이 있는지를 감지하였다.
그러나, IR 센서 혹은 초음파 센서를 통해 감지되는 센싱 영역은 매우 제한적이며, 센서를 통해 감지된 데이터 수는 센서 개수에 대응된다.
따라서, 주변에 있는 장애물을 파악하기 위해서는 전자 장치에 복수 개의 센서가 부착되어야 하는 문제가 있다.
이 같은 문제를 개선하기 위해서, 최근에는 전자 장치에 3D 센서를 탑재하여 전자 장치의 주행 방향에 위치한 장애물을 감지한다.
이 같은 3D 센서 방식은 이미지 픽셀(VGA급 이상) 수에 해당하는 정도의 데이터가 센싱되므로, 전자 장치에 IR 센서 혹은 초음파 센서와 같이 복수의 센서가 구비될 필요가 없다. 그러나, 전술한 바와 같이, 3D 센서 방식은 이미지 픽셀(VGA급 이상) 수에 해당하는 정도의 데이터가 센싱되므로, 전자 장치에서 센싱된 많은 양의 데이터를 처리해야 하는 문제가 있다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로서, 본 개시의 목적은 청소 로봇과 같은 전자 장치에서 3D 센서를 통해 획득된 복수의 데이터를 최적화하도록 함을 목적으로 한다.
나아가, 본 개시는 전자 장치에서 최적화된 데이터를 이용하여 생성된 복셀 맵(Voxel Map)을 이용하여 자율 주행을 수행하도록 함을 목적으로 한다.
이상과 같은 목적을 달성하기 위한 전자 장치의 제어 방법은, 상기 전자 장치가 주행하는 동안 3D 센서를 통해 감지된 센싱 정보에 기초하여 복수의 3D 데이터를 획득하는 단계, 상기 획득된 복수의 3D 데이터를 이용하여 기설정된 복수의 높이 구간 중 상기 전자 장치가 주행하는 방향에 존재하는 사물에 대한 적어도 하나의 높이 구간을 판단하는 단계 및 상기 판단된 사물의 높이 구간에 기초하여 상기 전자 장치의 주행을 제어하는 단계를 포함한다.
그리고, 상기 판단하는 단계는, 상기 복수의 높이 구간을 바탕으로 상기 복수의 3D 데이터를 적어도 하나의 그룹으로 분류하는 단계 및 상기 분류된 그룹 각각에 대응하는 복셀을 생성하고, 상기 생성된 복셀을 포함하는 복셀 맵을 생성하는 단계를 포함할 수 있다.
또한, 상기 판단하는 단계는, 상기 복셀 맵에 포함된 상기 복수의 복셀별 설정된 대표값에 기초하여 상기 복수의 복셀 각각에 대한 높이 구간을 판단하는 단계를 더 포함할 수 있다.
그리고, 상기 복셀 맵을 생성하는 단계는, 상기 복수의 높이 구간 중 기설정된 임계 개수 이상의 3D 데이터를 포함하는 구간을 복셀로 생성할 수 있다.
또한, 상기 복셀 맵을 생성하는 단계는, 상기 복수의 높이 구간 중 기설정된 임계 개수 이하 또는 미만의 3D 데이터를 포함하는 구간을 노이즈로 처리하여 복셀을 생성하지 않을 수 있다.
그리고, 상기 복수의 높이 구간은, 사물이 아닌 것으로 판단하기 위한 제1 구간, 상기 사물 통과 가능 여부를 판단하기 위한 제2 구간, 상기 사물을 회피하기 위한 제3 구간, 상기 사물의 일부 통과가 가능한 제4 구간, 및 상기 사물의 전체 통과가 가능한 제5 구간 중 적어도 하나를 포함할 수 있다.
또한, 상기 제어하는 단계는, 상기 복수의 복셀 중 적어도 하나의 복셀의 대표값이 상기 제1 구간과 관련된 것으로 판단되면, 상기 전자 장치가 전면으로 주행하도록 제어하고, 상기 복수의 복셀 중 적어도 하나의 복셀의 대표값이 상기 제1 구간을 제외한 나머지 구간과 관련된 것으로 판단되면, 상기 전자 장치가 회피하도록 제어할 수 있다.
그리고, 상기 제어하는 단계는, 상기 사물의 높이가 상기 복수의 높이 구간 중 임계 높이 구간 이하라고 판단되면, 상기 3D 데이터를 바탕으로 상기 사물에 대한 정보를 획득하고, 상기 사물 주위에 대한 주행이 완료된 후, 상기 사물에 대한 정보에 기초하여 상기 사물에 대한 주행을 개시하도록 제어할 수 있다.
또한, 상기 3D 센서는, 3D LIDAR(Light Detection and Ranging) 센서일 수 있다.
한편, 본 개시의 또다른 실시 예에 따르면, 전자 장치는, 3D 센서 및 상기 전자 장치가 주행하는 동안 상기 3D 센서를 통해 복수의 3D 데이터가 획득되면, 상기 획득된 복수의 3D 데이터를 이용하여 기설정된 복수의 높이 구간 중 상기 전자 장치가 주행하는 방향에 존재하는 사물에 대한 적어도 하나의 높이 구간을 판단하고, 상기 판단된 사물의 높이 구간에 기초하여 상기 전자 장치의 주행을 제어하는 프로세서를 포함한다.
그리고, 상기 프로세서는, 상기 복수의 높이 구간을 바탕으로 상기 복수의 3D 데이터를 적어도 하나의 그룹으로 분류하고, 상기 분류된 그룹 각각에 대응하는 복셀(Voxel)을 생성하며, 상기 생성된 복셀을 포함하는 복셀 맵을 생성할 수 있다.
또한, 상기 프로세서는, 상기 복셀 맵에 포함된 상기 복수의 복셀별 설정된 대표값에 기초하여 상기 복수의 복셀 각각에 대한 높이 구간을 판단할 수 있다.
그리고, 상기 프로세서는, 상기 복수의 높이 구간 중 기설정된 임계 개수 이상의 3D 데이터를 포함하는 구간을 복셀로 생성할 수 있다.
또한, 상기 프로세서는, 상기 복수의 높이 구간 중 기설정된 임계 개수 이하 또는 미만의 3D 데이터를 포함하는 구간을 노이즈로 처리하여 복셀을 생성하는 않을 수 있다.
그리고, 상기 복수의 높이 구간은, 사물이 아닌 것으로 판단하기 위한 제1 구간, 상기 사물 통과 가능 여부를 판단하기 위한 제2 구간, 상기 사물을 회피하기 위한 제3 구간, 상기 사물의 일부 통과가 가능한 제4 구간, 및 상기 사물의 전체 통과가 가능한 제5 구간 중 적어도 하나를 포함할 수 있다.
또한, 상기 프로세서는, 상기 복수의 복셀 중 적어도 하나의 복셀의 대표값이 상기 제1 구간과 관련된 것으로 판단되면, 상기 전자 장치가 전면으로 주행하도록 제어하고, 상기 복수의 복셀 중 적어도 하나의 복셀의 대표값이 상기 제1 구간을 제외한 나머지 구간과 관련된 것으로 판단되면, 상기 전자 장치가 회피하도록 제어할 수 있다.
그리고, 적어도 하나의 사물에 대한 정보를 저장하는 저장부를 더 포함하며, 상기 프로세서는, 상기 사물의 높이가 상기 복수의 높이 구간 중 임계 높이 구간 이하라고 판단되면, 상기 3D 데이터를 바탕으로 상기 저장부로부터 상기 사물에 대한 정보를 획득하고, 상기 사물 주위에 대한 주행이 완료된 후, 상기 사물에 대한 정보에 기초하여 상기 사물에 대한 주행을 개시하도록 제어할 수 있다.
또한, 상기 3D 센서는, 3D LIDAR(Light Detection and Ranging) 센서일 수 있다.
이상과 같이, 본 개시에 따르면, 청소 로봇과 같은 전자 장치는 3D 센서를 통해 획득된 복수의 데이터를 최적화하고, 최적화된 데이터를 이용하여 생성된 복셀 맵을 이용하여 자율 주행을 수행할 수 있다.
도 1은 본 개시의 일 실시예에 따른 전자 장치의 블록도,
도 2는 본 개시의 일 실시예에 따른 전자 장치의 세부 블록도,
도 3은 본 개시의 일 실시예에 따른 프로세서의 세부 블록도,
도 4는 본 개시의 일 실시예에 따른 복셀 맵을 생성하는 예시도,
도 5는 본 개시의 일 실시예에 따른 전자 장치에서 복셀 맵을 판단하는 예시도,
도 6은 본 개시의 일 실시예에 따른 전자 장치에서 사물의 주행 여부를 판단하는 예시도,
도 7은 본 개시의 일 실시예에 따른 전자 장치의 제어 방법에 대한 흐름도,
도 8은 본 개시의 일 실시예에 따른 전자 장치에서 복수의 3D 데이터를 이용하여 전자 장치의 주행 방향에 존재하는 사물에 대한 높이 구간을 판단하는 방법의 흐름도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 개시의 일 실시예에 따른 전자 장치의 블록도이다.
도 1에 개시된 바와 같이, 전자 장치(100)는 자율 주행이 가능한 장치로써, 특히, 주변의 지형지물을 파악하여 경로를 설정하고, 설정된 경로를 통해 자율 주행하여 주변을 청소하는 로봇 청소기가 될 수 있다.
이 같은 전자 장치(100)는 3D 센서(110) 및 프로세서(120)를 포함한다.
3D 센서(110)는 전자 장치(100)가 주행하는 동안 주행하는 방향의 주변 환경을 감지하여 복수의 3D 데이터를 획득하는 센서이다.
실시예에 따라, 3D 센서(110)는 3D 라이다(LIDAR) 센서가 될 수 있다.
3D 라이다 센서는 주변 환경을 3D로 인식해 차량, 로봇 청소기와 같은 전자 장치(100)가 안전하게 자율 주행하기 위한 센서로써, 이 같은 3D 라이다 센서는 초당 수백만 개의 레이저 빔을 지속적으로 송출하고, 송출된 수백만 개의 레이저 빔이 반사되어 3D 라이다 센서로 돌아오는 시간을 측정하여 거리를 측정할 수 있다.
프로세서(120)는 3D 센서를 통해 감지된 주변 환경에 대한 복수의 3D 데이터가 획득되면, 획득된 복수의 3D 데이터를 이용하여 기설정된 복수의 높이 구간 중 전자 장치(100)가 주행하는 방향에 존재하는 사물에 대한 적어도 하나의 높이 구간을 판단한다.
이후, 프로세서(120)는 판단된 사물의 높이 구간에 기초하여 전자 장치(100)의 주행을 제어한다.
구체적으로, 프로세서(120)는 기설정된 복수의 높이 구간을 바탕으로 기획득한 복수의 3D 데이터를 적어도 하나의 그룹으로 분류한다. 이후, 프로세서(120)는 분류된 그룹 각각에 대응하는 복셀(Voxel)을 생성하며, 생성된 복셀을 포함하는 복셀 맵(Voxel Map)을 생성한다.
여기서, 복셀 맵은 기설정된 복수의 높이 구간 각각에 대응하는 높이를 가지는 육면체의 3차원 격자 형태로 구현된 복셀로 이루어진 맵이 될 수 있다.
이 같은 복수의 복셀을 포함하는 복셀 맵은 하기에서 상세히 설명하도록 한다.
복셀 맵이 생성되면, 프로세서(120)는 생성된 복셀 맵에 포함된 복수의 복셀별 설정된 대표값에 기초하여 복수의 복셀 각각에 대한 높이 구간을 판단한다.
실시예에 따라, 프로세서(120)는 복수의 높이 구간 중 기설정된 임계 개수 이상의 3D 데이터를 포함하는 구간을 복셀로 생성한다.
그리고, 프로세서(120)는 복수의 높이 구간 중 기설정된 임계 개수 이하 또는 미만의 3D 데이터를 포함하는 구간을 노이즈로 처리하여 복셀을 생성하지 않은 다.
한편, 복수의 높이 구간은 사물이 아닌 것으로 판단하기 위한 제1 구간, 사물 통과 가능 여부를 판단하기 위한 제2 구간, 사물을 회피하기 위한 제3 구간, 사물의 일부 통과가 가능한 제4 구간 및 사물의 전체 통과가 가능한 제5 구간 중 적어도 하나를 포함할 수 있다.
여기서, 제1 내지 제5 구간은 사용자 명령에 대응하는 높이로 설정될 수 있다. 또한, 이 같은 복수의 높이 구간은 주행 용도에 따라 서로 상이한 형태의 센싱 정보로 변환하여 사용될 수 있다. 따라서, 기획득된 복수의 3D 데이터는 여러 종류의 가상 센서로 활용될 수 있다.
한편, 프로세서(120)는 복수의 복셀 중 적어도 하나의 복셀의 대표값이 제1 구간과 관련된 것으로 판단되면, 전자 장치(100)가 전면으로 주행하도록 제어한다.
또한, 프로세서(120)는 복수의 복셀 중 적어도 하나의 복셀의 대표값이 제1 구간을 제외한 나머지 구간과 관련된 것으로 판단되면, 전자 장치(100)가 회피하여 주행하도록 제어한다.
한편, 프로세서(120)는 주행 중 회피한 사물의 높이가 전술한 복수의 높이 구간 중 임계 높이 구간 이하라고 판단되면, 해당 사물과 관련하여 획득된 3D 데이터를 바탕으로 저장부(130)로부터 해당 사물에 대한 정보를 획득한다. 이후, 프로세서(120)는 해당 사물 주위에 대한 주행이 완료된 후, 기획득한 사물에 대한 정보에 기초하여 해당 사물에 대한 주행을 개시하도록 제어한다.
여기서, 저장부(130)는 적어도 하나의 사물에 대한 정보를 저장한다. 여기서, 적어도 하나의 사물에 대한 정보는 사물 각각에 대한 면적 정보 및 주행 가능 정보 중 적어도 하나를 포함할 수 있다. 따라서, 프로세서(120)는 전술한 바와 같이, 임계 높이 구간 이하라고 판단된 사물에 대한 3D 데이터를 바탕으로 해당 사물에 대한 면적 정보를 획득한다.
이후, 프로세서(120)는 획득한 면적 정보를 이용하여 저장부(130)로부터 해당 면적 정보와 관련된 정보를 획득하고, 획득한 정보에 기초하여 임계 높이 구간 이하라고 판단된 사물에 대한 주행을 개시할 수 있다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 세부 블록도이다.
본 개시에 따른 전자 장치(100)는 전술한 3D 센서(110) 및 프로세서(120) 뿐만 아니라, 도 2에 개시된 바와 같이, 저장부(130), 입력부(140), 통신부(150) 및 출력부(160)를 더 포함할 수 있다.
전술한 바와 같이, 저장부(130)는 적어도 하나의 사물에 대한 정보를 저장할 수 있다. 여기서, 사물에 대한 정보는 사물에 대한 면적 정보 및 사물에 대한 주행 가능 정보 중 적어도 하나를 포함할 수 있다.
뿐만 아니라, 저장부(130)는 전자 장치(100)의 동작을 제어하기 위한 각종 운용 프로그램을 저장할 수 있다.
여기서, 운용 프로그램은 전자 장치(100)가 턴 온(Turn On)되는 경우, 저장부(130)에서 읽혀지고, 컴파일되어 전자 장치(100)의 각 구성을 동작시키는 프로그램이 될 수 있다. 이 같은 저장부(130)는 롬(ROM), 램(RAM) 또는 전자 장치(100)에 탈착/장착 가능한 메모리 카드(예, SD 카드, 메모리 스틱), 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나로 구현될 수 있다.
입력부(140)는 사용자 명령을 입력받아 프로세서(120)로 전달한다.
이를 위해, 입력부(140)는 마이크(141), 조작부(142), 터치 입력부(143) 및 사용자 입력부(144)를 포함할 수 있다.
마이크(141)는 사용자의 음성 명령을 입력받을 수 있다.
조작부(142)는 각종 기능키, 숫자키, 특수키, 문자키 등을 구비한 키패드(Key Pad)로 구현될 수 있다.
그리고, 터치 입력부(143)는 후술할 디스플레이부(162)가 터치 스크린 형태로 구현될 경우, 디스플레이부(162)와 상호 레어어 구조를 이루는 터치 패드로 구현될 수 있다. 이 경우, 터치 입력부(143)는 디스플레이부(162)를 통해 디스플레이된 다양한 어플리케이션 관련 아이콘에 대한 선택 명령을 입력받을 수 있다.
사용자 입력부(144)는 원격 제어 장치(미도시)로부터 전자 장치(100)의 동작을 제어하기 위한 IR 신호 혹은 RF 신호를 입력받을 수 있다.
통신부(150)는 스마트 TV, 스마트 폰, 테블릿 PC 등의 주변 기기(미도시), 외부 서버(미도시) 등과 데이터 통신을 수행한다.
이 같은 통신부(150)는 근거리 통신 모듈(151), 무선 랜 모듈 등의 무선 통신 모듈(152)과, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), IEEE(Institute of Electrical and Electronics Engineers) 1394 등의 유선 통신 모듈 중 적어도 하나를 포함하는 커넥터(153)를 포함할 수 있다.
근거리 통신 모듈(151)은 전자 장치(100)와 근거리에 위치한 주변 기기와 무선으로 근거리 통신을 수행하는 구성이다. 이 같은 근거리 통신 모듈(151)은 블루투스(bluetooth)모듈, 적외선 통신(IrDA, infrared data association)모듈, NFC(Near Field Communication)모듈, 와이파이(WIFI)모듈, 지그비(Zigbee) 모듈 중 적어도 하나를 포함할 수 있다.
무선 통신 모듈(152)은 IEEE 등과 같은 무선 통신 프로토콜에 따라 중계 장치(미도시)를 통해 외부 네트워크에 연결되어 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신 망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
이처럼 통신부(150)는 상술한 다양한 근거리 통신 방식에 의해 구현될 수 있고, 필요에 따라 본 명세서에 언급되지 않은 다른 통신 기술을 채용할 수 있다.
한편, 커넥터(153)는 USB 2.0, USB 3.0, HDMI, IEEE 1394 등 다양한 소스 장치와의 인터페이스를 제공하는 구성이다. 이 같은 커넥터(153)는 프로세서(120)의 제어 명령에 따라 커넥터(153)에 연결된 유선 케이블을 통해 외부 서버(미도시)로부터 다양한 어플리케이션 데이터를 수신하거나 혹은 커넥터(153)와 물리적으로 연결된 유선 케이블을 통해 전원 소스로부터 전원을 입력받을 수 있다.
한편, 프로세서(120)는 3D 센서(110)를 통해 감지된 복수의 3D 데이터가 획득되면, 획득된 복수의 3D 데이터를 외부 서버(미도시)로 전송하도록 통신부(150)를 제어할 수 있다. 이후, 프로세서(120)는 통신부(150)를 통해 외부 서버(미도시)로부터 복수의 3D 데이터에 기초하여 생성된 복셀 맵 관련 정보를 수신할 수 있다.
출력부(160)는 영상 및 오디오 관련 데이터 중 적어도 하나를 출력한다. 이 같은 출력부(160)는 디스플레이부(161) 및 오디오 출력부(162)를 포함할 수 있다.
디스플레이부(161)는 전자 장치(100)의 동작을 제어하기 위한 각종 UI 화면을 디스플레이하거나, 전자 장치(100)의 동작 상태 관련 정보를 디스플레이할 수 있다.
이 같은 디스플레이부(161)는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 등으로 구현될 수 있다.
오디오 출력부(162)는 전자 장치(100)의 동작 상태 관련 정보를 가청음 형태로 출력할 수 있다.
한편, 전술한 프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어하거나, 혹은 전자 장치(100)의 전반적인 동작을 제어할 수 있도록 하는 처리 장치가 될 수 있다. 이 같은 프로세서(120)는 전술한 각 구성들과 결합되어 단일칩 시스템(System-on-a-chip 또는 System on chip, SOC, SoC)으로 구현될 수 있다.
지금까지, 본 개시에 따른 전자 장치(100)의 각 구성에 대해서 상세히 설명하였다.
이하에서는, 본 개시에 따른 전자 장치(100)의 자율 주행을 제어하는 프로세서(120)에 대해서 보다 상세히 설명하도록 한다.
도 3은 본 개시의 일 실시예에 따른 프로세서의 세부 블록도이다.
도 3에 개시된 바와 같이, 프로세서(120)는 3D 데이터 처리부(310), 복셀 맵 생성부(320), 복셀 맵 판단부(330) 및 구동부(340)를 포함한다.
3D 데이터 처리부(310)를 3D 센서(110)로부터 감지된 센싱 정보에 기초하여 복수의 3D 데이터를 획득한다. 구체적으로, 3D 데이터 처리부(310)는 3D 센서(110)로부터 감지된 센싱 정보에 기초하여 복수의 3D 좌표값 각각을 포함하는 복수의 3D 데이터를 획득한다.
복셀 맵 생성부(320)는 기설정된 복수의 높이 구간을 바탕으로 3D 데이터 처리부(310)를 통해 획득된 복수의 3D 데이터를 적어도 하나의 그룹으로 분류하고, 분류된 그룹 각각에 대응하는 복셀을 생성한 후, 생성된 복수의 복셀을 포함하는 복셀 맵을 생성한다.
이때, 복셀 맵 생성부(320)는 복수의 높이 구간 중 기설정된 임계 개수 이상의 3D 데이터를 포함하는 구간을 복셀로 생성하고, 기설정된 임계 개수 미만의 3D 데이터를 포함하는 구간을 노이즈로 처리할 수 있다.
그러나, 본 개시는 이에 한정되지 않으며, 복셀 맵 생성부(320)는 복수의 높이 구간 중 기설정된 임계 개수를 초과하는 3D 데이터를 포함하는 구간을 복셀로 생성하고, 기설정된 임계 개수 이하의 3D 데이터를 포함하는 구간을 노이즈로 처리할 수 있다.
이 같은 실시예를 통해 복수의 복셀이 생성되면, 복셀 맵 생성부(320)는 생성된 복수의 복셀을 이용하여 복셀 맵을 생성할 수 있다.
복셀 맵 판단부(330)는 복셀 맵 생성부(320)를 통해 생성된 복셀 맵에 포함된 복수의 복셀 각각에 설정된 대표값에 기초하여 복수의 복셀 각각에 대한 높이 구간을 판단한다.
구체적으로, 복셀 맵 판단부(330)는 복셀 맵에 포함된 적어도 하나의 복셀의 대표값이 복수의 높이 구간 중 제1 구간과 관련된 것으로 판단되면, 전자 장치(100)의 전면에 위치한 사물에 대해서 승월 가능한 것으로 판단할 수 있다.
한편, 복셀 맵 판단부(330)는 복셀 맵에 포함된 적어도 하나의 복셀의 대표값이 복수의 높이 구간 중 제1 구간을 제외한 나머지 구간과 관련된 것으로 판단되면, 전자 장치(100)의 전면에 위치한 사물을 회피해야 하는 것으로 판단할 수 있다.
그러나, 본 개시는 이에 한정되지 않으며, 복셀 맵 판단부(330)는 복수의 복셀 각각에 포함된 3D 데이터의 3D 좌표값(x,y,z) 중 z 값의 평균값을 복수의 복셀 각각에 대한 대표값으로 설정할 수 있다.
예를 들어, 복수의 복셀 중 제1 복셀에는 3개의 3D 데이터를 포함할 수 있으며, 3개의 3D 데이터 각각의 z 값은 1.5,1.8,1.2가 될 수 있다. 이 경우, 복셀 맵 판단부(330)는 제1 복셀에 포함된 3개의 3D 데이터 각각의 z 값에 대한 평균값 1.5를 제1 복셀의 대표값으로 설정할 수 있다.
이 같은 예를 통해 복수의 복셀에 대한 대표값이 설정되면, 복셀 맵 판단부(330)는 전술한 바와 같이, 복수의 복셀 각각에 설정된 대표값에 기초하여 전자 장치(100)의 주행 방향을 결정하여 주행할 수 있다.
구동부(340)는 복셀 맵 판단부(330)의 판단 결과에 기초하여 전자 장치(100)의 주행을 제어한다.
전술한 바와 같이, 복셀 맵 판단부(330)를 통해 전자 장치(100)의 전면에 위치한 사물에 대해서 승월 가능한 것으로 판단되면, 구동부(340)는 전자 장치(100)의 전면에 위치한 사물을 승월하여 주행하도록 제어한다.
이 같은 구동부(340)의 제어 명령에 따라, 전자 장치(100)는 전면에 위치한 사물을 승월하여 주행할 수 있다.
한편, 복셀 맵 판단부(330)를 통해 전자 장치(100)의 전면에 위치한 사물에 대해서 회피해야 하는 것으로 판단되면, 구동부(340)는 전자 장치(100)의 전면에 위치한 사물을 회피하여 주행하도록 제어한다.
이 같은 구동부(340)의 제어 명령에 따라, 전자 장치(100)는 전면에 위치한 사물을 기준으로 좌측 혹은 우측 방향으로 방향 전환하여 주행할 수 있다.
도 4는 본 개시의 일 실시예에 따른 복셀 맵을 생성하는 예시도이다.
도 4의 (a)에 도시된 바와 같이, 전자 장치(100)는 3D 센서(110)를 통해 센싱된 센싱 정보에 기초하여 복수의 3D 데이터가 획득되면, 기설정된 복수의 높이 구간에 기초하여 기획득된 복수의 3D 데이터를 적어도 하나의 그룹으로 분류한다.
이후, 전자 장치(100)는 분류된 그룹 각각에 대응하는 복셀을 생성하고, 생성된 복셀을 포함하는 복셀 맵(400)을 생성한다.
여기서, 복셀 맵은 기설정된 복수의 높이 구간 각각에 대응하는 높이를 가지는 육면체의 3차원 격자 형태로 구현된 복셀로 이루어진 맵이 될 수 있다.
즉, 각각의 복셀은 기설정된 복수의 높이 구간 각각에 대응하는 높이를 가질 수 있다. 따라서, 전자 장치(100)는 복수의 3D 데이터 각각에 포함된 3D 좌표값에 기초하여 복수의 3D 데이터 중 제1 높이 구간과 제1 너비 구간에 포함된 적어도 하나의 3D 데이터를 제1 복셀(410)로 그룹핑한다.
또한, 전자 장치(100)는 복수의 3D 데이터 각각에 포함된 3D 좌표값에 기초하여 복수의 3D 데이터 중 제1 높이 구간과 제2 너비 구간에 포함된 적어도 하나의 3D 데이터를 제2 복셀(420)로 그룹핑한다.
여기서, 제1 높이 구간은 전자 장치(100)가 주행하는 방향의 전면에 있는 사물에 대해서 승월하여 주행하는 구간이 될 수 있다.
한편, 전자 장치(100)는 복수의 3D 데이터 각각에 포함된 3D 좌표값에 기초하여 복수의 3D 데이터 중 제2 높이 구간과 제1 너비 구간에 포함된 적어도 하나의 3D 데이터를 제3 복셀(430)로 그룹핑한다.
또한, 전자 장치(100)는 복수의 3D 데이터 각각에 포함된 3D 좌표값에 기초하여 복수의 3D 데이터 중 제2 높이 구간과 제2 너비 구간에 포함된 적어도 하나의 3D 데이터를 제4 복셀(440)로 그룹핑한다.
여기서, 제2 높이 구간은 전자 장치(100)가 주행하는 방향의 전면에 있는 사물을 회피하여 주행하는 구간이 될 수 있다.
한편, 전자 장치(100)는 복수의 3D 데이터 중 하나의 복셀 그룹으로 분류된 적어도 하나의 3D 데이터가 기설정된 임계 개수 미만 혹은 이하인 경우, 해당 복셀 그룹으로 분류된 적어도 하나의 3D 데이터를 노이즈로 처리할 수 있다.
도시된 바와 같이, 제3 높이 구간과 제2 너비 구간으로 이루어진 제5 복셀(450)은 기설정된 임계 개수 미만 혹은 이하의 3D 데이터를 포함할 수 있다. 이 경우, 전자 장치(100)는 제5 복셀(450)에 포함된 3D 데이터를 노이즈로 처리할 수 있다.
이 같은 실시예를 통해 복수의 복셀을 포함하는 복셀 맵(400)이 생성되면, 전자 장치(100)는 복셀 맵(400)에 포함된 복수의 복셀 각각에 포함된 3D 데이터를 복수의 복셀 각각에 설정된 대표값으로 설정한다.
도 4의 (b)에 도시된 바와 같이, 전자 장치(100)는 복셀 맵(400')에 포함된 복수의 복셀 중 제1 복셀(410')에 포함된 복수의 3D 데이터 각각에 대한 3D 좌표값을 제1 복셀(410')에 설정된 제1 대표값으로 설정한다.
그리고, 전자 장치(100)는 복셀 맵(400')에 포함된 복수의 복셀 중 제2 복셀(420')에 포함된 복수의 3D 데이터 각각에 대한 3D 좌표값을 제2 복셀(420')에 설정된 제2 대표값으로 설정한다.
또한, 전자 장치(100)는 복셀 맵(400')에 포함된 복수의 복셀 중 제3 복셀(430')에 포함된 복수의 3D 데이터 각각에 대한 3D 좌표값을 제1 복셀(430')에 설정된 제3 대표값으로 설정한다.
그리고, 전자 장치(100)는 복셀 맵(400')에 포함된 복수의 복셀 중 제4 복셀(440')에 포함된 복수의 3D 데이터 각각에 대한 3D 좌표값을 제4 복셀(440')에 설정된 제4 대표값으로 설정한다.
이와 같이, 전자 장치(100)는 복수의 복셀에 포함된 복수의 3D 데이터를 복셀 각각에 설정된 대표값으로 설정함으로써, 이에 따른 데이터양을 최적화할 수 있다.
도 5는 본 개시의 일 실시예에 따른 전자 장치에서 복셀 맵을 판단하는 예시도이다.
도 5의 (a)는 생성된 복셀 맵에 기초하여 전자 장치(100)가 주행하는 방향에 위치한 사물의 높이를 나타낸 것이며, 도 5의 (b)는 생성된 복셀 맵에 포함된 복수의 복셀에 기초하여 각 구간별 사물의 존재 여부를 나타낸 복셀 테이블이다.
구체적으로, 도 5의 (a)에 도시된 바와 같이, 제1 구간(510)은 전자 장치(100)가 주행하는 방향에 위치한 사물을 승월 가능한 구간으로써, 도 5의 (b)의 복셀 테이블 상에서 제외될 수 있다.
제2 구간(520)은 전자 장치(100)가 주행하는 방향에 위치한 사물에 대한 승월 여부를 판단하기 위한 구간으로써, 복셀 맵으로부터 제2 구간(520)에서 사물이 감지되는 경우, 도 5의 (b)에서 복셀 테이블의 Decision Layer에 표시될 수 있다.
제3 구간(530)은 전자 장치(100)가 주행하는 방향에 위치한 사물을 회피하기 위한 구간으로써, 복셀 맵으로부터 제3 구간(530)에서 사물이 감지되는 경우, 도 5의 (b)에서 복셀 테이블의 Obstacle Layer에 표시될 수 있다.
제4 구간(540)은 전자 장치(100)가 주행하는 방향에 사물이 있으나, 전자 장치(100)의 상부면에 부착된 3D 센서(110)를 제외한 나머지 부분이 통과 가능할 수 있는 구간으로써, 도 5의 (b)에서 복셀 테이블의 Robot Upper Stuck Layer에 표시될 수 있다.
제5 구간(550)은 전자 장치(100)가 주행하는 방향에 사물이 있으나, 전자 장치(100)가 통과 가능한 구간으로써, 도 5의 (b)에서 복셀 테이블의 Lidar Upper Stuck Layer에 표시될 수 있다.
한편, 도 5의 (c)는 도 5의 (b)에 도시된 복셀 테이블에 기초하여 전자 장치(100)의 주행을 판단하기 위한 최종 주행 테이블로써, 도 5의 (b)에서 복셀 테이블의 Robot Upper Stuck Layer를 제외한 맵이 될 수 있다.
구체적으로, 전자 장치(100)는 복셀 맵에 포함된 복수의 복셀 중 제1 복셀의 대표값(560)이 제2 구간(520) 내에 포함된 것으로 판단되면, 점선 박스(560')에 포함된 복셀 테이블에서 제2 구간(520)에 대응되는 Decision Layer에 "#"을 표시할 수 있다.
한편, 제2 구간(520)은 전자 장치(100)가 승월 또는 회피 모두 가능한 구간이다. 예를 들어, 러그(rug)와 리모컨은 제2 구간(520) 내 포함된 높이를 가질 수 있다. 따라서, 사물이 러그인 경우, 전자 장치(100)는 러그를 승월하여 주행해야 하며, 사물이 리모컨인 경우, 전자 장치(100)는 리모컨을 회피하여 주행해야 한다.
따라서, 전자 장치(100)는 점선 박스(560')에 포함된 복셀 테이블에서 제2 구간(520)에 대응되는 Decision Layer에 "#"이 표시되면, 점선 박스(560')에 포함된 최종 주행 테이블에서 제2 구간(520)에 대응되는 Decision Layer와 제3 구간(530)에 대응되는 Obstacle Layer 각각에 "1"을 표시한다.
이 같이, 점선 박스(560')에 포함된 최종 주행 테이블의 Decision Layer 및 Obstacle Layer 각각에 "1"이 표시되면, 전자 장치(100)는 제1 복셀과 관련된 사물을 승월할지 아니면 회피할지를 결정하여 주행할 수 있다.
한편, 전자 장치(100)는 복셀 맵에 포함된 복수의 복셀 중 제2 복셀의 대표값(570)이 제3 구간(530) 내에 포함된 것으로 판단되면, 점선 박스(570')에 포함된 복셀 테이블에서 제2 및 제3 구간(520,530) 각각에 대응되는 Decision Layer와 Obstacle Layer에 "#"을 표시한다.
이후, 전자 장치(100)는 점선 박스(570')에 포함된 복셀 테이블의 Decision Layer와 Obstacle Layer 각각에 표시된 "#"에 기초하여 점선 박스(570') 내에 포함된 최종 주행 테이블의 Obstacle Layer에 "1"을 표시한다.
이 같이, 점선 박스(570') 내에 포함된 최종 주행 테이블의 Obstacle Layer에 "1"이 표시되면, 전자 장치(100)는 제2 복셀과 관련된 사물을 회피하여 주행할 수 있다.
한편, 도 5의 (b)의 복셀 테이블에 표시된 "b"는 기설정된 임계 개수 이하 또는 미만의 3D 데이터를 포함하는 복셀이 위치하는 구간이다. 따라서, 전자 장치(100)는 최종 주행 테이블에서 "b"가 표시된 복셀이 위치하는 구간과 대응되는 구간에 사물이 없음을 나타내는 "0"을 표시할 수 있다.
따라서, 전자 장치(100)는 이 같은 실시예를 통해 작성된 최종 주행 테이블에 기초하여 주행하는 방향에 위치한 사물을 회피 혹은 승월하여 주행을 수행할 수 있다.
한편, 전술한 바와 같이, 제1 복셀과 관련하여, 최종 주행 테이블에서 제2 구간(520)에 대응되는 Decision Layer와 제3 구간(530)에 대응되는 Obstacle Layer 각각에 "1"이 표시된 경우, 전자 장치(100)는 다음과 같은 실시예를 통해 제1 복셀과 관련된 사물을 승월할지 아니면 회피할지 여부를 판단하여 주행할 수 있다.
도 6은 본 개시의 일 실시예에 따른 전자 장치에서 사물의 주행 여부를 판단하는 예시도이다.
도 6에 도시된 바와 같이, 전자 장치(100)는 전술한 최종 주행 테이블에 기초하여 제1 내지 제3 영역(610~630)을 제외한 건물 내부를 자율 주행하여 청소할 수 있다.
여기서, 제1 내지 제3 영역(610~630)은 사물이 위치한 영역이다. 그리고, 제1 내지 제3 영역(610~630) 중 제1 영역(610)에 위치한 사물은 도 5에서 설명한 제2 구간(520) 내에 포함된 높이를 가진다. 그리고, 제2 및 제3 영역(620,630)에 각각 위치한 사물은 도 5에서 설명한 제3 구간(530) 내 포함된 높이를 가진다.
이 경우, 전자 장치(100)는 사물이 위치한 제1 내지 제3 영역(610~630)을 제외한 나머지 영역을 자율 주행하여 청소가 완료되면, 제1 내지 제3 영역(610~630) 중 제1 영역(610)에 위치한 사물이 승월 가능한지 여부를 판단한다.
구체적으로, 전자 장치(100)는 제1 영역(610)에 위치한 사물을 나타내는 복셀별 대표값을 이용하여 제1 영역(610)에 위치한 사물의 면적을 측정한다. 이후, 전자 장치(100)는 기저장된 적어도 하나의 사물에 대한 정보에 포함된 면적 정보와 기측정된 제1 영역(610)에 위치한 사물의 면적을 비교하여 제1 영역(610)에 위치한 사물을 판단한다.
판단 결과, 제1 영역(610)에 위치한 사물이 러그와 같은 승월 가능한 사물인 것으로 판단되면, 전자 장치(100)는 제1 영역(610)에 위치한 사물을 승월하여 주행할 수 있다.
지금까지, 본 개시에 따른 주변에 위치한 사물에 따라 주행을 수행하는 전자 장치(100)의 각 구성 및 동작에 대해서 상세히 설명하였다. 이하에서는, 본 개시에 따른 전자 장치(100)에서 주변에 위치한 사물에 따라 주행을 수행하기 위한 방법에 대해서 상세히 설명하도록 한다.
도 7은 본 개시의 일 실시예에 따른 전자 장치의 제어 방법에 대한 흐름도이다.
도 7에 도시된 바와 같이, 전자 장치(100)는 전자 장치(100)가 주행하는 동안 전자 장치(100)에 구비된 3D 센서를 통해 복수의 3D 데이터를 획득한다(S710).
실시예에 따라, 3D 센서는 주변 환경을 3D로 인식해 차량, 로봇 청소기와 같은 전자 장치(100)가 안전하게 자율 주행하는 3D 라이다(LIDAR) 센서가 될 수 있다. 이 같은 3D 라이다 센서는 초당 수백만 개의 레이저 빔을 지속적으로 송출하고, 송출된 수백만 개의 레이저 빔이 반사되어 3D 라이다 센서로 돌아오는 시간을 측정하여 거리를 측정할 수 있다.
3D 센서를 통해 센싱된 정보에 기초하여 복수의 3D 데이터가 획득되면, 전자 장치(100)는 획득된 복수의 3D 데이터를 이용하여 기설정된 복수의 높이 구간 중 전자 장치(100)가 주행하는 방향에 존재하는 사물에 대한 적어도 하나의 높이 구간을 판단한다(S720).
이후, 전자 장치(100)는 판단된 사물의 높이 구간에 기초하여 전자 장치(100)의 주행을 제어한다(S730).
이하에서는, 전자 장치(100)에서 복수의 3D 데이터를 이용하여 전자 장치(100)가 주행하는 방향에 존재하는 사물에 대한 적어도 하나의 높이 구간을 판단하는 방법에 대해서 상세히 설명하도록 한다.
도 8은 본 개시의 일 실시예에 따른 전자 장치에서 복수의 3D 데이터를 이용하여 전자 장치의 주행 방향에 존재하는 사물에 대한 높이 구간을 판단하는 방법의 흐름도이다.
도 8에 도시된 바와 같이, 전자 장치(100)는 기설정된 복수의 높이 구간을 바탕으로 기획득한 복수의 3D 데이터를 적어도 하나의 그룹으로 분류한다(S810). 이후, 전자 장치(100)는 분류된 그룹 각각에 대응하는 복셀을 생성한다(S820).
분류된 그룹 각각에 대응하는 복셀이 생성되면, 전자 장치(100)는 생성된 복수의 복셀을 포함하는 복셀 맵을 생성한다(S830).
여기서, 복셀 맵은 기설정된 복수의 높이 구간 각각에 대응하는 높이를 가지는 육면체의 3차원 격자 형태로 구현된 복셀로 이루어진 맵이 될 수 있다.
이후, 전자 장치(100)는 복셀 맵에 포함된 복수의 복셀별 설정된 대표값에 기초하여 복수의 복셀 각각에 대한 높이 구간을 판단한다(S840).
실시예에 따라, 전자 장치(100)는 복수의 높이 구간 중 기설정된 임계 개수 이상의 3D 데이터를 포함하는 구간을 복셀로 생성할 수 있다. 그리고, 전자 장치(100)는 복수의 높이 구간 중 기설정된 임계 개수 이하 또는 미만의 3D 데이터를 포함하는 구간을 노이즈로 처리하여 복셀을 생성하지 않을 수 있다.
한편, 복수의 높이 구간은 사물이 아닌 것으로 판단하기 위한 제1 구간, 사물 통과 가능 여부를 판단하기 위한 제2 구간, 사물을 회피하기 위한 제3 구간, 사물의 일부 통과가 가능한 제4 구간 및 사물의 전체 통과가 가능한 제5 구간 중 적어도 하나를 포함할 수 있다.
따라서, 전자 장치(100)는 전술한 단계 S730에서 복수의 복셀 중 적어도 하나의 복셀의 대표값이 제1 구간과 관련된 것으로 판단되면, 전자 장치(100)가 전면으로 주행하도록 제어한다.
또한, 전자 장치(100)는 복수의 복셀 중 적어도 하나의 복셀의 대표값이 제1 구간을 제외한 나머지 구간과 관련된 것으로 판단되면, 전자 장치(100)가 회피하여 주행하도록 제어한다.
또한, 전자 장치(100)는 전술한 단계 S730에서 주행 중 회피한 사물의 높이가 전술한 복수의 높이 구간 중 임계 높이 구간 이하라고 판단되면, 해당 사물과 관련하여 획득된 3D 데이터를 바탕으로 저장부로부터 해당 사물에 대한 정보를 획득한다. 이후, 전자 장치(100)는 해당 사물 주위에 대한 주행이 완료된 후, 기획득한 사물에 대한 정보에 기초하여 해당 사물에 대한 주행을 개시하도록 제어할 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
100 : 전자 장치 110 : 3D 센서
120 : 프로세서 130 : 저장부
140 : 입력부 141 : 마이크
142 : 조작부 143 : 터치 입력부
144 : 사용자 입력부 150 : 통신부
151 : 근거리 통신 모듈 152 : 무선 통신 모듈
153 : 커넥터 160 : 출력부
161 : 디스플레이부 162 : 오디오 출력부
310 : 3D 데어터 처리부 320 : 복셀 맵 생성부
330 : 복셀 맵 판단부 340 : 구동부

Claims (18)

  1. 전자 장치의 제어 방법에 있어서,
    상기 전자 장치가 주행하는 동안 3D 센서를 통해 감지된 센싱 정보에 기초하여 복수의 3D 데이터를 획득하는 단계;
    상기 획득된 복수의 3D 데이터를 이용하여 기설정된 복수의 높이 구간 중 상기 전자 장치가 주행하는 방향에 존재하는 사물에 대한 적어도 하나의 높이 구간을 판단하는 단계; 및
    상기 판단된 사물의 높이 구간에 기초하여 상기 전자 장치의 주행을 제어하는 단계;
    를 포함하는 제어 방법.
  2. 제 1 항에 있어서,
    상기 판단하는 단계는,
    상기 복수의 높이 구간을 바탕으로 상기 복수의 3D 데이터를 적어도 하나의 그룹으로 분류하는 단계; 및
    상기 분류된 그룹 각각에 대응하는 복셀(Voxel)을 생성하고, 상기 생성된 복셀을 포함하는 복셀 맵을 생성하는 단계;
    를 포함하는 것을 특징으로 하는 제어 방법.
  3. 제 2 항에 있어서,
    상기 판단하는 단계는,
    상기 복셀 맵에 포함된 상기 복수의 복셀별 설정된 대표값에 기초하여 상기 복수의 복셀 각각에 대한 높이 구간을 판단하는 단계;
    를 더 포함하는 것을 특징으로 하는 제어 방법.
  4. 제 2 항에 있어서,
    상기 복셀 맵을 생성하는 단계는,
    상기 복수의 높이 구간 중 기설정된 임계 개수 이상의 3D 데이터를 포함하는 구간을 복셀로 생성하는 것을 특징으로 하는 제어 방법.
  5. 제 2 항에 있어서,
    상기 복셀 맵을 생성하는 단계는,
    상기 복수의 높이 구간 중 기설정된 임계 개수 이하 또는 미만의 3D 데이터를 포함하는 구간을 노이즈로 처리하여 복셀을 생성하는 않는 것을 특징으로 하는 제어 방법.
  6. 제 2 항에 있어서,
    상기 복수의 높이 구간은,
    사물이 아닌 것으로 판단하기 위한 제1 구간,
    상기 사물 통과 가능 여부를 판단하기 위한 제2 구간,
    상기 사물을 회피하기 위한 제3 구간,
    상기 사물의 일부 통과가 가능한 제4 구간, 및
    상기 사물의 전체 통과가 가능한 제5 구간 중 적어도 하나를 포함하는 것을 특징으로 하는 제어 방법.
  7. 제 6 항에 있어서,
    상기 제어하는 단계는,
    상기 복수의 복셀 중 적어도 하나의 복셀의 대표값이 상기 제1 구간과 관련된 것으로 판단되면, 상기 전자 장치가 전면으로 주행하도록 제어하고,
    상기 복수의 복셀 중 적어도 하나의 복셀의 대표값이 상기 제1 구간을 제외한 나머지 구간과 관련된 것으로 판단되면, 상기 전자 장치가 회피하도록 제어하는 것을 특징으로 하는 제어 방법.
  8. 제 1 항에 있어서,
    상기 제어하는 단계는,
    상기 사물의 높이가 상기 복수의 높이 구간 중 임계 높이 구간 이하라고 판단되면, 상기 3D 데이터를 바탕으로 상기 사물에 대한 정보를 획득하고, 상기 사물 주위에 대한 주행이 완료된 후, 상기 사물에 대한 정보에 기초하여 상기 사물에 대한 주행을 개시하도록 제어하는 것을 특징으로 하는 제어 방법.
  9. 제 1 항에 있어서,
    상기 3D 센서는,
    3D LIDAR(Light Detection and Ranging) 센서인 것을 특징으로 하는 제어 방법.
  10. 전자 장치에 있어서,
    3D 센서; 및
    상기 전자 장치가 주행하는 동안 상기 3D 센서를 통해 복수의 3D 데이터가 획득되면, 상기 획득된 복수의 3D 데이터를 이용하여 기설정된 복수의 높이 구간 중 상기 전자 장치가 주행하는 방향에 존재하는 사물에 대한 적어도 하나의 높이 구간을 판단하고, 상기 판단된 사물의 높이 구간에 기초하여 상기 전자 장치의 주행을 제어하는 프로세서;
    를 포함하는 전자 장치.
  11. 제 10 항에 있어서,
    상기 프로세서는,
    상기 복수의 높이 구간을 바탕으로 상기 복수의 3D 데이터를 적어도 하나의 그룹으로 분류하고, 상기 분류된 그룹 각각에 대응하는 복셀(Voxel)을 생성하며, 상기 생성된 복셀을 포함하는 복셀 맵을 생성하는 것을 특징으로 하는 전자 장치.
  12. 제 11 항에 있어서,
    상기 프로세서는,
    상기 복셀 맵에 포함된 상기 복수의 복셀별 설정된 대표값에 기초하여 상기 복수의 복셀 각각에 대한 높이 구간을 판단하는 것을 특징으로 하는 전자 장치.
  13. 제 11 항에 있어서,
    상기 프로세서는,
    상기 복수의 높이 구간 중 기설정된 임계 개수 이상의 3D 데이터를 포함하는 구간을 복셀로 생성하는 것을 특징으로 하는 전자 장치.
  14. 제 11 항에 있어서,
    상기 프로세서는,
    상기 복수의 높이 구간 중 기설정된 임계 개수 이하 또는 미만의 3D 데이터를 포함하는 구간을 노이즈로 처리하여 복셀을 생성하는 않는 것을 특징으로 하는 전자 장치.
  15. 제 11 항에 있어서,
    상기 복수의 높이 구간은,
    사물이 아닌 것으로 판단하기 위한 제1 구간,
    상기 사물 통과 가능 여부를 판단하기 위한 제2 구간,
    상기 사물을 회피하기 위한 제3 구간,
    상기 사물의 일부 통과가 가능한 제4 구간, 및
    상기 사물의 전체 통과가 가능한 제5 구간 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치.
  16. 제 16 항에 있어서,
    상기 프로세서는,
    상기 복수의 복셀 중 적어도 하나의 복셀의 대표값이 상기 제1 구간과 관련된 것으로 판단되면, 상기 전자 장치가 전면으로 주행하도록 제어하고,
    상기 복수의 복셀 중 적어도 하나의 복셀의 대표값이 상기 제1 구간을 제외한 나머지 구간과 관련된 것으로 판단되면, 상기 전자 장치가 회피하도록 제어하는 것을 특징으로 하는 전자 장치.
  17. 제 10 항에 있어서,
    적어도 하나의 사물에 대한 정보를 저장하는 저장부;를 더 포함하며,
    상기 프로세서는,
    상기 사물의 높이가 상기 복수의 높이 구간 중 임계 높이 구간 이하라고 판단되면, 상기 3D 데이터를 바탕으로 상기 저장부로부터 상기 사물에 대한 정보를 획득하고, 상기 사물 주위에 대한 주행이 완료된 후, 상기 사물에 대한 정보에 기초하여 상기 사물에 대한 주행을 개시하도록 제어하는 것을 특징으로 하는 전자 장치.
  18. 제 10 항에 있어서,
    상기 3D 센서는,
    3D LIDAR(Light Detection and Ranging) 센서인 것을 특징으로 하는 전자 장치.
KR1020190040407A 2019-04-05 2019-04-05 전자 장치 및 그 제어 방법 KR20200117772A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190040407A KR20200117772A (ko) 2019-04-05 2019-04-05 전자 장치 및 그 제어 방법
US17/290,886 US20220004198A1 (en) 2019-04-05 2020-02-20 Electronic device and control method therefor
PCT/KR2020/002487 WO2020204355A1 (ko) 2019-04-05 2020-02-20 전자 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190040407A KR20200117772A (ko) 2019-04-05 2019-04-05 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20200117772A true KR20200117772A (ko) 2020-10-14

Family

ID=72666387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190040407A KR20200117772A (ko) 2019-04-05 2019-04-05 전자 장치 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20220004198A1 (ko)
KR (1) KR20200117772A (ko)
WO (1) WO2020204355A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11653808B2 (en) 2020-04-22 2023-05-23 Samsung Electronics Co., Ltd. Robot cleaner and controlling method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977392B2 (en) * 2020-05-11 2024-05-07 Mobile Industrial Robots Inc. Identifying elements in an environment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105793790B (zh) * 2013-12-19 2022-03-04 伊莱克斯公司 优先化清洁区域
KR102328252B1 (ko) * 2015-02-13 2021-11-19 삼성전자주식회사 청소 로봇 및 그 제어방법
KR102033143B1 (ko) * 2017-01-25 2019-10-16 엘지전자 주식회사 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇
KR101907883B1 (ko) * 2017-05-10 2018-10-16 국방과학연구소 객체 검출 및 분류 방법
US10444759B2 (en) * 2017-06-14 2019-10-15 Zoox, Inc. Voxel based ground plane estimation and object segmentation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11653808B2 (en) 2020-04-22 2023-05-23 Samsung Electronics Co., Ltd. Robot cleaner and controlling method thereof

Also Published As

Publication number Publication date
WO2020204355A1 (ko) 2020-10-08
US20220004198A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
US10055892B2 (en) Active region determination for head mounted displays
US20170273527A1 (en) Cleaning robot and method of controlling the cleaning robot
KR102586014B1 (ko) 전자 장치 및 전자 장치의 제어 방법
US10186081B2 (en) Tracking rigged smooth-surface models of articulated objects
KR102577571B1 (ko) 로봇 장치 및 로봇 장치의 감정 표현 방법
US20210306615A1 (en) Electronic device, and method for displaying three-dimensional image thereof
EP3048605B1 (en) Information processing device, information processing method, and computer program
US11966317B2 (en) Electronic device and method for controlling same
EP3725217A1 (en) Electronic device and method for measuring heart rate
US20220004198A1 (en) Electronic device and control method therefor
US11443116B2 (en) Electronic apparatus and control method thereof
US11232590B2 (en) Information processing apparatus, information processing method, and program
US20230168689A1 (en) Systems and methods for preserving data and human confidentiality during feature identification by robotic devices
KR20190104282A (ko) 영상 기반으로 정보를 제공하는 방법 및 이를 위한 이동 단말
Ghani et al. Detecting negative obstacle using Kinect sensor
KR102532230B1 (ko) 전자 장치 및 그 제어 방법
KR102234580B1 (ko) 영상 분석 장치 및 방법
US11436760B2 (en) Electronic apparatus and control method thereof for reducing image blur
KR102101587B1 (ko) 골프용 드론 및 볼마커를 이용한 퍼팅 라인 제공 방법 및 장치
KR20220076048A (ko) 전자 장치 및 전자 장치의 제어 방법
KR102185934B1 (ko) 회전 대칭성 판단이 가능한 영상 분석 장치 및 방법
CN114631100A (zh) 电子装置及其控制方法
US20240111312A1 (en) Electronic apparatus for identifying an operating state of a robot device and controlling method thereof
US20240119604A1 (en) Method of controlling electronic device by using spatial information and electronic device using spatial information
US20230245330A1 (en) System and method for facial un-distortion in digital images using multiple imaging sensors

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal