KR20210082118A - 이동 로봇 장치 및 이의 제어 방법 - Google Patents

이동 로봇 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR20210082118A
KR20210082118A KR1020200182604A KR20200182604A KR20210082118A KR 20210082118 A KR20210082118 A KR 20210082118A KR 1020200182604 A KR1020200182604 A KR 1020200182604A KR 20200182604 A KR20200182604 A KR 20200182604A KR 20210082118 A KR20210082118 A KR 20210082118A
Authority
KR
South Korea
Prior art keywords
mobile robot
robot device
target rpm
motor
processor
Prior art date
Application number
KR1020200182604A
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 PCT/KR2020/019099 priority Critical patent/WO2021133105A1/ko
Publication of KR20210082118A publication Critical patent/KR20210082118A/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/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • 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/0008Balancing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

이동 로봇 장치가 개시된다. 본 이동 로봇 장치는, 모터를 구비하는 본체, 모터를 통해 구동력을 제공 받으며, 본체의 양 측면에 배치되는 제1 및 제2 바퀴, 본체의 기울기를 감지하는 센서 및 이동 로봇 장치에 대한 주행 신호가 입력되면 주행 신호에 포함된 제1 속도 정보에 기초하여 모터를 제어하고, 센서로부터 감지된 기울기가 기설정된 범위이면 기울기에 기초하여 제1 속도 정보를 업데이트하는 프로세서를 포함한다.

Description

이동 로봇 장치 및 이의 제어 방법{MOVING ROBOT APPARATUS AND CONTROL METHOD THEREOF}
본 개시는 이동 로봇 장치 및 이의 제어 방법에 관한 것으로, 보다 상세하게는 주행 시 본체의 흔들림을 감소시키기 위한 이동 로봇 장치 및 이의 제어 방법에 관한 것이다.
로봇 기술의 발전에 따라 전문화된 학술 분야 또는 대규모의 노동력을 요하는 산업 분야뿐만 아니라 일반적인 가정에도 로봇의 공급이 보편화 되고 있다. 또한, 위치가 고정된 채 기능을 수행하는 로봇뿐만 아니라, 위치를 이동할 수 있는 이동형 로봇도 보급되고 있다.
기존의 이동 로봇의 형태는 바닥면에 바퀴가 있고 그 위에 전자장치가 배치되는 구조였다. 이러한 형태는 안정적인 주행이 가능하나, 회전 반경이 크고 넘어졌을 경우 원래 위치로 복귀할 수 없는 문제점이 있었다.
또한, 이동 로봇의 전체 크기 대비 바퀴가 차지하는 공간이 작았고, 이에 따라 문턱과 같은 장애물을 넘을 수 없었으며, 카펫과 같이 딱딱하지 않은 바닥에서 이동할 수 없었다.
이에, 이동 로봇 전체 크기에서 바퀴가 차지하는 비중이 큰 형태의 이동 로봇이 존재하였으나, 종래의 로봇은 회전 관성력 및 작용 반작용에 따라 흔들거림이 있어 안정적인 주행 및 정보 수집을 할 수 없는 한계가 존재하였다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 본 개시의 목적은 본체의 흔들림을 감소시킴으로써 안정적인 주행 및 본체에 포함된 카메라를 통해 촬영되는 영상의 품질을 향상시킬 수 있는 이동 로봇 장치 및 이의 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위해 본 개시의 일 실시예에 따른 이동 로봇 장치는, 모터를 구비하는 본체, 상기 모터를 통해 구동력을 제공 받으며, 상기 본체의 양 측면에 배치되는 제1 및 제2 바퀴, 상기 본체의 기울기를 감지하는 센서 및 상기 이동 로봇 장치에 대한 주행 신호가 입력되면 상기 주행 신호에 포함된 제1 속도 정보에 기초하여 상기 모터를 제어하고, 상기 센서로부터 감지된 기울기가 기설정된 범위이면 상기 기울기에 기초하여 상기 제1 속도 정보를 업데이트하는 프로세서를 포함한다.
이 경우, 상기 프로세서는, 상기 제1 속도 정보에 기초하여 상기 모터에 대한 제1 목표 RPM을 산출하고, 상기 기울기에 대응되는 제2 목표 RPM을 산출하고, 상기 제1 목표 RPM 및 상기 제2 목표 RPM이 합산된 값으로 상기 제1 속도 정보를 업데이트할 수 있다.
이 경우, 상기 프로세서는, 상기 센서를 통해 감지된 상기 본체의 피치 각에 기초하여 상기 제2 목표 RPM을 산출할 수 있다.
한편, 상기 프로세서는, 상기 이동 로봇 장치가 등속 주행하는 경우, 상기 본체의 기설정된 피치 각이 유지되도록 상기 제2 목표 RPM을 산출할 수 있다.
한편, 상기 프로세서는, 상기 이동 로봇 장치가 가속 주행하는 경우, 가속도 값에 대응되는 피치 각이 유지되도록 상기 제2 목표 RPM을 산출할 수 있다.
한편, 상기 이동 로봇 장치는, 영상을 촬영하는 촬상 소자를 더 포함하고, 상기 프로세서는, 상기 촬상 소자에서 촬영된 영상에 기초하여 촬영 대상의 위치를 획득하고, 획득된 촬영 대상의 위치를 따라 주행하도록 상기 모터를 제어할 수 있다.
이 경우, 상기 프로세서는, 상기 이동 로봇 장치가 가속 주행하는 동안 촬영 대상의 위치 획득을 멈출 수 있다.
한편, 본 개시의 일 실시예에 따른 이동 로봇 장치의 제어 방법은, 상기 이동 로봇 장치에 대한 주행 신호가 입력되면 상기 주행 신호에 포함된 제1 속도 정보에 기초하여 모터를 제어하는 단계, 센서를 통해 상기 이동 로봇 장치의 본체의 기울기를 감지하는 단계 및 상기 센서로부터 감지된 기울기가 기설정된 범위이면 상기 기울기에 기초하여 상기 제1 속도 정보를 업데이트하는 단계를 포함할 수 있다.
이 경우, 상기 업데이트하는 단계는, 상기 제1 속도 정보에 기초하여 상기 모터에 대한 제1 목표 RPM을 산출하는 단계 및 상기 기울기에 대응되는 제2 목표 RPM을 산출하는 단계를 포함하고, 상기 제1 목표 RPM 및 상기 제2 목표 RPM이 합산된 값으로 상기 제1 속도 정보를 업데이트할 수 있다.
이 경우, 상기 제2 목표 RPM을 산출하는 단계는, 상기 센서를 통해 감지된 상기 본체의 피치 각에 기초하여 상기 제2 목표 RPM을 산출할 수 있다.
한편, 상기 제2 목표 RPM을 산출하는 단계는, 상기 이동 로봇 장치가 등속 주행하는 경우, 상기 본체의 기설정된 피치 각이 유지되도록 상기 제2 목표 RPM을 산출할 수 있다.
한편, 상기 제2 목표 RPM을 산출하는 단계는, 상기 이동 로봇 장치가 가속 주행하는 경우, 가속도 값에 대응되는 피치 각이 유지되도록 상기 제2 목표 RPM을 산출할 수 있다.
한편, 상기 제어 방법은, 촬상 소자에서 촬영된 영상에 기초하여 촬영 대상의 위치를 획득하는 단계를 더 포함하고, 상기 모터를 제어하는 단계는, 상기 이동 로봇 장치가 상기 획득된 촬영 대상의 위치를 따라 주행하도록 상기 모터를 제어할 수 있다.
이 경우, 상기 모터를 제어하는 단계는, 상기 이동 로봇 장치가 가속 주행하는 동안 촬영 대상의 위치 획득을 멈출 수 있다.
한편, 본 개시의 일 실시예에 따른 이동 로봇 장치를 제어하기 위한 프로그램이 저장된 컴퓨터 판독 가능 기록 매체에 있어서, 상기 프로그램은, 상기 이동 로봇 장치에 대한 주행 신호가 입력되면 상기 주행 신호에 포함된 제1 속도 정보에 기초하여 모터를 제어하는 단계, 센서를 통해 상기 이동 로봇 장치의 본체의 기울기를 감지하는 단계 및 상기 센서로부터 감지된 기울기가 기설정된 범위이면 상기 기울기에 기초하여 상기 제1 속도 정보를 업데이트하는 단계를 포함한다.
도 1은 본 개시의 일 실시예에 따른 이동 로봇 장치를 개략적으로 나타내는 사시도이다.
도 2는 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 설명하기 위한 블록도이다.
도 3은 도 1의 이동 로봇 장치의 정면도이다.
도 4는 도 1의 이동 로봇 장치의 배면도이다.
도 5는 본 개시의 일 실시예에 따른 이동 로봇 장치가 등속 주행하는 경우를 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 이동 로봇 장치가 가속하며 주행하는 경우를 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 이동 로봇 장치가 감속하며 주행하는 경우를 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 이동 로봇 장치의 제어 방법을 설명하기 위한 도면이다.
이하에서 설명되는 실시 예는 본 개시의 이해를 돕기 위하여 예시적으로 나타낸 것이며, 본 개시는 여기서 설명되는 실시 예들과 다르게, 다양하게 변형되어 실시될 수 있음이 이해되어야 할 것이다. 다만, 이하에서 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성요소에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명 및 구체적인 도시를 생략한다. 또한, 첨부된 도면은 개시의 이해를 돕기 위하여 실제 축척대로 도시된 것이 아니라 일부 구성요소의 치수가 과장되게 도시될 수 있다.
본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 수 있다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한, 본 개시에서 사용한 '정면', '배면', '상면', '하면', '측면', '좌측', '우측', '상부', '하부' 등의 용어는 도면을 기준으로 정의한 것이며, 이 용어에 의해 각 구성요소의 형상 및 위치가 제한되는 것은 아니다.
그리고, 본 명세서에서는 본 개시의 각 실시 예의 설명에 필요한 구성요소를 설명한 것이므로, 반드시 이에 한정되는 것은 아니다. 따라서, 일부 구성요소는 변경 또는 생략될 수도 있으며, 다른 구성요소가 추가될 수도 있다. 또한, 서로 다른 독립적인 장치에 분산되어 배치될 수도 있다.
나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 개시의 실시 예를 상세하게 설명하지만, 본 개시가 실시 예들에 의해 제한되거나 한정되는 것은 아니다.
이하, 도 1 내지 도 8을 참고하여 본 개시를 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 이동 로봇 장치를 개략적으로 나타내는 사시도이다.
이동 로봇 장치(1)는 주변 환경을 인식하고 자율 주행 및 정보 수집이 가능하며 사용자에게 정보를 전달하는 등 다양한 기능을 가지는 장치이다.
이동 로봇 장치(1)는 음성, 소리 및 영상 인식을 기반으로 주변 환경을 인식할 수 있다. 또한, 무선 통신을 통해 다른 전자제품을 제어하거나 음성을 출력함으로써 사용자에게 정보를 전달할 수 있다.
이동 로봇 장치(1)는 모터, 바퀴 등을 포함하는 구동부를 통해 물리적 이동이 가능하고, 이로써 실내 및 실외를 포함하는 사용자의 환경 전반에 걸쳐 이동 로봇 장치(1)의 다양한 기능을 실행할 수 있다.
이동 로봇 장치(1)가 가정 내에서 이용될 경우, 가정 내에 배치된 TV, 청소기, 세탁기 등 전자제품과 상호 작용하여 기능 실행 및 정보를 수집하고, 수집한 정보를 애완동물을 포함한 가족구성원에게 전달할 수 있다. 이에 따라, 가정 내 모든 구성원과 전자제품을 연결할 수 있다.
이동 로봇 장치(1)는 사용자가 부재하는 경우에도 가정 내 환경을 지속적으로 확인, 점검하여 애완동물을 포함한 도움이 필요한 가족구성원과 사용자를 연결할 수 있다. 또한, 물리적 이동을 통하여 가정 내 다른 가전제품을 확인, 조작할 수 있다. 이를 통해, 가정 내 안전을 도모하고 보안을 강화할 수 있다.
본 개시의 일 실시예에 따른 이동 로봇 장치(1)는 가정 내에서 업무를 수행하는 형태로 구현될 수 있으나 이에 한정되지 않으며, 다양한 실시예에 따른 로봇 장치로 구현될 수 있다.
도 1을 참고하면, 본 개시의 일 실시예에 따른 이동 로봇 장치(1)는 본체(10), 본체(10)의 양 측면에 각각 배치되는 제1 바퀴(121) 및 제2 바퀴(122), 촬상 소자(200) 및 본체(10)를 감싸는 상부 커버(11), 하부 커버(12), 제1 측면 커버(131) 및 제2 측면 커버(132)를 포함할 수 있다.
이동 로봇 장치(1)는 주변 환경에서 소리, 음성, 영상 등 다양한 정보를 수집, 분석하여 자율 주행이 가능하게 할 수 있다. 예를 들어, 이동 로봇 장치(1)의 프로세서(400)는 촬상 소자(200), 센서(300), 마이크(700) 등을 통해 수집한 주변 환경에 대한 정보에 기초하여 이동 로봇 장치(1)를 제어함으로써 안정적으로 주행을 하거나 다양한 기능을 수행할 수 있다. 이동 로봇 장치(1)가 주변 환경에 대한 정보를 수집하는 동작에 대한 상세한 설명은 후술하기로 한다.
도 1을 참고하면, 이동 로봇 장치(1)는 본체(10)를 감싸는 복수의 커버들(11, 12, 131, 132)을 포함할 수 있다. 복수의 커버들(11, 12, 131, 132)은 동일한 곡률(Curvature)을 가질 수 있고, 이에 따라 이동 로봇 장치(1)의 전체적인 외관이 구체를 이루도록 배치될 수 있다.
한편, 본체(10)의 하부에 배치되는 하부 커버(12)의 표면은 구체의 일부를 이루는 형상이 아닐 수 있다. 하부 커버(12)의 형태에 대한 상세한 설명은 도 3 내지 도 4에서 후술하기로 한다.
제1 및 제2 측면 커버(131, 132)는 각각 제1 및 제2 바퀴(121, 122)의 측면을 감싸도록 배치될 수 있다. 제1 바퀴(121)는 제1 측면 커버(131)에 결합되고, 제2 바퀴(122)는 제2 측면 커버(132)에 결합될 수 있다.
제1 바퀴(121)는 제1 모터(미도시)에 연결되고, 제2 바퀴(122)는 제2 모터(미도시)에 연결될 수 있으며, 동일한 속도로 회전하거나 서로 다른 속도로 회전할 수도 있다.
도 2는 본 개시의 일 실시예에 따른 이동 로봇 장치의 구성을 설명하기 위한 블록도이다.
도 2를 참고하면, 이동 로봇 장치(1)는 구동부(100), 촬상 소자(200), 센서(300), 프로세서(400), 메모리(500), 통신 인터페이스(600) 및 마이크(700)를 포함할 수 있다.
구동부(100)는 이동 로봇 장치(1)를 구동시키기 위한 구성으로, 구동력을 제공하는 모터(미도시), 모터에 연결되는 제1 및 제2 바퀴(121, 122), 배터리, 액츄에이터(Actuator), 기어, 베어링 등이 포함될 수 있다.
촬상 소자(200)는 주변 환경을 인식하고, 영상 촬영을 통해 주변 환경에 대한 정보를 수집할 수 있다. 이 경우, 프로세서(400)는 촬상 소자(200)를 통해 촬영된 영상에 기초하여 촬영 대상의 위치를 획득하고, 이동 로봇 장치(1)가 획득된 촬영 대상의 위치를 따라 주행하도록 모터를 제어할 수 있다. 촬상 소자(200)는 주변 공간에 대한 이미지를 획득하는 카메라(예: 모노 카메라, 스테레오 카메라 등)일 수 있다.
센서(300)는 감지 결과에 대한 전기적 신호를 생성하여 출력할 수 있다. 센서(300)는 전기적 신호를 프로세서(400)로 전달하거나, 감지 결과를 이동 로봇 장치(1)의 메모리(500) 또는 외부 장치에 저장할 수 있다.
센서(300)는 본체(10)의 기울기를 감지하기 위한 자이로 센서, 가속도 센서 등을 포함할 수 있다.
프로세서(400)는 이동 로봇 장치(1)의 전반적인 동작을 제어할 수 있다. 이를 위해, 프로세서(400)는 RAM(미도시), ROM(미도시), 그래픽 처리부(미도시), 메인 CPU(미도시), 제1 내지 n 인터페이스(미도시), 버스(미도시)를 포함할 수 있다. 이때, RAM(미도시), ROM(미도시), 그래픽 처리부(미도시), 메인 CPU(미도시), 제1 내지 n 인터페이스(미도시) 등은 버스(미도시)를 통해 서로 연결될 수 있다.
프로세서(400)는 모터의 구동을 제어하여 이동 로봇 장치(1)의 주행을 제어할 수 있다. 예를 들어, 프로세서(400)는 제1 및 제2 모터를 제어하여 제1 및 제2 바퀴(121, 122)를 같은 회전 방향, 같은 속도로 회전시켜 이동 로봇 장치(1)가 +Y축 방향으로 직진 주행하도록 할 수 있다.
또한, 프로세서(400)는 전술한 회전 방향과 반대 방향으로 제1 및 제2 바퀴(121, 122)가 회전하도록 제어하여 이동 로봇 장치(1)가 -Y축 방향으로 후진 주행하도록 할 수 있다.
또한, 프로세서(400)는 제1 및 제2 바퀴(121, 122)가 서로 다른 속도로 회전하도록 제어하여 이동 로봇 장치(1)의 주행 방향을 변경할 수 있고, 제1 및 제2 바퀴(121, 122)가 서로 다른 방향으로 회전하도록 제어하여 이동 로봇 장치(1)를 제자리에서 회전시킬 수 있다.
특히, 프로세서(400)는 이동 로봇 장치(1)에 대한 주행 신호가 입력되면 주행 신호에 포함된 제1 속도 정보에 기초하여 모터를 제어하고, 센서(300)로부터 감지된 본체(10)의 기울기가 기설정된 범위이면 감지된 기울기에 기초하여 제1 속도 정보를 업데이트할 수 있다.
예를 들어, 프로세서는 이동 로봇 장치(1)의 주행 속도가 입력된 제1 속도를 달성하도록 모터를 제어하고, 주행 중 센서(300)를 통해 감지된 본체(10)의 기울기에 기초하여 본체(10)의 기울기 변화가 기설정된 범위 이상이면 감지된 기울기에 기초하여 이동 로봇 장치(1)의 주행 속도를 변경하도록 모터를 제어할 수 있다. 이와 관련한 상세한 설명은 도 5 내지 도 7에서 후술하기로 한다.
메모리(500)에는 이동 로봇 장치(1) 또는 프로세서(400)의 동작에 필요한 각종 명령어(instruction), 프로그램 또는 데이터가 저장될 수 있다. 예를 들어, 메모리(500)에는 센서(300)에 의해 획득된 정보, 외부 전자 장치(미도시)로부터 수신된 데이터가 저장될 수 있다.
메모리(500)는 S-RAM(Static Random Access Memory), D-RAM(Dynamic Random Access Memory) 등의 휘발성 메모리와, Flash Memory, ROM(Read Only Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory) 등의 비휘발성 메모리, 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(500)는 프로세서(400)에 의해 액세스되며, 프로세서(400)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시의 메모리라는 용어는 메모리(500), 프로세서(400) 내의 RAM(미도시), ROM(미도시) 또는 이동 로봇 장치(1)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱 등)를 포함할 수 있다.
여기서, 프로세서(400)와 메모리(500)는 각각 물리적으로 분리된 구성으로 구현되거나, 프로세서(400)가 메모리(500)를 포함하는 것과 같이 단일 구성으로 구현될 수 있다. 또한, 프로세서(400)는 단일 구성 또는 복수의 구성이 하나의 시스템으로 구현될 수도 있다. 메모리(500) 또한 단일 구성 또는 복수의 구성이 하나의 시스템으로 구현될 수도 있다.
통신 인터페이스(600)는 다양한 유형의 통신 방식에 따라 외부 기기(예: 서버, 스마트폰 등)와 통신을 수행하여 다양한 유형의 데이터를 송수신할 수 있다.
이를 위해, 통신 인터페이스(600)는 무선 통신을 수행하는 블루투스 칩(미도시), 와이파이 칩(미도시), 무선 통신 칩(미도시) 및 NFC 칩(미도시), 유선 통신을 수행하는 이더넷 모듈(미도시) 및 USB 모듈(미도시) 중 적어도 하나를 포함할 수 있다. 이 경우, 유선 통신을 수행하는 이더넷 모듈 및 USB 모듈 등은 입출력포트(미도시)를 통하여 외부 기기와 통신을 수행할 수 있다.
여기서, 입출력포트(미도시)는 HDMI 포트, 디스플레이 포트, RGB 포트, DVI(Digital Visual Interface) 포트, 썬더볼트, LAN 포트, USB 포트, 라이트닝 케이블 포트 및 컴포넌트 포트 등 유선 포트로 구현될 수 있다. 입출력포트는 각각의 통신 규격을 통해 다양한 유형의 외부 기기와 통신을 수행하여 다양한 유형의 데이터를 송수신할 수 있다.
마이크(700)는 이동 로봇 장치(1) 주변에서 발생하는 소리 정보를 수신할 수 있다. 예를 들어, 마이크(700)는 사용자 발화 음성을 입력 받을 수 있다.
본체(10)에는 마이크(700)가 배치된 마이크 보드(미도시)가 포함될 수 있다. 마이크 보드에는 적어도 하나의 마이크(700)가 배치될 수 있다. 다만, 이에 한정되는 것은 아니며 복수개의 마이크(700)가 배치될 수 있다.
마이크(700)는 본체(10) 내부에서 상부에 위치할 수 있다. 예를 들어, 상부 커버(11)의 상부에 마이크 홀(미도시)이 형성될 수 있고, 마이크(700)는 마이크 홀의 하부에 배치될 수 있다.
이동 로봇 장치(1)는 크기가 작은 로봇이므로, 마이크(700)가 이동 로봇 장치(1)의 상부에 배치됨에 따라, 외부의 소리를 전방위로 인식하는 것이 용이할 수 있다.
한편, 마이크 보드에 마이크(700) 4개가 서로 각각 기설정된 간격만큼 이격 되어 배치될 수 있다. 프로세서(400)는 외부의 소리가 4개의 마이크(700)에 각각 도달하는 시간의 차이에 기초하여, 외부 소리가 발생한 방향을 인식할 수 있다.
도 3은 도 1의 이동 로봇 장치의 정면도이고, 도 4는 도 1의 이동 로봇 장치의 배면도이다.
도 3 내지 도 4를 참고하면, 본체(10)의 정면 상부(13)에는 촬상 소자(200) 등이 배치되고, 본체(10)의 배면 하부(14)에는 조작을 위한 버튼(도면번호 미부여) 등이 배치될 수 있다.
본체(10)의 정면 상부(13)에는 영상을 촬영하는 촬상 소자(200)와 같은 다양한 센서와 LED 등의 인디케이터(Indicator) 등이 배치될 수 있다. 본체(10)의 정면 상부(13)는 이동 로봇 장치(1)의 정면에서 전방 상단을 향하도록 본체(10)에 배치될 수 있다. 이에 따라, 본체(10)의 정면 상부(13)에 배치된 촬상 소자(200), 센서 등은 주변 환경의 바닥에서부터 천장까지 전체적으로 인식할 수 있다.
본체(10)의 배면 하부(14)에는 이동 로봇 장치(1)의 조작을 위한 버튼(도면번호 미부여), 충전을 위한 커넥터(도면번호 미부여), 이동 로봇 장치(1)의 상태를 나타내기 위한 LED 등이 배치될 수 있다.
도 3 내지 도 4를 참고하면, 이동 로봇 장치(1)를 정면 또는 배면에서 바라봤을 때, 하부 커버(12)의 하면은 바닥으로부터 일정 거리 이격되도록 형성될 수 있다. 예를 들어, 하부 커버(12)는 Y축 방향으로는 곡면을 형성하지만, X축 방향으로는 편평할 수 있다. 이에 따라, 본체(10)가 지면과 접촉하지 않아 이동 로봇 장치(1)의 주행이 원활하게 이루어질 수 있다.
이하, 도 5 내지 도 7을 참고하여 본 개시의 일 실시예에 따른 이동 로봇 장치에서 본체의 기울기 변화에 따라 모터를 제어하는 동작을 설명한다.
도 5를 참고하면, 이동 로봇 장치(1)가 등속 주행하는 경우 본체(10)의 촬상 소자(200)는 비교적 안정적으로 촬영하는 것이 가능하다. 그러나, 도 6 및 도 7과 같이 이동 로봇 장치(1)가 가속 또는 감속하는 경우와 같이 가속도를 가지고 주행하는 경우, 관성에 의해 본체(10)가 회전하게 되면서 촬상 소자(200)의 촬영 방향이 바뀔 수 있고, 이에 따라 촬상 소자(200)를 통해 획득한 영상의 품질이 저하될 수 있다.
프로세서(400)는 이동 로봇 장치(1)의 주행 속도가 입력된 제1 속도를 달성하도록 모터를 제어하고, 주행 중 센서(300)를 통해 감지된 본체(10)의 기울기에 기초하여 본체(10)의 기울기 변화가 기설정된 범위 이상이면 감지된 기울기에 기초하여 이동 로봇 장치(1)의 주행 속도를 변경하도록 모터를 제어할 수 있다.
예를 들어, 프로세서(400)는 주행 신호에 포함된 제1 속도 정보에 기초하여 모터에 대한 제1 목표 RPM을 산출함으로써 이동 로봇 장치(1)가 입력된 속도로 주행할 수 있도록 모터를 제어할 수 있다. 그리고, 프로세서(400)는 센서(300)를 통해 본체(10)의 기울기를 감지할 수 있다. 구체적으로, 프로세서(400)는 센서(300)를 통해 본체(10)의 피치(Pitch) 각을 감지하고, 피치 각의 변화가 기설정된 값 이상이면, 피치 각 변화에 대응되는 제2 목표 RPM을 산출할 수 있다.
프로세서(400)는 제1 목표 RPM 및 제2 목표 RPM이 합산된 값으로 제1 속도 정보, 즉 이동 로봇 장치(1)의 주행 속도를 업데이트할 수 있다.
예를 들어, 도 5와 같이 이동 로봇 장치(1)가 등속 주행하는 경우, 본체(10)의 기설정된 피치 각이 유지되도록 제2 목표 RPM을 산출할 수 있다. 이에 따라, 프로세서(400)는 본체(10)의 기울기에 따라 모터의 회전을 제어하여 본체(10)의 흔들림이 최소화되도록 제어함으로써, 촬상 소자(200)를 통해 획득되는 영상의 품질을 향상시킬 수 있다.
또한, 도 6 및 도 7과 같이 이동 로봇 장치(1)가 가속 주행하는 경우, 가속도 값에 대응되는 피치 각이 유지되도록 제2 목표 RPM을 산출할 수 있다. 예를 들어, 이동 로봇 장치(1)가 가속 시 본체(10)는 상부 측으로 회전(a1)하거나 하부 측으로 회전(a2)할 수 있으며, 가속 주행하는 동안 회전된 피치 각이 유지되도록 제2 목표 RPM을 산출할 수 있다. 이에 따라, 이동 로봇 장치(1)가 가속 주행하는 동안 촬상 소자(200)의 흔들림을 최소화할 수 있다.
다만, 이 경우 촬상 소자(200)가 기설정된 촬영 방향보다 위를 촬영하기 때문에, 이동 로봇 장치(1)가 촬영 대상의 위치를 따라 주행하는 경우, 가속 주행하는 동안에는 촬상 소자를 통해 촬영 대상에 대해 위치를 획득하는 동작을 멈출 수 있다. 가속이 완료된 후 등속 주행 구간에 도달하면, 프로세서(400)는 촬상 소자(200)를 통한 촬영 대상의 위치 획득 및 촬영 대상의 위치를 따라 주행하도록 모터를 제어하는 동작을 재개할 수 있다.
촬영 대상의 위치를 따라 주행하는 동작이 멈추는 구간을 최소화하기 위해, 프로세서(400)는 가속 시간이 1초 미만이 되도록 모터를 제어할 수 있다.
도 8은 본 개시의 일 실시예에 따른 이동 로봇 장치의 제어 방법을 설명하기 위한 도면이다.
도 8을 참고하면, 본 개시의 일 실시예에 따른 이동 로봇 장치의 제어 방법은, 이동 로봇 장치에 대한 주행 신호가 입력되면 주행 신호에 포함된 제1 속도 정보에 기초하여 모터를 제어하는 단계(S810), 센서를 통해 이동 로봇 장치의 본체의 기울기를 감지하는 단계(S820) 및 센서로부터 감지된 기울기가 기설정된 범위이면 기울기에 기초하여 제1 속도 정보를 업데이트하는 단계(S830)를 포함한다.
먼저, 이동 로봇 장치는 주행 신호가 입력되면 주행 신호에 포함된 제1 속도 정보에 기초하여 모터를 제어(S810)할 수 있다.
그리고, 이동 로봇 장치는 센서를 통해 본체의 기울기를 감지(S820)할 수 있다.
이 경우, 이동 로봇 장치는 센서를 통해 본체의 피치 각을 획득할 수 있다.
그리고, 이동 로봇 장치는 센서로부터 감지된 기울기가 기설정된 범위이면 기울기에 기초하여 제1 속도 정보를 업데이트(S830)할 수 있다.
이 경우, 프로세서는 제1 속도 정보에 기초하여 모터에 대한 제1 목표 RPM을 산출하고, 센서를 통해 감지된 기울기에 대응되는 제2 목표 RPM을 산출할 수 있으며, 제1 목표 RPM 및 제2 목표 RPM이 합산된 값으로 제1 속도 정보를 업데이트할 수 있다.
이 경우, 프로세서는 센서를 통해 감지된 본체의 피치 각에 기초하여 제2 목표 RPM을 산출할 수 있다.
한편, 프로세서는 이동 로봇 장치가 등속 주행하는 경우, 본체의 기설정된 피치 각이 유지되도록 제2 목표 RPM을 산출할 수 있다. 또한, 프로세서는 이동 로봇 장치가 가속 주행하는 경우, 가속도 값에 대응되는 피치 각이 유지되도록 제2 목표 RPM을 산출할 수 있다.
한편, 프로세서는 촬상 소자에서 촬영된 영상에 기초하여 촬영 대상의 위치를 획득하고, 이동 로봇 장치가 획득된 촬영 대상의 위치를 따라 주행하도록 모터를 제어할 수 있다. 이 경우, 이동 로봇 장치가 가속 주행하는 동안에는 촬영 대상의 위치 획득을 멈출 수도 있다.
한편, 상술한 본 개시의 다양한 실시예에 따른 이동 로봇 장치에서의 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시예에 따른 이동 로봇 장치의 처리 동작을 상술한 특정 기기가 수행하도록 한다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버 장치, 어플리케이션 스토어의 서버 장치, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서는 본 개시의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
1: 이동 로봇 장치 10: 본체
100: 구동부 121: 제1 바퀴
122: 제2 바퀴 200: 촬상 소자
300: 센서 400: 프로세서

Claims (15)

  1. 이동 로봇 장치에 있어서,
    모터를 구비하는 본체;
    상기 모터를 통해 구동력을 제공 받으며, 상기 본체의 양 측면에 배치되는 제1 및 제2 바퀴;
    상기 본체의 기울기를 감지하는 센서; 및
    상기 이동 로봇 장치에 대한 주행 신호가 입력되면 상기 주행 신호에 포함된 제1 속도 정보에 기초하여 상기 모터를 제어하고, 상기 센서로부터 감지된 기울기가 기설정된 범위이면 상기 기울기에 기초하여 상기 제1 속도 정보를 업데이트하는 프로세서;를 포함하는, 이동 로봇 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 속도 정보에 기초하여 상기 모터에 대한 제1 목표 RPM을 산출하고, 상기 기울기에 대응되는 제2 목표 RPM을 산출하고, 상기 제1 목표 RPM 및 상기 제2 목표 RPM이 합산된 값으로 상기 제1 속도 정보를 업데이트하는, 이동 로봇 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 센서를 통해 감지된 상기 본체의 피치 각에 기초하여 상기 제2 목표 RPM을 산출하는, 이동 로봇 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 이동 로봇 장치가 등속 주행하는 경우, 상기 본체의 기설정된 피치 각이 유지되도록 상기 제2 목표 RPM을 산출하는, 이동 로봇 장치.
  5. 제2항에 있어서,
    상기 프로세서는,
    상기 이동 로봇 장치가 가속 주행하는 경우, 가속도 값에 대응되는 피치 각이 유지되도록 상기 제2 목표 RPM을 산출하는, 이동 로봇 장치.
  6. 제1항에 있어서,
    영상을 촬영하는 촬상 소자;를 더 포함하고,
    상기 프로세서는,
    상기 촬상 소자에서 촬영된 영상에 기초하여 촬영 대상의 위치를 획득하고, 획득된 촬영 대상의 위치를 따라 주행하도록 상기 모터를 제어하는, 이동 로봇 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 이동 로봇 장치가 가속 주행하는 동안 촬영 대상의 위치 획득을 멈추는, 이동 로봇 장치.
  8. 이동 로봇 장치의 제어 방법에 있어서,
    상기 이동 로봇 장치에 대한 주행 신호가 입력되면 상기 주행 신호에 포함된 제1 속도 정보에 기초하여 모터를 제어하는 단계;
    센서를 통해 상기 이동 로봇 장치의 본체의 기울기를 감지하는 단계; 및
    상기 센서로부터 감지된 기울기가 기설정된 범위이면 상기 기울기에 기초하여 상기 제1 속도 정보를 업데이트하는 단계;를 포함하는, 제어 방법.
  9. 제8항에 있어서,
    상기 업데이트하는 단계는,
    상기 제1 속도 정보에 기초하여 상기 모터에 대한 제1 목표 RPM을 산출하는 단계; 및
    상기 기울기에 대응되는 제2 목표 RPM을 산출하는 단계;를 포함하고,
    상기 제1 목표 RPM 및 상기 제2 목표 RPM이 합산된 값으로 상기 제1 속도 정보를 업데이트하는, 제어 방법.
  10. 제9항에 있어서,
    상기 제2 목표 RPM을 산출하는 단계는,
    상기 센서를 통해 감지된 상기 본체의 피치 각에 기초하여 상기 제2 목표 RPM을 산출하는, 제어 방법.
  11. 제9항에 있어서,
    상기 제2 목표 RPM을 산출하는 단계는,
    상기 이동 로봇 장치가 등속 주행하는 경우, 상기 본체의 기설정된 피치 각이 유지되도록 상기 제2 목표 RPM을 산출하는, 제어 방법.
  12. 제9항에 있어서,
    상기 제2 목표 RPM을 산출하는 단계는,
    상기 이동 로봇 장치가 가속 주행하는 경우, 가속도 값에 대응되는 피치 각이 유지되도록 상기 제2 목표 RPM을 산출하는, 제어 방법.
  13. 제8항에 있어서,
    촬상 소자에서 촬영된 영상에 기초하여 촬영 대상의 위치를 획득하는 단계;를 더 포함하고,
    상기 모터를 제어하는 단계는,
    상기 이동 로봇 장치가 상기 획득된 촬영 대상의 위치를 따라 주행하도록 상기 모터를 제어하는, 제어 방법.
  14. 제13항에 있어서,
    상기 모터를 제어하는 단계는,
    상기 이동 로봇 장치가 가속 주행하는 동안 촬영 대상의 위치 획득을 멈추는, 제어 방법.
  15. 이동 로봇 장치를 제어하기 위한 프로그램이 저장된 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 프로그램은,
    상기 이동 로봇 장치에 대한 주행 신호가 입력되면 상기 주행 신호에 포함된 제1 속도 정보에 기초하여 모터를 제어하는 단계;
    센서를 통해 상기 이동 로봇 장치의 본체의 기울기를 감지하는 단계; 및
    상기 센서로부터 감지된 기울기가 기설정된 범위이면 상기 기울기에 기초하여 상기 제1 속도 정보를 업데이트하는 단계;를 포함하는, 기록 매체.
KR1020200182604A 2019-12-24 2020-12-23 이동 로봇 장치 및 이의 제어 방법 KR20210082118A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2020/019099 WO2021133105A1 (ko) 2019-12-24 2020-12-24 이동 로봇 장치 및 이의 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190174444 2019-12-24
KR1020190174444 2019-12-24

Publications (1)

Publication Number Publication Date
KR20210082118A true KR20210082118A (ko) 2021-07-02

Family

ID=76897325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200182604A KR20210082118A (ko) 2019-12-24 2020-12-23 이동 로봇 장치 및 이의 제어 방법

Country Status (1)

Country Link
KR (1) KR20210082118A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114589710A (zh) * 2022-03-04 2022-06-07 珠海市一微机器人技术有限公司 一种宠物机器人及其系统的逗宠控制方法及芯片

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114589710A (zh) * 2022-03-04 2022-06-07 珠海市一微机器人技术有限公司 一种宠物机器人及其系统的逗宠控制方法及芯片

Similar Documents

Publication Publication Date Title
CN110622494B (zh) 使用具有多个相机的铰接式设备进行图像捕捉
JP7377837B2 (ja) ゲームプレイを介して環境の詳細データセットを生成する方法およびシステム
US10383498B2 (en) Systems and methods to command a robotic cleaning device to move to a dirty region of an area
US20120198353A1 (en) Transferring data using a physical gesture
US9798394B2 (en) Camera-assisted motion estimation for application control
US9524021B2 (en) Imaging surround system for touch-free display control
TWI543019B (zh) 自動化裝置顯示器的定向偵測技術
CA2913787A1 (en) High-performance plane detection with depth camera data
US11216655B2 (en) Electronic device and controlling method thereof
US10979695B2 (en) Generating 3D depth map using parallax
US11388343B2 (en) Photographing control method and controller with target localization based on sound detectors
US20180252815A1 (en) 3D Depth Map
KR20210082118A (ko) 이동 로봇 장치 및 이의 제어 방법
WO2021133105A1 (ko) 이동 로봇 장치 및 이의 제어 방법
KR102302198B1 (ko) 청소 장치 및 그 제어 방법
KR20210082116A (ko) 이동 로봇 장치 및 이의 제어 방법
KR20210118616A (ko) 디스플레이 장치 및 그 제어 방법
WO2021133102A1 (ko) 이동 로봇 장치 및 이의 제어 방법
US10810800B2 (en) Apparatus and method for providing virtual reality content of moving means
CN113994651A (zh) 移动电子装置的部件的方法和支持该方法的电子装置
CN105794198A (zh) 一种图像处理方法、相关装置、处理器及系统
CN116156386A (zh) 一种智能音箱及智能音箱的显示方法

Legal Events

Date Code Title Description
A201 Request for examination