KR102329067B1 - 원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템 - Google Patents

원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템 Download PDF

Info

Publication number
KR102329067B1
KR102329067B1 KR1020197032331A KR20197032331A KR102329067B1 KR 102329067 B1 KR102329067 B1 KR 102329067B1 KR 1020197032331 A KR1020197032331 A KR 1020197032331A KR 20197032331 A KR20197032331 A KR 20197032331A KR 102329067 B1 KR102329067 B1 KR 102329067B1
Authority
KR
South Korea
Prior art keywords
robot
user
motion
control commands
motions
Prior art date
Application number
KR1020197032331A
Other languages
English (en)
Other versions
KR20200019119A (ko
Inventor
니콜라오스 미칼라키스
Original Assignee
도요타 리서치 인스티튜트, 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 도요타 리서치 인스티튜트, 인코퍼레이티드 filed Critical 도요타 리서치 인스티튜트, 인코퍼레이티드
Publication of KR20200019119A publication Critical patent/KR20200019119A/ko
Application granted granted Critical
Publication of KR102329067B1 publication Critical patent/KR102329067B1/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/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/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
    • 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/06Safety 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/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/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40131Virtual reality control, programming of manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

로봇의 작동을 제한하는 방법은: 로봇의 네트워크 인터페이스 하드웨어를 사용하여, 사용자로부터 하나 이상의 로봇 제어 명령 - 로봇 제어 명령은 로봇에게 로봇 동작을 수행하도록 지시함 - 을 수신하는 단계; 로봇에 하나 이상의 로봇 제어 명령을 제공하는 사용자가 1차 사용자(primary user)인지 또는 2차 사용자(secondary user)인지를 결정하는 단계; 및, 하나 이상의 로봇 제어 명령에 의해 지시된 로봇 동작을 하나 이상의 로봇 작동 제한사항과 비교하는 단계를 포함한다. 상기 방법은 하나 이상의 로봇 제어 명령에 의해 지시된 로봇 동작이 하나 이상의 로봇 작동 제한사항과 상충(conflict)되는지 여부를 결정하는 단계; 및, 사용자가 2차 사용자이고 하나 이상의 로봇 제어 명령에 의해 지시된 로봇 동작이 하나 이상의 로봇 작동 제한사항과 상충될 때, 로봇의 작동을 제한하는 단계를 더 포함한다.

Description

원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템
관련 출원에 대한 상호 참조
본 출원은 2017년 4월 4일자로 제출된 미국 특허출원 제15/478,735호를 우선권으로 주장하며, 상기 출원은 참고로 본 명세서에 통합되어 있다.
기술분야
본 명세서는 포괄적으로 로봇 장치의 제어에 관한 것으로, 보다 상세하게는 원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템에 관한 것이다.
로봇 장치는 의료, 제조, 및 사용자 보조(user-assistive) 응용 분야와 같은, 다양한 응용 분야에서 점점 더 많이 사용되고 있다. 로봇은 점점 더 자율적(autonomous)이 되고 있으나, 로봇은 여전히 사용자 입력에 따라 작업을 수행할 수 있다. 또한, 로봇의 사용이 널리 보급됨에 따라, 로봇은 예를 들어 크라우드 소싱 기술(crowd sourcing technology)을 통해 많은 다른 최종 사용자와 상호 접속되고 있다. 일례로서, 로봇의 소유자는 다른 사용자가 로봇을 제어하여 청소, 세탁 등과 같은 작업을 수행하게 할 수 있다. 그러나 소유자는 다른 사용자가 원격으로, 소유자의 집, 회사 등에서 로봇을 작동하는 동안, 예를 들면 이 다른 사용자가 로봇을 완전히 제어하는 것을 원하지 않을 수도 있다.
따라서, 비소유자 사용자의 로봇 제어를 제한하기 위해 원격 제어 가능한 로봇에 대한 로봇 작동 제한사항을 제공하는 방법 및 시스템이 요구된다.
일 실시예에서, 로봇의 작동을 제한하는 방법은 로봇의 네트워크 인터페이스 하드웨어를 사용하여, 사용자로부터 하나 이상의 로봇 제어 명령 - 로봇 제어 명령은 로봇에게 적어도 하나의 로봇 동작을 수행하도록 지시함 - 을 수신하는 단계; 로봇에 하나 이상의 로봇 제어 명령을 제공하는 사용자가 1차 사용자(primary user)인지 또는 2차 사용자(secondary user)인지를 결정하는 단계; 및, 하나 이상의 로봇 제어 명령에 의해 지시된 적어도 하나의 로봇 동작을 하나 이상의 로봇 작동 제한사항과 비교하는 단계를 포함한다. 상기 방법은 하나 이상의 로봇 제어 명령에 의해 지시된 적어도 하나의 로봇 동작이 하나 이상의 로봇 작동 제한사항과 상충(conflict)되는지 여부를 결정하는 단계; 및, 사용자가 2차 사용자이고 하나 이상의 로봇 제어 명령에 의해 지시된 적어도 하나의 로봇 동작이 하나 이상의 로봇 작동 제한사항과 상충될 때, 로봇의 작동을 제한하는 단계를 더 포함한다.
다른 실시예에서, 로봇 제어 시스템은 네트워크 인터페이스 하드웨어를 구비한 로봇; 로봇에 통신 가능하게 결합된 인간-로봇 인터페이스 장치; 하나 이상의 프로세서; 하나 이상의 프로세서에 통신 가능하게 결합된 하나 이상의 메모리 모듈을 포함한다. 로봇 제어 시스템은, 하나 이상의 프로세서에 의해 실행될 때 로봇 제어 시스템이 적어도 다음의: 로봇의 네트워크 인터페이스 하드웨어를 사용하여, 사용자로부터 하나 이상의 로봇 제어 명령 - 로봇 제어 명령은 로봇에게 적어도 하나의 로봇 동작을 수행하도록 지시함 - 을 수신하고; 로봇에 하나 이상의 로봇 제어 명령을 제공하는 사용자가 1차 사용자인지 또는 2차 사용자인지를 결정하며; 하나 이상의 로봇 제어 명령에 의해 지시된 적어도 하나의 로봇 동작을 하나 이상의 로봇 작동 제한사항과 비교하고; 하나 이상의 로봇 제어 명령에 의해 지시된 적어도 하나의 로봇 동작이 하나 이상의 로봇 작동 제한사항과 상충되는지 여부를 결정하고; 및, 사용자가 2차 사용자이고 하나 이상의 로봇 제어 명령에 의해 지시된 적어도 하나의 로봇 동작이 하나 이상의 로봇 작동 제한사항과 상충될 때, 로봇의 작동을 제한하는 것:을 수행하게 하는, 하나 이상의 메모리 모듈에 저장된 기계 판독 가능 명령을 더 포함한다.
또 다른 실시예에서, 하나 이상의 로봇 작동 제한사항을 확립하는 방법은 로봇이 복수의 로봇 동작 - 복수의 로봇 동작의 각각의 개별 로봇 동작은 복수의 제어 명령의 개별 제어 명령에 기초함 - 을 수행하도록, 로봇의 네트워크 인터페이스 하드웨어를 사용하여 사용자로부터 복수의 제어 명령을 수신하는 단계; 및, 복수의 로봇 동작 각각에 관한 로봇 동작 패턴 정보를 하나 이상의 메모리 모듈에 저장하는 단계를 포함한다. 또한, 상기 방법은 하나 이상의 메모리 모듈에 통신 가능하게 결합된 프로세서를 사용하여, 복수의 로봇 동작 각각에 관한 로봇 동작 패턴 정보에 기초하여 하나 이상의 로봇 작동 제한사항을 확립하는 단계를 포함한다.
본 명세서에 기재된 실시예에 의해 제공되는 이들 및 추가적인 특징들은 도면과 연계하여, 이하의 상세한 설명을 고찰하면 보다 온전히 이해될 것이다.
도면에 제시된 실시예는 본질상 도시적이고 예시적인 것으로, 청구범위에 의해 규정된 주제를 제한하려는 것이 아니다. 다음의 예시적인 실시예의 상세한 설명은 다음의 도면들과 연계하여 읽을 때 이해될 수 있으며, 이들 도면에서 유사한 구조는 유사한 참조 번호로 표시된다.
도 1은 본 명세서에 도시 및 기재된 하나 이상의 실시예에 따른, 작동 환경에 위치된 로봇 및 로봇에 통신 가능하게 결합된 인간-로봇 인터페이스 장치를 포함하는 로봇 제어 시스템을 개략적으로 도시하는 도면.
도 2는 본 명세서에 기재 및 예시된 하나 이상의 실시예에 따른, 로봇 제어 시스템과 통신 가능하게 결합된 컴포넌트를 개략적으로 도시하는 도면.
도 3은 본 명세서에 도시 및 기재된 하나 이상의 실시예에 따른, 복수의 예시적인 로봇 동작을 개략적으로 도시하는 도면.
도 4는 본 명세서에 도시 및 기재된 하나 이상의 실시예에 따른, 예시적인 작동 환경에 위치된 로봇을 개략적으로 도시하는 도면.
도 5는 본 명세서에 도시 및 기재된 하나 이상의 실시예에 따른, 로봇의 작동을 제한하는 방법을 예시하는 플로우차트를 도시하는 도면.
도 6은 본 명세서에 도시 및 기재된 하나 이상의 실시예에 따른, 하나 이상의 로봇 작동 제한사항을 확립하는 방법을 예시하는 플로우차트를 도시하는 도면.
포괄적으로 도면을 참조하면, 본 명세서에 기재된 실시예는 원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템에 관한 것이다. 실시예는 로봇의 1차 사용자(예를 들면, 로봇의 소유자, 로봇의 등록된 사용자 등)가 로봇의 작동에 대한 하나 이상의 로봇 작동 제한사항을 설정할 수 있게 한다. 따라서, 2차 사용자(예를 들면, 비소유자 사용자, 원격 사용자 등)가 로봇을 작동할 때, 로봇은 로봇이 수행할 수 있는 모든 로봇 동작의 부분집합(subset)만을 수행할 수 있고 로봇이 위치한 작동 환경의 일부 내에서만 작동할 수 있다. 비제한적인 예시적인 예로서, 1차 사용자는 로봇이 세탁물 접는 작업을 수행하기를 원할 수 있지만 세탁물 접는 작업 중에는 로봇을 제어하기를 원치 않을 수 있다. 그래서, 1차 사용자는 예를 들면, 비용 지불 하에 2차 사용자가 로봇을 제어하여 세탁물 접는 작업을 수행하도록 요청할 수 있다. 하지만, 1차 사용자는 2차 사용자가 세탁물 접는 작업을 수행하기를 원하지만, 1차 사용자는 2차 사용자가 로봇을 작동 환경(예를 들면, 1차 사용자의 집)의 특정 구역으로 이동하기를 원치 않을 수 있고 및/또는 2차 사용자가 로봇을 작동하고 있을 때 로봇이 특정 로봇 동작을 수행하기를 원치 않을 수 있다. 그래서, 본 명세서에 기재된 실시예을 이용하여, 1차 사용자가 2차 사용자가 로봇에게 수행하도록 지시할 수 있는 로봇 동작을 제한하고 2차 사용자가 로봇에게 진입하도록 지시할 수 있는 위치를 제한할 수 있도록 1차 사용자는 하나 이상의 로봇 작동 제한사항을 생성할 수 있다. 원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템의 다양한 실시예가 첨부 도면을 구체적으로 참조하여 본 명세서에 설명될 것이다.
이제 도 1을 참조하면, 1차 사용자(116')(예를 들면, 등록된 사용자, 로봇 소유자 등) 또는 2차 사용자(116")(예를 들면, 비소유자 사용자, 원격 사용자 등)와 같은 사용자(116)가 예를 들어, 하나 이상의 인간-로봇 인터페이스 장치(human-robot interface apparatus: HRI)(140)를 통해 로봇(120)에 하나 이상의 로봇 제어 명령을 제공함으로써 로봇(120)을 제어할 수 있는, 로봇 제어 시스템(100)이 도시되어 있다. 도 1에 도시된 바와 같이, 로봇(120)은 작동 환경(160)에 위치될 수 있다. 사용자(116)는 작동 환경(160)에 있거나, 로봇(120)과 작동 환경(160) 양자 모두로부터 원격에 있을 수 있다. 로봇 제어 시스템(100)이 서번트 로봇(servant robot) 용도(즉, 로봇이 일상적인 작업에서 사람들을 돕는 용도)의 맥락에서 설명되지만, 실시예는 이에 제한되지 않음을 유의해야 한다.
로봇 제어 시스템(100)이 주로 로봇(120)의 사용자 제어식 작동을 참조하여 본 명세서에서 설명되지만, 몇몇 실시예에서, 로봇(120)은 자율 작동(autonomous operation) 기능도 또한 포함할 수 있다. 예를 들어, 로봇(120)은 자율 모드와 제어 모드(예를 들면, 로봇(120)이 전적으로 또는 부분적으로 사용자(116)에 의해 제어되는 모드) 양자 모두에서 작동할 수 있다. 예를 들어, 세탁물 접는 작업 중에, 로봇(120)은 작동 환경(160)의 그 현재 위치로부터 세탁물의 위치로 이동하기 위해 자율 모드로 작동할 수 있다. 세탁물에 도달하고 나면, 로봇(120)은 자율 모드로부터 제어 모드로 전환한 다음 사용자(116)로부터 수신된 명령에 응답하여 세탁물 접는 작업을 수행할 수 있다.
예시된 로봇(120)은 헤드 부분(124), 하나 이상의 아암(arm)(126), 하나 이상의 조작기 핸드(manipulator hands)(122), 및 이동 베이스(locomotion base)(127)를 포함한다. 본 명세서에 기재된 실시예는 도 1에 도시된 로봇(120)의 구성에 의해 제한되지 않으며, 로봇(120)은 임의의 형상 및 크기일 수 있음을 이해해야 한다. 로봇(120)은 하나 이상의 HRI(140)와 서로 무선 신호를 송수신하는 로봇 무선 통신 모듈(예를 들면, 도 2의 네트워크 인터페이스 하드웨어(112))을 포함한다. 이러한 방식으로, 로봇(120)은 하나 이상의 HRI(140)와 무선 통신한다. 로봇(120)은 비디오 신호, 위치 신호, 파워 레벨 신호, 건강 신호 등과 같은 다양한 신호를 HRI(140)에 전송할 수 있다. HRI(140)는 로봇 동작 패턴에 대응하는 제어 신호, 자동 내비게이션 개시 신호(예를 들면, A 지점으로 이동하라는 지시), 원격 제어 신호(예를 들면, 수동 제어 신호) 등과 같은 다양한 신호를 로봇(120)에 전송할 수 있다.
도 1에 도시된 바와 같이, 로봇(120)은 로봇(120)이 공간, 예를 들면 작동 환경(160) 내에서 항행(navitage)할 때 로봇(120)이 보는 것을 시각적으로 캡처할 수 있는 하나 이상의 카메라(125)(또는 다른 시각 센서)를 포함한다. 도시된 실시예에서, 하나 이상의 카메라(125)는 로봇(120)의 헤드 부분(124)에 위치된다. 하나 이상의 카메라(125)는 로봇(120)의 다른 구역에 위치될 수도 있음을 이해해야 한다. 작동시, 하나 이상의 카메라(125)에 의해 생성된 이미지는 이들 이미지가 HRI(140)에 수신되도록 통신 경로(104)를 통해 HRI(140)에 무선으로 전송될 수 있다. 그래서, 도 1에 도시된 바와 같이, HRI(140)는 로봇(120)의 하나 이상의 카메라(125)에 의해 생성된 이미지를 디스플레이 인터페이스(142) 상에 디스플레이할 수 있다.
특히, HRI(140)는 작동 환경(160)의 시각적 표현(visual representation)을 디스플레이 인터페이스(142) 상에 디스플레이할 수 있다. 몇몇 실시예에서, HRI(140)는 가상 현실(virtual reality) 유닛을 포함할 수 있고, 작동 환경(160)의 시각적 표현은 작동 환경(160)의 가상 현실을 묘사하기 위해 증강(augment)될 수 있다. 몇몇 실시예에서, 예를 들면, 2차 사용자(116")가 로봇(120)을 제어하고 있을 때, 디스플레이 인터페이스(142)는 작동 환경(160) 내에 가상 게임(virtual game)을 생성하기 위해 작동 환경(160)의 증강된 시각적 표현을 디스플레이할 수 있다. 그래서, 2차 사용자(116")는 로봇(120)을 제어하며 하나 이상의 작업을 가상 게임의 일부로서 수행하도록 장려될 수 있다. 또한, 몇몇 실시예에서, 2차 사용자(116")가 로봇(120)을 제어하고 있을 때, 디스플레이 인터페이스(142)는 작동 환경(160)의 시각적 표현의 적어도 일부를 왜곡시키는 작동 환경(160)의 증강된 시각적 표현을 디스플레이할 수 있다. 도 1에 도시된 예에서, 작동 환경(160)은 액자(picture frame)(165)를 포함하며, 몇몇 실시예에서, 1차 사용자(116')는 2차 사용자(116")가 액자(165) 내에 있는 것을 보기를 원치 않을 수 있으며 그래서 로봇 제어 시스템(100)이 액자(165) 내의 이미지를 왜곡 또는 차단하도록 설정할 수 있다.
몇몇 실시예에서, 하나 이상의 카메라(125)는 로봇이 3차원 공간에서 작동할 수 있도록 깊이 정보(depth information)를 포함하는 입체(stereo) 2차원 이미지를 생성하도록 측방향으로 분리된 적어도 2개의 비디오 카메라(125)를 포함한다. 예를 들어, 로봇(120)은 타겟 물체(162)가 로봇(120)으로부터 얼마나 멀리 떨어져 있는지를 판단하기 위해 적어도 2개의 카메라(125)에 의해 생성된 입체 이미지를 참조할 수 있다. 또한, 로봇(120)은 작동 환경(160) 내에서 내비게이션(항행)할뿐만 아니라 작동 환경(160) 내에서 타겟 물체(162)와 같은 물체를 조작하기 위해 입체 2차원 이미지를 사용하여 X, Y, 및 Z 좌표를 결정하기 위해 내비게이션 알고리즘을 이용할 수 있다.
여전히 도 1을 참조하면, 로봇(120)의 각각의 아암(126)은 아암(126)의 일 단부에서는 로봇(120)의 로봇 몸체(121)에, 그리고 아암(126)의 타단부에서는 개별 조작기 핸드(122)에 결합된다. 실시예는 하나 이상의 아암(126)을 가질 수 있다. 아암(126)과 조작기 핸드(122)에 의해 제공되는 자유도는 제어되는 로봇(120)의 유형에 따라 달라질 수 있다. 예로서, 조작기 핸드(122)는 조작기 핸드(122)가 인간의 손과 유사한 방식으로 물체(예를 들면, 타겟 물체(162))를 파지(grasp)할 수 있도록 멀티 핑거(multi-fingered) 조작기일 수 있다. 아암(126)과 조작기 핸드(122)의 동작은, 예를 들면 서보 모터와 같은 복수의 액추에이터에 의해 이루어질 수 있다. 액츄에이터는 아래에 보다 상세히 설명되는 바와 같이, HRI(140)로부터 수신된 신호를 통해 제어될 수 있다.
또한, 이동 베이스(127)는 공간을 통해서(예를 들면, 작동 환경(160)을 통해서) 로봇(120)을 이동시키도록 구성된다. 이동 베이스(127)는 HRI(140)로부터 수신된 명령에 따라 로봇(120)을 다양한 위치로 및 다양한 위치로부터 이송하도록 구동되는 하나 이상의 휠을 포함할 수 있다. 휠은 예를 들면, 전기 모터에 의해 구동될 수 있다. 예를 들면 연속 트랙(continuous tracks) 또는 가동 레그(moveable leg)와 같은, 다른 이동 수단도 이용될 수 있다. 로봇(120)은 HRI(140)로부터 지점 A로부터 지점 B로 자율적으로 이동하라는 명령을 수신할 수 있다. 그러면 로봇의 프로세서(예를 들면, 도 2의 프로세서(102))는 로봇(120)이 그에 따라 지점 A로부터 지점 B로 이동하도록 이동 베이스(127)의 컴포넌트에 병진 이동하거나 회전하도록 지시할 수 있다.
여전히 도 1을 참조하면, 각각의 HRI(140)는 사용자(116)(예를 들면, 등록된 사용자 또는 원격 사용자)가 서번트 로봇과 같은 로봇(120)을 무선으로 제어하기 위해 작동할 수 있는 하나 이상의 로봇 제어 프로그램을 갖는 컴퓨팅 장치로 구성될 수 있다. 하나 이상의 HRI(140)는 로봇(120)이 보는 것의 이미지를 디스플레이할 수 있는 디스플레이 인터페이스(142) 인터페이스 및 사용자(116)로부터 제어 명령을 수신하기 위한 하나 이상의 사용자 입력 하드웨어(144)를 갖는 임의의 장치일 수 있다. 하나 이상의 HRI(140)는 가상 현실 유닛, 데스크탑 컴퓨터, 랩탑 컴퓨터, 넷북, 스마트폰, 미디어 플레이어, 전용 하드웨어 등일 수 있다.
이제 도 2를 참조하면, 로봇 제어 시스템(100)의 하나 이상의 전기 및 통신 컴포넌트가 개략적으로 도시되어 있다. 로봇 제어 시스템(100)의 전기 및 통신 컴포넌트가 도 2에서는 개별적으로 도시되어 있으나, 전기 및 통신 컴포넌트는 HRI(140), 로봇(120), 또는 양자 모두의 내부에 포함될 수도 있음에 유의해야 한다. 도 2에 도시된 바와 같이, 로봇 제어 시스템(100)은 하나 이상의 프로세서(102)를 포함한다. 하나 이상의 프로세서(102) 각각은 기계 판독 가능 명령을 실행할 수 있는 임의의 장치일 수 있다. 도 2는 하나 이상의 프로세서(102)를 로봇(120)의 컴포넌트로서 도시하고 있으나, 각각의 HRI(140) 및 로봇(120)이 하나 이상의 프로세서(102)를 포함할 수도 있다. 하나 이상의 프로세서(102) 각각은 컨트롤러, 집적 회로, 마이크로칩, 컴퓨터, 또는 임의의 다른 컴퓨팅 장치일 수 있다.
하나 이상의 프로세서(102)는 로봇 제어 시스템(100)의 다양한 모듈들 사이(예를 들면, 도 1에 도시된 바와 같이 로봇(120)과 HRI(140) 사이)에 신호의 상호 접속(signal interconnectivity)을 제공하는 통신 경로(104)에 결합된다. 따라서, 통신 경로(104)는 임의의 수의 프로세서(102)를 서로(예를 들면, 로봇(120)의 프로세서(102)와 HRI(140)) 통신 가능하게 결합하며, 그래서 로봇(120)과 HRI(140)가 분산 컴퓨팅 환경에서 작동할 수 있게 한다. 본 명세서에서 사용되는 용어 "통신 가능하게 결합된"은 결합된 컴포넌트가 예를 들면, 도전성 매체를 통한 전기 신호, 공기 중을 통한 전자기 신호, 광 도파관을 통한 광 신호 등과 같은, 데이터 신호를 서로 교환할 수 있음을 의미한다.
통신 경로(104)는 예를 들면, 도전성 와이어, 도전성 트레이스, 광 도파관 등과 같이, 신호를 전송할 수 있는 임의의 매체로 형성될 수 있다. 몇몇 실시예에서, 통신 경로(104)는 WiFi, 블루투스 등과 같은 무선 신호의 전송을 용이하게 할 수 있다. 또한, 통신 경로(104)는 신호를 전송할 수 있는 매체의 조합으로 형성될 수도 있다. 일 실시예에서, 통신 경로(104)는 프로세서, 메모리, 센서, 입력 장치, 출력 장치, 및 통신 장치와 같은 컴포넌트에 전기 데이터 신호의 전송을 허용하도록 협력하는 도전성 트레이스, 도전성 와이어, 커넥터, 및 버스의 조합을 포함한다. 따라서, 통신 경로(104)는 예를 들어 LIN 버스, CAN 버스, VAN 버스 등과 같은 차량 버스(vehicle bus)를 포함할 수 있다. 또한, "신호"라는 용어는 매질(medium)을 통해 이동할 수 있는 DC, AC, 정현파, 삼각파, 구형파, 진동 등과 같은 파형(예를 들면, 전기, 광학, 자기, 기계, 또는 전자기)을 의미함을 유의해야 한다.
또한, 로봇 제어 시스템(100)은 통신 경로(104)에 결합된 하나 이상의 메모리 모듈(106)을 포함한다. 도 2는 하나 이상의 메모리 모듈(106)을 로봇(120)의 컴포넌트로서 도시하고 있으나, 각각의 HRI(140) 및 로봇(120)이 하나 이상의 메모리 모듈(106)을 포함할 수도 있다. 하나 이상의 메모리 모듈(106)은 RAM, ROM, 플래시 메모리, 하드 드라이브 등을 포함할 수 있다. 예를 들어, 하나 이상의 메모리 모듈(106)은 휘발성 및/또는 비휘발성 메모리로 구성될 수 있으며, 그래서 (SRAM, DRAM, 및/또는 다른 유형의 랜덤 액세스 메모리를 포함하는) 랜덤 액세스 메모리, 플래시 메모리, 레지스터, CD(컴팩트 디스크), DVD(digital versatile disc), 및/또는 다른 유형의 스토리지 컴포넌트를 포함할 수 있다. 또한, 하나 이상의 메모리 모듈(106)은 로봇(120)의 하나 이상의 프로세서(102) 및/또는 HRI(140)에 본 명세서에 기재된 기능을 수행하도록 지시하는 유형(有形)으로 구현된(tangibly embodied) 실행 가능 명령(즉, 기계 판독 가능 명령)의 집합을 저장하도록 구성된다. 실행 가능 명령(예를 들면, 로봇 제어 명령)의 집합은 예를 들면, 데스크탑 컴퓨터 또는 스마트폰과 같은 컴퓨터 장치 내에 저장된 하나 이상의 로봇 제어 프로그램으로 구현될 수 있다.
기계 판독 가능 명령은 예를 들면, 프로세서에 의해 직접 실행될 수 있는 기계 언어, 또는 기계 판독 가능 명령으로 컴파일 또는 어셈블될 수 있고 하나 이상의 메모리 모듈(106)에 저장될 수 있는 어셈블리 언어, 객체 지향 프로그래밍(object-oriented programming: OOP), 스크립팅 언어, 마이크로코드 등과 같은 임의의 세대(예를 들면, 1GL, 2GL, 3GL, 4GL, 또는 5GL)의 임의의 프로그래밍 언어로 작성된 논리 또는 알고리즘(들)을 포함할 수 있다. 이와 달리, 기계 판독 가능 명령은 FPGA(field-programmable gate array) 구성 또는 ASIC(application-specific integrated circuit) 또는 그 등가물을 통해 구현되는 로직과 같이, 하드웨어 기술 언어(hardware description language: HDL)로 작성될 수 있다. 따라서, 본 명세서에 기재된 방법은 사전 프로그램된 하드웨어 요소로서, 또는 하드웨어와 소프트웨어 컴포넌트의 조합으로서, 임의의 종래의 컴퓨터 프로그래밍 언어로 구현될 수 있다.
로봇 제어 시스템(100)은 통신 경로(104)에 결합된 하나 이상의 위성 안테나(108)를 더 포함할 수 있다. 도 2는 하나 이상의 위성 안테나(108)를 로봇(120)의 컴포넌트로서 도시하고 있으나, 각각의 HRI(140) 및 로봇(120)이 하나 이상의 위성 안테나(108)를 포함할 수도 있다. 하나 이상의 위성 안테나(108)는 GPS(글로벌 포지셔닝 시스템) 위성으로부터 신호를 수신하도록 구성된다. 구체적으로, 일 실시예에서, 위성 안테나(108)는 GPS(글로벌 포지셔닝 시스템) 위성에 의해 전송된 전자기 신호와 상호 작용하는 하나 이상의 도전성 요소를 포함한다. 수신된 신호는 하나 이상의 프로세서(102)에 의해 위성 안테나(108) 또는 위성 안테나(108) 근처에 위치된 물체의 위치(예를 들면, 위도와 경도)를 나타내는 데이터 신호로 변환된다. 몇몇 실시예에서, 로봇(120) 상에 위치될 수 있는 위성 안테나(108)는 로봇(120)의 위치 정보, 예를 들면 작동 환경(160) 내의 로봇(120)의 특정 위치에 관한 정보를 결정할 수 있다.
여전히 도 2를 참조하면, 몇몇 실시예에서, HRI(140), 로봇(120), 및 (원격 서버와 같은) 다른 외부 장치는 네트워크(114)에 의해 통신 가능하게 결합될 수 있다. 네트워크(114)는 하나 이상의 컴퓨터 네트워크(예를 들면, PAN(personal area network: 개인 네트워크), LAN(local area network), 또는 WAN(wide area network: 광역 네트워크)), 이동 통신 네트워크, 위성 네트워크, 및/또는 GPS(글로벌 포지셔닝 시스템), 및 이들의 조합을 포함할 수 있다. 적합한 LAN은 유선 이더넷 및/또는 예를 들면, Wi-Fi와 같은 무선 기술을 포함할 수 있다. 적합한 PAN(개인 네트워크)은 예를 들면, IrDA, 블루투스, 무선 USB, Z-Wave, ZigBee, 및/또는 다른 NFC(near field communication) 프로토콜과 같은 무선 기술을 포함할 수 있다. 적합한 PAN(개인 네트워크)은 유사하게, 예를 들면 USB 및 FireWire와 같은 유선 컴퓨터 버스를 포함할 수 있다. 적합한 이동 통신 네트워크는 LTE, WiMAX, UMTS, CDMA, 및 GSM과 같은 기술을 포함하나, 이에 국한되지는 않는다.
또한, 각각의 HRI(140), 로봇(120), 및 (원격 서버와 같은) 다른 외부 장치는 유선으로, WAN을 통해, LAN을 통해, PAN을 통해, 셀룰러 네트워크를 통해, 위성 네트워크 등을 통해 네트워크(114)에 통신 가능하게 결합될 수 있다. 예를 들어, 로봇(120) 및 각각의 HRI(140)는 로봇(120) 및/또는 HRI(140)를 네트워크(114)에 통신 가능하게 결합하고 그에 따라 로봇(120)과 각각의 HRI(140) 사이에 통신 결합을 제공하기 위한 네트워크 인터페이스 하드웨어(112)를 포함할 수 있다. 도 2는 네트워크 인터페이스 하드웨어(112)를 로봇(120)의 컴포넌트로서 도시하고 있으나, 각각의 HRI(140) 및 로봇(120)이 네트워크 인터페이스 하드웨어(112)를 포함할 수도 있다. 네트워크 인터페이스 하드웨어(112)는 통신 경로(104)에 통신 가능하게 결합될 수 있으며 네트워크(114)를 통해 데이터를 전송 및/또는 수신할 수 있는 임의의 장치일 수 있다. 따라서, 네트워크 인터페이스 하드웨어(112)는 임의의 유선 또는 무선 통신을 송신 및/또는 수신하기 위한 통신 트랜시버(transceiver)를 포함할 수 있다. 예를 들어, 네트워크 인터페이스 하드웨어(112)는 안테나, 모뎀, LAN 포트, Wi-Fi 카드, WiMax 카드, 이동 통신 하드웨어, NFC(near-field communication) 하드웨어, 위성 통신 하드웨어, 및/또는 다른 네트워크 및/또는 장치와 통신을 위한 임의의 유선 또는 무선 하드웨어를 포함할 수 있다. 일 실시예에서, 네트워크 인터페이스 하드웨어(112)는 블루투스 무선 통신 프로토콜에 따라 작동하도록 구성된 하드웨어, 예를 들면 로봇(120) 및 HRI(140)와 블루투스 통신을 송수신하기 위한 블루투스 송수신 모듈를 포함한다.
여전히 도 2를 참조하면, 로봇 제어 시스템(100)은 통신 경로(104)에 통신 가능하게 결합된 하나 이상의 피드백 장치(118)를 더 포함할 수 있다. 도 2는 하나 이상의 피드백 장치(118)를 로봇(120)의 컴포넌트로서 도시하고 있으나, 각각의 HRI(140) 및 로봇(120)이 하나 이상의 피드백 장치(118)를 포함할 수도 있다. 하나 이상의 피드백 장치(118)는 스피커, 촉각 피드백 장치 등을 포함할 수 있다. 스피커를 포함하는 실시예는 로봇 제어 시스템(100)으로부터의 데이터 신호를 가청 기계 진동(audible mechanical vibration)으로 변환하고, 촉각 피드백 장치를 포함하는 실시예는 (촉각 피드백이 진동을 통해 전달되는 실시예에서와 같은) 진동 장치, (촉각 피드백이 공기 퍼프(puff of air)를 통해 전달되는 실시예에서와 같은) 공기 분사(air blowing) 장치, 또는 (촉각 피드백이 생성된 압력을 통해 전달되는 실시예에서와 같은) 압력 발생 장치를 포함할 수 있다. 몇몇 실시예에서, 하나 이상의 피드백 장치(118)는 로봇 제어 시스템(100)이 사용자(116)에게 피드백을 제공할 수 있도록 각각의 HRI(140)의 일부일 수 있다.
이제 도 1과 도 2를 참조하면, 로봇 제어 시스템(100)의 디스플레이 인터페이스(142), 예를 들어 각각의 HRI(140)의 디스플레이 인터페이스(142)는 임의의 디스플레이 장치로 구성될 수 있으며, LCD(액정 디스플레이), 플라즈마 디스플레이, CRT(cathode ray tube), 전자 잉크 등과 같은 임의의 디스플레이 기술을 포함할 수 있다. 디스플레이 인터페이스(142)는 통신 경로(104)에 결합되어 디스플레이 인터페이스(142)를 로봇 제어 시스템(100)의 다른 컴포넌트, 예를 들면 로봇(120) 및 로봇(120)의 하나 이상의 카메라(125)에 통신 가능하게 결합한다. 작동시, 디스플레이 인터페이스(142)는 로봇(120)이 보는 것의 2차원 이미지를 디스플레이할 수 있다. 도시된 실시예에서, 디스플레이 인터페이스(142)는 사용자가 디스플레이 인터페이스(142)를 터치함으로써 HRI(140)에 명령을 입력할 수 있도록 터치 스크린으로 구성된다.
로봇 제어 시스템(100), 예를 들면 각각의 HRI(140)는 사용자 입력 하드웨어(144)가 로봇(120)과 같은 로봇 제어 시스템(100)의 다른 컴포넌트에 통신 가능하게 결합되도록, 통신 경로(104)에 통신 가능하게 결합된 사용자 입력 하드웨어(144)를 더 포함한다. 사용자 입력 하드웨어(144)는 기계적, 광학적, 또는 전기적 신호를 통신 경로(104)에 의해 전송될 수 있는 데이터 신호로 변환할 수 있는 임의의 장치일 수 있다. 구체적으로, 사용자 입력 하드웨어(144)는 예를 들면, 버튼, 스위치, 노브(knob), 마이크로폰 또는 키보드, 마우스, 조이스틱 등과 같이, 물리적 운동(physical motion)을 통신 경로(104)를 통해 전송될 수 있는 데이터 신호로 각각 변환하는 임의의 개수의 가동 물체(moveable object)를 포함할 수 있다. 이러한 다른 사용자 입력 하드웨어(144)는 터치 스크린 디스플레이 인터페이스(142)와 함께 또는 대신에 사용될 수 있다. 또한, 몇몇 실시예에서, 사용자 입력 하드웨어(144)는 제어 명령이 모션 제어 센서를 보유 및/또는 착용하고 있는 동안 또는 모션 제어 센서가 달리 사용자(116)에 부착되어 있는 동안 원하는 로봇 동작을 수행하는 사용자(116)를 포함할 수 있도록, 사용자(116)가 모션 추적 센서를 보유 및/또는 착용할 수 있는 하나 이상의 모션 추적 센서를 포함할 수 있다.
이제 도 1 내지 도 4을 참조하면, 로봇 제어 시스템(100)은 하나 이상의 메모리 모듈(106), 예를 들면 로봇(120)의 메모리 모듈(106), HRI(140), 또는 양자 모두 내에 저장된 하나 이상의 데이터베이스로 구성된 로봇 작동 라이브러리(105)를 더 포함한다. 로봇 작동 라이브러리(105)는 로봇(120)의 작동에 관한 다양한 정보, 예를 들면 도 3에 도시된 바와 같이 제1 로봇 동작(136) 및 제2 로봇 동작(138)과 같이 로봇(120)이 수행하도록 구성된 하나 이상의 로봇 동작에 관한 정보, 및 그 예가 도 4에 보다 상세하게 도시되어 있는 로봇(120)의 작동 환경(160)에 관한 정보를 포함할 수 있다. 또한, 로봇 작동 라이브러리(105)는 하나 이상의 로봇 작동 제한사항(constraint)에 관한 정보를 포함한다.
로봇 작동 제한사항은 로봇(120)이 2차 사용자(116")로부터 로봇 제어 명령을 수신할 때 로봇(120)의 작동에 대한 제한점(limitations)을 포함한다. 다시 말하면, 로봇 작동 제한사항은 2차 사용자(116")가 로봇(120)을 제어하고 있을 때 로봇(120)의 특정 작동을 제한하는, 예를 들면 방지하는, 규칙의 집합(set of rules)을 지칭한다. 또한, 로봇 작동 제한사항은 포괄적인(general) 로봇 작동 제한사항 및/또는 작업 특정의(task specific) 로봇 작동 제한사항을 포함할 수 있다. 본 명세서에서 사용되는 "포괄적인 로봇 작동 제한사항"은 2차 사용자(116")가 임의의 작업 중에 로봇(120)을 제어하고 있을 때 로봇(120)의 작동을 제한하는 로봇 작동 라이브러리(105)에 저장된 규칙의 집합을 지칭한다. 하나 이상의 작업 특정의 로봇 작동 제한사항은 원격 사용자가 각각의 특정 작업 중에 로봇(120)을 제어하고 있을 때 로봇(120)의 작동을 제한하는 로봇 작동 라이브러리(105)에 저장된 규칙의 집합을 포함한다. 또한, 로봇 작동 제한사항은 2차 사용자(116")가 로봇(120)을 작동할 수 있는 날짜와 시간에 관한 제한사항을 포함할 수 있다.
작동시, 1차 사용자(116')는 예를 들면, HRI(140)를 사용하여 하나 이상의 로봇 작동 제한사항을 설정할 수 있다. 몇몇 실시예에서, 1차 사용자(116')는 사전 프로그래밍된 로봇 작동 제한사항 집합으로부터 로봇 작동 제한사항을 선택할 수 있다. 다른 실시예에서, 로봇 제어 시스템(100)은 도 6과 관련하여 아래에서 설명되는 바와 같이, 로봇(120)이 트레이닝 모드(training mode)에 있을 때 예를 들면 1차 사용자(116')에 의해 로봇(120)에 수신되는 제어 명령에 기초하여 로봇 작동 제한사항을 생성할 수 있다. 그래서, 1차 사용자(116')는 2차 사용자(116")가 로봇에게 수행하도록 지시할 수 있는 로봇 동작을 제한할 수 있고, 원격 사용자가 로봇(120)에게 진입하도록 지시할 수 있는 위치를 제한할 수 있으며, 2차 사용자(116")가 로봇(120)을 작동시킬 수 있는 날짜 및 시간을 제어할 수 있는데, 예를 들면 특정 날짜 및/또는 시간 동안에는 로봇 작동의 일부 또는 전부를 제한할 수 있다.
전술한 바와 같이, 로봇 작동 라이브러리(105)는 예를 들면, HRI(140)를 통해 무선으로, 예를 들면 사용자(116)(예를 들면, 1차 사용자(116') 또는 2차 사용자(116"))로부터 로봇(120)에 수신되는 로봇 제어 명령의 수신에 응답하여 로봇(120)이 수행하도록 구성된 다양한 로봇 동작에 관한 정보를 포함한다. 로봇 제어 명령은 로봇(120)에게 로봇 동작 패턴을 따르는 적어도 하나의 로봇 동작을 수행하도록 지시한다. 특히, 로봇 제어 명령은 로봇(120)이 예를 들면, 로봇(120)의 다양한 액츄에이터를 사용하여, 로봇 동작 패턴을 따라 이동 베이스(127), 하나 이상의 아암(126), 및/또는 하나 이상의 조작기 핸드(122)을 동작시키기 위한 명령(예를 들면, 제어 신호)을 포함할 수 있다. 몇몇 실시예에서, 로봇 동작 패턴은 로봇(120)이 (예를 들면, 이동 베이스(127)를 사용하여) 작동 환경(160) 내의 위치들 사이에서 병진 이동하는 이동 경로(travel pathway)를 포함한다. 몇몇 실시예에서, 로봇 동작 패턴은 아암(126) 및/또는 조작기 핸드(122) 또는 로봇(120)의 다른 부속부분(appendages)의 동작 패턴을 포함하며, 이는 예를 들면, 세탁물 접기, 설거지 등과 같은 요구되는 작업에 따라 타겟 물체(162)를 파지하고(잡고) 이동시키기 위한 패턴을 포함할 수 있다.
작동시, 2차 사용자(116")가 로봇(120)을 작동시킬 때, 로봇 작동 제한사항은 특정 로봇 동작을 제한할 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 로봇 작동 제한사항은 로봇(120)이 수행할 수 있는 동작 각각을 허가된 로봇 동작(172) 또는 제한된 로봇 동작(173)으로 설정할 수 있다. 로봇 동작이 허가된 로봇 동작(172)을 포함하고 2차 사용자(116")가 로봇(120)에게 그 로봇 동작을 수행하도록 지시하면, 로봇(120)은 그 로봇 동작을 수행하게 된다. 또한, 로봇 동작이 제한된 로봇 동작(173)을 포함하고 2차 사용자(116")가 로봇(120)에게 그 로봇 동작을 수행하도록 지시하면, 로봇(120)은 그 로봇 동작을 수행하지 않게 된다. 몇몇 실시예에서, 1차 사용자(116')에 의해 허가된 로봇 동작(172) 또는 제한된 로봇 동작(173)으로 특정되지 않은 로봇(120)이 수행할 수 있는 임의의 동작은 허가된 로봇 동작(172)으로 디폴트(default) 설정되도록, 허가된 로봇 동작(172)이 디폴트 로봇 작동 제한사항 설정이 된다. 다른 실시예에서, 1차 사용자(116')에 의해 허가된 로봇 동작(172) 또는 제한된 로봇 동작(173)으로 특정되지 않은 로봇(120)이 수행할 수 있는 임의의 동작은 제한된 로봇 동작(173)으로 디폴트 설정되도록, 제한된 로봇 동작(173)이 디폴트 로봇 작동 제한사항 설정이 된다.
이제 도 3을 참조하면, 제1 아암 위치(130)와, 제2 아암 위치(132), 및 제3 아암 위치(134) 사이에서 각각 이동 가능한 제1 아암(126a)과 제2 아암(126b)을 포함하는 예시적인 로봇(120)이 도시되어 있다. 제1 아암(126a)과 제2 아암(126b) 양자 모두는 아암(126)(제1 아암(126a), 제2 아암(126b), 또는 양자 모두)을 제1 아암 위치(130)로부터 제2 아암 위치(132)로 이동시키는 것을 포함하는 제1 로봇 동작(136)을 수행하도록 구성된다. 또한, 제1 아암과 제2 아암(126b) 양자 모두는 아암(126)(제1 아암(126a), 제2 아암(126b), 또는 양자 모두)을 제2 아암 위치(132)로부터 제3 아암 위치(134)로 이동시키는 것을 포함하는 제2 로봇 동작을 수행하도록 구성된다. 도 3에 도시된 실시예에서, 제1 로봇 동작(136)은 허가된 로봇 동작(172)을 포함하고 제2 로봇 동작(138)은 제한된 로봇 동작(173)을 포함한다. 또한, 도 3에 도시된 로봇 작동 제한사항은 작업에 관계없이 2차 사용자(116")가 제2 로봇 동작(128)을 수행하는 것이 제한되는(예를 들면, 방지되는) 포괄적인 로봇 작동 제한사항을 포함할 수 있거나, 아니면 이와 달리 작업 특정의 로봇 작동 제한사항과 연관된 작업의 부분집합 동안에만 제2 로봇 동작(138)이 제한된 로봇 동작(173)이 되도록 작업의 부분집합(하나 이상의 작업일 수 있음)과 연관된 작업 특정의 로봇 작동 제한사항을 포함할 수 있다.
전술한 바와 같이, 로봇 작동 라이브러리(105)는 작동 환경(160)에 위치된 하나 이상의 타겟 물체(162)에 관한 정보를 포함하여, 로봇(120)이 위치된 작동 환경(160)에 관한 정보를 또한 포함한다. 도 4에 도시된 바와 같이, 로봇(120)이 위치된 건물을 포함하는 예시적인 작동 환경(160)이 도시되어 있다. 예시적인 작동 환경(160)은 복수의 방, 예를 들면 (로봇(120)과 타겟 물체(162) 양자 모두가 위치된) 제1 방(164) 및 제2 방(166), 제3 방(168), 및 복도(169) 각각을 포함한다. 2차 사용자(116")가 로봇(120)을 작동시키고 있을 때, 로봇 작동 제한사항은 작동 환경(160)에서 로봇(120)이 위치될 수 있는 위치(예를 들면, 2차 사용자(116")가 로봇(120)에게 들어가도록 지시할 수 있는 곳)를 제한할 수 있다. 예를 들어, 로봇 작동 제한사항은 작동 환경(160)의 구역(예를 들면, 작동 환경(160)의 방 또는 다른 공간 부분)을 허가 구역(authorized region)(170) 또는 제한 구역(restricted region)(171)으로 설정할 수 있다.
작동시, 작동 환경(160) 내의 구역(예를 들면, 방)이 허가 구역(170)을 포함하고 2차 사용자(116")가 로봇(120)에게 허가 구역(170) 내로 이동하도록 지시하면, 로봇(120)은 허가 구역(170)으로 진입하게 된다. 또한, 작동 환경(160) 내의 구역(예를 들면, 방)이 제한 구역(171)을 포함하고 2차 사용자(116")가 로봇(120)에게 제한 구역(171) 내로 이동하도록 지시하면, 로봇(120)은 제한 구역(171)으로 진입하지 않게 된다. 또한, 도 4에 도시된 예시적인 작동 환경에서, 제1 방(164)은 허가 구역(170)이고, 제2 방(166), 제3 방(168), 및 복도(169) 각각은 제한 구역(171)이다. 그래서, 2차 사용자(116")가 로봇(120)에게 제1 방(164)으로부터 제2 방(166)으로 이동하도록 지시하면, 로봇 작동 제한사항은 그 로봇 동작을 방지하게 된다.
몇몇 실시예에서, 1차 사용자(116')에 의해 허가 구역(170) 또는 제한 구역(171)으로 특정되지 않은 작동 환경(160)의 임의의 구역은 허가 구역(170)으로 디폴트 설정되도록, 허가 구역(170)이 디폴트 로봇 작동 제한사항 설정이 된다. 다른 실시예에서, 1차 사용자(116')에 의해 허가 구역(170) 또는 제한 구역(171)으로 특정되지 않은 작동 환경(160)의 임의의 구역은 제한 구역(171)으로 디폴트 설정되도록, 제한 구역(171)이 디폴트 로봇 작동 제한사항 설정이 된다. 또한, 몇몇 실시예에서, 제한 구역(171)은 가구 내의 위치, 예를 들면 서랍, 캐비닛 등을 포함할 수 있다. 이 실시예에서, 로봇 작동 제한사항은 2차 사용자(116")가 로봇(120)에게 제한 구역(171)으로 설정된 서랍, 캐비닛 등을 열도록 지시하는 것을 방지할 수 있다.
또한, 몇몇 실시예에서, 개별 로봇 작동 제한사항이 결정적으로(deterministically) 또는 확률적으로(probabilistically) 로봇(120)의 작동에 적용될 수 있다. 일례의 결정적 로봇 작동 제한사항은 2차 사용자(116")에 의해 제한 구역(171)에 진입하도록 지시될 때 로봇(120)이 제한 구역(171)에 진입하는 것을 항상 방지하는 로봇 작동 제한사항을 포함한다. 또한, 일례의 확률적 로봇 작동 제한사항은 2차 사용자(116")가 작업(예를 들면, 세탁물 접기)을 수행할 때에는 로봇(120)을 다양한 방식으로 작동할 수 있게 하고, 특정 작업과 유사하지 않을 확률이 높은 로봇 동작(예를 들면, 옷 접기와 유사하지 않은 로봇 동작)만을 방지하는 로봇 작동 제한사항을 포함한다. 또한, 몇몇 실시예에서, 로봇(120)이 자율 모드에 있을 때, 로봇 작동 제한사항은 적용되지 않는다. 일례로서, 로봇(120)의 배터리 잔량이 낮은 경우, 로봇(120)은 충전 스테이션이 작동 환경(160)의 제한 구역(171)에 위치되어 있을 때에도 자율 모드로 진입하여 충전 스테이션으로 자율적으로 이동할 수 있다.
여전히 도 1 내지 도 4를 참조하면, 로봇(120)(예를 들면, 로봇(120)의 하나 이상의 메모리 모듈(106))은 로봇(120)이 장애물 및 다른 금지 영역(예를 들면, 하나 이상의 제한 구역(171))을 포함하는 작동 환경(160)의 레이아웃(layout)을 인식하도록 작동 환경(160)의 평면도 또는 다른 맵(map) 정보로 사전 프로그램될 수 있다. 또한, 로봇(120)에는 로봇(120)이 장애물과의 접촉을 회피할 수 있도록 IR 장애물 회피 센서와 같은, 장애물 회피 센서가 또한 구비될 수 있다. 예를 들면, 몇몇 실시예에서, 로봇(120)은 사용자(116)로부터 수신된 로봇 제어 명령이 로봇(120)에게 하나 이상의 장애물과 접촉하도록 지시할 때 사용자가 제공한 로봇 제어 명령을 무시하고(override) 장애물과의 접촉을 회피할 수 있다(예를 들어, 하나 이상의 로봇 작동 제한사항은 로봇(120)과 작동 환경(160)에 위치된 장애물 사이의 접촉을 방지할 수 있다). 또한, 몇몇 실시예에서, 사용자(116)가 로봇(120)에게 작동 환경(160) 내의 위치로 이동하도록 지시할 때, 로봇(120)(예를 들면, 로봇(120)의 하나 이상의 프로세서(102))은 고속 탐색 랜덤 트리 경로 계획 알고리즘(rapidly-exploring random tree route-panning algorithm)을 포함하는 경로 계획 알고리즘을 이용하여 동작 환경(160) 내에 존재할 수 있는 장애물을 회피하면서 내비게이션 경로(navigation route)를 효율적으로 계획할 수 있다. 공간 내에 샘플을 생성하고 샘플을 트리(tree)의 가장 근접한 샘플에 연결함으로써 공간의 표현 내에 트리가 구성될 수 있다. 로봇 내비게이션 경로는 지점 A와 지점 B 사이의 최적 경로에 기초하여 선택될 수 있다.
이제 도 2와 도 4를 참조하면, 몇몇 실시예에서, 로봇 제어 시스템(100)은 외부 로봇 제어 장치(190)를 더 포함한다. 외부 로봇 제어 장치(190)는 로봇(120)과 통신 가능하게 결합될 수 있으며, 예를 들면, 2차 사용자(116")가 로봇(120)에게 제한된 동작(예를 들면, 제한된 로봇 동작(173)을 수행하거나, 제한 구역(171)에 진입하는 등)을 수행하도록 지시할 때, 오버라이드 작동 신호를 로봇(120)에 출력하도록 구성될 수 있다. 예를 들면, 외부 로봇 제어 장치(190)는 예를 들어, IrDA, 블루투스, 무선 USB, Z-Wave, ZigBee, 및/또는 다른 NFC(근거리 통신) 프로토콜과 같은, PAN(personal area network: 개인 네트워크)을 통해 로봇(120)에 통신 가능하게 결합될 수 있다. 또한, 외부 로봇 제어 장치(190)는 몇몇 실시예에서, 외부 로봇 제어 장치(190)를 각각의 HRI(140)로부터 통신적으로 분리하기 위해 각 HRI(140)에 통신 가능하게 결합되지 않을 수 있다. 따라서, 2차 사용자(116")가 로봇 작동 제한사항에 의해 로봇(120)의 작동에 부여된 제한을 우회하는 상황에서, 외부 로봇 제어 장치(190)는 로봇 작동 제한사항을 구현할 수 있으며, 몇몇 실시예에서 로봇(120) 및/또는 로봇(120)과 각각의 HRI(140) 또는 적어도 2차 사용자(116")에 의해 작동되는 HRI(140) 사이의 서버 통신을 셧다운(shut down)시킬 수 있다.
이제 도 5를 참조하면, 로봇(120)의 작동을 제한하는 방법이 이제 구체적으로는 도 5의 플로우차트(10)를 참조하고 개괄적으로는 다른 도면들을 참조하여 설명될 것이다. 플로우차트(10)는 다수의 방법 단계를 도시하는데, 이는 특정 순서(sequential order)로 기재되어 있으나 그 순서에 국한되지 않는다. 먼저, 단계 12에서, 로봇(120)의 작동을 제한하는 방법은 예를 들면, 로봇(120)의 네트워크 인터페이스 하드웨어(112)를 사용하여, 사용자(116)로부터 하나 이상의 로봇 제어 명령을 수신하는 단계를 포함한다. 로봇 제어 명령은 로봇(120)이 적어도 하나의 로봇 동작을 수행하기 위한 명령을 포함한다. 다음으로, 단계 14에서, 방법은 로봇(120)에 하나 이상의 로봇 제어 명령을 제공하는 사용자(116)가 1차 사용자(116')인지 또는 2차 사용자(116")인지를 결정하는 단계를 포함한다. 예를 들어, 사용자(116)는 HRI(140)에 패스코드 또는 다른 ID(identification) 검증을 입력함으로써 자신이 1차 사용자(116')임을 증명할 수 있다. 이와 달리, 사용자(116)는 HRI(140)에 다른 입력을 통해서 자신이 2차 사용자(116")임을 나타낼 수 있거나, 로봇 제어 시스템(110)은 사용자(116)의 신원에 관한 입력이 수신되지 않을 때 사용자(116)가 2차 사용자(116)인 것으로 결정할 수 있다. 여전히 도 5를 참조하면, 사용자가 1차 사용자(116')인 경우에, 단계 16에서, 로봇(120)은 하나 이상의 로봇 제어 명령에 의해 지시된 적어도 하나의 로봇 동작을 수행한다.
이와 달리, 사용자(116)가 2차 사용자(116")이면, 단계 18에서, 방법은 예를 들면 프로세서(102)를 사용하여, 하나 이상의 로봇 제어 명령을 하나 이상의 로봇 작동 제한사항과 비교하는 단계, 및 단계 20에서,적어도 하나의 로봇 제어 명령이 하나 이상의 로봇 작동 제한사항과 상충(conflict)되는지를 결정하는 단계를 포함한다. 로봇 제어 명령이 하나 이상의 로봇 작동 제한사항과 상충되면, 로봇 제어 시스템(100)은 단계 22에 표시된 바와 같이, 하나 이상의 로봇 제어 명령에 의해 지시된 로봇(120)의 작동을 제한(예를 들면, 방지)한다. 이와 달리, 로봇 제어 명령이 하나 이상의 로봇 작동 제한사항과 상충되지 않으면, 로봇(120)은 단계 16에서 하나 이상의 로봇 제어 명령에 의해 지시된 적어도 하나의 로봇 동작을 수행한다. 몇몇 실시예에서, 단계 24에서, 방법은 사용자(116)가 2차 사용자(116")이고 하나 이상의 로봇 제어 명령에 의해 지시된 하나 이상의 로봇 동작이 하나 이상의 로봇 작동 제한사항과 상충될 때, 피드백 장치(118)를 사용하여 알람을 발생시키는 단계를 더 포함할 수 있다.
이제 도 6을 참조하면, 로봇(120)에 대한 하나 이상의 로봇 작동 제한사항을 확립하는 방법이 이제 구체적으로는 도 6의 플로우차트(30)를 참조하고 개괄적으로는 다른 도면을 참조하여 설명될 것이다. 플로우 차트(30)는 다수의 방법 단계를 도시하는데, 이는 특정 순서로 기재되어 있으나 그 순서에 국한되지 않는다. 단계 32에서, 방법은 예를 들면, HRI(140)에 패스코드 또는 다른 ID 검증을 입력함으로써 사용자(116)가 1차 사용자(116')임을 검증하는 단계를 포함한다. 다음으로, 단계 34에서, 1차 사용자(116')는 로봇(120)을 트레이닝 모드에 놓을 수 있다. 후술되는 바와 같이, 트레이닝 모드에서, 1차 사용자(116')는 1차 사용자(116')로부터 수신된 로봇 제어 명령에 기초하여 로봇 작동 제한사항을 학습할 수 있다. 다음으로, 단계 36에서, 방법은 예를 들면, 로봇(120)의 네트워크 인터페이스 하드웨어(112)를 사용하여, 로봇이 복수의 로봇 동작을 수행하도록 사용자(116)로부터 복수의 제어 명령을 수신하는 단계를 포함하며, 여기서 각각의 개별 로봇 동작은 개별 제어 명령에 기초한다.
여전히 도 6을 참조하면, 단계 38에서, 방법은 예를 들면, 하나 이상의 메모리 모듈(106)에 복수의 로봇 동작 각각에 관한 로봇 동작 패턴 정보를 저장하는 단계를 포함한다. 로봇 동작 패턴 정보는 작동 환경(160) 내의 로봇(120)의 이동 경로 및 로봇(120)의 아암(126) 및/또는 조작기 핸드(122) 또는 다른 부속부분의 동작 패턴에 관한 정보를 포함할 수 있다. 다음으로, 단계 40에서, 방법은 프로세서(102)를 사용하여, 복수의 로봇 동작 각각에 관한 로봇 동작 패턴 정보를 기초로 하나 이상의 로봇 작동 제한사항을 확립하는 단계를 포함한다.
다시 도 3과 도 4를 참조하면, 로봇 작동 제한사항은 하나 이상의 허가된 로봇 동작(172), 하나 이상의 제한된 로봇 동작(173), 하나 이상의 허가 구역(170), 및 하나 이상의 제한 구역(171)을 포함할 수 있다. 예를 들면, 하나 이상의 허가된 로봇 동작(172)은 트레이닝 모드 중에 로봇(120)에 의해 수행된 복수의 로봇 동작 각각을 포함할 수 있고, 하나 이상의 제한된 로봇 동작(173)은 트레이닝 모드 중에 로봇(120)에 의해 수행된 복수의 로봇 동작 각각과 상이한 하나 이상의 로봇 동작을 포함할 수 있다. 또한, 하나 이상의 허가 구역(170)은 트레이닝 모드 중에 로봇(120)이 위치되었던 작동 환경(160) 내의 위치들을 포함할 수 있고, 하나 이상의 제한 구역(171)은 트레이닝 모드 중에 로봇(120)이 진입하지 않았거나 및/또는 전혀 위치되지 않았던 작동 환경(160) 내의 위치를 포함할 수 있다.
이와 달리, 몇몇 실시예에서, 하나 이상의 제한된 로봇 동작(173)은 트레이닝 모드 중에 로봇(120)에 의해 수행된 복수의 로봇 동작 각각을 포함할 수 있고, 하나 이상의 허가된 로봇 동작(172)은 트레이닝 모드 중에 로봇(120)에 의해 수행된 복수의 로봇 동작 각각과 상이한 하나 이상의 로봇 동작을 포함할 수 있다. 또한, 하나 이상의 제한 구역(171)은 트레이닝 모드 중에 로봇(120)이 위치되었던 작동 환경(160) 내의 위치들을 포함할 수 있고, 하나 이상의 허가 구역(170)은 트레이닝 모드 중에 로봇(120)이 진입하지 않았거나 및/또는 전혀 위치되지 않았던 작동 환경(160) 내의 위치를 포함할 수 있다.
이제 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템이 고찰됨이 이해되어야 한다. 예를 들면, 1차 사용자는 2차 사용자가 로봇을 작동할 때, 로봇이 하나 이상의 로봇 작동 제한사항과 상충되는 하나 이상의 로봇 동작을 수행하는 것을 제한하도록 하나 이상의 로봇 작동 제한사항을 설정할 수 있다. 그래서 2차 사용자는, 1차 사용자가 2차 사용자가 로봇에게 수행하도록 지시할 수 있는 로봇의 동작을 제한할 수 있고 2차 사용자가 로봇에게 진입하도록 지시할 수 있는 위치를 제한할 수 있도록, 특정 제한 하에, 예를 들면 비용 지급 하에 로봇을 사용하여 1차 사용자를 위한 하나 이상의 작업을 수행할 수 있다. 이와 같이, 작동 환경 내에서 하나 이상의 작업을 수행하기 위해 2차 사용자와 함께 로봇을 사용하는 이점을 제공하면서, 로봇 작동 제한사항은 1차 사용자의 가정, 사업장, 또는 로봇이 배치된 다른 장소의 보안 및 프라이버시를 향상시킬 수 있다.
특정 실시예가 본 명세서에 도시 및 기재되었으나, 청구된 주제의 사상과 범위를 벗어남이 없이 다양한 다른 변경 및 수정이 이루어질 수 있음을 이해해야 한다. 또한, 청구된 주제의 다양한 양태가 본 명세서에 기재되었으나, 이러한 양태는 조합하여 이용될 필요는 없다. 따라서, 첨부된 청구범위는 청구된 주제의 범위 내에 있는 그러한 모든 변경 및 수정을 포함하는 것으로 의도된다.

Claims (20)

  1. 로봇의 작동을 제한하는 방법으로서,
    로봇의 네트워크 인터페이스 하드웨어를 사용하여, 사용자로부터 하나 이상의 로봇 제어 명령 - 상기 로봇 제어 명령은 상기 로봇에게 적어도 하나의 로봇 동작을 수행하도록 지시함 - 을 수신하는 단계;
    상기 로봇에 상기 하나 이상의 로봇 제어 명령을 제공하는 사용자가 1차 사용자(primary user)인지 또는 2차 사용자(secondary user)인지를 결정하는 단계;
    상기 하나 이상의 로봇 제어 명령에 의해 지시된 상기 적어도 하나의 로봇 동작을 하나 이상의 로봇 작동 제한조건과 비교하는 단계;
    상기 하나 이상의 로봇 제어 명령에 의해 지시된 상기 적어도 하나의 로봇 동작이 상기 하나 이상의 로봇 작동 제한조건과 상충(conflict)되는지 여부를 결정하는 단계; 및,
    상기 사용자가 2차 사용자이고 상기 하나 이상의 로봇 제어 명령에 의해 지시된 상기 적어도 하나의 로봇 동작이 상기 하나 이상의 로봇 작동 제한조건과 상충될 때, 상기 로봇의 작동을 제한하는 단계:
    를 포함하는,
    로봇의 작동을 제한하는 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 로봇 작동 제한조건은 하나 이상의 허가된(authorized) 로봇 동작과 하나 이상의 제한된(restricted) 로봇 동작을 포함하며,
    상기 로봇 제어 명령에 의해 지시된 상기 적어도 하나의 로봇 동작은, 상기 적어도 하나의 로봇 동작이 상기 하나 이상의 제한된 로봇 동작들 중 적어도 하나를 포함할 때, 상기 하나 이상의 로봇 작동 제한조건과 상충되는,
    로봇의 작동을 제한하는 방법.
  3. 제2항에 있어서,
    상기 로봇은 하나 이상의 허가 구역(authorized regions)과 하나 이상의 제한 구역(restricted regions)을 포함하는 작동 환경에 위치되고,
    상기 하나 이상의 제한된 로봇 동작들 중 적어도 하나는 상기 로봇이 상기 하나 이상의 제한 구역들 중 적어도 하나에 진입하는 것을 포함하는,
    로봇의 작동을 제한하는 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 사용자가 1차 사용자임을 검증하는 단계;
    상기 로봇이 복수의 로봇 동작 - 각각의 개별 로봇 동작은 개별 제어 명령에 기초함 - 을 수행하도록, 상기 로봇의 네트워크 인터페이스 하드웨어를 사용하여 상기 1차 사용자로부터 복수의 제어 명령을 수신하는 단계;
    상기 복수의 로봇 동작 각각에 관한 로봇 동작 패턴 정보를 저장하는 단계; 및,
    상기 복수의 로봇 동작 각각에 관한 로봇 동작 패턴 정보에 기초하여 상기 하나 이상의 로봇 작동 제한조건을 확립하는 단계:
    에 의해 상기 하나 이상의 로봇 작동 제한조건을 확립하는 단계:
    를 더 포함하는,
    로봇의 작동을 제한하는 방법.
  5. 제4항에 있어서,
    상기 하나 이상의 로봇 작동 제한조건은:
    상기 1차 사용자로부터 상기 로봇에 수신된 상기 복수의 제어 명령에 의해 지시된 상기 복수의 로봇 동작 각각을 포함하는 하나 이상의 허가된 로봇 동작; 및,
    상기 1차 사용자로부터 상기 로봇에 수신된 상기 복수의 제어 명령에 의해 지시된 상기 복수의 로봇 동작 각각과 상이한 하나 이상의 로봇 동작을 포함하는 하나 이상의 제한된 로봇 동작:
    을 포함하는,
    로봇의 작동을 제한하는 방법.
  6. 제4항에 있어서,
    상기 하나 이상의 로봇 작동 제한조건은:
    상기 1차 사용자로부터 상기 로봇에 수신된 상기 복수의 제어 명령에 의해 지시된 상기 복수의 로봇 동작 각각을 포함하는 하나 이상의 제한된 로봇 동작; 및,
    상기 1차 사용자로부터 상기 로봇에 수신된 상기 복수의 제어 명령에 의해 지시된 상기 복수의 로봇 동작 각각과 상이한 하나 이상의 로봇 동작을 포함하는 하나 이상의 허가된 로봇 동작:
    을 포함하는,
    로봇의 작동을 제한하는 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 로봇이 위치된 작동 환경의 시각적 표현(visual representation)을 디스플레이 인터페이스 상에 디스플레이하는 단계; 및,
    상기 사용자가 2차 사용자일 때, 상기 작동 환경의 시각적 표현의 적어도 일부를 왜곡시키기 위해 상기 작동 환경의 시각적 표현을 증강하는(augmenting) 단계:
    를 더 포함하는,
    로봇의 작동을 제한하는 방법.
  8. 로봇 제어 시스템으로서,
    네트워크 인터페이스 하드웨어를 포함하는 로봇;
    상기 로봇에 통신 가능하게 결합된 인간-로봇 인터페이스 장치;
    하나 이상의 프로세서;
    상기 하나 이상의 프로세서에 통신 가능하게 결합된 하나 이상의 메모리 모듈; 및,
    상기 하나 이상의 프로세서에 의해 실행될 때 상기 로봇 제어 시스템이 적어도 다음의:
    상기 로봇의 네트워크 인터페이스 하드웨어를 사용하여, 사용자로부터 하나 이상의 로봇 제어 명령 - 상기 로봇 제어 명령은 상기 로봇에게 적어도 하나의 로봇 동작을 수행하도록 지시함 - 을 수신하고;
    상기 로봇에 상기 하나 이상의 로봇 제어 명령을 제공하는 사용자가 1차 사용자인지 또는 2차 사용자인지를 결정하며;
    상기 하나 이상의 로봇 제어 명령에 의해 지시된 상기 적어도 하나의 로봇 동작을 하나 이상의 로봇 작동 제한조건과 비교하고;
    상기 하나 이상의 로봇 제어 명령에 의해 지시된 상기 적어도 하나의 로봇 동작이 상기 하나 이상의 로봇 작동 제한조건과 상충되는지 여부를 결정하고; 및,
    상기 사용자가 2차 사용자이고 상기 하나 이상의 로봇 제어 명령에 의해 지시된 상기 적어도 하나의 로봇 동작이 상기 하나 이상의 로봇 작동 제한조건과 상충될 때, 상기 로봇의 작동을 제한하는 것:
    을 수행하게 하는, 상기 하나 이상의 메모리 모듈에 저장된 기계 판독 가능 명령:
    을 포함하는,
    로봇 제어 시스템.
  9. 제8항에 있어서,
    상기 하나 이상의 로봇 작동 제한조건은 하나 이상의 허가된 로봇 동작과 하나 이상의 제한된 로봇 동작을 포함하며,
    상기 로봇 제어 명령에 의해 지시된 상기 적어도 하나의 로봇 동작은, 상기 적어도 하나의 로봇 동작이 상기 하나 이상의 제한된 로봇 동작들 중 적어도 하나를 포함할 때, 상기 하나 이상의 로봇 작동 제한조건과 상충되는,
    로봇 제어 시스템.
  10. 제8항 또는 제9항에 있어서,
    상기 로봇은 하나 이상의 허가 구역과 하나 이상의 제한 구역을 포함하는 작동 환경에 위치되고,
    상기 하나 이상의 제한된 로봇 동작들 중 적어도 하나는 상기 로봇이 상기 하나 이상의 제한 구역들 중 적어도 하나에 진입하는 것을 포함하는,
    로봇 제어 시스템.
  11. 제8항 또는 제9항에 있어서,
    상기 인간-로봇 인터페이스 장치는 상기 로봇이 위치된 작동 환경의 증강된 시각적 표현(augmented visual representation)을 디스플레이하도록 구성된 디스플레이 인터페이스를 포함하는,
    로봇 제어 시스템.
  12. 제8항 또는 제9항에 있어서,
    상기 로봇에 통신 가능하게 결합된 외부 로봇 제어 장치를 더 포함하는,
    로봇 제어 시스템.
  13. 하나 이상의 로봇 작동 제한조건을 확립하는 방법으로서,
    로봇이 복수의 로봇 동작 - 상기 복수의 로봇 동작의 각각의 개별 로봇 동작은 상기 복수의 제어 명령의 개별 제어 명령에 기초함 - 을 수행하도록, 상기 로봇의 네트워크 인터페이스 하드웨어를 사용하여 사용자로부터 복수의 제어 명령을 수신하는 단계;
    상기 복수의 로봇 동작 각각에 관한 로봇 동작 패턴 정보를 하나 이상의 메모리 모듈에 저장하는 단계; 및,
    상기 하나 이상의 메모리 모듈에 통신 가능하게 결합된 프로세서를 사용하여, 상기 복수의 로봇 동작 각각에 관한 로봇 동작 패턴 정보에 기초하여 상기 하나 이상의 로봇 작동 제한조건을 확립하는 단계:
    를 포함하는,
    하나 이상의 로봇 작동 제한조건을 확립하는 방법.
  14. 제13항에 있어서,
    상기 하나 이상의 로봇 작동 제한조건은:
    상기 사용자로부터 수신된 상기 복수의 제어 명령과 연관된 상기 복수의 로봇 동작 각각을 포함하는 하나 이상의 허가된 로봇 동작; 및,
    상기 사용자로부터 수신된 상기 복수의 제어 명령과 연관된 상기 복수의 로봇 동작 각각과 상이한 하나 이상의 로봇 동작을 포함하는 하나 이상의 제한된 로봇 동작:
    을 포함하는,
    하나 이상의 로봇 작동 제한조건을 확립하는 방법.
  15. 제13항 또는 제14항에 있어서,
    상기 하나 이상의 로봇 작동 제한조건은 작동 환경의 하나 이상의 허가 구역과 상기 작동 환경의 하나 이상의 제한 구역을 포함하는,
    하나 이상의 로봇 작동 제한조건을 확립하는 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020197032331A 2017-04-04 2018-03-22 원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템 KR102329067B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/478,735 US10449671B2 (en) 2017-04-04 2017-04-04 Methods and systems for providing robotic operation constraints for remote controllable robots
US15/478,735 2017-04-04
PCT/US2018/023777 WO2018187042A1 (en) 2017-04-04 2018-03-22 Methods and systems for providing robotic operation constraints for remote controllable robots

Publications (2)

Publication Number Publication Date
KR20200019119A KR20200019119A (ko) 2020-02-21
KR102329067B1 true KR102329067B1 (ko) 2021-11-22

Family

ID=61966073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197032331A KR102329067B1 (ko) 2017-04-04 2018-03-22 원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템

Country Status (6)

Country Link
US (1) US10449671B2 (ko)
EP (1) EP3606705A1 (ko)
JP (1) JP6901586B2 (ko)
KR (1) KR102329067B1 (ko)
CN (1) CN110891740B (ko)
WO (1) WO2018187042A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018176387A (ja) * 2017-04-19 2018-11-15 富士ゼロックス株式会社 ロボット装置及びプログラム
CN111093447B (zh) * 2017-09-26 2022-09-02 伊莱克斯公司 机器人清洁设备的移动控制
US20210299870A1 (en) * 2018-08-24 2021-09-30 The University Of Tokyo Robot assistance device and robot assistance system
US11192253B2 (en) * 2018-10-12 2021-12-07 Toyota Research Institute, Inc. Systems and methods for conditional robotic teleoperation
DE102019207161A1 (de) * 2019-05-16 2020-11-19 Robert Bosch Gmbh Verfahren zur Ermittlung des Platzbedarfs einer Baumaschine, eines Arbeitsarms und eines Werkzeugs
KR20190104488A (ko) * 2019-08-21 2019-09-10 엘지전자 주식회사 인공 지능을 이용하여, 오브젝트의 이동을 관리하는 인공 지능 로봇 및 그의 동작 방법
GB2592412B8 (en) * 2020-02-27 2022-08-03 Dyson Technology Ltd Robot
EP4269038A1 (en) * 2020-12-24 2023-11-01 Kawasaki Jukogyo Kabushiki Kaisha Robot system and robot work method
US11939720B2 (en) * 2021-03-16 2024-03-26 Haier Us Appliance Solutions, Inc. Laundry folding appliance and automated methods of operating the same
US11993892B2 (en) * 2021-03-16 2024-05-28 Haier Us Appliance Solutions, Inc. Laundry folding appliance including a closet inventory management system
JP2022148261A (ja) * 2021-03-24 2022-10-06 トヨタ自動車株式会社 物品回収システム、物品回収ロボット、物品回収方法、及び物品回収プログラム
WO2023162291A1 (ja) * 2022-02-22 2023-08-31 株式会社安川電機 通信システム及び通信端末

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008221363A (ja) * 2007-03-09 2008-09-25 Denso Wave Inc ロボット制御システム及び操作ペンダント
US20160257000A1 (en) 2015-03-04 2016-09-08 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
JP2016203276A (ja) * 2015-04-17 2016-12-08 トヨタ自動車株式会社 遠隔操作システム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9826728D0 (en) * 1998-12-04 1999-01-27 Rolls Royce Plc Method and apparatus for building up a workpiece by deposit welding
US6925357B2 (en) * 2002-07-25 2005-08-02 Intouch Health, Inc. Medical tele-robotic system
KR101142564B1 (ko) 2004-06-24 2012-05-24 아이로보트 코퍼레이션 자동 로봇 장치용의 원격 제어 스케줄러 및 방법
WO2008083489A1 (en) * 2007-01-12 2008-07-17 Hansjorg Baltes Method and system for robot generation
US20090064320A1 (en) * 2007-06-27 2009-03-05 Sharp Kabushiki Kaisha Image processing apparatus and image processing system
US9128476B2 (en) 2007-12-21 2015-09-08 The Invention Science Fund I, Llc Secure robotic operational system
US8918213B2 (en) * 2010-05-20 2014-12-23 Irobot Corporation Mobile human interface robot
US8781629B2 (en) * 2010-09-22 2014-07-15 Toyota Motor Engineering & Manufacturing North America, Inc. Human-robot interface apparatuses and methods of controlling robots
US8478901B1 (en) 2011-05-06 2013-07-02 Google Inc. Methods and systems for robot cloud computing using slug trails
US9014857B2 (en) 2012-01-13 2015-04-21 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and computer-program products for generating grasp patterns for use by a robot
KR101984214B1 (ko) 2012-02-09 2019-05-30 삼성전자주식회사 로봇 청소기의 청소 작업을 제어하기 위한 장치 및 방법
US8965580B2 (en) 2012-06-21 2015-02-24 Rethink Robotics, Inc. Training and operating industrial robots
US20140123308A1 (en) * 2012-11-26 2014-05-01 Elwha Llc Methods and systems for managing data and/or services for devices
AU2013204965B2 (en) * 2012-11-12 2016-07-28 C2 Systems Limited A system, method, computer program and data signal for the registration, monitoring and control of machines and devices
EP2925495B1 (en) 2012-12-03 2021-02-03 ABB Schweiz AG Teleoperation of machines having at least one actuated mechanism
US9283674B2 (en) * 2014-01-07 2016-03-15 Irobot Corporation Remotely operating a mobile robot
EP3889717A1 (en) * 2014-03-31 2021-10-06 iRobot Corporation Autonomous mobile robot
KR102270007B1 (ko) * 2014-05-07 2021-06-28 삼성전자주식회사 단말 장치 및 단말 장치의 원격 제어 방법
US9050723B1 (en) * 2014-07-11 2015-06-09 inVia Robotics, LLC Human and robotic distributed operating system (HaRD-OS)
DE102014223701B4 (de) * 2014-11-20 2019-03-07 Siemens Healthcare Gmbh Vorgebbare Beweglichkeit für ein robotisches Gerät
US9486921B1 (en) 2015-03-26 2016-11-08 Google Inc. Methods and systems for distributing remote assistance to facilitate robotic object manipulation
CN105116785B (zh) * 2015-06-26 2018-08-24 北京航空航天大学 一种多平台远程机器人通用控制系统
US10019566B1 (en) * 2016-04-14 2018-07-10 X Development Llc Authorizing robot use and/or adapting physical control parameters for a robot

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008221363A (ja) * 2007-03-09 2008-09-25 Denso Wave Inc ロボット制御システム及び操作ペンダント
US20160257000A1 (en) 2015-03-04 2016-09-08 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
JP2016203276A (ja) * 2015-04-17 2016-12-08 トヨタ自動車株式会社 遠隔操作システム

Also Published As

Publication number Publication date
JP6901586B2 (ja) 2021-07-14
WO2018187042A1 (en) 2018-10-11
KR20200019119A (ko) 2020-02-21
CN110891740A (zh) 2020-03-17
US20180281179A1 (en) 2018-10-04
JP2020515425A (ja) 2020-05-28
CN110891740B (zh) 2023-05-05
US10449671B2 (en) 2019-10-22
EP3606705A1 (en) 2020-02-12

Similar Documents

Publication Publication Date Title
KR102329067B1 (ko) 원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템
JP5855885B2 (ja) ロボットを制御するためのヒューマン・ロボット・インターフェース装置及び方法
RU2752500C2 (ru) Роликовая конструкция и способ автономного перемещения устройств со встроенной роликовой конструкцией
US11097416B2 (en) Mobile robot system, mobile robot, and method of controlling the mobile robot system
US20200019156A1 (en) Mobile Robot Cleaning System
JP6439817B2 (ja) 認識的アフォーダンスに基づくロボットから人間への物体ハンドオーバの適合
Delmerico et al. Spatial computing and intuitive interaction: Bringing mixed reality and robotics together
JP2019082999A (ja) クラウドサービスシステムを組み込んだロボットシステム
Cheng et al. Supervised autonomy: A framework for human-robot systems development
KR20190108087A (ko) 슬레이브 로봇을 제어하는 마스터 로봇 및 그의 구동 방법
Ahn et al. PDA-based mobile robot system with remote monitoring for home environment
JP7213924B2 (ja) ロボット遠隔制御方法及びシステム
KR102554815B1 (ko) 로봇 태스크에 힘 벡터를 할당하기 위한 방법 및 시스템
Kurazume et al. Feasibility study of iort platform “big sensor box”
Diddeniya et al. Efficient office assistant robot system: autonomous navigation and controlling based on ROS
US11027430B2 (en) Systems and methods for latency compensation in robotic teleoperation
KR101736134B1 (ko) 행동블록을 이용한 로봇 구동 시스템 및 그 방법
Mönnich et al. A supervision system for the intuitive usage of a telemanipulated surgical robotic setup
Gonzalez et al. SANCHO, a fair host robot. A description
KR20170002048A (ko) 피사체 이동 제어 장치 및 방법
Robler et al. Telepresence techniques for exception handling in household robots
Shiroma et al. Gaze direction based vehicle teleoperation method with omnidirectional image stabilization and automatic body rotation control
Hassan et al. Modified SOM based intelligent semi-autonomous navigation system
KR20240063147A (ko) 로봇 디바이스를 제어하기 위한 디바이스 및 방법
DeMarco Real-time computer vision processing on a wearable system

Legal Events

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