KR20200087361A - 이동 로봇 및 그 구동 방법 - Google Patents

이동 로봇 및 그 구동 방법 Download PDF

Info

Publication number
KR20200087361A
KR20200087361A KR1020190000667A KR20190000667A KR20200087361A KR 20200087361 A KR20200087361 A KR 20200087361A KR 1020190000667 A KR1020190000667 A KR 1020190000667A KR 20190000667 A KR20190000667 A KR 20190000667A KR 20200087361 A KR20200087361 A KR 20200087361A
Authority
KR
South Korea
Prior art keywords
user
mobile robot
image
location
distance
Prior art date
Application number
KR1020190000667A
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 KR1020190000667A priority Critical patent/KR20200087361A/ko
Priority to PCT/KR2020/000051 priority patent/WO2020141900A1/ko
Priority to US17/420,859 priority patent/US11801602B2/en
Publication of KR20200087361A publication Critical patent/KR20200087361A/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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

이동 로봇 및 그 구동 방법이 제공된다. 본 개시에 따른 이동 로봇이 사용자를 따라 이동하는 방법은, 상기 이동 로봇의 주변을 촬영하는 동작, 상기 촬영된 영상으로부터 상기 사용자를 검출하는 동작, 상기 사용자가 이동함에 따라, 상기 영상 내 상기 사용자의 위치를 추적하는 동작, 기 설정된 기준에 따라 상기 사용자의 위치에 대한 추적이 중단되면, 상기 영상 내 상기 사용자의 마지막 위치에 기초하여 상기 사용자의 이동 방향을 예측하는 동작 및 예측된 상기 사용자의 이동 방향에 기초하여 상기 이동 로봇의 주행 경로를 결정하는 동작을 포함할 수 있다.

Description

이동 로봇 및 그 구동 방법{MOVING ROBOT AND DRIVING METHOD THEREOF}
본 발명은 이동 로봇 및 그 구동 방법에 관한 것으로, 보다 상세하게는 사용자를 따라 이동 중 사용자에 대한 추적이 중단될 경우, 사용자의 이동 방향을 예측하여 주행 경로를 결정할 수 있는 이동 로봇 및 그 구동 방법에 관한 것이다.
최근 이동 로봇의 주변을 관측할 수 있는 카메라가 이동 로봇에 설치되고, 카메라로부터의 영상을 분석함에 의하여 사용자를 추종하기 위한 추종 경로를 구하는 카메라 방식의 추종 시스템이 채용되고 있다.
다만, 이와 같은 추종 방식은 이동하고 있는 사용자와 이동 로봇 사이의 거리가 길어지거나, 사용자가 이동 로봇의 카메라 시야 범위로부터 벗어나거나, 사용자와 이동 로봇 사이에 장애물이 위치할 경우, 이동 로봇이 사용자를 추종하기 위한 적절한 주행 경로를 결정할 수 없는 문제가 있다.
또한, 이동 로봇의 영상의 품질이 떨어지는 경우, 이동 로봇은 사용자 또는 장애물을 정확히 인식할 수 없음에 따라 사용자를 추종하기 위한 적절한 주행 경로를 결정할 수 없는 문제가 있다.
본 개시는 사용자를 따라 이동 중 사용자에 대한 추적이 중단될 경우, 사용자의 이동 방향을 예측함으로써 사용자의 추적을 재개하기 위한 주행 경로를 결정할 수 있는 이동 로봇 및 그 구동 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 이동 로봇의 주변을 촬영하는 동작, 상기 촬영된 영상으로부터 상기 사용자를 검출하는 동작, 상기 사용자가 이동함에 따라, 상기 영상 내 상기 사용자의 위치를 추적하는 동작, 기 설정된 기준에 따라 상기 사용자의 위치에 대한 추적이 중단되면, 상기 영상 내 상기 사용자의 마지막 위치에 기초하여 상기 사용자의 이동 방향을 예측하는 동작; 및 예측된 상기 사용자의 이동 방향에 기초하여 상기 이동 로봇의 주행 경로를 결정하는 동작을 포함하는, 이동 로봇이 사용자를 따라 이동하는 방법을 제공할 수 있다.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제2 측면은, 적어도 하나의 카메라, 하나 이상의 인터페이스를 저장하는 메모리 및 상기 하나 이상의 인터페이스를 실행함으로써 상기 이동 로봇을 제어하는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인터페이스를 실행함으로써, 상기 카메라를 통해 상기 이동 로봇의 주변을 촬영하고, 상기 촬영된 영상으로부터 상기 사용자를 검출하고, 상기 사용자가 이동함에 따라, 상기 영상 내 상기 사용자의 위치를 추적하고, 기 설정된 기준에 따라 상기 사용자의 위치에 대한 추적이 중단되면, 상기 영상 내 상기 사용자의 마지막 위치에 기초하여 상기 사용자의 이동 방향을 예측하고, 예측된 상기 사용자의 이동 방향에 기초하여 상기 이동 로봇의 주행 경로를 결정하는, 사용자를 따라 이동하는 이동 로봇을 제공할 수 있다.
또한, 또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제3 측면은, 제1 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 포함하는 컴퓨터 프로그램 장치를 제공할 수 있다.
본 개시에 의하면, 사용자를 따라 이동 중 사용자에 대한 추적이 중단될 경우, 사용자의 이동 방향을 예측함으로써 사용자의 추적을 재개하기 위한 주행 경로를 결정할 수 있는 이동 로봇 및 그 구동 방법을 제공할 수 있는 효과가 있다.
도 1a 및 도 1b는 일부 실시예에 따른 사용자를 따라 이동하는 이동 로봇의 예시를 나타내는 도면이다.
도 2는 일부 실시예에 따른 이동 로봇의 구동 방법을 나타내는 흐름도이다.
도 3은 일부 실시예 따른 이동 로봇이 카메라의 영상 촬영 각도를 조절하는 방법을 나타내는 도면이다.
도 4는 일부 실시예 따른 이동 로봇이 영상 내 상기 사용자의 위치를 추적하는 방법의 흐름도이다.
도 5는 일부 실시예 따른 이동 로봇이 영상 내 경계 박스의 중심점의 위치 변화에 기초하여 사용자의 위치를 추적하는 예시를 나타내는 도면이다.
도 6은 일부 실시예 따른 이동 로봇이 기 설정된 기준에 따라 사용자의 위치에 대한 추적 중단 여부를 판단하는 방법의 흐름도이다.
도 7은 일부 실시예 따른 이동 로봇이 주행 경로를 결정하는 방법의 흐름도이다.
도 8은 일부 실시예 따른 이동 로봇이 예측된 사용자의 이동 방향에 기초하여 이동 로봇의 회전 방향 및 카메라 각도 조절 방향을 결정하는 예시를 나타낸 도면이다.
도 9는 일부 실시예 따른 이동 로봇이 사용자 재 검출 여부에 따라 추적 계속 여부를 판단하는 방법의 흐름도이다.
도 10은 일부 실시예 따른 이동 로봇의 장애물 인식에 따른 제동 방법의 예시를 나타내는 도면이다.
도 11은 일부 실시예 따른 이동 로봇의 블록도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 1a 및 1b는 일부 실시예에 따른 사용자를 따라 이동하는 이동 로봇의 예시를 나타내는 도면이다.
도 1a를 참조하면, 일부 실시예에 따른 이동 로봇(10)은 소정의 공간에서 이동하는 사용자(11)를 추종하여 주행할 수 있다.
이동 로봇(10)은, 예를 들어, 미리 설정된 사용자 추종 주행 시작 조건이 만족되면, 사용자(11)에 대한 추종 이동을 시작할 수 있다. 이동 로봇(10)은, 예를 들어, 사용자(11)로부터 소정의 음성 명령이 입력되면 사용자(11)에 대한 추종 이동을 시작할 수 있다. 이동 로봇(10)은, 다른 예로, 사용자(11)로부터 소정의 제스처 명령이 입력되면 사용자(11)에 대한 추종 이동을 시작할 수 있다.
이동 로봇(10)은 이동 로봇(10)에 포함된 적어도 하나의 카메라를 통해 이동 로봇(10)의 주변의 영상(13)을 촬영할 수 있다.
이동 로봇(10)은, 예를 들어, 이동 로봇(10)이 이동하는 방향을 촬영하는 하나의 카메라를 통해 이동 로봇(10)의 전방의 영상을 촬영할 수 있다. 이동 로봇(10)은, 다른 예로, 복수의 카메라를 통해 이동 로봇(10)의 주변의 영상을 촬영할 수 있다. 본 개시의 이동 로봇(10)에 포함되는 카메라의 개수, 카메라 렌즈의 화각 및 촬영 품질은 이동 로봇(10)의 규격, 용도 및 성능에 따라 달라질 수 있다.
이동 로봇(10)은 촬영된 영상(13)으로부터 사용자(11)를 검출할 수 있다.
이동 로봇(10)은, 예를 들어, 이동 로봇(10)에 포함된 적어도 하나의 카메라를 통해 촬영된 영상(13)으로부터 획득되는 프레임 별 이미지의 비교 결과에 기초하여, 프레임 별 이미지에 포함된 객체를 추출할 수 있다.
이동 로봇(10)은, 예를 들어, 영상(13)의 프레임 별 RGB 이미지의 색상을 비교하여 색상 차를 획득하고, 획득된 색상 차에 기초하여 프레임 별 이미지에서 객체들을 추출할 수 있다.
이동 로봇(10)은 영상(13)으로부터 추출된 객체를 분석하여 사용자의 신체에 해당하는 객체를 검출할 수 있다. 이동 로봇(10)은, 예를 들어, 영상(13)으로부터 추출된 객체를 분석하여 사용자의 몸통 및 얼굴 중 적어도 하나를 검출할 수 있다. 이동 로봇(10)은 검출된 사용자의 몸통 및 얼굴 중 적어도 하나에 기초하여 영상(13)으로부터 적어도 하나 이상의 사용자(101)를 검출할 수 있다.
이동 로봇(10)은, 예를 들어, 사용자(101)를 검출하기 위해, 영상(13) 내에서 사용자(101)의 신체를 둘러싸는 경계 박스(bounding box)를 생성할 수 있다.
이동 로봇(10)은, 예를 들어, 영상(13) 내의 모든 객체에 대한 경계 박스를 생성하여 각 객체 별로 할당할 수 있다. 생성된 경계 박스는 사용자의 신체를 배경과 구분하거나, 각 사용자를 서로 구분하는 경계로 사용될 수 있다. 사용자(101)를 검출하기 위해 생성된 경계 박스는, 영상(13) 내 사용자의 정확한 위치를 결정하기 위한 기준으로 사용될 수 있다.
본 개시의 사용자 검출은 영상 내 모든 객체 중 사용자를 검출하는 것 이외에, 영상 내 복수의 사용자 중 특정 사용자를 검출하는 것을 포함할 수 있다. 이동 로봇(10)은, 예를 들어, 촬영된 영상(13) 내 복수의 사용자 중 추종 이동의 대상이 되는 특정 사용자를 검출할 수 있다.
이동 로봇(10)은, 예를 들어, 검출된 사용자의 얼굴 및 몸통 중 적어도 하나를 미리 등록된 사용자 정보와 비교함으로써, 영상(13)으로부터 특정 사용자를 검출할 수 있다. 이동 로봇(10)은 영상(13) 내 특정 사용자를 검출함으로써, 영상(13)에 포함된 복수의 사용자 중 추종의 대상이 되는 특정 사용자를 결정할 수 있다.
또한, 이동 로봇(10)은, 예를 들어, 사용자에 대한 추적이 중단될 경우, 영상(13)으로부터 기존에 추종하던 특정 사용자를 재 검출함으로써, 영상(13) 내 사용자의 추적 및 주행을 통한 사용자 추정 이동을 재개할 수 있다.
도 1b를 참조하면, 일부 실시예에 따른 이동 로봇(10)은 소정의 공간에서 방향을 바꾸어 이동하는 사용자를 추종하여 주행할 수 있다. 이동 로봇(10)은 소정의 공간에서 사용자가 이동함에 따라, 촬영된 영상 내 사용자의 위치를 추적할 수 있다.
예를 들어, 사용자가 복도의 끝에서 좌측으로 회전하여 이동할 경우(111), 영상(131)의 프레임 별 이미지 내 사용자(1011)의 위치 또한 좌측으로 이동할 수 있다. 사용자(1011)의 위치가 좌측으로 이동함에 따라, 이동 로봇(10)은 영상(131)의 프레임 별 이미지 각각에 대하여 좌측으로 이동한 사용자(1011)의 신체를 둘러싸는 경계 박스를 생성할 수 있다. 프레임 별 이미지 상에 생성된 경계 박스의 위치는, 프레임 별 이미지 내에서 좌측으로 이동하는 사용자(1011)의 위치에 대응하여 좌측으로 이동할 수 있다.
반대로, 예를 들어, 사용자가 복도의 끝에서 우측으로 회전하여 이동할 경우(112), 영상(132) 내에서 사용자(1012)의 위치 또한 우측으로 이동할 수 있다. 사용자(1012)의 위치가 우측으로 이동함에 따라, 이동 로봇(10)은 영상(132)의 프레임 별 이미지 각각에 대하여 우측으로 이동한 사용자(1012)의 신체를 둘러싸는 경계 박스를 생성할 수 있다. 프레임 별 이미지 상에 생성된 경계 박스의 위치는, 프레임 별 이미지 내에서 우측으로 이동하는 사용자(1012)의 위치에 대응하여 우측으로 이동할 수 있다.
이동 로봇(10)은 기 설정된 기준에 따라 사용자의 위치에 대한 추적을 중단할 수 있다.
이동 로봇(10)은, 예를 들어, 사용자가 복도의 끝에서 좌측 또는 우측으로 회전하여 이동함(111, 112)에 따라 영상(131, 132) 내에서 사용자(1011, 1012)가 완전히 사라질 경우, 사용자(1011, 1012)의 위치에 대한 추적을 중단할 수 있다.
이동 로봇(10)은, 사용자의 위치에 대한 추적이 중단되면, 영상 내 상기 사용자의 마지막 위치에 기초하여 상기 사용자의 이동 방향을 예측할 수 있다. 경계 박스의 중심점의 마지막 위치는, 사용자의 신체를 둘러싸는 경계 박스가 존재하는 프레임 중 마지막 프레임의 이미지 상의 경계 박스의 중심점 위치를 의미한다. 이동 로봇(10)은, 예를 들어, 영상의 프레임 별 이미지를 확인하여, 사용자의 신체를 둘러싼 경계 박스의 중심점의 마지막 위치를 획득함으로써 사용자의 이동 방향을 예측할 수 있다.
이동 로봇(10)은 예측된 사용자의 이동 방향에 기초하여 이동 로봇의 주행 경로를 결정할 수 있다. 이동 로봇(10)이 결정하는 주행 경로는, 예를 들어, 주행 경로 결정 시점 이후에 이동 로봇(10)이 주행할 거리 및 회전할 방향 중 적어도 하나를 포함할 수 있다.
도 2는 일부 실시예에 따른 이동 로봇의 구동 방법을 나타내는 흐름도이다.
도 2를 참조하면, 동작 S201에서, 이동 로봇(10)은 이동 로봇의 주변을 촬영할 수 있다.
이동 로봇(10)은, 예를 들어, 이동 로봇(10)이 이동하는 방향을 촬영하는 하나의 카메라를 통해 이동 로봇(10)의 전방의 영상을 촬영할 수 있다. 이동 로봇(10)은, 예를 들어, 이동 로봇(10)이 이동하는 방향을 촬영하는 복수의 카메라를 통해 이동 로봇(10)의 주변의 영상을 촬영할 수 있다.
동작 S202에서, 이동 로봇(10)은 촬영된 영상으로부터 사용자를 검출할 수 있다. 이동 로봇(10)은, 예를 들어, 이동 로봇(10)에 포함된 적어도 하나의 카메라를 통해 촬영된 영상으로부터 획득되는 프레임 별 이미지의 비교 결과를 바탕으로 프레임 별 이미지에 포함된 객체를 추출할 수 있다.
이동 로봇(10)은 영상으로부터 추출된 객체를 분석하여 사용자의 몸통 및 얼굴 중 적어도 하나를 검출할 수 있다. 이동 로봇(10)은 검출된 사용자의 몸통 및 얼굴 중 적어도 하나에 기초하여 사용자를 검출할 수 있다.
이동 로봇(10)은, 예를 들어, 추출된 객체를 분석하여, 영상 내에서 검출된 사용자(101)의 신체를 둘러싸는 경계 박스를 생성할 수 있다.
일 실시예에 따른 이동 로봇(10)은, 사용자에 대한 검출 과정에서, 영상으로부터 복수의 사용자가 검출되면, 사용자 위치 추적 및 추종 주행에 관한 주행 모드를 복수의 사용자가 존재하는 환경에 적합하도록 설정할 수 있다.
이동 로봇(10)은, 예를 들어, 영상으로부터 검출된 사용자에 대한 추종 주행 중, 미리 설정된 주기에 따라 추종 대상이 되는 사용자에 대한 유효성, 즉 기존의 추종 대상 사용자에 해당하는지 여부를 판단할 수 있다.
이동 로봇(10)은, 예를 들어, 영상으로부터 복수의 사용자가 검출될 경우, 추종 주행의 대상이 되는 특정 사용자에 대한 유효성 판단, 즉 기존의 추종 대상 사용자에 해당하는지 여부에 대한 판단의 빈도수를 높일 수 있다. 또한, 이동 로봇(10)은, 예를 들어, 영상으로부터 복수의 사용자가 검출될 경우, 추종 중인 사용자에 대한 주행 속도를 상대적으로 낮출 수 있다.
즉, 이동 로봇(10)은 영상으로부터 복수의 사용자가 검출될 경우, 추종 대상이 아닌 다른 사용자를 추종하게 되는 오류가 발생할 수 있는 위험을 제거하기 위해, 사용자 위치 추적 및 추종 주행에 관한 주행 모드를 복수의 사용자가 존재하는 환경에 적합하도록 설정할 수 있다.
반면, 일 실시예에 따른 이동 로봇(10)은, 사용자에 대한 검출 과정에서, 영상으로부터 단일 사용자가 검출되면, 사용자 위치 추적 및 추종 주행에 관한 주행 모드를 단일 사용자가 존재하는 환경에 적합하도록 설정할 수 있다.
이동 로봇(10)은, 예를 들어, 영상으로부터 단일 사용자가 검출될 경우, 추종 대상이 되는 사용자에 대한 유효성 판단, 즉 기존의 추종 대상 사용자에 해당하는지 여부에 대한 판단의 빈도수를 낮출 수 있다. 또한, 이동 로봇(10)은, 예를 들어, 영상으로부터 단일 사용자가 검출될 경우, 추종 중인 사용자에 대한 주행 속도를 상대적으로 높일 수 있다.
즉, 이동 로봇(10)은 영상으로부터 단일 사용자가 검출될 경우, 추종 대상이 아닌 다른 사용자를 추종하게 되는 오류가 발생할 수 있는 위험이 발생할 확률이 낮으므로, 데이터 처리의 효율을 위해, 사용자 위치 추적 및 추종 주행에 관한 주행 모드를 단일 사용자가 존재하는 환경에 적합하도록 설정할 수 있다.
일부 실시예에서, 이동 로봇(10)은 사용자에 대한 검출 및 인식을 위한 학습을 수행하기 위해 이동 로봇(10)에 포함된 카메라의 각도를 조절할 수 있다. 이동 로봇(10)은, 예를 들어, 카메라를 통해 촬영되는 사용자의 얼굴 위치에 기초하여 카메라의 각도를 조절할 수 있다.
일부 실시예에 따른 이동 로봇이 카메라의 각도를 조절하는 방법에 대한 구체적인 예는 도 3을 통해 후술한다.
다음으로, 동작 S203에서, 이동 로봇(10)은 사용자가 이동함에 따라 영상 내 사용자의 위치를 추적할 수 있다.
기 설정된 기준에 따라 사용자의 위치에 대한 추적이 중단되면, 동작 S204에서, 이동 로봇(10)은 영상 내 사용자의 마지막 위치에 기초하여 사용자의 이동 방향을 예측할 수 있다.
이동 로봇(10)은, 예를 들어, 사용자의 위치에 대한 추적이 중단되면, 영상의 프레임 별 이미지를 분석하여 사용자의 신체를 둘러싼 경계 박스의 중심점의 마지막 위치를 확인함으로써, 사용자의 이동 방향을 예측할 수 있다.
일부 실시예 따른 이동 로봇이 영상 내 경계 박스의 중심점의 위치 변화에 기초하여 사용자의 위치를 추적하는 구체적인 예는 도 5를 통해 후술한다.
마지막으로, 동작 S203에서, 이동 로봇(10)은 사용자의 이동 방향에 기초하여 이동 로봇의 주행 경로를 결정할 수 있다.
도 3은 일부 실시예 따른 이동 로봇이 카메라의 영상 촬영 각도를 조절 방법을 나타낸 도면이다.
일부 실시예에 따른 이동 로봇(10)은 미리 설정된 사용자 추종 주행 시작 조건의 만족 여부 판단, 사용자의 신체 인식 중 적어도 하나를 위한 등록 또는 학습을 수행할 수 있다.
이동 로봇(10)은 영상의 프레임 별 RGB 이미지를 획득하여 영상 내에 포함된 사용자를 검출할 수 있다. 이동 로봇(10)은, 예를 들어, 영상 내에서 사용자를 검출하기 위해, 사용자의 신체를 둘러싸는 경계 박스를 생성할 수 있다.
이동 로봇(10)은, 예를 들어, 사용자에 대한 검출 및 인식의 정확도를 높이기 위해, 현재 영상에서 사용자의 신체를 둘러싸는 경계 박스의 위치에 기초하여 카메라를 제어함으로써, 카메라의 영상 촬영 각도를 조절할 수 있다.
도 3의 (a)를 참조하면, 이동 로봇(10)의 카메라의 촬영 각도가 제1 각도인 경우 카메라를 통해 촬영된 제1 영상이 도시되어있다.
이동 로봇(10)은, 예를 들어, 등록 또는 학습을 수행하기 위한 최적의 사용자 촬영 각도를 찾기 위해, 영상 내 제1 경계선(31) 및 제2 경계선(32)을 미리 설정할 수 있다. 미리 설정된 제1 경계선(31) 및 제2 경계선(32)은 사용자의 신체를 둘러싸는 경계 박스의 상대적인 위치를 결정하기 위한 기준이 될 수 있다.
제1 영상에서, 사용자의 신체를 둘러싸는 제1 경계 박스(301)의 윗변은 제1 경계선(31) 및 제2 경계선(32) 사이에 위치할 수 있다.
제1 경계 박스(301)의 윗변이 제1 경계선(31) 및 제2 경계선(32) 사이에 위치하면, 이동 로봇(10)은 카메라의 촬영 각도가 적절한 것으로 판단하고, 사용자의 신체 인식을 위한 학습을 시작할 수 있다. 학습 결과를 통해, 이동 로봇(10)은 특정 사용자에 대한 등록을 수행할 수 있다.
한편, 도 3의 (b)를 참조하면, 이동 로봇(10)의 카메라의 촬영 각도가 제2 각도인 경우 카메라를 통해 촬영된 제2 영상이 도시되어있다.
제2 영상에서, 사용자의 신체를 둘러싸는 제2 경계 박스(302)의 윗변은 제1 경계선(31) 및 제2 경계선(32)의 사이를 벗어나, 제1 경계선(31) 위에 위치할 수 있다.
제2 경계 박스(302)의 윗변이 제1 경계선(31) 위에 위치하면, 이동 로봇(10)은 카메라의 촬영 각도가 적절하지 않은 것으로 판단하고, 제2 경계 박스(302)의 윗변이 제1 경계선(31) 및 제2 경계선(32)의 사이에 위치할 수 있도록, 카메라의 촬영 각도를 상대적으로 위쪽으로 조절할 수 있다.
촬영 각도의 조절을 통해, 제2 경계 박스(302)의 윗변이 제1 경계선(31) 및 제2 경계선(32) 사이에 위치하게 되면, 이동 로봇(10)은 카메라의 촬영 각도가 적절한 것으로 판단하고 사용자의 신체 인식을 위한 학습을 시작할 수 있다.
한편, 도 3의 (c)를 참조하면, 이동 로봇(10)의 카메라의 촬영 각도가 제3 각도인 경우 카메라를 통해 촬영된 제3 영상이 도시되어있다.
제3 영상에서, 사용자의 신체를 둘러싸는 제3 경계 박스(303)의 윗변은 제1 경계선(31) 및 제2 경계선(32)의 사이를 벗어나, 제2 경계선(32) 아래에 위치할 수 있다.
제3 경계 박스(303)의 윗변이 제2 경계선(32) 아래에 위치하면, 이동 로봇(10)은 카메라의 촬영 각도가 적절하지 않은 것으로 판단하고, 제3 경계 박스(303)의 윗변이 제1 경계선(31) 및 제2 경계선(32)의 사이에 위치할 수 있도록, 카메라의 촬영 각도를 상대적으로 아래쪽으로 조절할 수 있다.
촬영 각도의 조절을 통해, 제3 경계 박스(303)의 윗변이 제1 경계선(31) 및 제2 경계선(32) 사이에 위치하게 되면, 이동 로봇(10)은 카메라의 촬영 각도가 적절한 것으로 판단하고 사용자의 신체 인식을 위한 학습을 시작할 수 있다.
한편, 도 3의 (d)를 참조하면, 이동 로봇(10)의 카메라의 촬영 각도가 제4 각도인 경우 카메라를 통해 촬영된 제4 영상이 도시되어있다.
제4 영상에서, 사용자의 신체를 둘러싸는 제3 경계 박스(303)는 생성되지 않을 수 있다. 즉, 이동 로봇(10)의 카메라의 촬영 각도가 제4 각도인 경우, 제4 영상에는 사용자가 존재하지 않을 수 있다. 이때 이동 로봇(10)은 카메라의 촬영 각도가 적절한 것으로 판단함과 동시에, 카메라의 촬영 각도를 조절하지 않고, 학습 대기상태로 전환될 수 있다.
한편, 일 실시예에 따른 이동 로봇(10)은 사용자에 대한 검출 및 인식의 정확도를 높이기 위해, 현재 영상에서 사용자의 신체를 둘러싸는 경계 박스의 위치에 기초하여 사용자로부터 멀어지는 방향 또는 사용자에게 가까워지는 방향으로 일정 거리만큼 이동함으로써, 카메라의 영상 촬영 각도를 조절할 수 있다.
다시 도 3의 (a)를 참조하면, 이동 로봇(10)은, 예를 들어, 등록 또는 학습을 수행하기 위한 최적의 사용자 촬영 각도를 찾기 위해, 영상 내 제1 경계선(31) 및 제2 경계선(32)을 미리 설정할 수 있다. 미리 설정된 제1 경계선(31) 및 제2 경계선(32)은 사용자의 신체를 둘러싸는 경계 박스의 상대적인 위치를 결정하기 위한 기준이 될 수 있다.
제1 영상에서, 사용자의 신체를 둘러싸는 제1 경계 박스(301)의 윗변은 제1 경계선(31) 및 제2 경계선(32) 사이에 위치할 수 있다.
제1 경계 박스(301)의 윗변이 제1 경계선(31) 및 제2 경계선(32) 사이에 위치하면, 이동 로봇(10)은 카메라의 촬영 각도가 적절한 것으로 판단하고, 사용자의 신체 인식을 위한 학습을 시작할 수 있다. 학습 결과를 통해, 이동 로봇(10)은 특정 사용자에 대한 등록을 수행할 수 있다.
한편, 도 3의 (b)를 참조하면, 이동 로봇(10)의 카메라의 촬영 각도가 제2 각도인 경우 카메라를 통해 촬영된 제2 영상이 도시되어있다.
제2 영상에서, 사용자의 신체를 둘러싸는 제2 경계 박스(302)의 윗변은 제1 경계선(31) 및 제2 경계선(32)의 사이를 벗어나, 제1 경계선(31) 위에 위치할 수 있다.
제2 경계 박스(302)의 윗변이 제1 경계선(31) 위에 위치하면, 이동 로봇(10)은 카메라의 촬영 각도가 적절하지 않은 것으로 판단하고, 제2 경계 박스(302)의 윗변이 제1 경계선(31) 및 제2 경계선(32)의 사이에 위치할 수 있도록, 사용자로부터 멀어지는 방향으로 일정 거리만큼 이동할 수 있다.
사용자로부터 멀어지는 방향으로 이동함으로써 제2 경계 박스(302)의 윗변이 제1 경계선(31) 및 제2 경계선(32) 사이에 위치하게 되면, 이동 로봇(10)은 카메라의 촬영 각도가 적절한 것으로 판단하고 사용자의 신체 인식을 위한 학습을 시작할 수 있다.
한편, 도 3의 (c)를 참조하면, 이동 로봇(10)의 카메라의 촬영 각도가 제3 각도인 경우 카메라를 통해 촬영된 제3 영상이 도시되어있다.
제3 영상에서, 사용자의 신체를 둘러싸는 제3 경계 박스(303)의 윗변은 제1 경계선(31) 및 제2 경계선(32)의 사이를 벗어나, 제2 경계선(32) 아래에 위치할 수 있다.
제3 경계 박스(303)의 윗변이 제2 경계선(32) 아래에 위치하면, 이동 로봇(10)은 카메라의 촬영 각도가 적절하지 않은 것으로 판단하고, 제3 경계 박스(303)의 윗변이 제1 경계선(31) 및 제2 경계선(32)의 사이에 위치할 수 있도록, 사용자에게 가까워지는 방향으로 일정 거리만큼 이동할 수 있다.
사용자에게 가까워지는 방향으로 이동함으로써 제3 경계 박스(303)의 윗변이 제1 경계선(31) 및 제2 경계선(32) 사이에 위치하게 되면, 이동 로봇(10)은 카메라의 촬영 각도가 적절한 것으로 판단하고 사용자의 신체 인식을 위한 학습을 시작할 수 있다.
한편, 도 3의 (d)를 참조하면, 이동 로봇(10)의 카메라의 촬영 각도가 제4 각도인 경우 카메라를 통해 촬영된 제4 영상이 도시되어있다.
제4 영상에서, 사용자의 신체를 둘러싸는 제3 경계 박스(303)는 생성되지 않을 수 있다. 즉, 이동 로봇(10)의 카메라의 촬영 각도가 제4 각도인 경우, 제4 영상에는 사용자가 존재하지 않을 수 있다. 이때 이동 로봇(10)은 카메라의 촬영 각도가 적절한 것으로 판단함과 동시에, 현재의 위치에서 이동하지 않고, 학습 대기상태로 전환될 수 있다.
도 4는 일부 실시예 따른 이동 로봇이 영상 내 상기 사용자의 위치를 추적하는 방법의 흐름도이다.
도 4를 참조하면, 동작 S401에서, 이동 로봇(10)은 촬영된 영상에서 사용자의 신체를 둘러싸는 경계 박스를 생성할 수 있다.
동작 S402에서, 이동 로봇(10)은 생성된 경계 박스의 중심점을 획득할 수 있다.
일반적으로, 영상 내 객체 검출에서 사용되는 경계 박스는 객체의 위치를 표시하는데 사용되며, 이때 사용되는 박스는 네 변이 프레임 별 이미지 상에서 수직/수평 방향을 향하는(axis-aligned) 직사각형 형태를 갖는다.
경계 박스의 위치는, 예를 들어, 프레임 별 이미지 상의 경계 박스의 중심점의 좌표 값(x1, y1)에 의해 결정될 수 있다. 경계 박스의 위치는, 다른 예로, 프레임 별 이미지 상의 경계 박스의 좌측 상단 모서리의 좌표 값(x2, y2) 및 우측 하단 모서리의 좌표 값(x3, y3)을 기준으로 결정될 수도 있다.
경계 박스의 위치가 경계 박스의 중심점의 좌표 값(x1, y1)에 의해 결정될 경우, 경계 박스의 높이 및 너비의 절대값(w, h) 또는 전체 이미지에 대한 경계 박스의 높이 및 너비의 상대적 비율 값이 경계 박스의 표시에 동시에 사용될 수 있다.
동작 S403에서, 이동 로봇(10)은 사용자의 이동에 대응하여 영상 내의 경계 박스를 이동시킬 수 있다. 마지막으로, 동작 S404에서, 이동 로봇(10)은 경계 박스의 중심점의 위치 변화에 기초하여 사용자의 위치를 추적할 수 있다.
도 5는 일부 실시예 따른 이동 로봇이 영상 내 경계 박스의 중심점의 위치 변화에 기초하여 사용자의 위치를 추적하는 예시를 나타내는 도면이다.
도 5의 (a)를 참조하면, 사용자(11)를 추종하여 주행하는 이동 로봇(10)은 영상(13) 내에서 사용자(101)를 검출하기 위해, 사용자(101)의 신체를 둘러싸는 경계 박스(140)를 생성할 수 있다. 경계 박스(140)가 생성되면, 이동 로봇(10)은 경계 박스(140)의 중심점(141)을 획득할 수 있다.
한편, 도 5의 (b)를 참조하면, 이동 로봇(10)의 추종 이동 중, 사용자(11)가 좌측 방향으로 이동할 경우, 이동 로봇(10)의 영상(13)의 프레임 별 이미지에서 검출되는 사용자(101)의 위치는 사용자(11)의 이동에 대응하여 좌측 방향으로 이동할 수 있다.
사용자(101)의 위치가 좌측으로 이동함에 따라, 이동 로봇(10)은 영상(13)의 프레임 별 이미지 각각에 대하여 좌측으로 이동한 사용자(101)의 신체를 둘러싸는 경계 박스(140)를 생성할 수 있다. 경계 박스(140)가 생성되면, 이동 로봇(10)은 경계 박스(140)의 중심점(141)을 획득할 수 있다.
영상(13)의 프레임 별 이미지 상에 생성된 경계 박스(140) 및 경계 박스(140)의 중심점(141)의 위치는 프레임 별 이미지 내에서 좌측으로 이동하는 사용자(101)의 위치에 대응하여 좌측으로 이동할 수 있다.
이동 로봇(10)은 영상(13) 내 경계 박스(140)의 중심점(141)의 위치 변화에 기초하여 사용자의 위치를 추적할 수 있다.
이동 로봇(10)은, 예를 들어, 영상(13)의 프레임 별로 경계 박스(140)의 중심점(141)의 좌표 값(x1, y1)을 획득할 수 있다. 이동 로봇(10)은 획득한 복수의 중심점(141)의 좌표 값(x1, y1)의 변화에 기초하여, 영상 내 사용자(101)의 정확한 위치를 추적할 수 있다.
도 6은 일부 실시예 따른 이동 로봇이 기 설정된 기준에 따라 사용자의 위치에 대한 추적 중단 여부를 판단하는 방법의 흐름도이다.
도 6을 참조하면, 동작 S601에서, 이동 로봇(10)은 이동 로봇(10)에 포함된 적어도 하나의 카메라를 통해 이동 로봇(10)의 주변 영상을 획득할 수 있다. 동작 S602에서, 이동 로봇(10)은 획득된 주변 영상으로부터 RGB 이미지를 획득할 수 있다.
한편, 동작 S603에서, 이동 로봇(10)은 획득된 주변 영상으로부터 깊이(Depth) 이미지를 획득할 수 있다. 이동 로봇(10)은, 예를 들어, 영상으로부터 획득된 깊이 이미지에 기초하여 이동 로봇(10)과 영상 내 객체 사이의 거리를 측정할 수 있다.
동작 S604에서, 이동 로봇(10)은 동작 S602에서 획득된 RGB 이미지를 사용하여 사용자의 신체를 둘러싸는 경계 박스를 생성할 수 있다. 동작 S605에서, 이동 로봇(10)은 생성된 경계 박스 내부에 사용자가 포함되어있는지 여부를 판단할 수 있다.
동작 S605에서의 판단 결과, 생성된 경계 박스 내부에 사용자가 포함되어있지 않으면, 동작 S608에서 이동 로봇(10)은 추적 대상이 되는 사용자를 놓친 것으로 판단할 수 있다.
한편, 다른 실시예에서, 이동 로봇(10)은 영상 내 경계 박스가 존재하는지 여부를 판단할 수 있다. 예를 들어, 사용자가 이동함에 따라 영상 밖으로 사라질 경우, 영상 내 사용자를 둘러싸는 경계 박스는 사라질 수 있다.
다른 예로, 사용자가 영상 내에 존재하지만 이동 로봇(10)이 사용자의 얼굴 또는 몸통에 대한 검출에 실패할 경우, 영상 내 사용자를 둘러싸는 경계 박스는 사라질 수 있다. 영상 내 경계 박스가 존재하지 않는 것으로 판단하면, 이동 로봇(10)은 추적 대상이 되는 사용자를 놓친 것으로 판단할 수 있다.
동작 S608에서 추적 대상이 되는 사용자를 놓친 것으로 판단한 이동 로봇(10)은, 동작 S612에서 영상 내 사용자에 대한 위치 추적을 중단할 수 있다.
반대로, 동작 S605에서의 판단 결과, 생성된 경계 박스 내부에 사용자가 포함되어있으면, 동작 S606에서, 이동 로봇(10)은 동작 S603를 통해 생성된 깊이 이미지를 통해 획득된 깊이 정보를 사용하여 이동 로봇(10) 및 사용자 간 거리를 측정할 수 있다.
동작 S607에서, 이동 로봇(10)은 측정된 이동 로봇(10) 및 사용자 간 거리가 미리 설정된 유효 거리 범위에 포함되는지 여부를 판단할 수 있다.
이동 로봇(10)은, 예를 들어, 사용자에 대한 측정 정보가 유효한지 판단하기 위한 기준으로서 유효 거리 범위를 미리 설정할 수 있다. 유효 거리 범위는, 예를 들어, 깊이 이미지를 통해 측정 및 감지가 가능한 최소 유효 거리 및 이동 로봇(10)으로부터 상대적으로 원거리에 위치한 객체를 무시하기 위한 최대 유효 거리 사이의 범위로 이루어질 수 있다.
동작 S607에서의 판단 결과, 측정된 이동 로봇(10) 및 사용자 간 거리가 미리 설정된 유효 거리 범위에 포함되지 않으면, 동작 S609에서 이동 로봇(10)은 추적 대상이 되는 사용자에 대한 측정 정보가 유효하지 않은 것으로 판단할 수 있다.
동작 S609에서 추적 대상이 되는 사용자에 대한 측정 정보가 유효하지 않은 것으로 판단한 이동 로봇(10)은 동작 S612에서 영상 내 사용자에 대한 위치 추적을 중단할 수 있다.
반대로, 동작 S607에서의 판단 결과, 측정된 이동 로봇(10) 및 사용자 간 거리가 미리 설정된 유효 거리 범위에 포함되면, 동작 S610에서 이동 로봇(10)은 측정된 이동 로봇(10) 및 사용자 사이의 거리와 이전에 측정된 이동 로봇(10) 및 사용자 사이의 거리 간 차이가 미리 설정된 기준 거리 이상인지 여부를 판단할 수 있다.
동작 S610에서의 판단 결과, 측정된 이동 로봇(10) 및 사용자 사이의 거리와 이전에 측정된 이동 로봇(10) 및 사용자 사이의 거리 간 차이가 미리 설정된 기준 거리 이상이면, 동작 S609에서 이동 로봇(10)은 추적 대상이 되는 사용자에 대한 측정 정보가 유효하지 않은 것으로 판단할 수 있다.
측정된 이동 로봇(10) 및 사용자 사이의 거리와 이전에 측정된 이동 로봇(10) 및 사용자 사이의 거리 간 차이는, 예를 들어, 낮은 프레임 속도(low frame rate), 모션 블러(motion blur) 및 조명 변화 중 적어도 하나에 의한 검출/추적 오류에 의해, 미리 설정된 기준 거리 이상의 거리를 가질 수 있다.
다른 예로, 측정된 이동 로봇(10) 및 사용자 사이의 거리와 이전에 측정된 이동 로봇(10) 및 사용자 사이의 거리 간 차이는, 별도의 거리 측정 센서의 손상, 유효 감지 범위 내 다른 물체의 존재 및 깊이 이미지에 기초하여 측정된 거리의 오차 발생 중 적어도 하나에 의해, 미리 설정된 기준 거리 이상의 거리를 가질 수 있다.
또 다른 예로, 측정된 이동 로봇(10) 및 사용자 사이의 거리와 이전에 측정된 이동 로봇(10) 및 사용자 사이의 거리 간 차이는, 추적 진행 중 이동 로봇(10)이 기존의 추적 대상이 되는 사용자가 아닌 다른 사용자를 검출, 추적 또는 오 인식함에 따라, 미리 설정된 기준 거리 이상의 거리를 가질 수 있다.
반대로, 동작 S610에서의 판단 결과, 측정된 이동 로봇(10) 및 사용자 사이의 거리와 이전에 측정된 이동 로봇(10) 및 사용자 사이의 거리 간 차이가 미리 설정된 기준 거리 이상이 아니면, 동작 S611에서 이동 로봇(10)은 추적 대상이 되는 사용자에 대한 측정 정보가 유효한 것으로 판단할 수 있다.
마지막으로, 추적 대상이 되는 사용자에 대한 측정 정보가 유효한 것으로 판단한 이동 로봇(10)은, 동작 S613에서 영상 내 사용자에 대한 위치를 계속 추적할 수 있다.
도 7은 일부 실시예 따른 이동 로봇이 주행 경로를 결정하는 방법의 흐름도이다.
동작 S701에서, 이동 로봇(10)은 영상 내에서 경계 박스의 중심점의 마지막 위치를 확인할 수 있다.
동작 S702에서, 이동 로봇(10)은 확인된 경계 박스의 중심점의 마지막 위치에 기초하여 사용자의 이동 방향을 예측할 수 있다.
이동 로봇(10)이 경계 박스의 중심점의 마지막 위치에 기초하여 사용자의 이동 방향을 예측하는 방법 및 예측된 이동 방향에 따라 이동 로봇의 회전 방향을 결정하는 방법에 대한 구체적인 예는 도 8을 통해 후술한다.
동작 S703에서, 이동 로봇(10)은 예측된 사용자의 이동 방향에 따라 이동 로봇의 주행 거리 및 회전 방향을 결정할 수 있다. 이동 로봇(10)은 예측된 사용자의 이동 방향에 따라 사용자에 대한 추종 주행을 계속하기 위한 주행 경로를 결정할 수 있다.
이동 로봇(10)은, 예를 들어, 깊이 이미지로부터 획득한 이동 로봇(10) 및 사용자 간의 거리에 기초하여, 사용자를 따라 회전하기 이전까지 주행할 거리를 결정할 수 있다. 또한, 이동 로봇(10)은, 예를 들어, 예측된 사용자의 이동 방향에 따라, 사용자를 따라 회전할 회전 방향을 결정할 수 있다.
즉, 이동 로봇(10)은 영상으로부터 이동 로봇(10)과 사용자 사이의 거리를 획득하고, 경계 박스의 중심점의 마지막 위치를 통해 사용자의 이동 방향을 예측함으로써, 획득된 이동 로봇(10) 및 사용자 간의 거리에 기초하여 결정된 주행 거리만큼 주행한 이후, 예측된 사용자의 이동 방향에 따라 결정된 회전 방향으로 회전하기 위한 최적의 주행 경로를 결정할 수 있다.
한편, 일 실시예에 따른 이동 로봇(10)은, 미리 설정된 각 추종 주행 모드에 기초하여 주행 경로를 서로 다르게 설정할 수 있다.
이동 로봇(10)은, 예를 들어, 이동 로봇(10)의 추종 주행 모드가 추종 주행 중 사용자의 얼굴이 지속적으로 영상 내에 존재하는 것이 바람직한 주행 모드(예를 들어, 화상 통화 주행 모드)일 경우, 주행 속도를 사용자의 이동 속도와 동일하게 설정하고, 주행 시 사용자 및 이동 로봇(10) 사이의 거리를 영상 내 사용자의 얼굴이 정 중앙에 위치할 수 있는 거리로 설정할 수 있다.
이동 로봇(10)은, 다른 예로, 이동 로봇(10)의 추종 주행 모드가 추종 주행 중 사용자의 몸통이 지속적으로 영상 내에 존재하는 것이 바람직한 주행 모드(예를 들어, 단순 사용자 추종 모드 및 짐 운반 모드 등)일 경우, 주행 속도를 사용자의 이동 속도와 동일하게 유지하고, 주행 시 사용자 및 이동 로봇(10) 사이의 거리를 영상 내 사용자의 몸통이 정 중앙에 위치할 수 있는 거리로 설정할 수 있다.
이동 로봇(10)은, 또 다른 예로, 이동 로봇(10)의 추종 주행 모드가 이동 로봇(10)의 스피커를 통한 음성 또는 음악의 지속적이 출력이 필요한 모드일 경우, 주행 속도를 사용자의 이동 속도와 동일하게 유지하고, 주행 시 사용자 및 이동 로봇(10) 사이의 거리를 이동 로봇(10)의 스피커를 통해 출력되는 음성 또는 음악이 사용자에게 가장 잘 들리는 거리로 설정할 수 있다.
이동 로봇(10)은, 또 다른 예로, 이동 로봇(10)의 추종 주행 모드가 이동 로봇(10)의 스피커를 통한 음성 또는 음악의 지속적이 출력이 필요한 모드일 경우, 이동 로봇(10)의 스피커를 통한 음성 또는 음악의 특성(예를 들어, 빠른 박자의 음악 및 느린 박자의 음악 등)에 따라 주행 속도 및 주행 경로를 다르게 설정할 수 있다. 이동 로봇(10)은, 예를 들어, 이동 로봇(10)의 스피커를 통해 출력되는 음악의 장르(예를 들어, 클래식 음악, 가요 음악 및 힙합 음악 등)에 따라 미리 설정된 주행 패턴(예를 들어, 직선 패턴, 곡선 패턴 및 S자 패턴 등)에 기초하여 주행 경로를 다르게 설정할 수 있다.
동작 S703에서, 이동 로봇(10)은 결정된 주행 거리 및 회전 방향에 따라 주행할 수 있다.
도 8은 일부 실시예 따른 이동 로봇이 예측된 사용자의 이동 방향에 기초하여 이동 로봇의 회전 방향 및 카메라 각도 조절 방향을 결정하는 예시를 나타낸 도면이다.
도 8의 (a)를 참조하면, 이동 로봇(10)이 경계 박스의 중심점의 마지막 위치에 기초하여 사용자의 이동 방향을 예측하기 위해 사용할 수 있는 영상 구분 영역의 일 예가 도시되어있다.
이동 로봇(10)은, 예를 들어, 복수의 영상 구분 영역 중 경계 박스의 중심점의 마지막 위치가 속하는 어느 하나의 영상 구분 영역에 기초하여 사용자의 이동 방향을 예측할 수 있다. 복수의 영상 구분 영역은, 예를 들어, 좌측 영역(L), 우측 영역(R), 좌하측 영역(BL) 및 우하측 영역(BR)을 포함할 수 있다.
도 8의 (b)를 참조하면, 이동 로봇(10)의 영상에서 사용자의 신체를 둘러싸는 경계 박스의 중심점의 마지막 위치가 도시되어있다. 경계 박스의 중심점의 마지막 위치는, 사용자의 신체를 둘러싸는 경계 박스가 존재하는 프레임 중 마지막 프레임의 이미지 상의 경계 박스의 중심점 위치를 의미한다.
도 8의 (a) 및 (b)를 참조하면, 이동 로봇(10)의 영상에서 사용자의 신체를 둘러싸는 경계 박스의 중심점의 마지막 위치는 복수의 영상 구분 영역 중 좌측 영역(L)에 포함되어있다. 이동 로봇(10)은 경계 박스의 중심점의 마지막 위치가 포함된 좌측 영역(L)에 대응하여 사용자의 이동 방향을 좌측 방향으로 예측할 수 있다.
이동 로봇(10)은 예측된 사용자의 이동 방향에 기초하여 이동 로봇(10)의 회전 방향 및 카메라 각도 조절 방향을 결정할 수 있다. 이동 로봇(10)은, 예를 들어, 기 설정된 중심점 위치 및 회전 방향/카메라 각도 조정 방향 비교 테이블을 사용하여 이동 로봇(10)의 회전 방향 및 카메라 각도 조절 방향을 결정할 수 있다.
도 8의 (c)를 참조하면, 이동 로봇(10)이 사용할 수 있는 중심점 위치 및 회전 방향/카메라 각도 조정 방향 비교 테이블의 일 예가 도시되어 있다.
이동 로봇(10)은, 예를 들어, 경계 박스의 중심점의 마지막 위치가 복수의 영상 구분 영역 중 좌측 영역(L)에 포함될 경우, 이동 로봇(10)의 회전 방향을 좌측(Left Rotation)으로 결정하고, 카메라의 각도는 조정하지 않을 수 있다. 또한, 이동 로봇(10)은, 예를 들어, 경계 박스의 중심점의 마지막 위치가 복수의 영상 구분 영역 중 우측 영역(R)에 포함될 경우, 이동 로봇(10)의 회전 방향을 우측(Right Rotation)으로 결정하고, 카메라의 각도는 조정하지 않을 수 있다.
이동 로봇(10)은, 예를 들어, 경계 박스의 중심점의 마지막 위치가 복수의 영상 구분 영역 중 좌하측 영역(BL)에 포함될 경우, 이동 로봇(10)의 회전 방향을 좌측(Left Rotation)으로 결정하고, 카메라의 각도 조정 방향을 하측(Down)으로 결정할 수 있다. 또한, 이동 로봇(10)은, 예를 들어, 경계 박스의 중심점의 마지막 위치가 복수의 영상 구분 영역 중 우하측 영역(BR)에 포함될 경우, 이동 로봇(10)의 회전 방향을 우측(Right Rotation)으로 결정하고, 카메라의 각도 조정 방향을 하측(Down)으로 결정할 수 있다.
도 9는 일부 실시예 따른 이동 로봇이 사용자 재 검출 여부에 따라 추적 계속 여부를 판단하는 방법의 흐름도이다.
도 9를 참조하면, 동작 S901에서, 이동 로봇(10)은 결정된 주행 거리 및 회전 방향에 따라 주행할 수 있다. 동작 S902에서, 이동 로봇(10)은 주행 경로에 따라 주행함과 동시에, 영상으로부터 상기 사용자가 재 검출되는지 여부를 판단할 수 있다.
동작 S902에서, 이동 로봇(10)은 주행 경로에 따라 주행함과 동시에, 영상으로부터 사용자가 재 검출되는지 여부를 판단할 수 있다.
이동 로봇(10)은, 예를 들어, 결정된 주행 거리만큼 이동한 이후, 결정된 회전 방향으로 회전함과 동시에, 이동 로봇(10)의 카메라를 통해 촬영된 영상에 추종 중이던 사용자가 포함되는지 여부를 판단할 수 있다. 즉, 이동 로봇(10)은 회전 중 실시간으로 획득되는 영상에 기초하여, 사용자가 영상으로부터 재 검출되는지 여부를 판단할 수 있다.
이동 로봇(10)은, 예를 들어, 회전 시작 시 카메라 방향을 기준으로, 결정된 회전 방향으로 한 바퀴, 즉 360도의 각도만큼 회전함과 동시에, 영상으로부터 사용자가 재 검출되는지 여부를 판단할 수 있다.
동작 S902에서의 판단 결과, 영상으로부터 사용자가 재 검출되면, 이동 로봇(10)은 재 검출된 사용자에 대한 위치 추적을 이어서 수행할 수 있다.
이동 로봇(10)은, 예를 들어, 결정된 회전 방향으로 한 바퀴 회전하는 동안 영상으로부터 사용자가 재 검출되면, 이동 로봇(10)은 검출된 사용자에 대한 위치 추적 및 추종 주행을 계속할 수 있다.
반대로, 동작 S902에서의 판단 결과, 영상으로부터 사용자가 재 검출되지 않으면, 이동 로봇(10)은 주행을 중단하고 대기 상태로 전환할 수 있다.
반면, 결정된 회전 방향으로 한 바퀴 회전하는 동안 영상으로부터 사용자가 재 검출되지 않으면, 이동 로봇(10)은 주행을 중단하고 대기 상태로 전환할 수 있다. 이동 로봇(10)은, 예를 들어, 이동 로봇(10)에 포함된 스피커를 통해, 사용자에 대한 추적 및 추종 주행이 중단되었음을 알리는 음성 알림을 출력할 수 있다. 이동 로봇(10)은, 예를 들어, 이동 로봇(10)에 포함된 디스플레이를 통해 사용자에 대한 추적 및 추종 주행이 중단되었음을 알리는 메시지를 표시할 수도 있다.
도 10은 일부 실시예 따른 이동 로봇의 장애물 인식에 따른 제동 방법의 예시를 나타내는 도면이다.
일 실시예에 따른 이동 로봇(10)은, 카메라를 통해 획득한 RGB 이미지 및 깊이 이미지를 통해 인식하지 못하는 이동 로봇(10)의 하단부 및 근거리 영역에 위치한 객체를 감지하기 위한 별도의 장애물 감지 센서를 포함할 수 있다.
이동 로봇(10)은, 예를 들어, 추종 주행 중인 사용자와 장애물을 구분하기 위해, 카메라를 통해 획득한 사용자(11) 및 이동 로봇(10) 사이의 거리와 장애물 감지 센서를 통해 획득한 객체 및 이동 로봇(10) 사이의 거리를 비교할 수 있다.
도 10의 (a)를 참조하면, 이동 로봇(10)이 카메라를 통해 획득한 사용자(11) 및 이동 로봇(10) 사이의 거리(1001)와, 장애물 감지 센서를 통해 검출한 객체 및 이동 로봇(10) 사이의 거리(1001)는 서로 동일할 수 있다.
카메라를 통해 획득한 사용자(11) 및 이동 로봇(10) 사이의 거리(1001)와, 장애물 감지 센서를 통해 검출한 객체, 즉 사용자(11) 및 이동 로봇(10) 사이의 거리(1001)가 서로 동일할 경우, 이동 로봇(10)은 장애물 감지 센서를 통해 검출한 객체가 사용자(11)인 것으로 판단하고, 주행을 계속할 수 있다.
한편, 도 10의 (b)를 참조하면, 이동 로봇(10)이 카메라를 통해 획득한 사용자(11) 및 이동 로봇(10) 사이의 거리(1001)와, 장애물 감지 센서를 통해 검출한 객체 및 이동 로봇(10) 사이의 거리(1002)는 서로 동일하지 않을 수 있다.
카메라를 통해 획득한 사용자(11) 및 이동 로봇(10) 사이의 거리(1001)와, 장애물 감지 센서를 통해 검출한 객체 및 이동 로봇(10) 사이의 거리(1001)가 서로 동일하지 않을 경우, 이동 로봇(10)은 장애물 감지 센서를 통해 검출한 객체가 장애물(15)인 것으로 판단하고, 장애물(15)을 회피하기 위한 제동을 수행할 수 있다.
도 11은 일부 실시예 따른 이동 로봇의 블록도이다.
도 11를 참조하면, 일부 실시예에 따른 이동 로봇(10)은사용자 입력부(1102), 통신부(1103), 메모리(1104), 카메라(1101), 주행부(1105), 센서부(1108), 프로세서(1109) 및 출력부를 포함할 수 있다. 이동 로봇(10)의 출력부는 스피커(1106) 및 디스플레이(1107)를 포함할 수 있다.
사용자 입력부(1102)는, 이동 로봇(10)의 동작을 제어하기 위한 사용자 입력을 수신할 수 있다. 예를 들어, 사용자 입력부(1102)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
통신부(1103)는 서버 및 외부 기기 등 이동 로봇(10)의 주행에 필요한 데이터를 주고받기 위한 통신에 사용되는 하나 이상의 통신 모듈을 포함할 수 있다. 예를 들어, 통신부(1103)는, 근거리 통신부, 이동 통신부를 포함할 수 있다. 근거리 통신부(short-range wireless communication unit)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 이동 통신부는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
메모리(1104)는 이동 로봇(10)의 동작을 제어하기 위한 프로그램을 저장할 수 있다. 메모리(1104)는 이동 로봇(10)의 동작을 제어하기 위한 적어도 하나의 인스트럭션을 포함할 수 있다. 또한, 메모리(1104)는, 예를 들어, 이동 로봇(10)이 위치한 소정의 공간의 형태에 관한 지도 데이터를 저장할 수 있다. 메모리(1104)는, 예를 들어, 지도 데이터를 생성하기 위한 학습 모델, 이동 로봇(10)의 주행 경로를 결정하기 위한 학습 모델 등을 저장할 수 있다. 메모리(1104)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류될 수 있다.
메모리(1104)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
카메라(1101)는 이동 로봇(10)의 주변을 촬영할 수 있다. 카메라(1101)는 이동 로봇(10)의 정지 또는 주행 중에 이동 로봇(10)의 주변을 실시간으로 촬영할 수 있다.
주행부(1105)는 이동 로봇(10)을 이동시키기 위한 적어도 하나의 구동 바퀴를 포함할 수 있다. 주행부(1105)는 구동 바퀴에 연결되어 구동 바퀴를 회전시키는 구동 모터를 포함할 수 있다. 구동 바퀴는 로봇 청소 장치의 본체의 좌, 우측에 각각 구비된 좌륜 및 우륜을 포함할 수 있다. 좌륜과 우륜은 하나의 구동 모터에 의해 구동될 수도 있으나, 필요에 따라 좌륜을 구동시키는 좌륜 구동 모터와 우륜을 구동시키는 우륜 구동 모터가 각각 구비될 수도 있다. 이 경우, 좌륜과 우륜의 회전 속도에 차이를 두어 이동 로봇(10)의 주행 방향을 좌측 또는 우측으로 전환할 수 있다.
스피커(1106)는 통신부(1103)로부터 수신되거나 메모리(1104)에 저장된 오디오 데이터를 출력할 수 있다. 스피커(1106)는 이동 로봇(10)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력할 수 있다.
디스플레이(1107)는 이동 로봇(10)에서 처리되는 정보를 표시 출력할 수 있다. 예를 들어, 디스플레이(1107)는, 이동 로봇(10)의 제어를 위한 사용자 인터페이스, 이동 로봇(10)의 상태 표시를 위한 사용자 인터페이스 등을 디스플레이할 수 있다.
한편, 디스플레이(1107)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이(1107)는 출력 장치 이외에 입력 장치로도 사용될 수 있다.
센서부(1108)는 이동 로봇(10)의 동작 및 상태와 관련된 데이터를 센싱하고, 이동 로봇(10)이 주행하는 소정의 공간의 구조에 관한 데이터를 획득 위한 적어도 하나의 센서를 포함할 수 있다. 센서부(1108)는, 예를 들어, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, 및 PSD(Position Sensitive Device) 센서 중 적어도 하나를 포함할 수 있다.
센서부(1108)는 이동 로봇(10)의 주변의 장애물을 감지할 수 있는 장애물 감지 센서를 더 포함할 수 있다. 또한, 센서부(1108)는 이동 로봇(10)의 동작을 감지하는 동작 감지 센서를 더 포함할 수 있다. 예를 들어, 센서부(1108)는 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 포함할 수 있다.
자이로 센서는, 이동 로봇(10)이 결정된 주행 경로에 따라 주행할 때 회전 방향을 감지하고 회전각을 검출할 수 있다. 휠 센서는, 좌륜과 우륜에 연결되어 바퀴의 회전수를 감지할 수 있다. 예를 들어, 휠 센서는 로터리 엔코더(Rotary Encoder)일 수 있으나 이에 제한되지 않는다.
프로세서(1109)는, 통상적으로 이동 로봇(10)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(1109)는, 메모리(1104)에 저장된 프로그램들을 실행함으로써, 카메라(1101), 사용자 입력부(1102), 통신부(1103), 메모리(1104), 주행부(1105), 센서부(1108) 및 출력부를 전반적으로 제어할 수 있다. 프로세서(1109)는 카메라(1101), 사용자 입력부(1102), 통신부(1103), 메모리(1104), 출력부(1700), 센서부(1108) 및 출력부를 제어함으로써, 도 1a 내지 도 10에서의 이동 로봇(10)의 동작을 제어할 수 있다.
프로세서(1109)는, 카메라를 통해 촬영된 이동 로봇(10) 주변의 영상으로부터 사용자의 몸통 및 얼굴 중 적어도 하나를 검출할 수 있다. 또한, 프로세서(1109)는, 사용자의 신체를 둘러싸는 경계 박스를 생성하고, 경계 박스의 중심점을 획득하고, 사용자가 이동함에 따라 영상 내에서 이동하는 경계 박스의 중심점의 위치에 기초하여 사용자의 위치를 추적할 수 있다.
프로세서(1109)는, 영상으로부터 획득된 깊이 정보에 기초하여 이동 로봇(10) 및 사용자 사이의 거리를 측정할 수 있다.
프로세서(1109)는, 경계 박스 내에 사용자의 신체가 존재하지 않거나, 측정된 이동 로봇(10) 및 사용자 사이의 거리가 미리 설정된 유효 거리 범위를 벗어날 경우 사용자의 위치에 대한 추적을 중단할 수 있다.
한편, 프로세서(1109)는, 이동 로봇(10) 및 사용자 사이의 거리를 주기적으로 측정하고, 측정된 이동 로봇(10) 및 사용자 사이의 거리와 이전에 측정된 이동 로봇(10) 및 사용자 사이의 거리 간 차이가 미리 설정된 기준 거리 이상일 경우, 사용자의 위치에 대한 추적을 중단할 수 있다.
프로세서(1109)는, 영상 내에서 경계 박스의 중심점의 마지막 위치에 기초하여 사용자의 이동 방향을 예측할 수 있다.
프로세서(1109)는, 측정된 이동 로봇(10)과 사용자 사이의 거리 및 예측된 사용자의 이동 방향에 따라 이동 로봇(10)의 주행 거리 및 회전 방향 중 적어도 하나를 결정할 수 있다. 프로세서(1109)는, 결정된 주행 경로에 따라 주행한 결과, 영상으로부터 사용자가 재 검출되지 않으면 이동 로봇(10)을 대기 상태로 전환할 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (20)

  1. 이동 로봇이 사용자를 따라 이동하는 방법에 있어서,
    상기 이동 로봇의 주변을 촬영하는 동작;
    상기 촬영된 영상으로부터 상기 사용자를 검출하는 동작;
    상기 사용자가 이동함에 따라, 상기 영상 내 상기 사용자의 위치를 추적하는 동작;
    기 설정된 기준에 따라 상기 사용자의 위치에 대한 추적이 중단되면, 상기 영상 내 상기 사용자의 마지막 위치에 기초하여 상기 사용자의 이동 방향을 예측하는 동작; 및
    예측된 상기 사용자의 이동 방향에 기초하여 상기 이동 로봇의 주행 경로를 결정하는 동작;을 포함하는, 방법.
  2. 제1항에 있어서,
    상기 영상으로부터 상기 사용자를 검출하는 동작은
    상기 영상으로부터 상기 사용자의 몸통 및 얼굴 중 적어도 하나를 검출하는 것인, 방법.
  3. 제2항에 있어서,
    상기 영상으로부터 상기 사용자를 검출하는 동작은
    상기 영상 내 상기 사용자의 얼굴의 위치에 기초하여 상기 영상을 촬영하는 카메라의 각도를 조절하는 동작을 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 영상으로부터 상기 사용자를 검출하는 동작은
    상기 사용자의 신체를 둘러싸는 경계 박스(bounding box)를 생성하는 동작을 포함하고,
    상기 영상 내 상기 사용자의 위치를 추적하는 동작은
    상기 경계 박스의 중심점을 획득하는 동작; 및
    상기 사용자가 이동함에 따라 상기 영상 내에서 이동하는 상기 경계 박스의 중심점의 위치에 기초하여 상기 사용자의 위치를 추적하는 동작;을 포함하는, 방법.
  5. 제4항에 있어서,
    상기 영상 내 상기 사용자의 위치를 추적하는 동작은
    상기 영상으로부터 획득된 깊이(depth) 정보에 기초하여 상기 이동 로봇 및 상기 사용자 사이의 거리를 측정하는 동작을 포함하는, 방법.
  6. 제5항에 있어서,
    상기 영상 내 상기 사용자의 위치를 추적하는 동작은
    상기 경계 박스 내에 상기 사용자의 신체가 존재하지 않거나, 측정된 상기 이동 로봇 및 상기 사용자 사이의 거리가 미리 설정된 유효 거리 범위를 벗어날 경우 상기 사용자의 위치에 대한 추적을 중단하는 동작을 포함하는, 방법.
  7. 제6항에 있어서,
    상기 영상 내 상기 사용자의 위치를 추적하는 동작은
    상기 이동 로봇 및 상기 사용자 사이의 거리를 주기적으로 측정하는 동작; 및
    측정된 상기 이동 로봇 및 상기 사용자 사이의 거리와 상기 측정 이전에 측정된 상기 이동 로봇 및 상기 사용자 사이의 거리 간 차이가 미리 설정된 기준 거리 이상일 경우, 상기 사용자의 위치에 대한 추적을 중단하는 동작을 더 포함하는, 방법.
  8. 제6항에 있어서,
    상기 사용자의 이동 방향을 예측하는 동작은
    상기 영상 내에서 상기 경계 박스의 중심점의 마지막 위치에 기초하여 상기 사용자의 이동 방향을 예측하는 것인, 방법
  9. 제8항에 있어서,
    상기 이동 로봇의 주행 경로를 결정하는 동작은
    측정된 상기 이동 로봇과 상기 사용자 사이의 거리 및 예측된 상기 사용자의 이동 방향에 따라 상기 이동 로봇의 주행 거리 및 회전 방향 중 적어도 하나를 결정하는 동작을 포함하는, 방법.
  10. 제1항에 있어서,
    결정된 상기 주행 경로에 따라 주행한 결과, 상기 영상으로부터 상기 사용자가 재 검출되지 않으면 상기 이동 로봇을 대기 상태로 전환하는 동작을 더 포함하는, 방법.
  11. 사용자를 따라 이동하는 이동 로봇에 있어서,
    적어도 하나의 카메라;
    하나 이상의 인터페이스를 저장하는 메모리; 및
    상기 하나 이상의 인터페이스를 실행함으로써 상기 이동 로봇을 제어하는 적어도 하나의 프로세서;를 포함하며,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 인터페이스를 실행함으로써, 상기 적어도 하나의 카메라를 통해 상기 이동 로봇의 주변을 촬영하고, 상기 촬영된 영상으로부터 상기 사용자를 검출하고, 상기 사용자가 이동함에 따라, 상기 영상 내 상기 사용자의 위치를 추적하고, 기 설정된 기준에 따라 상기 사용자의 위치에 대한 추적이 중단되면, 상기 영상 내 상기 사용자의 마지막 위치에 기초하여 상기 사용자의 이동 방향을 예측하고, 예측된 상기 사용자의 이동 방향에 기초하여 상기 이동 로봇의 주행 경로를 결정하는, 이동 로봇.
  12. 제11항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 영상으로부터 상기 사용자의 몸통 및 얼굴 중 적어도 하나를 검출하는, 이동 로봇.
  13. 제11항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 사용자의 신체를 둘러싸는 경계 박스(bounding box)를 생성하고, 상기 경계 박스의 중심점을 획득하고, 상기 사용자가 이동함에 따라 상기 영상 내에서 이동하는 상기 경계 박스의 중심점의 위치에 기초하여 상기 사용자의 위치를 추적하는, 이동 로봇.
  14. 제13항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 영상으로부터 획득된 깊이(depth) 정보에 기초하여 상기 이동 로봇 및 상기 사용자 사이의 거리를 측정하는, 이동 로봇.
  15. 제14항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 경계 박스 내에 상기 사용자의 신체가 존재하지 않거나, 측정된 상기 이동 로봇 및 상기 사용자 사이의 거리가 미리 설정된 유효 거리 범위를 벗어날 경우 상기 사용자의 위치에 대한 추적을 중단하는, 이동 로봇.
  16. 제15항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 이동 로봇 및 상기 사용자 사이의 거리를 주기적으로 측정하고, 측정된 상기 이동 로봇 및 상기 사용자 사이의 거리와 상기 측정 이전에 측정된 상기 이동 로봇 및 상기 사용자 사이의 거리 간 차이가 미리 설정된 기준 거리 이상일 경우, 상기 사용자의 위치에 대한 추적을 중단하는, 이동 로봇.
  17. 제15항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 영상 내에서 상기 경계 박스의 중심점의 마지막 위치에 기초하여 상기 사용자의 이동 방향을 예측하는, 이동 로봇.
  18. 제17항에 있어서,
    상기 적어도 하나의 프로세서는
    측정된 상기 이동 로봇과 상기 사용자 사이의 거리 및 예측된 상기 사용자의 이동 방향에 따라 상기 이동 로봇의 주행 거리 및 회전 방향 중 적어도 하나를 결정하는, 이동 로봇.
  19. 제11항에 있어서,
    상기 적어도 하나의 프로세서는
    결정된 상기 주행 경로에 따라 주행한 결과, 상기 영상으로부터 상기 사용자가 재 검출되지 않으면 상기 이동 로봇을 대기 상태로 전환하는, 이동 로봇.
  20. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 포함하는 컴퓨터 프로그램 장치.
KR1020190000667A 2019-01-03 2019-01-03 이동 로봇 및 그 구동 방법 KR20200087361A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190000667A KR20200087361A (ko) 2019-01-03 2019-01-03 이동 로봇 및 그 구동 방법
PCT/KR2020/000051 WO2020141900A1 (ko) 2019-01-03 2020-01-02 이동 로봇 및 그 구동 방법
US17/420,859 US11801602B2 (en) 2019-01-03 2020-01-02 Mobile robot and driving method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190000667A KR20200087361A (ko) 2019-01-03 2019-01-03 이동 로봇 및 그 구동 방법

Publications (1)

Publication Number Publication Date
KR20200087361A true KR20200087361A (ko) 2020-07-21

Family

ID=71406601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190000667A KR20200087361A (ko) 2019-01-03 2019-01-03 이동 로봇 및 그 구동 방법

Country Status (3)

Country Link
US (1) US11801602B2 (ko)
KR (1) KR20200087361A (ko)
WO (1) WO2020141900A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11949984B2 (en) 2021-03-12 2024-04-02 Samsung Electronics Co., Ltd. Electronic device that performs a driving operation of a second camera based on a determination that a tracked object is leaving the field of view of a moveable first camera having a lesser angle of view than the second camera, method for controlling the same, and recording medium of recording program

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11551552B2 (en) * 2018-07-30 2023-01-10 GM Global Technology Operations LLC Distributing processing resources across local and cloud-based systems with respect to autonomous navigation
US20210373576A1 (en) * 2019-01-03 2021-12-02 Lg Electronics Inc. Control method of robot system
WO2020152777A1 (ja) * 2019-01-22 2020-07-30 本田技研工業株式会社 同行移動体
KR20190134554A (ko) * 2019-11-15 2019-12-04 엘지전자 주식회사 동적 장애물을 식별하는 방법 및 이를 구현한 로봇

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100222925A1 (en) 2004-12-03 2010-09-02 Takashi Anezaki Robot control apparatus
JP5187563B2 (ja) 2007-01-22 2013-04-24 株式会社ゼットエムピー 音響再生ロボット
KR101077967B1 (ko) 2010-02-09 2011-10-28 중앙대학교 산학협력단 이동식 감시 및 추적 장치 및 방법
US20120316680A1 (en) 2011-06-13 2012-12-13 Microsoft Corporation Tracking and following of moving objects by a mobile robot
US9321173B2 (en) 2012-06-22 2016-04-26 Microsoft Technology Licensing, Llc Tracking and following people with a mobile robotic device
TW201434600A (zh) 2013-03-01 2014-09-16 Compal Electronics Inc 具有可因應不同聲音信號產生相對應肢體動作之機器人
CN104102220A (zh) * 2014-07-11 2014-10-15 上海裕山信息科技有限公司 用于监测人体位置的导览机器人及其控制方法
KR101795843B1 (ko) 2014-12-23 2017-12-04 한국해양대학교 산학협력단 추종로봇 및 그 제어방법
US20170368691A1 (en) 2016-06-27 2017-12-28 Dilili Labs, Inc. Mobile Robot Navigation
KR102286006B1 (ko) 2016-11-23 2021-08-04 한화디펜스 주식회사 추종 장치 및 추종 시스템
KR101907548B1 (ko) 2016-12-23 2018-10-12 한국과학기술연구원 휴먼 추종을 위한 이동로봇의 주행 및 탐색방법
JP7017025B2 (ja) 2017-03-08 2022-02-08 日本電気株式会社 自律移動ロボット、自律移動ロボットの制御方法および制御プログラム
KR20180106178A (ko) 2017-03-17 2018-10-01 삼성전자주식회사 무인 비행체, 전자 장치 및 그에 대한 제어 방법
CN109144043A (zh) 2017-06-27 2019-01-04 金宝电子工业股份有限公司 追踪目标物的方法
KR102021833B1 (ko) * 2017-09-26 2019-09-17 엘지전자 주식회사 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11949984B2 (en) 2021-03-12 2024-04-02 Samsung Electronics Co., Ltd. Electronic device that performs a driving operation of a second camera based on a determination that a tracked object is leaving the field of view of a moveable first camera having a lesser angle of view than the second camera, method for controlling the same, and recording medium of recording program

Also Published As

Publication number Publication date
US11801602B2 (en) 2023-10-31
US20220063096A1 (en) 2022-03-03
WO2020141900A1 (ko) 2020-07-09

Similar Documents

Publication Publication Date Title
KR20200087361A (ko) 이동 로봇 및 그 구동 방법
WO2021128777A1 (en) Method, apparatus, device, and storage medium for detecting travelable region
US20170371450A1 (en) Detecting tap-based user input on a mobile device based on motion sensor data
CN105090082B (zh) 风扇控制方法及装置
KR102670610B1 (ko) 공항용 로봇 및 그의 동작 방법
KR102235271B1 (ko) 이동 로봇 및 그 제어방법
WO2018068771A1 (zh) 目标跟踪方法、系统、电子设备和计算机存储介质
JP6587628B2 (ja) 命令生成方法及び装置
TWI684136B (zh) 機器人、控制系統以及用以操作機器人之方法
KR20190139262A (ko) 차량 손실 평가 이미지를 획득하기 위한 방법과 장치, 서버 및 단말기 디바이스
US20140362253A1 (en) Beamforming method and apparatus for sound signal
TWI481980B (zh) 電子裝置及其導航方法
KR102500634B1 (ko) 안내 로봇 및 그의 동작 방법
KR20190134554A (ko) 동적 장애물을 식별하는 방법 및 이를 구현한 로봇
US20140348380A1 (en) Method and appratus for tracking objects
US20160282937A1 (en) Gaze tracking for a mobile device
US20210356293A1 (en) Robot generating map based on multi sensors and artificial intelligence and moving based on map
KR20180135755A (ko) 비전 정보에 기반한 위치 설정 방법 및 이를 구현하는 로봇
KR20110030951A (ko) 동작 검출 장치 및 방법
KR20200023707A (ko) 이동 로봇
US9062969B1 (en) Surface distance determination using reflected light
CN113014658B (zh) 设备控制及装置、电子设备、存储介质
KR102493149B1 (ko) 이미지 처리 장치, 및 이를 구비하는 이동 로봇
KR20180124713A (ko) 도로의 형상을 추정하는 전자 장치 및 그 동작 방법
JP5448429B2 (ja) 移動体検知装置および移動体検知方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application