[go: up one dir, main page]

KR20210026595A - 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇 - Google Patents

로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇 Download PDF

Info

Publication number
KR20210026595A
KR20210026595A KR1020190107598A KR20190107598A KR20210026595A KR 20210026595 A KR20210026595 A KR 20210026595A KR 1020190107598 A KR1020190107598 A KR 1020190107598A KR 20190107598 A KR20190107598 A KR 20190107598A KR 20210026595 A KR20210026595 A KR 20210026595A
Authority
KR
South Korea
Prior art keywords
robot
transmission module
obstacle
sensor
moving
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020190107598A
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 KR1020190107598A priority Critical patent/KR20210026595A/ko
Priority to US16/838,499 priority patent/US11635759B2/en
Publication of KR20210026595A publication Critical patent/KR20210026595A/ko
Pending legal-status Critical Current

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/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Business, Economics & Management (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇에 관한 것으로, 본 발명의 일 실시예에 의한 관리자 모드로 이동하는 로봇은 송신모듈로부터 신호를 수신하면, 측위센서가 산출한 송신모듈의 위치를 향해 로봇을 얼라인 시킨 후 장애물 센서가 센싱한 장애물을 회피하여 로봇을 송신 모듈을 향해 이동시키고 송신모듈의 신호가 수신되지 않거나 송신모듈과 로봇 사이의 거리가 미리 설정된 거리 이하인 경우 정지한다.

Description

로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇{METHOD OF MOVING IN ADMINISTRATOR MODE AND ROBOT OF IMPLEMENTING THEREOF}
본 발명은 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇에 관한 기술이다.
대형 마트, 백화점, 공항, 골프장 등 인적, 물적 교류가 활발하게 발생하는 대형 공간에서 다양한 사람들이 다양한 물건을 소지하고 이동한다. 이 경우, 사용자의 편의를 제공하기 위해 물건을 이동시킴에 있어서 카트와 같은 로봇(카트로봇)이 사용자를 보조할 수 있다.
또한, 로봇은 물류 센터나 컨테이너 센터 등에서도 사용자를 보조하거나 혹은 자동으로 물류 배송을 수행할 수 있다.
종래에는 사용자가 로봇을 직접 또는 간접으로 핸들링하여 이동시켰다. 그러나 물류를 배송하거나 사용자를 추종하는 카트를 포함하는 로봇 내에 다양한 물품이 적재되거나 로봇 자체의 무게로 인해 로봇에 전기적인 동력을 결합시켜 사용자의 제어에 기반하여 이동하는 기술에 대한 필요성이 증가되었다.
뿐만 아니라, 사용자가 해당 카트 로봇을 사용한 후 카트 로봇을 두고 장소를 떠나는 경우, 해당 카트 로봇은 더 이상 사용되지 않으므로, 다른 사용자의 사용을 위해 대기할 수 있다.
이 과정에서 관리자가 카트로봇, 또는 배송 로봇 등 물품을 적재하거나 사용자를 보조하는 로봇들을 특정한 공간으로 쉽게 이동시키거나 또는 이들을 쉽게 정렬시킬 수 있도록 지원하는 기술이 필요하다.
따라서, 본 명세서에서는 별도의 물리적인 힘의 인가 없이도 다수의 로봇들을 특정한 장소를 향해 이동이나 정렬할 수 있도록 카트들이 자동으로 이동하거나 동작하는 방안을 제시하고자 한다.
전술한 문제점을 해결하기 위한 것으로, 본 명세서에서는 로봇이 관라자 모드 하에서 쉽게 이동할 수 있도록 로봇의 주행 기술들을 제시한다.
또한, 본 명세서에서는 로봇이 일반 모드의 이동과 달리 다수의 로봇들과 함께 이동할 수 있도록 장애물을 감지하여 회피하는 기술들을 제시한다.
또한, 본 명세서에서는 로봇이 관리자 모드로 이동하는 과정에서 주변의 장애물을 감지함에 있어 로봇인지 여부를 판단하여 로봇의 이동 속도나 이동 방향을 다변화 시킬 수 있는 기술들을 제시한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 관리자 모드로 이동하는 로봇은 송신모듈로부터 신호를 수신하면, 측위센서가 산출한 송신모듈의 위치를 향해 로봇을 얼라인 시킨 후 장애물 센서가 센싱한 장애물을 회피하여 로봇을 송신 모듈을 향해 이동시키고 송신모듈의 신호가 수신되지 않거나 송신모듈과 로봇 사이의 거리가 미리 설정된 거리 이하인 경우 정지한다.
본 발명의 일 실시예에 의한 로봇이 관리자 모드로 이동하는 방법은 로봇의 측위 센서가 송신모듈을 센싱하여 송신모듈의 위치를 산출하는 단계와, 로봇의 제어부는 송신모듈의 위치를 향해 로봇을 얼라인 시키는 단계와, 로봇의 장애물 센서가 로봇 주변의 장애물을 센싱하는 단계와, 제어부는 장애물 센서가 센싱한 장애물을 회피하여 로봇을 송신 모듈을 향해 이동시키는 단계와, 제어부는 송신모듈의 신호가 수신되지 않거나 송신모듈과 로봇 사이의 거리가 미리 설정된 거리 이하인 경우 로봇을 정지시키는 단계를 포함한다.
본 발명의 실시예들을 적용할 경우, 로봇이 관라자 모드 하에서 다른 장애물 또는 로봇과 충돌하지 않고 쉽게 이동할 수 있다.
본 발명의 실시예들을 적용할 경우, 로봇이 일반 모드의 이동과 달리 다수의 로봇들과 함께 이동할 수 있도록 장애물을 감지하여 회피할 수 있다.
본 발명의 실시예들을 적용할 경우, 로봇이 관리자 모드로 이동하는 과정에서 주변의 장애물을 감지함에 있어 로봇인지 여부를 판단하여 로봇의 이동 속도나 이동 방향을 다변화 시킬 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 외관을 보여준다.
도 2는 본 발명의 일 실시예에 의한 로봇의 제어모듈의 세부 구성을 보여준다.
도 3은 본 발명의 일 실시예에 의한 사용자 추종 모드 및 관리자 모드에서의 로봇의 동작 과정을 보여준다.
도 4는 본 발명의 일 실시예에 의한 로봇이 관리자 송신모듈을 추종하는 과정을 보여준다.
도 5는 본 발명의 일 실시예에 의한 로봇이 고객용 송신모듈의 위치를 확인하는 과정을 보여준다.
도 6은 본 발명의 일 실시예에 의한 로봇이 송신모듈을 추종하여 얼라인하는 과정을 보여준다.
도 7은 관리자 송신모듈(500)을 향해 로봇들이 이동하는 과정을 보여준다.
도 8은 본 발명의 일 실시에에 의한 로봇이 관리자 송신모듈을 추종하는 과정에서 장애물을 회피하는 과정을 보여준다.
도 9는 본 발명의 일 실시예에 의한 로봇이 장애물을 회피하여 이동하는 것을 보여준다.
도 10은 본 발명의 일 실시예에 의한 송신모듈과의 거리와 중앙선 각도의 관계를 보여준다.
도 11은 본 발명의 일 실시예에 의한 카메라 센서가 주변의 사물을 촬영하여 로봇인지 여부를 확인하는 과정을 보여준다.
도 12는 본 발명의 일 실시예에 의한 AI 서버의 구성을 보여준다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 사용자를 추종하며 자율적으로 이동하거나 사용자의 제어에 따라 전기적 에너지에 기반하여 이동하는 장치들을 스마트 카트로봇, 카트로봇, 배송 로봇 혹은 로봇이라고 한다. 로봇은 대형 마트나 백화점 등 매장 내에서 사용할 수 있다. 또는 공항이나 항만과 같이 여행객들이 많이 이동하는 공간 내에서 사용자들이 로봇을 사용할 수 있다. 그리고 로봇은 골프장과 같은 레저 공간에서도 사용될 수 있다.
뿐만 아니라, 로봇은 컨테이너 물류 센터나 공장 등에서도 물품을 탑재한 상태에서 자동으로 이동하거나 사용자의 제어를 받고 이동할 수 있다. 또는 병원 같은 공간에서 로봇은 환자를 이송하거나 약품을 이송할 수 있다.
본 명세서에서의 로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
또한, 로봇은 소정의 수납부를 가지고 사용자를 추종하여 이동할 수도 있다.
또한 로봇은 자율주행을 수행할 수 있다. 자율 주행은 스스로 주행하는 기술을 의미하며, 자율 주행 로봇은 사용자의 조작 없이 또는 사용자의 최소한의 조작으로 주행한다.
예컨대, 자율 주행에는 주행 중인 공간의 다른 장애물과 거리를 유지하는 기술, 어댑티브 크루즈 컨트롤과 같이 속도를 자동으로 조절하는 기술, 정해진 경로를 따라 자동으로 주행하는 기술, 목적지가 설정되면 자동으로 경로를 설정하여 주행하는 기술 등이 모두 포함될 수 있다.
로봇은 자율 주행을 위해 내연 기관 또는 전기 모터를 구비할 수 있다.
일 실시예로 로봇은 사용자의 위치를 추적하여 사용자를 따르면서 소정의 보관 공간을 가지는 모든 장치를 포함한다. 보관 공간은 사물을 적재할 수 있고, 또한 사람이 잠시 탈 수 있다. 또한, 로봇은 사용자가 밀거나 당기는 등의 제어에 따라 전기적 동력을 이용하여 이동하는 모든 장치를 포함한다. 그 결과, 사용자는 로봇을 전혀 조정할 필요 없이 로봇을 이동시킬 수 있다. 또한 사용자는 매우 작은 힘을 들여서 로봇을 이동시킬 수 있다.
특히, 본 명세서에서의 로봇은 사용자의 제어에 기반하여 전기적 동력을 이용하여 이동한다. 이를 위해 로봇은 사용자가 제어하는 힘을 미세하기 분석하여 로봇의 이동 속도, 이동 방향 또는 이동/정지의 기능을 수행할 수 있다.
또한, 본 명세서에서 로봇은 소정의 관리자 모드(administrator mode)에서 미리 약속된 관리자용 태그를 따라 이동하거나 정렬할 수 있다. 여기서 관리자 모드란, 둘 이상의 로봇들을 특정 위치로 이동시키기 위해 하나의 송신 모듈을 추종하여 둘 이상의 로봇들이 이동하는 모드이다. 관리자 모드에서 로봇은 다수의 로봇들이 송신모듈을 향해 이동하므로, 장애물을 감지하여 회피하는 과정이 일반 모드와 다르게 구성된다.
도 1은 본 발명의 일 실시예에 의한 로봇의 외관을 보여준다. 도 2는 본 발명의 일 실시예에 의한 로봇의 제어모듈(150)의 세부 구성을 보여준다.
사물을 수납하는 공간을 가지는 로봇의 일 실시예로 도 1과 같이 카트의 형상을 가진 로봇을 살펴본다. 그러나, 본 발명은 이에 한정되지 않고, 본 발명의 로봇의 실시예는 큰 물품이 적재되는 수납공간을 가지거나, 침상 행태를 가지며 병원에서 환자를 이송하는 공간을 가지는 로봇을 포함한다. 또한, 컨테이너 물류 센터에서 물품을 적재하여 이송시키는 다양한 형태의 로봇 역시 본 발명의 실시예에 포한된다. 로봇(100)은 수납부(110)와 핸들 어셈블리(120), 제어모듈(150), 이동부(190a, 190b)를 포함한다. 수납부(110)는 사용자에 의해 사물이 수납되거나 적재되는 공간이다. 핸들 어셈블리(120)는 사용자가 로봇(100)를 수동으로 이동을 제어하거나, 반자동으로 이동을 제어할 수 있도록 한다.
핸들 어셈블리(120)는 로봇의 일면에 배치되며, 사용자가 로봇(100)를 제어하는 과정에서 힘을 가할 경우, 사용자가 가한 힘을 센싱한다. 제어모듈(150)는 로봇(100)의 이동을 제어한다. 제어모듈(150)은 핸들 어셈블리(120)가 센싱한 힘에 대응하여 카트의 이동 방향이나 이동 속도 등을 결정하여 이동부(190)를 이동시킨다. 따라서, 사용자는 핸들 어셈블리(120)를 이용하여 로봇(100)를 전후로 밀거나 방향을 변경할 수 있다. 제어모듈(150)는 로봇(100)의 이동을 제어한다.
제어모듈(150)는 자율주행 모드에서 사용자를 송신모듈(500)을 이용하여 추종할 수 있도록 로봇(100)의 자율 주행을 제어한다. 또한, 제어모듈(150)은 파워 어시스트 모드에서 사용자가 작은 힘으로 로봇을 밀거나 당길 때 사용자의 힘을 보조하여 로봇이 주행하는 반자율 주행(파워 어시스트)을 제어한다.
따라서, 사용자가 카트를 제어하기 위해 핸들 어셈블리(120)에 힘을 가하는 경우, 포스 센서(210)가 핸들 어셈블리(120)에 가해진 힘을 센싱한다. 포스 센서(210)는 핸들 어셈블리(120)에 가해진 힘의 크기 또는 단위 시간 내의 힘의 변화를 센싱할 수 있다 포스 센서(210)는 핸들 어셈블리(120) 내에 배치된다. 포스 센서(210)가 센싱한 힘의 크기나 방향, 힘의 증가 속도 등은 제어 모듈(150)의 제어부(250)가 확인한다. 즉, 포스 센서(210)는 물리적으로 핸들 어셈블리(120) 내에 배치되며, 논리적으로 제어 모듈(150)의 제어부(250)와 상호 동작한다.
핸들 어셈블리(120)에는 사용자에게 소정의 정보를 출력하는 인터페이스부(230)가 배치될 수 있으며, 인터페이스부(230) 역시 제어모듈(150)의 제어를 받는 구성요소가 될 수 있다. 인터페이스부(230)는 사용자에게 로봇(100)와 핸들 어셈블리(120)를 제어하는 방법을 표시할 수 있다. 또는 인터페이스부(230)는 사용자에게 로봇(100)와 핸들 어셈블리(120)를 제어하는 과정에서 경고 메시지를 출력할 수 있다.
로봇(100)의 특정 영역에는 카트 주변에 배치된 장애물을 센싱하기 위한 장애물 센서(220)가 배치될 수 있다. 장애물 센서(220)는 로봇(100)의 하단, 상단 등 다양한 영역에 배치될 수 있다. 예를 들어 155에서 지시되는 영역에 카트의 전/좌/우/후방의 장애물을 센싱하기 위해 다수의 장애물 센서(220)들이 배치될 수 있다.
일 실시예로 전면/양측면과 같이 로봇(100)이 이동하는 방향으로 장애물 센서가 배치될 수 있다. 또는 로봇(100)이 후진할 경우, 전면 및 후면, 양측면에 장애물 센서가 배치될 수 있다.
또한 로봇(100)의 여러 영역에 사용자의 추종을 위한 사용자 위치를 추적하는 측위 센서(210)가 배치될 수 있다. 측위 센서(210)는 특정한 신호를 출력하는 송신모듈(500)을 감지할 수 있다.
즉, 로봇(100)은 원격에 배치되어 사용자가 소지하거나 관리자가 소지하는 소정의 송신모듈(500)의 위치를 확인하여 사용자를 추종하며 이동하거나, 혹은 관리자의 지시에 따라 이동 또는 정렬할 수 있다.
이동부(190)는 제어부의 제어에 따라 카트를 이동시킨다. 또한 제어부(250)가 생성한 소정의 경로를 따라 이동부(190)는 카트를 이동시킬 수 있다. 이동부(190)의 이동은 휠의 회전속도와 회전한 횟수, 방향 등에 기반하여 로봇(100)의 이동 상태를 제어부(250)가 확인할 수 있도록 한다. 이동부(190)는 소정의 브레이크 장치가 포함되며 제어부(250)는 이동부(190)의 브레이크 장치를 제어하여 이동 중인 로봇(100)를 정지시킬 수 있다.
뿐만 아니라 제어부(250)는 이동부(190)를 구성하는 바퀴의 수평을 확인하여 로봇(100)이 경사로에 위치하는지 평지에 위치하는지를 확인할 수 있다. 물론, 제어부(250)는 수평 센서를 이용하여 카트의 현재 위치가 평지인지 혹은 경사로인지를 확인하는 것을 다른 실시예로 한다.
포스센서(210)는 핸들 어셈블리(120)에 배치되며, 사용자가 핸들 어셈블리(120)에 힘을 가할 경우, 힘의 크기나 힘의 변화 동을 센싱한다.
포스 센서(210)는 홀 센서, 마그네틱 타입 센서, 버튼식 센서 등 다양한 센서를 포함한다.
제어모듈(150)은 이동부(190a, 190b)를 제어할 수 있다. 이동부(190)는 제어부(250)가 생성한 이동 경로를 따라 로봇을 이동시킨다. 이동부(190)는 이동부(190)를 구성하는 바퀴를 회전시킴으로써 로봇(100)을 이동시킬 수 있다. 이동부(190)에 의한 로봇 이동은 휠의 회전속도와 회전한 횟수, 방향 등에 기반하여 로봇(100)의 위치를 제어부(250)가 확인할 수 있도록 한다. 제어부(250)가 생성한 이동 경로는 로봇의 좌측 바퀴와 우측 바퀴에 인가하는 각속도를 포함한다.
제어모듈(150)의 상세 구성은 도 2와 같이 논리적 구성요소들인 측위센서(210), 포스센서(240), 장애물 센서(220), 인터페이스부(230), 제어부(250), 카메라 센서(260), 통신부(280)이 배치되었다.
장애물 센서(220)는 로봇의 주변에 배치된 장애물을 센싱한다. 장애물 센서(220)는 사람, 벽, 사물, 고정물 또는 설치물(installed object) 등과 로봇과의 거리를 센싱할 수 있다.
측위 센서(210)는 자율 주행을 지원하는 로봇에 필수 구성요소이다. 그러나 반자율 주행(파워 어시스트) 주행 만을 지원하는 로봇의 경우 측위 센서(210)는 선택적으로 배치될 수 있다.
측위 센서(210)는 송신모듈(500)이 전송하는 신호를 센싱하여 송신모듈의 위치를 산출한다. 측위센서(210)는 송신모듈(500)을 소지하는 사용자 또는 관리자의 위치를 추적할 수 있으며, 로봇(100)의 상단 또는 측면 등에 배치될 수 있다. 그러나 이들 센서들의 위치는 실시예에 따라 다양하게 변경될 수 있으며 본 발명이 이에 한정되지 않는다. 그리고 센서들의 위치와 무관하게 제어모듈(150)은 센서들을 제어하거나 센서들이 센싱한 정보를 활용한다. 즉, 센서들은 물리적 위치에 상관없이 논리적으로 제어모듈(150)의 구성요소이다.
측위센서(210)는 송신모듈(500)로부터 신호를 수신하여 송신모듈(500)의 위치를 산출한다. 측위 센서(210)가 UWB(Ultra-wideband)를 이용할 경우, 사용자/관리자는 측위 센서(210)에게 소정의 신호를 송신하는 송신모듈(500)을 소지할 수 있다. 그리고 측위 센서(210)는 송신모듈(500)의 위치로 사용자의 위치를 확인할 수 있다. 일 실시예로 사용자는 손목에 부착하는 밴드 형태의 송신모듈(500)을 소지할 수 있다. 또는 관리자가 보유하는 송신모듈(500)의 경우 더 멀리 있는 로봇들에게도 신호를 전송하기 위해 고강도의 신호를 출력할 수 있다.
또한, 핸들 어셈블리(120)에는 사용자에게 소정의 정보를 출력하는 인터페이스부가 배치될 수 있으며, 인터페이스부 역시 제어모듈(150)의 제어를 받는 구성요소가 될 수 있다. 그리고 핸들 어셈블리(120)는 사용자가 로봇을 밀거나 당기는 힘을 센싱하는 포스 센서(240)를 포함한다.
포스센서(240)는 핸들 어셈블리(120)의 조작에 의해 힘의 변화가 가해지는 로봇(100)의 외부 또는 내부에 배치될 수 있다. 포스 센서(240)의 위치나 구성은 다양하게 적용될 수 있으며 본 발명의 실시예들은 특정한 포스 센서(240)에 한정되지 않는다.
포스센서(240)는 핸들 어셈블리(120)에 배치되거나 핸들 어셈블리(120)에 연결된 로봇(100)의 외부 또는 내부에 배치된다. 포스센서(240)는 사용자가 핸들 어셈블리(120)에 힘을 가할 경우, 힘의 크기나 힘의 변화 등을 센싱한다. 포스 센서(240)는 홀 센서, 마그네틱 타입 센서, 버튼식 센서 등 다양한 센서를 포함한다. 포스 센서(240)는 좌측 포스센서와 우측 포스센서로 각각 핸들 어셈블리(120) 또는 로봇(100) 내부 또는 외부에 배치될 수 있다.
장애물 센서(220)는 로봇의 주변에 배치된 장애물을 센싱한다. 장애물 센서는 거리를 측정하거나 영상을 취득하여 영상 내에서 장애물을 확인하는 센서를 포함한다. 거리 측정을 위한 장애물 센서(220)는 적외선 센서나 초음파 센서, 라이다 센서 등을 일 실시예로 한다.
또한 장애물 센서(220)는 뎁스 센서 혹은 RGB 센서를 포함한다. RGB 센서의 경우 영상 내에서 장애물과 설치물을 감지할 수 있다. 뎁스 센서는 영상 내에서 각 지점 별 뎁스 정보를 산출한다.
또한 장애물 센서(220)는 TOF(Time of Flight) 센서를 포함한다.
제어부(250)는 송신모듈(500)의 위치정보를 누적하여 저장하고, 저장된 송신모듈의 위치정보에 대응하는 이동 경로를 생성한다. 누적하여 위치정보를 저장하기 위해서 제어부(250)는 송신모듈(500) 및 로봇(100)의 위치정보를 일정한 기준점을 기반으로 하는 절대위치정보(절대좌표)로 저장할 수 있다.
또는 제어부(250)는 장애물 센서(220)와 카메라 센서(260)를 이용하여 로봇의 이동을 제어할 수 있다. 특히, 카메라 센서(260)는 도 1의 161이 지시하는 영역에 배치될 수 있으며, 카메라 센서(260)는 사용자 또는 수납부(110)를 촬영할 수 있다.
또는 카메라 센서(260)는 161이 지시하는 위치에 배치되어 주변의 다른 장애물을 촬영할 수 있다.
또한 제어부(250)는 포스 센서(240)가 센싱한 힘의 변화 또는 크기에 따라, 이동부의 이동 방향 또는 이동 속도를 제어한다. 또는 제어부(250)는 이동 속도를 제어하기 위해 이동부의 모터에 더 많은 전기에너지가 제공되도록 이동부(190)를 제어할 수 있다.
또한, 제어부(250)는 장애물 센서(220)가 센싱한 값을 이용하여 로봇 주변에 배치된 설치물을 검출한다. 제어부(250)는 로봇의 측면 및 전면에 배치된 장애물 센서(220)를 이용하여 설치물을 확인할 수 있다.
한편, 로봇(100)의 제어부(250)는 인공지능모듈(255)을 추가로 탑재할 수 있다. 인공지능모듈은 기계학습(machine learning) 또는 딥러닝 네트워크(Deep Learning Network)를 일 실시예로 한다.
로봇의 제어부(250)는 인공지능모듈을 이용하여 상황인식(Context Awareness)을 수행할 수 있다. 마찬가지로, 센싱된 값들, 사용자의 제어, 또는 다른 로봇들이나 서버로부터 수신된 정보 등을 인공지능모듈의 입력값으로 하여 제어부(250)는 로봇(100)의 상황을 인식할 수 있다.
또한, 로봇(100)의 제어부(250)는 음성 인식(Voice Recognition), TTS(Text To Speech) 기능을 제공한다.
도 1 및 도 2에 미도시되었으나 이동부(190), 핸들 어셈블리(120), 그리고 제어모듈(150)에 전원을 인가하는 배터리가 로봇(100)에 배치될 수 있다. 배터리는 제어모듈(150)에 의해 이동부(190)가 카트를 이동시키는 동력을 제공한다.
사용자가 카트를 미는 힘은 전기적 동력이 없을 경우 카트를 이동시키지 못하거나 매우 느린 속도로 카트를 이동시킬 정도의 힘이다. 그러나 본 발명의 실시예에 의한 파워 어시스트 모드에서 제어부(250)는 사용자가 카트를 미는 힘에 대해 카트의 이동 속도나 방향을 매핑하므로, 사용자는 적은 힘으로 카트를 이동시킬 수 있다.
본 발명의 실시예에 의한 제어부(250)는 관리자 모드와 같이 다수의 로봇들이 하나의 송신 모듈을 추종하여 이동하는 상황에서 로봇이 다른 로봇과 충돌하지 않고 송신모듈을 추종하도록 로봇을 제어한다. 이를 위해, 측위센서(210)가 송신모듈(500)로부터 신호를 수신하면, 제어부(250)는 측위센서(210)가 산출한 송신모듈(500)의 위치를 향해 로봇을 얼라인(align) 시킨다. 그리고, 장애물 센서(220)가 센싱한 장애물을 회피하여 로봇을 송신 모듈(500)을 향해 이동시킨다.
또한, 제어부(250)는 송신모듈(500)의 신호가 수신되지 않거나 송신모듈(500)과 로봇(100) 사이의 거리가 미리 설정된 거리 이하인 경우 로봇(500)을 정지시키도록 제어한다. 이 과정에서 제어부(250)는 송신모듈을 향하는 다수의 로봇들과 로봇이 아닌 장애물(혹은 관리자 모드가 아닌 로봇)을 구분하여 로봇의 이동 속도와 방향을 제어할 수 있다.
이하, 로봇이 관리자 모드로 진입하여 특정한 관리자용 송신모듈(500)을 추종하여 이동하거나 정렬하는 과정에 대해 살펴본다.
도 1 및 도 2에서 살펴본 바와 같이, 로봇(100)은 공간 내에서 다수의 사용자가 이용한 후 다양한 위치에 배치될 수 있다. 따라서, 이들 로봇들이 관리자용 송신모듈(500)을 추종하여 관리자 모드에 진입하여 이동하거나 정렬하는 기술이 필요하다.
일 실시예로 카트와 같은 로봇을 사용할 때, 카트로봇끼리 서로 도킹(docking)되어 연결되어 있는 상황이 아닐 때, 관리자는 이들 카트로봇을 한번에 옮기가 어려울 수 있다.
또한, 배송이나 물류를 담당하는 로봇이 물류 작업을 완료한 후 공장 내에 다양한 영역에 배치된 상태일 때, 관리자가 이들 물류 로봇을 한번에 제어하기 어려울 수 있다.
따라서, 다수의 로봇들이 별도의 작업을 하지 않는 대기 상태인 경우, 또는 로봇들을 긴급하게 관리해야 하는 상태인 경우, 이들 로봇들이 관리자의 송신모듈(500)을 추종하여 이동할 수 있는 관리자 모드로의 전환 및 관리자 모드에서의 로봇의 동작에 관해 살펴본다.
일 실시예로, 태그를 추종할 수 있는 카트형 로봇은 사용자가 사용을 끝내고 사용자가 카트형 로봇을 조정하던 고객용 송신모듈(태그)를 로봇 내의 수납부 또는 별도의 로봇 내의 보관함 등에 둔 경우, 로봇의 모드가 관리자 모드로 변경된다.
또는, 자동 이동하는 물류형 로봇은 물류 배송이나 운반 작업을 끝내면 작업이 완료된 지점 혹은 특정 장소에서 다음 작업의 수행을 대기한다.
그리고, 보관대나 마트의 빈 공간에서 로봇이 줄지어 있는 상황에서, 관리자가 관리자용 송신모듈을 이용하여 맨 앞에 위치한 로봇을 움직이고, 그 뒤에 줄지어 있는 로봇들이 관리자가 들고 있는 관리자용 송신모듈(500)의 정보를 따라 추종한다.
이 때, 로봇이 줄지어 있기 때문에 뒤에 위치한 각 로봇들은 장애물 센서를 이용하여 바로 앞의 로봇을 인식하고 일정 거리 이내를 유지하도록 속도를 조절하여 추종한다.
이와 같은 구성에서 공간 내에 대기 상태에 있거나 긴급하게 관리가 필요한 로봇들은 관리자용 송신모듈을 추종할 수 있으며, 여러 대의 로봇들을 하나의 송신모듈을 통하여 동시에 이동 및 제어할 수 있다.
또한, 다수의 로봇이 송신모듈을 추정하여 이동하는 과정에서 장애물 센서(220) 또는 카메라 센서(260) 등을 이용하여 다른 로봇들과의 충돌을 방지하며 송신모듈(500)의 제어에 따라 이동할 수 있다. 그 결과, 관리자는 송신모듈(500)을 이용하여 간단하게 로봇들을 제어하며, 로봇들은 관리자 모드 하에서 장애물과의 충돌을 회피하며 송신모듈(500)을 추종하여 이동할 수 있다.
또한, 일 실시예로 카메라 센서(260)가 뎁스 영상을 촬영하는 뎁스 카메라인 경우에 인공지능모듈(255)은 촬영된 뎁스 영상을 이용하여 이미지 분석을 수행할 수 있다. 이에 대해서는 후술한다.
본 발명의 로봇은 신호를 송출하는 송신모듈을 추종하는 기능을 제공한다. 이 송신모듈은 전술한 고객용 송신모듈, 관리자용 송신모듈을 포함한다. 또는 이 송신모듈은 관리자용 송신모듈인 경우, 그 형태가 사람이 소지할 수 있는 소지형 송신모듈이거나, 혹은 고정물에 부착되는 고정형 송신모듈을 일 실시예로 한다.
소지형 송신모듈은 손목 밴드, 태그(Tag) 등의 형태를 가지며 사람이 쉽게 소지할 수 있는 장치이다. 고정형 송신모듈은 벽이나 천장에 배치되어 평소에는 오프 상태를 유지하고, 특정한 관리 상태에서만 온 상태로 전환되어, 공간 내의 로봇들을 제어할 수 있다.
도 3은 본 발명의 일 실시예에 의한 사용자 추종 모드 및 관리자 모드에서의 로봇의 동작 과정을 보여준다.
로봇은 사용자 추종 모드를 수행한다(S11). 이는 로봇이 사용자가 소지한 고객용 송신모듈을 따라 주행을 하는 경우이다. 그리고 로봇은 사용자의 송신모듈을 추종하여 송신모듈의 위치를 따라 이동한다(S12).
만약 물류 로봇이나 배송 로봇이라면 S11 및 S12 과정은 별도의 외부 제어나 미리 프로그램된 경로에 따라 주행하는 과정으로 대체될 수 있다.
그리고 로봇은 송신모듈의 위치를 지속적으로 인식하는 과정(S13)에서 송신모듈이 로봇 내부에 있는지를 확인한다(S14). 송신모듈이 로봇 내부에 있다는 것은 수납부(150)에 송신모듈이 배치되거나, 또는 로봇의 특정 영역에 송신모듈이 배치된 경우를 의미한다. 이를 확인하면 로봇은 더 이상 송신모듈을 추종하는 사용자 추종 모드를 수행하지 않아도 되는 것으로 판단하고 관리자 모드로 진입힌다(S15). 그 외의 경우 로봇은 계속 사용자 추종 모드를 수행한다.
만약 물류 로봇, 병원 로봇, 청소 로봇 또는 배송 로봇 등 카트형이 아닌 로봇이라면 S13 내지 S15 과정은 별도의 외부 제어나 미리 프로그램된 작업을 수행완료하거나, 별도의 외부 신호에 의해 강제적으로 로봇이 관리자 모드로 진입하는 과정으로 대체될 수 있다.
관리자 모드에 진입한 로봇은 대기한다(S16). 별도의 관리자 송신모듈의 지시가 있거나, 혹은 카트로봇의 경우 새로운 사용자가 송신모듈을 제어하거나, 또는 그외 로봇의 경우, 새로운 작업을 할당받기 전까지 대기할 수 있다.
그리고 로봇은 송신모듈의 신호가 있는지 확인한다(S17). 그리고 로봇은 송신모듈의 식별자(ID, Identifier)를 식별한다(S18). 식별 결과 송신모듈의 ID가 관리자 송신모듈의 ID인 경우(S19), 로봇은 관리자 모드에서 송신모듈을 향하여 얼라인을 맞춘다(S20). 그리고 로봇은 관리자의 송신모듈을 따라 추종하여 이동한다(S21).
얼라인을 맞추는 과정(S20)은 반복하여 이루어질 수 있다. 로봇이 이동하는 과정에서 장애물을 회피한 후에 다시 로봇은 송신모듈을 향하도록 얼라인을 맞출 수 있다.
그리고 로봇은 관리자 모드 상태에서 관리자 송신모듈을 추종하는 과정에서 계속 송신모듈의 신호를 확인한다(S22). 확인 결과, 송신모듈의 신호가 없으면, 로봇은 추종을 종료한다(S23). 송신모듈의 신호가 지속되면 로봇은 관리자 송신모듈을 계속 추종할 수 있다.
도 3의 과정을 정리하면 다음과 같다. 카트 로봇은 사용자를 따라 주행을 하는 "사용자 추종 모드"와 사용자 추종을 끝내고 다음 사용자를 기다리는 "관리자 모드(대기 모드)"를 가진다. 카트외의 물류/청소/병원용/배송 등의 로봇은 작업을 구행하는 "작업 모드"와 작업을 끝내고 다음 작업을 기다리는 "관리자 모드(대기 모드)"를 가진다.
사용자 추종 모드에서 사용자는 카트 로봇과 페어링된 송신모듈을 소지하며, 카트 로봇은 사용자가 가진 송신모듈을 추종하여 주행한다. 카트 외의 로봇은 미리 지시된 작업을 수행한다.
그리고 관리자 모드에서 로봇은 관리자 모드 상태에서 관리자 송신모듈에 대한 추종을 시작한다. 예를 들어, 카트로봇의 경우 사용자가 카트 이용을 끝내고 고객용 송신모듈을 카트 내 지정된 위치 혹은 카트 내에 두거나, 또는 사용자는 고객용 송신모듈의 전원을 끌 수 있다. 전술한 과정 이후에 관리자 송신모듈의 전원이 켜진다. 또는 작업이 종료된 로봇이 대기하는 상태에서 관리자 송신모듈의 전원이 켜진다.
이때, 줄지어 있거나, 공간 내에 다양한 위치에 배치되어 관리자 모드의 상태인 로봇들이 동시에 송신모듈에 대한 추종을 시작한다. 물론, 다수의 로봇들의 원활한 추종을 위해 관리자가 로봇의 얼라인을 지시하기 위해 관라지 송신모듈에 배치된 별도의 제어 버튼을 누를 수 있다.
그리고 모든 로봇들은 관리자가 소지하는 관리자 송신모듈을 추종하여 주행한다. 이 때 로봇들은 장애물 센서나 카메라 센서를 이용하여 주변에 배치된 로봇들과의 간격을 인지하고, 로봇 간의 거리를 유지하며 관리자 모드에서의 추종을 수행한다.
일 실시예로 로봇들은 장애물 센서의 일 실시예인 ToF 센서를 이용하여 전후좌우에 배치된 로봇들과의 간격을 산출하여 충돌을 회피하며 관리자 송신모듈을 추종할 수 있다.
일 실시예로 로봇들은 카메라 센서의 일 실시예인 뎁스 카메라를 이용하여 전후좌우에 배치된 로봇들을 다른 장애물과 구분하여 인식하고, 로봇들과의 충돌을 회피하며 관리자 송신모듈을 추종할 수 있다.
도 4는 본 발명의 일 실시예에 의한 로봇이 관리자 송신모듈을 추종하는 과정을 보여준다. 다수의 로봇들(100a, 100b, 100c, 100d)은 관리자 송신모듈(500)의 신호를 감지하면 송신모듈(500)의 위치를 추적한다. 100a, 100b, 100c는 카트형 로봇, 100d는 비카트형 로봇을 간략히 도시한 것이다. 이들 로봇들은 감지된 송신모듈(500)을 향해 이동한다.
이때, 각 로봇들(100a, 100b, 100c, 100d)은 센서들을 이용하여 점선과 같이 다른 로봇들과의 간격을 유지할 수 있다. 예를 들어 ToF 센서, 초음파 센서 등과 같은 장애물 센서(220)를 이용하여 인접한 로봇들과의 거리를 유지하면서 송신모듈(500)을 추종하여 이동하도록 제어부(250)가 로봇의 이동부(190a, 190b)를 제어할 수 있다.
또한, 카메라 센서(260), 특히 뎁스 카메라가 탑재된 로봇은 장애물과 인접한 로봇을 구분하여 판단할 수 있다. 따라서, 제어부(250)는 장애물인 경우에 장애물과 로봇 사이에 유지하는 거리(Dist_obj)와 로봇들 사이에 유지하는 거리(Dist_robot)를 달리 설정할 수 있다.
일 실시예로 Dist_obj > Dist_robot 를 만족시며 제어부(250)는 로봇을 이동시킬 수 있다. 왜냐하면, 관리자 모드에서 관리자 송신모듈(500)을 따라 이동하는 로봇들은 매우 근접한 거리만 유지하는 것이 로봇의 효율적인 이동에 유리하다.
도 5는 본 발명의 일 실시예에 의한 로봇이 고객용 송신모듈의 위치를 확인하는 과정을 보여준다. 사용자가 송신모듈을 이용하여 로봇을 제어하거나 로봇을 이동시키는 경우, 또는 사용자가 송신모듈을 소지하고, 로봇이 송신모듈을 추종하여 이동하는 경우에 적용된다.
로봇은 사용자가 송신모듈을 로봇의 특정 수납 영역에 송신모듈을 둘 경우에 사용자 추종 모드가 종료한 것으로 판단할 수 있다. 이를 위해, 로봇은 송신모듈과 로봇의 거리를 판단한다.
일 실시예로, 도 5에서 로봇(100)의 측위 센서(210)는 (0, 0)의 위치로 설정하면 고객용 송신모듈(500c)의 위치 (x, y)는 수학식 1과 같이 산출될 수 있다.
Figure pat00001
그리고, 송신모듈의 위치 좌표인 (x, y)가 다음 수학식 2를 만족시킬 경우에 제어부(250)는 고객용 송신모듈(500c)이 로봇 내의 특정 위치에 배치된 것으로 판단한다.
Figure pat00002
여기서 w는 로봇의 폭이며, l은 로봇의 길이이며, d는 측위 센서(210)와 송신모듈(500c) 과의 거리이며, θ는 로봇의 중앙선과 송신모듈(500c)-측위센서(210)를 연결한 선 사이의 각도로, 본 명세서에서는 중앙선 각도로 지시한다.
로봇의 중앙선은 로봇의 중앙에 배치된 가상의 선을 의미한다.
도 5의 w, l, d, θ는 관리자 송신모듈의 위치를 확인할 경우에도 동일하게 적용한다.
도 5를 정리하면 다음과 같다. 로봇은 두 종류의 송신 모듈로부터 신호를 수신한다. 제1송신모듈은 관리자 모드의 로봇을 제어하는 송신모듈이다. 제2송신모듈은 사용자 추종 모드의 로봇을 제어하는 송신모듈이다.
제1송신모듈과 제2송신모듈 둘 다 신호를 전송하는 경우, 제어부(250)는 우선순위를 판단할 수 있다. 예를 들어 긴급 관리자 모드인 경우에는 제어부(250)는 제1송신모듈의 신호를 추종하여 로봇을 이동시킨다. 일반 관리자 모드인 경우 제어부(250)는 사용자 추종 모드를 지시하는 제2송신모듈의 신호를 추종하여 로봇을 이동시킨다.
한편, 사용자 추종 모드를 지시하는 제2송신모듈로부터 신호가 감지되지 않거나 제2송신모듈이 로봇의 내부에 배치된 것으로 확인하면 제어부(250)는 로봇을 관리자 모드로 전환하여 로봇이 제1송신모듈의 신호에 따라 제1송신모듈을 추종하여 이동하도록 제어한다.
그리고 로봇이 제2송신모듈이 로봇 내에 배치되었는지를 확인하기 위해, 도 5에 도시된 바와 같이, 제어부(250)는 로봇의 크기와 로봇에서 측위 센서(210)가 배치된 위치 및 제2송신모듈(500c)의 위치를 계산하여 제2송신모듈(500c)이 로봇의 내부에 배치되었는지를 판단할 수 있다.
도 6은 본 발명의 일 실시예에 의한 로봇이 송신모듈을 추종하여 얼라인하는 과정을 보여준다. 도 7은 도 6에 따라 로봇이 얼라인하는 예시를 보여준다.
다수의 로봇들이 배치된 상태에서 로봇과 관리자 송신모듈 사이의 거리와 로봇의 중앙선과 송신모듈 사이에 이루는 각도는 각각 상이할 수 있다. 이에, 로봇은 관리자 모드에서 추종을 시작할 경우 얼라인(align)을 맞출 수 있다.
이를 위해, 로봇(100)은 관리자 송신모듈(500)이 켜진 상태, 즉 송신모듈(500)의 "On"을 인식한다(S31). 그리고 송신모듈(500)과 로봇의 중앙선 사이의 각도 θ를 계산하고, θ의 절대값이 미리 설정된 각의 범위인 angle_range에 포함되는지 확인한다. 예를 들어 angle_range는 10도가 될 수 있다.
만약, 이 범위 내에 들어갈 경우에는 로봇은 송신모듈(500)을 향해 직진 이동한다. 직진 이동 과정에서 다시 θ가 angle_range의 범위를 벗어날 경우에는 로봇은 θ를 줄이는 방향으로 회전할 수 있다.
한편, θ의 절대값이 미리 설정된 각의 범위인 angle_range를 벗어날 경우에는 로봇이 송신모듈을 추종하여 직진 이동할 수 있도록 θ의 절대값을 줄이는 방향으로 회전한다(S33).
이후, S32에서 θ의 절대값이 미리 설정된 각의 범위인 angle_range에 포함될 경우 로봇은 계속 직진 이동을 수행한다(S35).
직진 이동 과정에서 로봇의 장애물 센서(220)나 카메라 센서(260)는 주변에 배치된 장애물을 감지한다. 그리고 로봇의 제어부(250)는 감지된 장애물과 로봇 사이의 거리가 일정 거리 이하인지 판단한다(S35).
여기서, 감지된 장애물이 사물이나 사람 등 로봇이 아닌 경우에는 제어부(250)는 S35의 판단에서 전술한 Dist_obj을 기준으로 판단한다.
반면, 감지된 장애물이 로봇인 경우 제어부(250)는 S35의 판단에서 전술한 Dist_robot을 기준으로 판단한다. 일 실시예로 Dist_obj는 90 cm, Dist_robot은 50cm 와 같이 달리 설정될 수 있다.
그리고 감지된 거리가 일정 거리 이하인 경우 로봇은 낮은 속도로 전진한다(S36). 반면, 장애물과의 거리가 일정 거리 이상인 경우 로봇은 정상 속도로 전진한다(S37). 여기서 S36 및 S37에서 로봇은 송신모듈을 향하여 전진한다. 그리고 이 과정에서 제어부(250)는 관리자 송신모듈이 계속 On 상태를 유지하는지 확인한다(S38). 만약, 계속 On 상태를 유지한다면 로봇은 S32 과정부터 S37까지 반복 수행한다.
관리자 송신모듈이 Off된 경우에는 로봇은 정지한다(S39).
도 7은 관리자 송신모듈(500)을 향해 로봇들이 이동하는 과정을 보여준다. 제1로봇(100a), 제2로봇(100b), 제3로봇(100c)을 중심으로 설명한다.
관리자 송신모듈(500)이 켜지면, 제1로봇(100a), 제2로봇(100b), 제3로봇(100c)들은 각자의 위치에서 송신모듈(500)의 위치를 확인한다. 40은 송신모듈(500)을 기준으로 하는 가상의 얼라인 라인을 도시한다.
S41에 도시된 바와 같이 제1로봇(100a)의 중앙선 각도는 거의 0에 수렴한다. 그리고 제2로봇(100b)의 중앙선 각도(θ2)와 제3로봇(100c)의 중앙선 각도(θ3)는 모두 일정 각도 이상의 값을 가진다. 따라서, S42와 같이 제1로봇(100a)은 방향 전환을 하지 않지만, 제2로봇(100b) 및 제3로봇(100c)은 각각 중앙선 각도의 크기를 줄이는 방향으로 회전한다.
예를 들어 제2로봇(100b)은 중앙선 각도(θ2)를 줄이기 위해 우측으로 회전하고, 제3로봇(100c)은 중앙선 각도(θ3)를 줄이기 위해 좌측으로 회전한다. 한편 제1로봇(100a)은 송신모듈(500)과이 거리가 충분히 가까운 것을 확인한 경우에는 이동하지 않는다.
이후 제2로봇(100b) 및 제3로봇(100c)의 중앙선 각도가 각각 일정 범위 이하에 속할 경우 S43과 같이 제2로봇(100b) 및 제3로봇(100c)은 송신모듈(500)을 향해 직진한다.
이 과정에서 S44와 같이 제2로봇(100b) 및 제3로봇(100c)은 장애물(로봇을 포함함)을 센싱하여 점선화살표와 같이 장애물과의 거리를 유지한다.
도 6 및 7에 도시된 바와 같이, 제어부(250)는 송신모듈(500)과 로봇의 중앙선이 이루는 중앙선 각도의 절대값 크기에 따라 로봇을 회전하여 로봇이 송신 모듈을 향하도록 제어한다. 그리고 로봇이 송신 모듈을 향해 이동하는 경우, 또는 송신모듈(500)이 이동하는 경우 또는 로봇이 장애물을 회피하는 경우 등의 외부적인 상황이 변동되면 로봇은 송신모듈(500)과 로봇의 중앙선이 이루는 중앙선 각도를 산출하고 로봇이 이동하는 방향을 변경할 수 있다.
도 8은 본 발명의 일 실시에에 의한 로봇이 관리자 송신모듈을 추종하는 과정에서 장애물을 회피하는 과정을 보여준다. 로봇은 로봇의 전방의 장애물을 감지한다(S51). 전술한 장애물 센서(220)의 일 실시예로 ToF 센서를 이용하거나, 카메라 센서(260)의 일 실시예로 뎁스 카메라를 이용하여 제어부(250)는 전방의 장애물을 감지할 수 있다. 그리고 장애물의 위치가 오른쪽인지, 혹은 왼쪽인지에 따라 S53a~S59a와 S53b~S59b 중 어느 하나의 플로우를 수행할 수 있다.
감지된 장애물의 위치가 오른쪽인 경우를 살펴본다(S52). 장애물이 오른쪽에 있으므로, 로봇(100)은 왼쪽으로 90도 회전한다(S53a). 회전 각도는 감지된 장애물의 크기나 거리에 따라 달리 설정될 수 있다. 즉, 장애물의 크기가 작거나 거리가 먼 경우에는 왼쪽으로45도 회전할 수 있다.
그리고 회전한 후 로봇(100)은 S53a의 회전으로 오른쪽 방향에 배치된 장애물을 감지한다(S54a). 감지 결과 장애물이 없는 경우, 회전 과정에서 장애물이 이동하여 사라진 것이므로 다시 로봇(100)은 오른쪽으로 90도 회전한다(S55a). 물론, S53a 단계에서 왼쪽으로 45도를 회전하였다면 로봇(100)은 S55a 단계에서 오른쪽으로 45도를 회전할 수 있다.
반면 S54a에서 장애물이 오른쪽 방향에서 계속 감지된다면, 장애물이 계쏙 배치된 상태이므로 로봇(100)은 전진한다(S56a). 그리고 전진하는 과정에서 제어부(250)는 측위 센서(210)를 제어하여 관리자 송신모듈(500)의 위치를 확인한다.
그리고 제어부(250)는 중앙선 각도 θ의 절대값이 미리 설정된 각의 범위인 angle_range에 속하는지 확인한다(S57a). 만약, 각도가 중앙선 각도 θ의 절대값이 미리 설정된 각의 범위인 angle_range에 속하는 경우라면 로봇(100)은 계속 전진한다(S58a).
이 과정에서 전방에 배치된 장애물 센서(220)나 카메라 센서(260)가 장애물을 감지하고 그 거리가 일정 거리 이하인 경우라면 로봇(100)은 정지한다(S60). 장애물과의 거리가 일정 거리 이상인 경우라면 로봇(100)은 계속 전진한다(S58a). 여기서 일정 거리란 감지된 장애물의 종류에 따라 달라질 수 있다.
센싱된 장애물이 사물인 경우에 설정되는 일정 거리란 전술한 Dist_obj가 될 수 있다. 그리고 센싱된 장애물이 로봇인 경우 설정되는 일정 거리란 전술한 Dist_robot가 될 수 있다. 또한, 센싱된 장애물이 사람인 경우 설정되는 일정 거리란 Dist_human이 될 수 있다.
이들 일정 거리에 대한 값은 제어부(250)가 여기서 Dist_human > Dist_obj > Dist_robot 와 같이 설정할 수 있다. 이는 로봇(100)이 이동하는 과정에서 사람과는 충분히 거리를 두고 로봇이 이동하고, 사물인 경우에는 사람 보다는 가까이 거리를 두고 로봇이 이동하며, 로봇인 경우에는 근접하여 로봇이 이동할 수 있도록 한다. 그 결과 사람이나 사물과 충돌 가능성을 낮추며 로봇이 이동할 수 있다.
S53b~S59b는 S53a~S59a와 왼쪽/오른쪽 방향만 달리 하는 것이므로 S53a~S59a의 설명으로 대신한다.
도 9는 본 발명의 일 실시예에 의한 로봇이 장애물을 회피하여 이동하는 것을 보여준다. S61에서 제1로봇(100a)은 장애물(5)를 감지한다. 그리고 S62와 같이 제1로봇(100a)은 장애물(5)을 회피하여 점선 화살표와 같이 이동한다. 제1로봇(100a)의 이동에 따라 제2로봇(100b)은 제1로봇(100a)과의 거리가 증가하는 것을 확인하여 전진할 수 있다.
전술한 실시예에서 로봇은 정지한 상황에서 관리자 송신모듈(500)이 켜지면 이를 감지하고 얼라인(align)을 맞춘 후 추종을 시작하는 과정에서 장애물을 인지하는 방법은 다음과 같다. 관리자가 송신모듈(500)을 이동시키는 과정에서 송신모듈(500)과 로봇 사이의 거리는 늘어나지만 로봇 전방에 대해 장애물 센서(예를 들어 ToF 센서)가 감지하는 장애물과의 거리가 증가하지 않고 그 거리가 일정한 경우 전방에 로봇이 아닌 장애물이 있다고 감지한다.
그리고, 추종 주행 시, 로봇 전방에 새로운 장애물이 나타나거나 바로 앞의 로봇이 움직이지 않는 상황을 인지하는 방법은 다음과 같다. 로봇 전방의 장애물 센서(예를 들어 ToF 센서)가 감지하는 장애물 과의 거리가 일정하지 않고 줄어드는 경우 로봇 전방에 장애물이 있다고 인지한다.
장애물 센서(220)는 송신모듈(500)과 로봇(100a, 100b)의 이동 경로 사이에 배치된 장애물(5)을 감지한다. 그리고 제어부(250)는 장애물(5)과의 거리에 기반하여 장애물(5)을 회피하고 송신 모듈(500)을 향해 이동하도록 로봇의 이동 속도 또는 로봇의 이동 방향을 제어한다.
또한, 장애물 센서(220)는 ToF 센서를 일 실시예로 할 경우 주변의 장애물과의 거리를 측정할 수 있다. 이 경우에 제어부(250)는 장애물 센서가 측정한 장애물과의 거리가 일정하게 유지되는 경우, 장애물을 다른 로봇으로 판단한다. 그리고 제어부는 다른 로봇을 장애물로 판단하지 않는데, 이는 다른 로봇 역시 송신 모듈을 향해 이동하기 때문이다. 그 결과 제어부(250)는 로봇의 이동 속도 또는 로봇의 이동 방향을 제어할 수 있다.
보다 상세히 살펴본다. 도 9의 S61에서 100b가 지시하는 제2로봇이 100a가 지시하는 제1로봇과의 거리를 지속적으로 확인한 결과, 그 거리가 일정함을 확인한다. 따라서 제2로봇(100b)의 제어부(250)는 제1로봇(100a)을 사람이나 사물 혹은 사용자 추종 모드 상태의 로봇이라 판단하지 않는다.
대신, 제2로봇(100b)의 제어부(250)는 제1로봇(100a)을 동일한 송신 모듈(500)을 향해 이동하는 로보으로 판단한다. 그 결과 제2로봇(100b)은 제1로봇(100a)을 회피하지 않고, 제1로봇(100a)과의 간격을 유지하며 송신모듈(500)을 향해 이동한다.
물론, 카메라 센서(260), 특히 뎁스 카메라 센서를 이용하여 로봇이 다른 로봇을 식별할 수 있다. 이 경우, 전술한 인공지능모듈(255)이 카메라가 촬영한 이미지를 이용하여 주변의 사물이 로봇인지를 판단할 수 있다.
도 10은 본 발명의 일 실시예에 의한 송신모듈과의 거리와 중앙선 각도의 관계를 보여준다.
송신모듈(500)에 근접한 순서는 제1로봇(100a), 제2로봇(100b), 제3로봇(100c)이다. 중앙선 각도는 로봇의 중앙선과 송신모듈의 방향 사이의 각도를 의미한다. 제1로봇(100a)의 경우 송신모듈(500)에 충분히 가까운 상태이다. 따라서, 제어부(250)는 송신모듈(500)과의 거리가 미리 설정된 기준(예를 들어 1m, 90cm 등의 거리)보다 작은 경우에는 중앙선 각도가 미리 설정된 기준 보다 큰 경우에도 회전을 하지 않는다.
예를 들어, 도 6의 angle_range가 20도라고 가정한다. 그리고 제1로봇(100a)의 중앙선 각도인 θ1 이 35도인 경우를 가정한다. 이 경우 θ1은 미리 설정된 각도인 20도 보다 큰 값이다. 그럼에도, 제1로봇(100a)과 송신모듈(500)과의 거리가 가까운 경우(로봇-송신모듈 과의 거리가 Dist_module 이내)이므로 제1로봇(100a)은 회전하지 않고 직진 이동하며 송신모듈(500)을 추종할 수 있다.
마찬가지로, 제2로봇(100b) 역시 중앙선 각도인 θ2 에 따라 회전하는 경우에 회전을 중지하고 직진이동하는 범위를 달리 설정할 수 있다.
이는 다수의 로봇들이 송신모듈(500)을 추종하는 경우 일렬로만 움직일 경우 로봇들의 움직임이 느려질 수 있다. 따라서, 로봇과 일정 거리 내에 있는 로봇들은 중앙선 각도의 판단 범위를 달리 적용할 수 있다.
예를 들어 표 1과 같이 로봇이 송신모듈(500)을 향해 방향을 회전하는 기준이 되는 각도(기준 각도)는 로봇과 송신모듈(500)과의 거리에 따라 달라질 수 있다.
로봇과의 거리 범위 angle_range
1m 이내 45도 이하
1m~2m 30도 이하
2m~3m 20도 이하
3m 이상 10도 이하.
따라서, 제어부(250)는 중앙선 각도와 미리 설정된 기준 각도(angle_range)를 비교하여 로봇의 회전 여부를 결정하는데, 여기서 기준 각도는 표 1의 실시예와 같이 로봇(100)과 송신모듈(500) 사이의 거리에 따라 감소할 수 있다.
도 11은 본 발명의 일 실시예에 의한 카메라 센서가 주변의 사물을 촬영하여 로봇인지 여부를 확인하는 과정을 보여준다.
제1로봇의 카메라 센서가 주변의 사물을 촬영한다(S64). 그리고 인공지능모듈(255)이 촬영된 사물을 제2로봇인지를 판단한다(S65). 인공지능 모듈에 대해서는 후술한다.
그리고 제2로봇인 것으로 판단되면 제1로봇의 뎁스 카메라 센서 또는 장애물 센서가 측정한 제2로봇과의 거리 또는 제2로봇의 이동 속도를 이용하여 제어부는 제2로봇이 관리자 모드인지 판단한다(S66). 왜냐하면 관리자 모드가 아닌 사용자 추종 모드의 로봇은 제1로봇이 추종하는 송신모듈이 아닌, 사용자가 소지한 제2의 송신모듈을 추종하여 이동하기 때문이다.
제어부(250)는 제2로봇과의 거리의 변화, 제2로봇의 이동 방향 등을 기준으로 제2로봇이 관리자 모드인지를 판단하고(S67), 제2로봇이 관리자 모드인 경우에 S68 단계를 진행한다.
즉, 제1로봇의 제어부는 제2로봇과의 거리를 유지하며 송신모듈을 향해 제1로봇을 이동시킨다(S68).
반면, 제2로봇이 관리자 모드가 아니거나, 혹은 S65에서 촬영된 주변의 사물이 로봇이 아닌 경우, 제1로봇은 해당 사물을 장애물로 판단하고, 해당 사물을 회피하는 동작을 수행한다(S69).
정리하면 다음과 같다.
제1로봇의 제어부(250)는 카메라 센서(260)가 촬영한 이미지를 이용하여 송신모듈(500)과 제1로봇 사이에 제2로봇이 배치된 것을 확인한다. 그리고 제1로봇의 제어부(250)는 제2로봇의 이동 속도와 이동 방향에 대응하여 제1로봇의 이동 속도와 로봇의 이동 방향을 제어한다.
이 과정에서 보다 정확도를 높이기 위해 인공지능모듈(255)은 카메라 센서가 촬영한 이미지 내에서 제2로봇을 구별할 수 있다. 또는 인공지능모듈(255)는 촬영된 사물이 로봇인 것으로 식별한 후에도 식별된 로봇이 송신 모듈을 향해 이동하는 제2로봇인지 혹은 그렇지 않은(사용자 추종 모드의) 제3로봇인지를 구별하고 구별한 결과를 산출할 수 있다.
또한, 정확도를 높이기 위해, 카메라 센서(260)는 뎁스 카메라 센서이거나 혹은 뎁스 카메라 센서를 추가로 포함할 수 있다.
이 경우, 인공지능 모듈(255)은 뎁스 카메라 센서가 생성한 거리 정보를 입력받아 이미지 내의 제2로봇이 송신 모듈을 향해 이동하는 로봇인지 아니면 로봇이 아닌 장애물인지를 판단할 수 있다. 또는 제어부(250)는 장애물 센서(220)가 센싱한 장애물과의 거리가 지속적으로 일정할 경우에도 해당 장애물이 송신 모듈을 향해 이동하는 로봇으로 판단할 수 있다.
본 명세서의 일 실시예에서 로봇(100)은 카메라 센서(260)를 이용하여 외부의 장애물이 로봇인지 여부를 판단한다.
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
로봇(100)은 앞서 살펴보았던 제어부(250)를 구성하는 하위 구성요소인 인공지능모듈(255)이 인공지능 기능을 수행할 수 있다. 제어부(250) 내에 인공지능모듈(255)이 소프트웨어 또는 하드웨어로 구성될 수 있다.
이 경우, 로봇(100)의 통신부(280)는 유무선 통신 기술을 이용하여 다른 AI 기능을 제공하는 로봇이나 또는 도 12에서 살펴볼 AI 서버(700) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(280)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(280)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
인터페이스부(230)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 인터페이스부(230)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 장애물 센서(220), 카메라 센서(260) 또는 마이크로폰이 획득한 정보들은 센싱 데이터 또는 센서 정보 등을 지칭한다.
인터페이스부(230) 및 각종 센서들(220, 260)과 이동부(190)의 휠 인코더 등은 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 전술한 구성요소들은 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 제어부(250) 또는 인공지능부는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
인공지능모듈(255)은 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 로봇(100)이 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 인공지능모듈(255)은 AI 서버(700)의 러닝 프로세서(740)과 함께 AI 프로세싱을 수행할 수 있다.
이때, 인공지능모듈(255)은 로봇(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 인공지능모듈(255)은 별도의 메모리 또는 로봇(100)에 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
로봇(100)은 다양한 센서들을 이용하여 로봇(100)의 내부 정보, 로봇(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 로봇(100)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다 센서, 장애물 센서(220), 카메라 센서(260), 레이더 등이 있다.
또한, 앞서 살펴본 인터페이스부(230)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 인터페이스부(230)는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
로봇(100)에 내장된 메모리는 로봇(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 로봇(100)에 내장된 각종 센서들이나 인터페이스부(230) 등이 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
제어부(250)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, 로봇(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 제어부(250)는 로봇(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 제어부(250)는 인공지능부 또는 메모리의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 로봇(100)의 구성 요소들을 제어할 수 있다.
이때, 제어부(250)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
제어부(250)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
이때, 제어부(250)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 인공지능부에 의해 학습된 것이나, AI 서버(700)의 러닝 프로세서(740)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
제어부(250)는 로봇(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리 또는 인공지능부에 저장하거나, AI 서버(700) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
제어부(250)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 로봇(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(250)는 는 응용 프로그램의 구동을 위하여, 로봇(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
또는 로봇(100)과 통신하는 별도의 인공지능 서버(AI server)가 배치되고 로봇(100)이 제공하는 정보를 처리할 수 있다.
도 12는 본 발명의 일 실시예에 의한 AI 서버의 구성을 보여준다.
인공 지능 서버, 즉 AI 서버(700)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(700)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(700)는 AI 장치(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
AI 서버(700)는 통신부(710), 메모리(730), 러닝 프로세서(740) 및 프로세서(760) 등을 포함할 수 있다.
통신부(710)는 로봇(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(730)는 모델 저장부(731)를 포함할 수 있다. 모델 저장부(731)는 러닝 프로세서(740)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.
러닝 프로세서(740)는 학습 데이터를 이용하여 인공 신경망(731a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(700)에 탑재된 상태에서 이용되거나, 로봇(100)등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(730)에 저장될 수 있다.
프로세서(760)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
특히, 본 명세서에서 인공지능모듈(255) 또는 AI 서버(700)는 입력된 이미지에 대해 주변에 배치된 사물이 로봇인지에 대한 정보를 출력할 수 있다. 예를 들어 주변의 사물을 촬영한 이미지가 인공지능모듈(255) 또는 AI 서버(700)에 입력되면 이들은 이미지에 대한 분석을 수행하여 촬영된 사물이 로봇인지, 사물인지, 혹은 보다 상세하게, 사물이 아닌 움직이는 사람인지 등을 출력한다.
그리고 인공지능 모듈(255)은 촬영된 사물이 로봇인 경우 해당 로봇이 사용자를 추종하며 이동하는 로봇인지 관리자 모드 상태에서 관리자 송신모듈을 추종하는 로봇인지 판단할 수 있다. 이는 뎁스 카메라 센서가 주변 로봇과의 거리를 산출하여 이 거리가 일정한 경우에 인공지능모듈(255) 또는 제어부(250)가 관리자 모드인 것으로 판단한다.
이러한 판단 과정은 도 11에서 살펴보았다.
본 발명은 로봇에 인공지능모듈(255)이 탑재된 경우 관리자 모드에서의 다른 로봇의 판별 정확도를 높일 수 있다.
즉, 로봇(100)은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇(100)은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇(100)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇(100a)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇(100)은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇(100)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇(100a)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇(100a)에서 직접 학습되거나, AI 서버(200) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇(100)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(700) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇(100)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇(100)을 주행시킬 수 있다.
맵 데이터에는 로봇(100)이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇(100)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇(100)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
또한, 로봇(100)은 자율 주행을 수행하며, 이 과정에서 AI 기술이 적용되어, 이동형 로봇, 차량, 무인 비행체 등으로 구현될 수 있다.
자율 주행하는 로봇(100)은 자율 주행 기능을 제어하기 위한 자율 주행 제어 모듈을 포함할 수 있고, 자율 주행 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다. 자율 주행 제어 모듈은 자율 주행하는 로봇(100)의 구성으로써 내부에 포함될 수도 있지만, 자율 주행하는 로봇(100)의 외부에 별도의 하드웨어로 구성되어 연결될 수도 있다.
자율 주행하는 로봇(100)은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 자율 주행하는 로봇(100)의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 동작을 결정할 수 있다.
여기서, 자율 주행하는 로봇(100)은 이동 경로 및 주행 계획을 결정하기 위하여, 로봇(100)과 마찬가지로, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
특히, 자율 주행하는 로봇(100)은 시야가 가려지는 영역이나 일정 거리 이상의 영역에 대한 환경이나 객체는 외부 장치들로부터 센서 정보를 수신하여 인식하거나, 외부 장치들로부터 직접 인식된 정보를 수신할 수 있다.
자율 주행하는 로봇(100)은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 자율 주행하는 로봇(100)은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 주행 동선을 결정할 수 있다. 여기서, 학습 모델은 자율 주행 차량(100b)에서 직접 학습되거나, AI 서버(700) 등의 외부 장치에서 학습된 것일 수 있다.
이때, 자율 주행하는 로봇(100)은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버(700) 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
자율 주행하는 로봇(100)은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 자율 주행하는 로봇(100)을 주행시킬 수 있다.
맵 데이터에는 자율 주행 차량(100b)이 주행하는 공간(예컨대, 도로)에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 가로등, 바위, 건물 등의 고정 객체들과 차량, 보행자 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 자율 주행하는 로봇(100)은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 자율 주행하는 로봇(100)은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
또한, 로봇(100)은 AI 기술 및 자율 주행 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
자율 주행 기능을 가진 로봇(100)은 사용자의 제어 없이도 주어진 동선에 따라 스스로 움직이거나, 동선을 스스로 결정하여 움직이는 장치들을 통칭할 수 있다.
자율 주행 기능을 가진 로봇(100)은 이동 경로 또는 주행 계획 중 하나 이상을 결정하기 위해 공통적인 센싱 방법을 사용할 수 있다. 예를 들어, 자율 주행 기능을 가진 로봇(100)은 라이다, 레이더, 카메라를 통해 센싱된 정보를 이용하여, 이동 경로 또는 주행 계획 중 하나 이상을 결정할 수 있다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
100: 로봇 110: 수납부
120: 핸들 어셈블리 150: 제어모듈
190: 이동부 210: 측위센서
220: 장애물 센서 240: 포스센서
250: 제어부 260: 카메라 센서
700: 인공지능 서버

Claims (20)

  1. 송신모듈을 센싱하여 상기 송신모듈의 위치를 산출하는 측위센서;
    로봇 주변의 장애물을 센싱하는 장애물 센서;
    상기 로봇을 이동시키는 이동부; 및
    상기 송신모듈로부터 신호를 수신하면, 상기 측위센서가 산출한 송신모듈의 위치를 향해 상기 로봇을 얼라인 시킨 후 상기 장애물 센서가 센싱한 장애물을 회피하여 상기 로봇을 상기 송신 모듈을 향해 이동시키고 상기 송신모듈의 신호가 수신되지 않거나 상기 송신모듈과 로봇 사이의 거리가 미리 설정된 거리 이하인 경우 상기 로봇을 정지시키는 제어부를 포함하는, 관리자 모드로 이동하는 로봇.
  2. 제1항에 있어서,
    상기 제어부는 상기 송신모듈과 상기 로봇의 중앙선이 이루는 중앙선 각도의 절대값 크기에 따라 상기 로봇을 회전하여 상기 로봇이 상기 송신 모듈을 향하도록 제어하는, 관리자 모드로 이동하는 로봇.
  3. 제2항에 있어서,
    상기 제어부는 상기 중앙선 각도와 미리 설정된 기준 각도를 비교하여 상기 로봇의 회전 여부를 결정하며,
    상기 기준 각도는 상기 로봇과 상기 송신모듈 사이의 거리에 따라 감소하는, 관리자 모드로 이동하는 로봇.
  4. 제1항에 있어서,
    상기 장애물 센서는 상기 송신모듈과 상기 로봇의 이동 경로 사이에 배치된 장애물을 감지하며,
    상기 제어부는 상기 장애물과의 거리에 기반하여 상기 장애물을 회피하여 상기 송신 모듈을 향해 이동하도록 상기 로봇의 이동 속도 또는 상기 로봇의 이동 방향을 제어하는, 관리자 모드로 이동하는 로봇.
  5. 제4항에 있어서,
    상기 장애물 센서는 상기 장애물과의 거리를 측정하며,
    상기 제어부는 상기 장애물과의 거리가 일정하게 유지되는 경우, 상기 장애물을 제2로봇으로 판단하여 상기 로봇의 이동 속도 또는 상기 로봇의 이동 방향을 제어하는, 관리자 모드로 이동하는 로봇.
  6. 제1항에 있어서,
    상기 로봇의 주변의 사물을 촬영하는 카메라 센서를 더 포함하며,
    상기 제어부는 상기 카메라 센서가 촬영한 이미지를 이용하여 상기 송신모듈과 상기 로봇 사이에 제2로봇이 배치된 것을 확인하면 상기 제2로봇의 이동 속도와 이동 방향에 대응하여 상기 로봇의 이동 속도와 상기 로봇의 이동 방향을 제어하는, 관리자 모드로 이동하는 로봇.
  7. 제6항에 있어서,
    상기 카메라 센서가 촬영한 이미지에서 상기 제2로봇을 판별하는 인공지능 모듈을 더 포함하며,
    상기 인공지능 모듈은 상기 카메라 센서가 촬영한 이미지 내에서 상기 송신 모듈을 향해 이동하는 제2로봇과 그렇지 않은 제3로봇을 구별하고, 상기 송신 모듈을 향해 이동하는 제2로봇과 로봇이 아닌 장애물을 구별한 결과를 산출하는, 관리자 모드로 이동하는 로봇.
  8. 제7항에 있어서,
    상기 카메라 센서는 뎁스 카메라 센서를 더 포함하며,
    상기 인공지능 모듈은 상기 뎁스 카메라 센서가 생성한 거리 정보를 입력받아 상기 이미지 내의 제2로봇이 상기 송신 모듈을 향해 이동하는 로봇인지를 판단하는, 관리자 모드로 이동하는 로봇.
  9. 제1항에 있어서,
    상기 송신모듈은 관리자 모드의 로봇을 제어하는 제1송신모듈이며,
    상기 제어부는 사용자 추종 모드를 지시하는 제2송신모듈로부터 신호가 감지되지 않거나 상기 제2송신모듈이 상기 로봇의 내부에 배치된 것으로 확인하면 상기 제어부는 상기 로봇을 상기 관리자 모드로 전환하여 상기 로봇이 상기 제1송신모듈의 신호에 따라 상기 제1송신모듈을 추종하여 이동하도록 제어하는, 관리자 모드로 이동하는 로봇.
  10. 제9항에 있어서,
    상기 제어부는 상기 로봇의 크기와 상기 로봇에서 상기 측위 센서가 배치된 위치 및 상기 제2송신모듈의 위치를 계산하여 상기 제2송신모듈이 상기 로봇의 내부에 배치된 것으로 판단하는, 관리자 모드로 이동하는 로봇.
  11. 로봇의 측위 센서가 송신모듈을 센싱하여 상기 송신모듈의 위치를 산출하는 단계;
    상기 로봇의 제어부는 상기 송신모듈의 위치를 향해 로봇을 얼라인 시키는 단계;
    상기 로봇의 장애물 센서가 상기 로봇 주변의 장애물을 센싱하는 단계;
    상기 제어부는 상기 장애물 센서가 센싱한 장애물을 회피하여 상기 로봇을 상기 송신 모듈을 향해 이동시키는 단계; 및
    상기 제어부는 상기 송신모듈의 신호가 수신되지 않거나 상기 송신모듈과 로봇 사이의 거리가 미리 설정된 거리 이하인 경우 상기 로봇을 정지시키는 단계를 포함하는, 로봇이 관리자 모드로 이동하는 방법.
  12. 제11항에 있어서,
    상기 제어부는 상기 송신모듈과 상기 로봇의 중앙선이 이루는 중앙선 각도의 절대값 크기에 따라 상기 로봇을 회전하여 상기 로봇이 상기 송신 모듈을 향하도록 제어하는 단계를 더 포함하는, 로봇이 관리자 모드로 이동하는 방법.
  13. 제12항에 있어서,
    상기 제어부는 상기 중앙선 각도와 미리 설정된 기준 각도를 비교하여 상기 로봇의 회전 여부를 결정하는 단계를 더 포함하며,
    상기 기준 각도는 상기 로봇과 상기 송신모듈 사이의 거리에 따라 감소하는, 로봇이 관리자 모드로 이동하는 방법.
  14. 제11항에 있어서,
    상기 장애물 센서는 상기 송신모듈과 상시 로봇의 이동 경로 사이에 배치된 장애물을 감지하는 단계; 및
    상기 제어부는 상기 장애물과의 거리에 기반하여 상기 장애물을 회피하여 상기 송신 모듈을 향해 이동하도록 상기 로봇의 이동 속도 또는 상기 로봇의 이동 방향을 제어하는 단계를 더 포함하는, 로봇이 관리자 모드로 이동하는 방법.
  15. 제14항에 있어서,
    상기 장애물 센서는 상기 장애물과의 거리를 측정하는 단계; 및
    상기 제어부는 상기 장애물과의 거리가 일정하게 유지되는 경우, 상기 장애물을 제2로봇으로 판단하여 상기 로봇의 이동 속도 또는 상기 로봇의 이동 방향을 제어하는 단계를 더 포함하는, 로봇이 관리자 모드로 이동하는 방법.
  16. 제11항에 있어서,
    상기 로봇의 카메라 센서가 상기 로봇 주변의 사물을 촬영하는 단계; 및
    상기 제어부는 상기 카메라 센서가 촬영한 이미지를 이용하여 상기 송신모듈과 상기 로봇 사이에 제2로봇이 배치된 것을 확인하면 상기 제2로봇의 이동 속도와 이동 방향에 대응하여 상기 로봇의 이동 속도와 상기 로봇의 이동 방향을 제어하는 단계를 더 포함하는, 로봇이 관리자 모드로 이동하는 방법.
  17. 제16항에 있어서,
    상기 로봇의 인공지능 모듈은 상기 카메라 센서가 촬영한 이미지 내에서 상기 송신 모듈을 향해 이동하는 제2로봇과 그렇지 않은 제3로봇을 구별하고, 상기 송신 모듈을 향해 이동하는 제2로봇과 로봇이 아닌 장애물을 구별한 결과를 산출하는 단계를 더 포함하는, 로봇이 관리자 모드로 이동하는 방법.
  18. 제17항에 있어서,
    상기 카메라 센서는 뎁스 카메라 센서를 더 포함하며,
    상기 인공지능 모듈은 상기 뎁스 카메라 센서가 생성한 거리 정보를 입력받아 상기 이미지 내의 제2로봇이 상기 송신 모듈을 향해 이동하는 로봇인지를 판단하는 단계를 더 포함하는, 로봇이 관리자 모드로 이동하는 방법.
  19. 제11항에 있어서,
    상기 송신모듈은 관리자 모드의 로봇을 제어하는 제1송신모듈이며,
    상기 제어부는 사용자 추종 모드를 지시하는 제2송신모듈로부터 신호가 감지되지 않거나 상기 제2송신모듈이 상기 로봇의 내부에 배치된 것으로 확인하는 단계;
    상기 제어부는 상기 로봇을 상기 관리자 모드로 전환하여 상기 로봇이 상기 제1송신모듈의 신호에 따라 상기 제1송신모듈을 추종하여 이동하도록 제어하는 단계를 더 포함하는, 로봇이 관리자 모드로 이동하는 방법.
  20. 제19항에 있어서,
    상기 제어부는 상기 로봇의 크기와 상기 로봇에서 상기 측위 센서가 배치된 위치 및 상기 제2송신모듈의 위치를 계산하여 상기 제2송신모듈이 상기 로봇의 내부에 배치된 것으로 판단하는 단계를 더 포함하는, 로봇이 관리자 모드로 이동하는 방법.



KR1020190107598A 2019-08-30 2019-08-30 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇 Pending KR20210026595A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190107598A KR20210026595A (ko) 2019-08-30 2019-08-30 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇
US16/838,499 US11635759B2 (en) 2019-08-30 2020-04-02 Method of moving robot in administrator mode and robot of implementing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190107598A KR20210026595A (ko) 2019-08-30 2019-08-30 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇

Publications (1)

Publication Number Publication Date
KR20210026595A true KR20210026595A (ko) 2021-03-10

Family

ID=74679673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190107598A Pending KR20210026595A (ko) 2019-08-30 2019-08-30 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇

Country Status (2)

Country Link
US (1) US11635759B2 (ko)
KR (1) KR20210026595A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020209393A1 (ko) * 2019-04-08 2020-10-15 엘지전자 주식회사 파워 어시스트 기능을 갖는 카트의 핸들 어셈블리 및 카트
US12103773B2 (en) 2020-10-19 2024-10-01 Gideon Brothers d.o.o. Dynamic traversal protocol selection by autonomous robots in a facility context
CN113733103B (zh) * 2021-10-09 2023-05-30 深圳优艾智合机器人科技有限公司 工业机器人的控制方法、控制装置、系统及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593811B2 (en) * 2005-03-31 2009-09-22 Deere & Company Method and system for following a lead vehicle
EP2021823A1 (en) * 2006-05-17 2009-02-11 Your Shadow Technologies Pty Ltd Robotic golf caddy
US10017201B2 (en) * 2014-02-12 2018-07-10 Tecneva S.R.L. Control system of a self-moving cart, in particular a golf caddie
AU2016340062B2 (en) * 2015-10-16 2021-03-25 Lemmings LLC Robotic golf caddy
KR101783890B1 (ko) * 2016-01-25 2017-10-11 경북대학교 산학협력단 이동 로봇 시스템
US10906185B2 (en) * 2017-02-06 2021-02-02 Cobalt Robotics Inc. Mobile robot with arm for access point security checks
JP6734607B2 (ja) * 2017-05-11 2020-08-05 Groove X株式会社 ロボット、携帯品及びロボット制御プログラム
US11160340B2 (en) * 2017-07-10 2021-11-02 Travelmate Robotics, Inc. Autonomous robot system

Also Published As

Publication number Publication date
US20210064035A1 (en) 2021-03-04
US11635759B2 (en) 2023-04-25

Similar Documents

Publication Publication Date Title
KR102302239B1 (ko) 이동 제한 구역에서 카트로봇을 제어하는 방법 및 이를 구현하는 카트로봇
US11673269B2 (en) Method of identifying dynamic obstacle and robot implementing same
KR102284509B1 (ko) 충전 로봇 및 그 제어방법
US10376117B2 (en) Apparatus and methods for programming and training of robotic household appliances
US20210405646A1 (en) Marker, method of moving in marker following mode, and cart-robot implementing method
KR102220564B1 (ko) 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를구현하는 로봇
US11097416B2 (en) Mobile robot system, mobile robot, and method of controlling the mobile robot system
KR102693610B1 (ko) 로봇의 충전 시스템 및 그 제어 방법
US11858148B2 (en) Robot and method for controlling the same
EP3788452B1 (en) Method for determining self-driving vehicle behavior models, a self-driving vehicle, and a method of navigating a self-driving vehicle
US12085951B2 (en) Method of updating map in fusion SLAM and robot implementing same
KR102615685B1 (ko) 멀티 센서를 동기화시켜 위치를 추정하는 방법 및 이를 구현하는 로봇
KR102300574B1 (ko) 사용자 신체 특성을 반영하여 파워 어시스트 모드로 이동하는 방법 및 이를 구현하는 카트로봇
KR102771778B1 (ko) 인공지능 이동 로봇
US20210402600A1 (en) Method of tracking user position using crowd robot, tag device, and robot implementing thereof
KR20210037419A (ko) 이동 로봇
US11467598B2 (en) Method of estimating position in local area of large space and robot and cloud server implementing thereof
US11635759B2 (en) Method of moving robot in administrator mode and robot of implementing method
KR102810099B1 (ko) 로봇 시스템 및 그 제어 방법
US11537137B2 (en) Marker for space recognition, method of moving and lining up robot based on space recognition and robot of implementing thereof
KR102837653B1 (ko) 대면적의 공간에서 로컬 영역별로 위치를 추정하는 방법 및 이를 구현하는 로봇과 클라우드 서버
US20250051113A1 (en) Transport robot
EP4574345A1 (en) Robot
WO2020203341A1 (ja) 制御装置、制御方法、およびプログラム
KR20250024775A (ko) 장애물 인식 방법 및 주행로봇

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190830

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20220826

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20190830

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241210

Patent event code: PE09021S01D