KR20170010815A - 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실을 위한 방법 및 시스템 - Google Patents

로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20170010815A
KR20170010815A KR1020167035792A KR20167035792A KR20170010815A KR 20170010815 A KR20170010815 A KR 20170010815A KR 1020167035792 A KR1020167035792 A KR 1020167035792A KR 20167035792 A KR20167035792 A KR 20167035792A KR 20170010815 A KR20170010815 A KR 20170010815A
Authority
KR
South Korea
Prior art keywords
robot
robotic
virtual representation
robotic device
intent
Prior art date
Application number
KR1020167035792A
Other languages
English (en)
Other versions
KR101870067B1 (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 KR20170010815A publication Critical patent/KR20170010815A/ko
Application granted granted Critical
Publication of KR101870067B1 publication Critical patent/KR101870067B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Mechanical Engineering (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • Transportation (AREA)
  • Combustion & Propulsion (AREA)
  • Multimedia (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실 인터페이스를 위한 예시적 방법 및 시스템이 제공된다. 예시적 방법은, 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계를 포함하고, 이 동작 또는 의도는 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함한다. 이 방법은 또한, 컴퓨팅 디바이스에 의한 증강 현실 인터페이스 상의 디스플레이를 위해, 동작 또는 의도의 가상 표현을 제공하는 단계를 포함하고, 이 가상 표현은, 증강 현실 인터페이스 상의 주석들로서 로봇 디바이스의 계획된 궤적의 적어도 일부 또는 로봇 디바이스에 의해 취급될 객체의 강조를 포함한다.

Description

로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실을 위한 방법 및 시스템{METHODS AND SYSTEMS FOR AUGMENTED REALITY TO DISPLAY VIRTUAL REPRESENTATIONS OF ROBOTIC DEVICE ACTIONS}
관련 출원의 상호참조
본 출원은, 참조로 그 전체 내용을 본 명세서에 포함시키는, 2014년 8월 25일 출원된 미국 가출원 번호 제62/041,173호의 우선권을 주장한다.
배경
여기서 달리 나타내지 않는 한, 본 절에서 설명되는 자료는 본 출원의 청구항들에 대한 종래 기술이 아니며 본 절에 포함된다고 해서 종래 기술로 인정되는 것은 아니다.
로봇 디바이스는 세부적인 방식으로 많은 작업을 수행하도록 프로그램되거나, 개괄적 방식으로 프로그램된 다음, 로봇 디바이스에 이용가능한 환경 또는 객체에 기초하여 따라 작업의 특정 구현이 결정될 수 있다. 로봇 디바이스는, 로봇 디바이스가 수행하고자 하는 미래의 동작을 통보하는 것 등의, 로봇 디바이스의 동작 또는 의도를 근처의 인간에게 통보하기 위해 오디오 피드백 기술을 이용할 수 있다. 그러나 일부 경우에 청각적 코멘트는 바람직하지 않을 수 있다.
예시적인 실시예들은 작업을 수행하기 위한 로봇 디바이스 동작 또는 의도의 가상 표현을 디스플레이하는 증강 현실(augmented reality)을 포함하는 방법 및 시스템에 관련될 수 있다. 로봇 디바이스는 근처의 다른 디바이스와 통신하여 로봇 디바이스가 수행하도록 프로그램된 미래의 동작을 통보할 수 있는 가상 표현을 디스플레이하는데 이용되는 정보를 제공할 수 있다. 다른 예에서, 로봇 디바이스는 로봇 디바이스가 동작하는 물리적 환경 내에 직접적으로 미래의 동작 또는 의도에 관한 정보를 제공할 수 있다.
예들은 환경 인식 및 상호작용에서 로봇 시스템을 보조하기 위한 클라우드 기반 서비스와 조합하여 수행될 수 있다. 특히, 클라우드 기반 서비스는 통신 네트워크를 통해 로봇 시스템과 상호작용하여 로봇 시스템으로부터 정보를 수신할 뿐만 아니라 로봇 시스템에 정보를 전송할 수 있다. 이러한 구성은 로봇 시스템에 의해 소정 작업을 수행하기 위하여 로봇 시스템 상의 추가적인 온-보드 메모리 및 처리 능력에 대한 요구를 감소(또는 제거)할 수 있다. 추가로, 클라우드 기반 서비스는 복수의 로봇 시스템 사이의 데이터 공유를 허용할 수 있다. 또한, 클라우드 기반 서비스는 로봇 시스템이 환경으로부터 정보를 획득함에 따라 지속적으로 업데이트될 수 있다.
예를 들어, 로봇 시스템은 클라우드 기반 서비스와 상호작용하여 로봇 시스템이 작업을 실행하는 것을 허용하는 명령어를 수신할 수 있다. 클라우드 기반 서비스는 다양한 요인에 기초하여 명령어를 생성하기 위해 대규모 시뮬레이션을 수행할 수 있다. 이러한 요인으로는, 그 중에서도, 로봇 시스템으로부터 수신된 센서 데이터, 그 작업(또는 유사한 작업)을 실행하기 위해 다른 로봇 시스템에 의해 이용된 이전의 절차 및/또는 로봇 시스템의 구성이 포함될 수 있다.
한 양태에서, 방법이 제공된다. 이 방법은 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계를 포함하고, 이 동작 또는 의도는 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함한다. 이 방법은 또한, 컴퓨팅 디바이스에 의한 증강 현실 인터페이스 상의 디스플레이를 위해, 동작 또는 의도의 가상 표현(virtual representation)을 제공하는 단계를 포함하고, 이 가상 표현은, 증강 현실 인터페이스 상의 주석(annotation)으로서 로봇 디바이스의 계획된 궤적의 적어도 일부 또는 로봇 디바이스에 의해 취급될 객체의 강조를 포함한다.
또 다른 양태에서, 비일시적 컴퓨터 판독가능한 매체가 제공된다. 비일시적 컴퓨터 판독가능한 매체는, 컴퓨팅 디바이스에 의한 실행시, 컴퓨팅 디바이스로 하여금 기능들을 수행하게 하는 명령어들을 저장한다. 이 기능들은, 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 것을 포함하고, 이 동작 또는 의도는 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함한다. 이 기능들은 또한, 증강 현실 인터페이스 상의 디스플레이를 위해, 동작 또는 의도의 가상 표현을 제공하는 것을 포함하고, 이 가상 표현은, 증강 현실 인터페이스 상의 주석들로서 로봇 디바이스의 계획된 궤적의 적어도 일부 또는 로봇 디바이스에 의해 취급될 객체의 강조를 포함한다.
역시 또 다른 양태에서, 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계, 및 동작 또는 의도에 기초하여, 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 결정하는 단계를 포함하는 또 다른 방법이 제공된다. 이 방법은 또한, 로봇 디바이스에 근접한 하나 이상의 컴퓨팅 디바이스를 결정하는 단계, 및 하나 이상의 컴퓨팅 디바이스에 의한 증강 현실 인터페이스 상의 디스플레이를 위해, 동작 또는 의도의 가상 표현을 제공하는 단계를 포함하고, 이 가상 표현은 증강 현실 인터페이스 상의 주석들로서 로봇 디바이스의 계획된 궤적의 적어도 일부를 포함하거나 로봇 디바이스에 의해 취급될 객체를 강조한다.
한 양태에서, 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하기 위한 수단을 포함하는 시스템이 제공되고, 동작 또는 의도는, 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함한다. 이 시스템은 또한, 컴퓨팅 디바이스에 의한 증강 현실 인터페이스 상의 디스플레이를 위해, 동작 또는 의도의 가상 표현을 제공하기 위한 수단을 포함하고, 이 가상 표현은, 증강 현실 인터페이스 상의 주석들로서 로봇 디바이스의 계획된 궤적의 적어도 일부 또는 로봇 디바이스에 의해 취급될 객체의 강조를 포함한다.
역시 또 다른 양태에서, 물리적 환경에서 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계를 포함하는 또 다른 컴퓨터-구현된 방법이 제공되고, 동작 또는 의도는, 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함한다. 이 방법은 또한, 디바이스에 의해 물리적 환경 내로, 동작 또는 의도의 가상 표현을 제공하는 단계를 포함하고, 이 가상 표현은, 로봇 디바이스의 계획된 궤적의 적어도 일부의 표시 또는 로봇 디바이스에 의해 취급될 객체의 강조를 포함한다.
역시 또 다른 양태에서, 물리적 환경에서 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하기 위한 수단을 포함하는 또 다른 시스템이 제공되고, 동작 또는 의도는, 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함한다. 이 시스템은 또한, 디바이스에 의해 물리적 환경 내로, 동작 또는 의도의 가상 표현을 제공하기 위한 수단을 포함하고, 이 가상 표현은, 로봇 디바이스의 계획된 궤적의 적어도 일부의 표시 또는 로봇 디바이스에 의해 취급될 객체의 강조를 포함한다.
적절한 경우 첨부된 도면을 참조하여 이하의 상세한 설명을 읽음으로써, 이들뿐만 아니라 다른 양태, 이점, 및 대안들이 본 기술분야의 통상의 기술자에게 명백할 것이다.
도 1은 예시적 실시예에 따른 클라우드 기반 컴퓨팅을 위한 예시적 시스템이다.
도 2a는 예시적 클라이언트 디바이스를 나타낸다.
도 2b는 로봇의 그래픽 예를 나타낸다.
도 2c는 로봇의 또 다른 예를 나타낸다.
도 3은 개념적 로봇-클라우드 상호작용의 예를 나타낸다.
도 4는 로봇이 클라우드와 상호작용하고 다른 클라우드 컴퓨팅 디바이스와 정보를 공유할 수 있는 예시적 시스템이다.
도 5는 여기서 설명된 적어도 일부 실시예에 따른 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실 인터페이스를 제공하기 위한 예시적 방법의 블록도이다.
도 6은 로봇 디바이스와의 예시적 환경, 및 로봇 디바이스에 의한 계획된 동작의 예시적 가상 표현을 나타낸다.
도 7은 로봇 디바이스와의 또 다른 예시적 환경, 및 로봇 디바이스에 의한 계획된 동작의 예시적 가상 표현을 나타낸다.
도 8a는 착용자가 착용한 예시적 헤드 장착형 디바이스(HMD; head mountable device)를 나타낸다.
도 8b는 착용자가 착용한 또 다른 예시적 헤드 장착형 디바이스(HMD)를 나타낸다.
도 9는 여기서 설명된 적어도 일부 실시예에 따른 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실 인터페이스를 제공하기 위한 또 다른 예시적 방법의 블록도이다.
도 10은 로봇 디바이스와의 또 다른 예시적 환경, 및 로봇 디바이스에 의한 계획된 동작의 예시적 가상 표현을 나타낸다.
도 11은 여기서 설명된 적어도 일부 실시예에 따른 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실 인터페이스를 제공하기 위한 또 다른 예시적 방법의 블록도이다.
도 12는 여기서 설명된 적어도 일부 실시예에 따른 로봇 디바이스 동작의 가상 표현의 증강 현실 디스플레이를 제공하기 위한 또 다른 예시적 방법의 블록도이다.
도 13은 로봇 디바이스와의 또 다른 예시적 환경, 및 로봇 디바이스에 의한 계획된 동작의 예시적 가상 표현을 나타낸다.
예시적 방법과 시스템들이 여기서 설명된다. 게다가, 용어 "예시적", "예시의", 및 "예시적인"은 "예, 사례, 또는 예시로서 역할하는"을 의미하기 위해 여기서 사용된다는 이해해야 한다. 여기서 "예시적"이다 또는 "예시"이다 또는 "예시적인" 것이다 라고 설명된 임의의 실시예 또는 피쳐는 다른 실시예들 또는 피쳐들에 비해 반드시 바람직하거나 유익하다는 것으로 해석되어서는 안 된다. 여기서 설명되는 실시예들은 제한적인 것을 의미하지는 않는다. 여기서 개괄적으로 설명되고 도면들에 예시된 본 개시내용의 양태들은 다양한 상이한 구성들로 배열되고, 대체되고, 결합되고, 분리되고, 설계될 수 있으며, 이들 모두는 여기서 명시적으로 고려대상이 된다는 것을 용이하게 이해할 것이다.
I. 개요
예를 들어, 증강 현실 인터페이스는 로봇 디바이스의 동작 또는 의도를 나타내는 피드백 또는 정보를 제공하는데 이용될 수 있다. 한 예로서, 로봇의 라이브 비디오 피드(live video feed) 또는 단순히 착용자의 뷰를 제공하는 시스루 디스플레이(see-through display)를 포함하는 헤드 장착형 디스플레이가 제공될 수 있다. 로봇 디바이스는 헤드 장착형 디스플레이에 의해 시각적으로 디스플레이되고 라이브 비디오 피드 상에 오버레이될 수 있는 주석을 제공하게끔 헤드 장착형 디스플레이와 통신하도록 프로그램될 수 있다. 주석은, 예를 들어, 로봇 디바이스의 미래의 보행 스텝을 나타내는 가상 발자국 세트를 디스플레이하는 것과 같은, 로봇 디바이스의 미래의 네비게이션 경로를 나타낼 수 있다. 로봇 디바이스가 움직이는 동안, 헤드 장착형 디스플레이는 로봇 디바이스의 궤적을 나타내기 위해 라이브 비디오 피드 또는 착용자-뷰 상에 미래의 발자국의 표현을 오버레이할 수 있다.
증강 현실 인터페이스는 다른 디바이스에도 역시 제공될 수 있다. 예를 들어, 모바일 전화는 로봇 디바이스의 상태와 동기화된 애플리케이션을 포함하도록 프로그램되어 로봇 디바이스는 인근 전화기들에 그 의도를 브로드캐스팅할 수 있고 전화기는 전화기의 라이브 카메라 피드 상에 오버레이된 정보를 렌더링하여 의도의 표현을 나타낼 수 있다. 다른 예에서, 전화기는 추가로 또는 대안으로서 로봇 디바이스의 시야로부터 카메라 피드를 수신하고, 그 카메라 피드 상에 의도의 상세사항을 오버레이할 수 있다. 상세사항으로는, 미래의 의도에 대한, 또는 로봇 디바이스가 하려고 하는 것에 대한 이해에 관한 의미론적 정보가 포함될 수 있다.
로봇 디바이스는 피드백을 제공하는데 유용한 상세한 의도 및 미래 움직임을 전달하기 위해 이동하기 전에 및 이동하는 동안에 정보를 제공할 수 있다. 또한, 사용자는 이것이 로봇 디바이스가 수행할 원하는 동작 또는 작업인지를 확정할 시간을 가질 수 있다. 예로서, 로봇 디바이스는 주방으로부터 다수의 그릇들 중에서 한 그릇을 선택할 것을 지시받을 수 있다. 로봇 디바이스는 사용자의 요구를 평가하고, 크기, 유형 및 재료의 추정에 기초하여 그릇을 선택할 수 있다. 로봇 디바이스는 헤드 장착형 디스플레이에 오버레이 주석을 제공할 수 있고, 헤드 장착형 디스플레이는 로봇 디바이스가 회수하려고 하는 그릇을 강조하기 위해 착용자-뷰에 오버레이된 주석을 디스플레이할 수 있다. 그 다음, 사용자는 선택된 그릇을 보고 로봇 디바이스에 대한 명령을 수정하거나 확정할 수 있다.
그러면, 증강 현실 인터페이스는 물리 세계에서 움직이는 로봇 디바이스의 상태 및 미래의 움직임에 관한 피드백을 제공하는데 이용된다. 이 인터페이스는 비디오 피드나 착용자-뷰에 정보(의미론적 정보)를 디지털 주석부기하는 오버레이를 포함한다. 이 정보는, 예를 들어, 네비게이션 의도, 미래의 발자국 세트, 또는 로봇의 미래의 궤적을 포함하는 바퀴주행형 로봇에 대한 바닥 상의 스트라이프를 나타낼 수 있다. 로봇 디바이스가 객체와 상호작용하고 있거나 상호작용하려는 경우, 조작될 객체가 오버레이에서 강조될 수 있다. 또한, 로봇 디바이스는 객체에 도트(dot)를 제공하는 조향가능한 레이저 포인터를 이용하여 또는 객체에 광을 투사하고 로봇이 객체를 집어 올리려고 계획한 장소를 표시하는 프로젝터를 이용하여 객체를 능동적으로 강조할 수 있다(예를 들어, 주전자의 손잡이를 강조).
또 다른 예에서, 로봇 디바이스는 로봇 디바이스의 미래 궤적 또는 의도를 확정 또는 수정하기 위한 정보를 갖는 디바이스로부터 통신을 수신할 수 있다. 예를 들어, 사용자는 증강 현실 인터페이스에 오버레이된 미래의 의도를 수신할 수 있고, 그 다음, 관성 측정 유닛(IMU) 또는 가속도계를 포함하는 모바일 컴퓨터 또는 특수 목적 디바이스(예를 들어, 지팡이형 디바이스(wand-like device) 또는 스마트 시계) 등의 디바이스를 이용하여 제스처와 위치를 추적할 수 있다. 이 디바이스는, 사용자가 로봇 디바이스에게 어딘가에 가도록 명령하기 위해 가리키고 있는 곳 등의 정보를 로봇 디바이스에 제공할 수 있다. 사용자는 디바이스를 포인팅하고 버튼을 눌러 시작을 나타낼 수 있고, 그러면, 로봇 디바이스는 명령어를 수신하고, 디바이스의 움직임 및 동작을 방향 명령으로서 해석하며, A로부터 B까지의 경로를 계산한 다음, 후속해서 증강 디스플레이에 오버레이될 정보를 제공하여 계획된 미래의 발자국을 표시할 수 있다. 레이저 포인터를 이용하여 경로를 따라 광을 투사하는 등과 같은, 다른 방법들로도 역시 명령어가 제공될 수 있다.
명령어를 제공한 후에, 디바이스는 로봇 디바이스가 갈 예정인 장소의 증강 현실 시각적 오버레이를 수신할 수 있고, 로봇 디바이스가 위치를 오해했거나 사용자가 주행로 또는 경로를 수정하기를 원한다면, 사용자는 로봇 디바이스가 경로를 따라 너무 멀리 이동하기 전에 그렇게 할 수 있다.
또 다른 예에서, 로봇 디바이스 또는 영역 내의 다른 컴퓨팅 디바이스는 가상 표현을 물리적 환경 내에 제공할 수 있다. 예를 들어, 계획된 궤적의 투사가 환경 내의 바닥에 제공되거나, 로봇 디바이스에 의해 취급될 객체가 로봇 디바이스에 의해 강조될 수 있다.
II. 로봇-클라우드 상호작용을 위한 예시적 아키텍처
이제 도면을 참조하면, 도 1은 클라우드 기반 컴퓨팅을 위한 예시적 시스템(100)이다. 클라우드 기반 컴퓨팅이란 일반적으로 애플리케이션 실행 및 저장이 클라이언트와 서버 디바이스들 간에 어느 정도 분리될 수 있는 네트워크 컴퓨터 아키텍처를 말한다. "클라우드"란, 예를 들어, 클라이언트 및 서버 디바이스들에 의해 네트워크(예를 들어, 인터넷)를 통해 액세스가능한 서비스 또는 서비스 그룹을 말할 수 있다.
한 실시예에서, 클라우드에 접속된 임의의 컴퓨터는, 컴퓨팅 파워, 애플리케이션 및 파일들의 동일한 풀(pool)에 접속될 수 있다. 따라서, 클라우드 컴퓨팅은 최소한의 관리 노력 또는 서비스 제공자 상호작용에 의해 준비 및 해제될 수 있는 구성가능한 컴퓨팅 자원(예를 들어, 네트워크, 서버, 스토리지, 애플리케이션, 및 서비스들)의 공유된 풀을 가능케 한다. 사용자는, 음악, 사진, 비디오 및 북마크 등의 개인 파일을 저장 및 액세스하거나, 저장 매체를 물리적으로 휴대하지 않고 원격 서버에서 게임을 플레이하거나 생산성 애플리케이션을 이용할 수 있다.
예로서, 주로 클라이언트 기반 또는 서버 기반 애플리케이션과는 대조적으로, 클라우드 기반 애플리케이션은 데이터 및/또는 실행가능한 프로그램 로직의 사본을 원격 서버 디바이스에 저장할 수 있는 한편, 클라이언트 디바이스들이 클라이언트 디바이스에서의 실행에 필요하다면 이 데이터 및 프로그램 로직 중 적어도 일부를 다운로드하는 것을 허용한다. 일부 예에서, 다운로드된 데이터 및 프로그램 로직은 클라우드 기반 애플리케이션에 액세스하는 특정한 클라이언트 디바이스(예를 들어, 개인용 컴퓨터, 태블릿 또는 모바일 전화, 또는 로봇)의 성능에 맞게 조정될 수 있다. 또한, 클라이언트와 서버 디바이스 사이에 애플리케이션 실행 및 저장을 분할하는 것은, 서버 디바이스에 의해 더 많은 처리가 수행되는 것을 허용함으로써, 예를 들어, 서버 디바이스의 처리 능력 및 성능을 활용할 수 있다.
클라우드 기반 컴퓨팅이란, 클라우드 기반 애플리케이션에 대한 데이터 및 프로그램 로직이 하나 이상의 클라이언트 디바이스 및/또는 서버 디바이스 사이에서 거의 실시간으로 공유되는 분산형 컴퓨팅 아키텍처라고도 할 수 있다. 이 데이터 및 프로그램 로직의 일부는 클라우드 기반 애플리케이션에 액세스하는 다양한 클라이언트에게, 필요에 따라 또는 기타의 방식으로, 동적으로 전달될 수 있다. 아키텍처의 상세사항은 클라이언트 디바이스의 사용자에게 투명할 수 있다. 따라서, 클라우드 기반 애플리케이션에 액세스하는 PC 사용자 또는 로봇 클라이언트 디바이스는, 예를 들어, PC 또는 로봇이 서버 디바이스로부터 프로그램 로직 및/또는 데이터를 다운로드한다는 것, 또는 PC 또는 로봇이 처리 또는 저장 기능을 서버 디바이스에 오프로드한다는 것을 인식하지 못할 수 있다.
도 1에서, 클라우드(102)는, 클라우드 서비스(104), 클라우드 플랫폼(106), 클라우드 인프라스트럭처(108) 및 데이터베이스(110)를 포함한다. 클라우드(102)는 더 많거나 적은 컴포넌트들을 포함할 수 있고, 클라우드 서비스(104), 클라우드 플랫폼(106), 클라우드 인프라스트럭처(108) 및 데이터베이스(110) 각각은 또한 복수의 요소들을 포함할 수 있다. 따라서, 시스템(100)의 설명된 기능들 중 하나 이상은, 추가적인 기능적 또는 물리적 컴포넌트들로 분할되거나 더 적은 수의 기능적 또는 물리적 컴포넌트들로 결합될 수도 있다. 일부 추가의 예들에서, 추가적인 기능적 및/또는 물리적 컴포넌트들이 도 1에 나타낸 예들에 추가될 수 있다. 클라우드 컴퓨팅의 전달에는, 예를 들어, 웹 서비스 및 3-계층 아키텍처 등의, 애플리케이션 프로그래밍 인터페이스를 통해 서로 통신하는 복수의 클라우드 컴포넌트가 수반될 수 있다.
클라우드(102)는 네트워킹된 컴퓨터 아키텍처를 나타낼 수 있고, 한 예에서, 클라우드 서비스(104)는 클라이언트 디바이스로부터의 요청을 처리하기 위한 큐를 나타낸다. 클라우드 플랫폼(106)은 클라우드의 프론트엔드(frontend)를 포함할 수 있고 클라우드 서비스(104)에 결합되어 클라이언트 디바이스와 상호작용하는 기능을 수행할 수 있다. 클라우드 플랫폼(106)은 웹 브라우저 등의 사용자 인터페이스를 통해 클라우드(102)에 액세스하는데 이용되는 애플리케이션을 포함할 수 있다. 클라우드 인프라스트럭처(108)는 클라우드(102)의 과금 컴포넌트들의 서비스 애플리케이션을 포함할 수 있고, 따라서 클라우드 서비스(104)와 상호작용할 수 있다. 데이터베이스(110)는 클라우드(102)에 의한 저장 능력을 나타낼 수 있고, 따라서 클라우드 서비스(104), 클라우드 플랫폼(106) 및/또는 인프라스트럭처(108) 중 임의의 것에 의해 액세스될 수 있다.
시스템(100)은 클라우드(102)의 컴포넌트들과 통신할 수 있도록 결합되거나 구성된 다수의 클라이언트 디바이스들을 포함한다. 예를 들어, 컴퓨터(112), 모바일 디바이스(114), 호스트(116) 및 로봇 클라이언트(118)는 클라우드(102)에 결합된 것으로 도시되어 있다. 물론, 더 많거나 더 적은 수의 클라이언트 디바이스가 클라우드(102)에 결합될 수 있다. 또한, 상이한 타입들의 클라이언트 디바이스들이 클라우드(102)에 결합될 수 있다. 예를 들어, 클라이언트 디바이스들 중 임의의 클라이언트 디바이스는 일반적으로 디스플레이 시스템, 메모리 및 프로세서를 포함할 수 있다.
컴퓨터(112)는 임의의 타입의 컴퓨팅 디바이스(예를 들어, PC, 랩탑 컴퓨터 등)일 수 있고, 모바일 디바이스(114)는 임의의 타입의 모바일 컴퓨팅 디바이스(예를 들어, 랩탑, 모바일 전화, 셀룰러 전화 등)일 수 있다.
호스트(116)는 클라우드(102)로/로부터 데이터를 전송/수신하도록 구성된 랩탑 컴퓨터, 모바일 전화 등을 포함하는 전송기/수신기를 갖는 임의의 타입의 컴퓨팅 디바이스일 수 있다.
로봇 클라이언트(118)는 클라우드(102)로의 접속 능력을 가지며 그 주변 및 환경과 상호작용하도록 하는 작동 능력(예를 들어, 전기기계적 능력)을 갖는 임의의 컴퓨팅 디바이스를 포함할 수 있다. 로봇은 또한, 컴퓨팅 디바이스들의 조합일 수 있다. 일부 예에서, 로봇(118)은 데이터를 수집하여 그 데이터를 클라우드(102)에 업로드할 수 있다. 클라우드(102)는 데이터에 관한 계산 또는 분석을 수행하고 처리된 데이터를 로봇 클라이언트(118)에 반환하도록 구성될 수 있다. 일부 예에서, 도 1에 도시된 바와 같이, 클라우드(102)는 로봇 클라이언트(118)와 함께 위치하지 않는 컴퓨터를 포함할 수 있다. 다른 예에서, 로봇 클라이언트(118)는 처리를 위해 제2 클라이언트(예를 들어, 컴퓨터(112))에 데이터를 전송할 수 있다.
임의의 클라이언트 디바이스는 추가적인 컴포넌트를 포함할 수 있다. 예를 들어, 로봇 클라이언트(118)는 로봇 클라이언트(118)의 움직임을 측정하기 위해 자이로스코프 또는 가속도계 등의 하나 이상의 센서를 포함할 수 있다. 다른 센서들은, 예를 들어, 특히, 위성 위치확인 시스템(GPS) 수신기, 적외선 센서, 소나, 광 센서, 바이오센서, 무선 주파수 식별(RFID) 시스템, 근접장 통신(NFC) 칩, 무선 센서 및/또는 나침반 중 임의의 것을 더 포함할 수 있다.
또한, 클라이언트 디바이스들 중 임의의 클라이언트 디바이스는 사용자가 디바이스와 상호작용하는 것을 허용하는 통합된 사용자-인터페이스(UI)를 포함할 수 있다. 예를 들어, 로봇 클라이언트(118)는 사용자가 입력을 제공하는 것을 허용하는 다양한 버튼 및/또는 터치스크린 인터페이스를 포함할 수 있다. 또 다른 예로서, 로봇 클라이언트 디바이스(118)는 사용자로부터 음성 명령을 수신하도록 구성된 마이크로폰을 포함할 수 있다. 또한, 로봇 클라이언트(118)는 다양한 타입의 사용자-인터페이스 디바이스가 로봇 클라이언트(118)에 결합되는 것을 허용하는 하나 이상의 인터페이스를 포함할 수 있다.
도 1에서, 클라이언트 디바이스들과 클라우드(102) 사이의 통신 링크들은 직렬 버스 또는 병렬 버스 등의 유선 접속들을 포함할 수 있다. 통신 링크는 또한, 블루투스(Bluetooth), IEEE 802.11(IEEE 802.11이란 IEEE 802.11-2007, IEEE 802.11n-2009 또는 기타 임의의 IEEE 802.11 개정판을 말한다), 또는 기타의 무선 기반의 통신 링크를 포함할 수 있는, 링크(120) 등의 무선 링크일 수 있다.
다른 예들에서, 시스템(100)은 클라이언트 디바이스가 클라우드(102)와 통신하기 위한 액세스 포인트를 포함할 수 있다. 액세스 포인트는 다양한 형태를 취할 수 있다, 예를 들어, 액세스 포인트는 무선 액세스 포인트(WAP) 또는 무선 라우터의 형태를 취할 수 있다. 다른 예로서, 클라이언트 디바이스가 CDMA 또는 GSM 프로토콜 등의 셀룰러 무선 인터페이스 프로토콜을 이용하여 접속한다면, 액세스 포인트는 셀룰러 네트워크를 통해 인터넷 접속을 제공하는 셀룰러 네트워크의 기지국일 수 있다.
따라서, 클라이언트 디바이스는 클라이언트 디바이스가 클라우드(102)(또는 액세스 포인트)에 접속하기 위한 유선 또는 무선 네트워크 인터페이스를 포함할 수 있다. 예로서, 클라이언트 디바이스는, 802.11, 802.16(WiMAX), LTE, GSM, GPRS, CDMA, EV-DO 및/또는 HSPDA 등의 하나 이상의 프로토콜을 이용하도록 구성될 수 있다. 또한, 클라이언트 디바이스는, 셀룰러 통신 프로토콜(예를 들어, CDMA, GSM 또는 WiMAX 뿐만 아니라 802.11을 이용하는 "WiFi" 접속)을 이용하는 "3G" 또는 "4G" 데이터 접속 등의, 복수의 유선 및/또는 무선 프로토콜을 이용하도록 구성될 수 있다. 다른 예들도 역시 가능하다.
도 2a는 예시적 클라이언트 디바이스(200)를 나타낸다. 한 예에서, 클라이언트 디바이스(200)는 로봇으로서 구성된다. 일부 예에서, 로봇은, 프로세서(202), 메모리 또는 스토리지(204) 및 센서(206) 등의, 컴퓨터 하드웨어를 포함할 수 있다. 예를 들어, 로봇 제어기(예를 들어, 프로세서(202), 컴퓨팅 시스템 및 센서들(206))는 모두 특정 로봇을 위해 맞춤 설계될 수 있다. (도 1에 도시된 바와 같이) 로봇은 링크를 가질 수 있고, 이 링크에 의해 클라우드 서버에 액세스할 수 있다. 유선 링크는, 예를 들어, 병렬 버스 또는 USB(Universal Serial Bus) 등의 직렬 버스를 포함할 수 있다. 무선 링크는, 예를 들어, 특히, 블루투스, IEEE 802.11, 셀룰러(GSM, CDMA, UMTS, EV-DO, WiMAX 또는 LTE), 또는 지그비(Zigbee)를 포함할 수 있다.
한 예에서, 스토리지(204)는 로봇의 다양한 센서(206)로부터의 데이터를 컴파일하고 프로그램 명령어를 저장하는데 이용될 수 있다. 프로세서(202)는 스토리지(204)에 결합될 수 있고, 프로그램 명령어들에 기초하여 로봇을 제어하도록 구성될 수 있다. 프로세서(202)는 또한 로봇상의 다양한 센서(206)로부터의 데이터를 해석할 수 있다. 예시적 센서로서는, 연기 센서, 광 센서, 무선 센서, 적외선 센서, 마이크로폰, 스피커, 자이로스코프, 가속도계, 카메라, 레이더, 용량식 센서 및 터치 센서 등이 포함될 수 있다.
클라이언트 디바이스(200)는 또한 클라이언트 디바이스(200)가 그 환경과 상호작용하는 것을 허용하는 컴포넌트 또는 디바이스를 가질 수 있다. 예를 들어, 클라이언트 디바이스(200)는 클라이언트 디바이스(200)가 이동하거나 환경과 상호작용할 수 있게 하는 모터, 휠, 이동식 아암(movable arms) 등의 기계적 액추에이터(208)를 가질 수 있다.
일부 예에서, 클라이언트 디바이스(200) 상의 다양한 센서 및 디바이스는 모듈일 수 있다. 필요에 따라 상이한 모듈들이 클라이언트 디바이스(200)에 추가되거나 이로부터 제거될 수 있다. 예를 들어, 저전력 상황에서, 로봇은 전력 사용량을 줄이기 위해 더 적은 수의 모듈을 가질 수 있다. 그러나, 필요하다면 추가 센서가 추가될 수 있다. 예를 들어, 로봇이 수집할 수 있는 데이터의 양을 증가시기 위해, 추가 센서가 추가될 수 있다.
일부 예에서, 클라이언트 디바이스(200)는, 프로세서(202), 스토리지(204) 및 센서(206)를 포함하는 디바이스(210) 등의, 디바이스를 수용하도록 구성될 수 있다. 예를 들어, 클라이언트 디바이스(200)는, 다수의 기계적 액추에이터(예를 들어, 이동식 베이스(movable base))를 갖는 로봇일 수 있고, 로봇은, 로봇의 "두뇌 "또는 제어 컴포넌트로서 기능하는 모바일 전화, 스마트폰, 태블릿 컴퓨터 등을 수용하도록 구성될 수 있다. 디바이스(210)는 로봇의 모듈로서 간주될 수 있다. 디바이스(210)는 로봇에 물리적으로 부착될 수 있다. 예를 들어, 스마트폰은 로봇의 "가슴"에 설치되어 대화형 디스플레이를 형성할 수 있다. 디바이스(210)는, 예를 들어, 센서, 무선 링크, 및 처리 능력을 갖춘 로봇을 제공할 수 있다. 디바이스(210)는 사용자가 자신의 로봇을 위한 새로운 루틴을 클라우드로부터 다운로드하는 것을 허용할 수 있다. 예를 들어, 세탁물 접기 루틴이 클라우드에 저장될 수 있고, 사용자는 스마트폰을 이용하여 그 루틴을 선택하고 클라우드로부터 그 루틴을 다운로드할 수 있고, 스마트폰이 로봇에 배치되거나 로봇과 결합되면, 로봇은 다운로드된 동작을 수행할 수 있다.
일부 실시예에서, 클라이언트 디바이스(200)는 추가적인 감지 능력을 제공하는 모바일 또는 셀룰러 전화에 결합될 수 있다. 셀룰러 전화는 로봇에 물리적으로 부착되지 않을 수도 있지만, 로봇에 무선으로 결합될 수 있다. 예를 들어, 저렴한 로봇은 인터넷으로의 직접적인 접속을 생략할 수 있다. 이 로봇은 무선 기술(예를 들어, 블루투스)을 통해 사용자의 셀룰러 전화에 접속하여 인터넷에 액세스할 수 있다. 로봇은 셀룰러 전화의 다양한 센서 및 통신 수단에 액세스할 수 있다. 로봇은 많은 센서가 로봇에 물리적으로 제공될 것을 필요로 하지 않을 수도 있지만, 로봇은 동일하거나 유사한 기능을 유지할 수 있다.
따라서, 클라이언트 디바이스(200)는 기계적 로봇 피쳐들을 포함할 수 있고, 디바이스(210) 내에 포함된 가속도계, 자이로스코프, 나침반, GPS, 카메라, WiFi 접속, 터치스크린 등 중에서 임의의 것 등의, 추가적인 주변 컴포넌트들을 디바이스(200)에 제공할 수 있는 디바이스(210)(예를 들어, 모바일 전화, 스마트폰, 태블릿 컴퓨터 등)를 수용하도록 구성될 수 있다.
도 2b는 로봇(212)의 그래픽 예를 나타낸다. 도 2b에서, 로봇(212)은, 팔, 다리, 및 머리를 포함하는 사람의 기계적 형태로서 도시되어 있다. 로봇(212)은, 로봇을 작동시키도록 구성될 수 있는 모바일 전화 등의, 임의의 개수의 모듈 또는 컴포넌트를 수용하도록 구성될 수 있다. 이 예에서, 디바이스(예를 들어, 로봇(212))는, 로봇(212)이 클라우드와 통신하여 로봇(212)의 동작/기능을 야기하도록 할 수 있게 하는 기능을 기계적 로봇(212)에 제공하기 위해 모바일 전화(예를 들어, 디바이스(210))에 부착될 수 있다. 인터넷에 접속된 다른 타입의 디바이스가 로봇(212)에 결합되어 로봇(212) 상에 부가적인 기능을 제공할 수 있다. 따라서, 디바이스(210)는 로봇(212)과 분리되어 로봇(212)에 부착되거나 결합될 수 있다.
한 예에서, 로봇(212)은 기계적 기능이 제한된 장난감일 수 있고, 디바이스(210)를 로봇(212)에 접속함으로써, 장난감 로봇(212)은 이제 디바이스(210) 및/또는 클라우드의 도움으로 다수의 기능을 수행할 수 있다. 이러한 방식으로, 로봇(212)(또는 로봇의 컴포넌트들)은 모바일 전화에 부착되어 모바일 전화를 서버에 접속된 (예를 들어, 다리/팔을 갖춘) 로봇으로 변환하여 로봇의 동작/기능을 야기한다.
장착형 디바이스(210)는 또한, 로봇(212)의 런타임 이용률을 최대화하도록 구성될 수 있다(예를 들어, 로봇(212)이 사용자가 장난감을 오프시키거나 장난감을 내려 놓게 하는 것이 무엇인지를 알 수 있다면, 디바이스(210)는 그러한 발생을 막기 위한 기능을 수행하도록 구성될 수 있다).
도 2c는 로봇(214)의 또 다른 예를 나타낸다. 로봇(214)은, 컴퓨팅 디바이스(216), 센서(218), 및 기계적 액추에이터(220)를 포함한다. 이 예에서, 컴퓨팅 디바이스(216)는, 센서(218)에 결합될 수 있는 랩탑 컴퓨터일 수 있다. 센서(218)는, 카메라, 적외선 프로젝터, 및 기타의 움직임 감지 또는 시각 감지 요소를 포함할 수 있다. 기계적 액추에이터(220)는, 예를 들어, 컴퓨팅 디바이스(216) 및 센서(218)가 위치할 수 있는 베이스, 휠, 및 모터를 포함할 수 있다.
도 2a 내지 도 2c에 나타낸 로봇들 중 임의의 로봇은 로봇 운영 체제(예를 들어, 로봇의 특정 기능을 위해 설계된 운영 체제)에 따라 동작하도록 구성될 수 있다. 로봇 운영 체제는 로봇 애플리케이션을 가능하게 하는 라이브러리 및 툴(예를 들어, 하드웨어 추상화, 디바이스 드라이버, 비주얼라이저, 메시지 전달, 팩키지 관리 등)을 제공할 수 있다. 로봇 운영 체제의 예로서는, ROS(robot operating system), DROS 또는 ARCOS(advanced robotics control operating system) 등의 오픈 소스 소프트웨어, Evolution Robotics® 및 MRDS(Microsoft® Robotics Developer Studio)의 로봇 개발 플랫폼 ESRP 등의 전용 소프트웨어가 포함될 수 있고, 다른 예는 ROSJAVA를 역시 포함할 수 있다. 로봇 운영 체제는 퍼블리시 및 가입 기능(publish and subscribe functionality)을 포함할 수 있고, 또한 헤드 트래킹, 베이스 이동(예를 들어, 속도 제어, 네비게이션 프레임워크) 등의, 로봇의 컴포넌트를 제어하는 기능을 포함할 수 있다.
도 3은 개념적 로봇-클라우드 상호작용의 예를 나타낸다. 도 2a 내지 도 2c에서 설명되고 도시된 로봇들 등의 로봇은 컴퓨터들의 네트워크(예를 들어, 클라우드)에 접속될 수 있고, 데이터 또는 처리가 클라우드에 의해 수행될 것을 요청할 수 있다. 한 예에서, 로봇은, 일반적으로 로봇을 위한 모터 제어를 제공할 수 있는 다수의 센서 및 기계적 액추에이터를 포함할 수 있다. 카메라 피드, 시각 센서 등의 센서의 출력은 클라우드에 제공될 수 있고, 클라우드는 출력을 처리하여 로봇이 기능을 수행하게 할 수 있다. 클라우드는 카메라 피드를 처리하여 예를 들어 로봇의 위치를 결정하거나, 객체 인식을 수행하거나, 로봇을 위한 네비게이션 경로를 나타낼 수 있다.
도 3은, 각각의 모듈이 모터 제어기 입력 또는 로봇으로부터의 데이터를 이용하여 처리를 수행하는 클라우드 상의 컴퓨터 또는 노드를 개념적으로 나타낼 수 있는 모터 제어기를 개괄적으로 나타낸다. 도 3은 또한, 각각의 모듈이 센서 입력 또는 로봇으로부터의 데이터를 이용하여 처리를 수행하는 클라우드 상의 컴퓨터 또는 노드를 개념적으로 나타낼 수 있는 센서를 개괄적으로 나타낸다. 도 3은 또한, 각각의 모듈이, 다수의 애플리케이션, 예를 들어, 네비게이션 애플리케이션, 맵핑 애플리케이션 등의 특정한 기능을 수행하는 클라우드 상의 컴퓨터 또는 노드를 개념적으로 나타낼 수 있는 애플리케이션을 개괄적으로 나타낸다. 또한, 도 3은 각각의 모듈이 일반적인 계획 또는 컴퓨팅 처리 등의 로봇을 위한 처리를 수행하는 클라우드 상의 컴퓨터 또는 노드를 개념적으로 나타낼 수 있는 계획을 개괄적으로 나타낸다.
도시된 바와 같이, 임의의 모듈은 상호접속될 수 있고 및/또는 로봇을 위한 특정한 출력 또는 기능을 제공하도록 서로 통신하여 데이터 또는 명령어를 수신할 수 있다.
한 예에서, 로봇은 데이터 처리를 위해 클라우드에 데이터를 전송할 수 있고, 또 다른 예에서 로봇은 클라우드로부터 데이터를 수신할 수 있다. 클라우드로부터 수신된 데이터는 많은 상이한 형태일 수 있다. 수신된 데이터는 로봇이 클라우드에 전송한 데이터의 처리된 형태일 수 있다. 수신된 데이터는 로봇 이외의 소스로부터 나온 것일 수도 있다. 예를 들어, 클라우드는, 기타의 센서, 기타의 로봇, 및 인터넷에 액세스할 수 있다.
여기서 설명된 예에서, 로봇은 다른 클라우드 컴퓨팅 디바이스와 정보를 공유하는 것 등의 임의의 개수의 동작을 수행하기 위해 클라우드와 상호작용할 수 있다. 예들 내에서, 로봇은 객체 인식을 용이하게 하거나, 맵핑 기능을 수행하거나, 네비게이션 기능을 수행하기 위해(즉, 또 다른 로봇에 의해 이전에 횡단된 맵/네비게이션 경로를 수신하기 위해) 클라우드와 상호작용할 수 있다. 다른 예에서, 로봇은 클라우드와 상호작용하여 영역 내의 객체의 맵핑을 수행하고, 객체의 목록화를 수행하며, 로봇에 의해 및/또는 로봇의 제어에 의해 음성 인식을 수행할 수 있다. 로봇은 정황 또는 상황 정보에 기초하여 여기서 설명된 바와 같이 클라우드에 대한 모든 동작 또는 질의를 수행할 수 있다.
일부 예에서, 로봇의 지식 베이스가 로봇 상에 저장될 것을 요구하기보다는, 일부 실시예는 로봇이 서버 및/또는 다른 컴퓨팅 디바이스 등의 외부 위치에서 데이터를 저장하고 액세스할 수 있게 한다. 외부 위치는 하나 이상의 로봇으로부터 데이터 및/또는 요청을 수신할 수 있다. 서버는 하나 이상의 로봇으로부터의 수신된 데이터를 저장하거나 및/또는 저장된 데이터의 전부 또는 일부를 하나 이상의 로봇에 분배하여 로봇이 명령어 및/또는 데이터를 획득할 수 있는 공통의 지식 베이스를 생성할 수 있다.
일부 실시예에서, 로봇은 로봇이 동작하는 영역 및/또는 객체에 관한 정보를 가질 수 있다. 영역은, 지도, 위치 등과 연관될 수 있다. 로봇은, 영역과 관련된 정보를, 로봇으로부터의 정보와 연관된 객체를 식별하는 객체 인식 시스템을 포함할 수 있는 서버에 전송할 수 있다.
로봇 및/또는 서버는 객체를 판정 및 식별하기 위해 정황 분석을 이용할 수 있다. 예를 들어, 로봇이 사무실에 있다면, 로봇은 객체의 "사무실" 데이터베이스에 액세스하여 인식을 수행할 수 있다. 다른 예로서, 로봇은, 로봇이 장면 내의 객체들을 목록화하고, 사용자에 의해 명령이 주어지면, 로봇은 장면 내의 상황에 기초하여 또는 장면 내의 객체들과 비교함으로써 내용을 결정하거나 명령의 의미를 해석할 수 있도록, 상황 인식을 수반하며 동작할 수 있다. 예를 들어, 로봇은 냉장고에서 음료수를 회수하는 명령을 받을 수 있다. 로봇은 입력으로서 서버에 명령을 전송하거나, 예를 들어, 선택사항으로서 로봇의 그 영역의 데이터베이스를 이용하여 냉장고 및 음료수를 인식할 수 있다. 선택사항으로서, 로봇은 서버에 명령을 전송할 수 있고, 서버는 냉장고 및 음료수를 인식할 수 있다. 실시예에서, 로봇 및/또는 서버는 객체를 인식하기 위해 정황 뿐만 아니라 상황 데이터를 이용할 수 있다. 또한, 일단 객체가 인식되면, 서버는 명령과 연관된 상호작용을 결정하고, 예를 들어, 상호작용을 수행하기 위해 로봇이 실행할 수 있는 하나 이상의 컴퓨터 실행가능한 명령어를 식별할 수 있다.
도 4는 로봇이 클라우드와 상호작용하고 다른 클라우드 컴퓨팅 디바이스와 정보를 공유할 수 있는 예시적 시스템(400)이다. 시스템(400)은 각각이 클라우드(410)에 결합된 로봇들(402, 404, 406 및 408)을 (예를 들어, 개념적 그래픽 표현으로서) 나타낸다. 각각의 로봇(402, 404, 406, 및 408)은 클라우드(410)와 상호작용할 수 있고, 클라우드(410)를 통해 또는 다른 액세스 포인트를 통해 및 (예를 들어, 로봇들(406 및 408) 사이에 도시된 바와 같이) 아마도 직접 서로 상호작용할 수 있다.
클라우드(410)는 수 개의 로봇들로부터 입력을 수신할 수 있다. 각각의 로봇으로부터의 데이터는 더 큰 데이터 세트로 편집될 수 있다. 예를 들어, 로봇(402)은 객체의 사진을 찍어 사진을 클라우드(410)에 업로드할 수 있다. 클라우드(410) 상의 객체 인식 프로그램은, 사진 내의 객체를 식별하고, 인식된 객체에 관한 데이터를 클라우드(410)에 접속된 모든 로봇에 제공할 뿐만 아니라, 아마도 위치, 크기, 무게, 색상 등의, 인식된 객체의 다른 특성들(예를 들어, 메타 데이터)을 제공하도록 구성될 수 있다. 따라서, 모든 로봇은 로봇(402)에 의해 업로드된 사진 내의 객체의 속성을 알 수 있을 것이다.
로봇들(402, 404, 406 및 408)은, 영역 내에서, 사람들과, 다른 로봇들과 함께 임의의 개수의 동작들을 수행할 수 있다. 한 예에서, 각각의 로봇 (402, 404, 406 및 408)은 WiFi 또는 다른 네트워크 기반 접속을 가지며, 클라우드(410)에 데이터를 업로드/퍼블리싱하여 기타 임의의 로봇과 공유할 수 있다. 이러한 방식으로, 각각의 로봇(402, 404, 406 및 408)은 서로 경험을 공유하여 학습된 행동을 가능하게 한다. 예를 들어, 로봇(402)은 통로를 이동하다가 장애물을 만날 수 있고, 장애물의 위치를 (클라우드(410)를 통해) 다른 로봇(404, 406 및 408)에게 알릴 수 있다. 각각의 로봇(402, 404, 406 및 408)은 실시간 최신 데이터에 액세스할 수 있다. 또 다른 예에서, 로봇(404)은, 로봇(404)이 다양한 뷰(예를 들어, 로봇들(402, 406, 및 408)이 상이한 관점으로부터 객체의 이미지를 포착한 경우)를 이용하여 객체를 식별하는데 도움이 되는, 다른 로봇들(402, 406 및 408)이 바라보는 이미지들을 나타내는 데이터를 다운로드할 수 있다.
역시 또 다른 예에서, 로봇(408)은 영역의 맵을 구축할 수 있고, 로봇(402)은 그 영역의 지식을 갖기 위해 지도를 다운로드할 수 있다. 유사하게, 로봇(402)은, 로봇(408)에 의해 생성된 맵을, 영역에 대한 새로운 정보(예를 들어, 복도가 이제 박스 또는 다른 장애물을 가짐) 또는 로봇(408)이 가질 수 없었던 센서로부터 수집된 새로운 정보(예를 들어, 로봇(408)이 온도 센서를 가지지 않는다면 로봇(402)은 온도 데이터를 기록하고 맵에 추가할 수 있다)로 업데이트할 수 있다. 전체적으로, 로봇들(402, 404, 406, 및 408)은, 각각의 로봇(402, 404, 406 및 408)이 이전 로봇의 학습된 경험을 증강시키도록 수집된 데이터를 공유하게끔 구성되어 더 빠른 적응을 가능하게 할 수 있다.
공유 및 적응 능력은, 로봇들(402, 404, 406 및 408)로부터 수신된 다양한 입력/데이터에 기초하여 다양한 애플리케이션을 가능하게 한다. 특정 예에서, 로봇이 어디에 있었는지의 이력에 관한 데이터를 제공하는 등의, 물리적 위치의 맵핑이 제공될 수 있다. 로봇들(402, 404, 406 및 408)의 맵핑/네비게이션 기능을 용이하게 하기 위해 또 다른 번호나 타입의 표시자가 기록될 수 있다(예를 들어, 벽 상의 흠집 마크는, 로봇이 기록하고 나중에 자신을 배향시키기 위해 의존할 수 있은 많은 단서들 중 하나일 수 있다).
한 예에서, 클라우드(410)는 객체들에 관련된 정보의 데이터베이스(412)를 포함하거나, 저장하거나, 이에 대한 액세스를 제공할 수 있고, 데이터베이스(412)는 모든 로봇들(402, 404, 406 및 408)에 의해 액세스가능할 수 있다. 데이터베이스(412)는, 객체 인식을 수행하기 위해 로봇들(402, 404, 406, 및 408)에 의해 액세스될 수 있는, 객체를 식별하는 정보 및 객체의 상세사항(예를 들어, 질량, 속성, 형상, 이용법 등, 객체와 연관될 수 있는 임의의 상세사항)을 포함할 수 있다. 예로서, 객체의 이용에 관한 정보는, 예를 들어, 전화의 경우, 핸드셋 픽업 방법, 전화 응답 방법, 버튼 위치, 다이얼링 방법 등을 포함할 수 있다.
또한, 데이터베이스(412)는 객체들을 구분하는데 이용될 수 있는 객체들에 관한 정보를 포함할 수 있다. 예를 들어, 데이터베이스(412)는 (예를 들어, 컴퓨터 등의) 객체에 관한 일반적인 정보, 및 추가적으로, 특정 컴퓨터에 관한 정보(예를 들어, 모델 번호, 특정 모델의 상세사항 또는 기술적 사양 등)를 포함할 수 있다. 각각의 객체는, 객체 이름, 객체 상세사항, 객체 구분 특성 등을 포함하는 정보, 또는 액세스될 수 있는 객체에 대한 튜플 공간(tuple space)을 데이터베이스(412)에 포함할 수 있다. 각각의 객체는, 예를 들어, 정보를 정렬된 목록으로 데이터베이스에 더 포함할 수 있다. 추가 예에서, 데이터베이스(412)는 (예를 들어, 특정 객체들간의 구분을 가능하게 하기 위해) 데이터베이스(412)에서 식별된 객체들에 대한 전역 고유 식별자(GUID)를 포함할 수 있고, GUID는 객체를 기술하는 임의의 특성 또는 정보와 연관될 수 있다. 따라서, 로봇은, 객체들(예를 들어, 야구공 대 컴퓨터)을 일반적으로 구분하는 정보를 수신하고 특정 객체들(예를 들어, 2개의 상이한 컴퓨터들)을 구분할 수 있는 정보를 수신하기 위해, 데이터베이스(412)에 액세스하도록 구성될 수 있다.
데이터베이스(412)는 클라우드(410)를 통해 모든 로봇에 의해 액세스가능(또는 대안으로서 클라우드(410)를 통한 통신없이 모든 로봇에 의해 직접 액세스가능)할 수 있다. 따라서, 데이터베이스(412)는 클라우드(410)에 저장된 공유된 지식 베이스일 수 있다.
따라서, 일부 예들에서, 로봇들은 클라우드(410)를 통해 학습된 행동들을 공유할 수 있다. 클라우드(410)는 로봇 학습된 활동 또는 행동을 저장하는 서버를 가질 수 있어서, 결과적으로 객체 상호작용을 위한 행동 및 휴리스틱스의 공유된 지식 베이스(예를 들어, 로봇 "앱 스토어")를 생성한다. 구체적으로는, 주어진 로봇은 동작을 수행하여 영역의 맵을 구축할 수 있고, 그 다음, 로봇은 그 데이터를 클라우드(410)에 업로드하여 이 지식을 다른 모든 로봇과 공유할 수 있다. 이 예에서, 주어진 로봇의 "의식"의 수송은 클라우드(410)를 통해 하나의 로봇에서 다른 로봇으로 이루어질 수 있다(예를 들어, 로봇 "Bob"은 맵을 구축하고, "Bob"의 지식은 또 다른 로봇에 다운로드되어 맵의 지식을 수신할 수 있다).
따라서, 예들에서, 로봇들(402, 404, 406 및 408)은 클라우드(410)를 통해 정보를 공유할 수 있고, 데이터베이스(412)에 액세스할 수 있다.
III. 예시적 로봇-클라우드 및 로봇-디바이스 상호작용
클라우드 서비스(104) 등의, 클라우드 기반 서비스는 대규모 시뮬레이션을 수행하고 다양한 작업을 실행하기 위해 로봇 시스템에 명령어를 전송하도록 구성될 수 있다. 작업은, 로봇 시스템의 능력에 대한 정보, 센서 데이터, 및 특정 작업에 관련된 데이터베이스의 정보를 이용하여 광범위한 가능한 입력(예 : 무차별-강제 검색)에 걸쳐 시뮬레이션될 수 있다. 일반적으로, 로봇 시스템은 특정 작업을 실행하도록 미리구성될 수 있다. 그러나 클라우드 기반 서비스를 이용하는 것은, 로봇 시스템이 새로운 작업을 수행하는 방법을 학습하고 환경과의 상호작용을 위한 새로운 전략과 접근법을 발견하는 것을 허용할 수 있다. 다른 예들도 역시 가능하다.
도 5는 여기서 설명된 적어도 일부 실시예에 따른 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실 인터페이스를 제공하기 위한 예시적 방법의 블록도이다. 방법(500)은 블록들(502-510) 중 하나 이상으로 나타낸 하나 이상의 동작, 기능, 또는 작용을 포함할 수 있다. 블록들이 순차적 순서로 나타나 있지만, 이들 블록들은 일부 예에서는 병렬로 수행될 수 있고, 및/또는 여기서 설명된 것들과는 상이한 순서로 수행될 수도 있다. 또한, 다양한 블록들은 더 적은 수의 블록들로 결합되거나, 추가의 블록들로 분할되거나, 및/또는 원하는 구현에 기초하여 제거될 수도 있다.
또한, 여기서 개시된 방법(500)과 기타의 프로세스 및 방법들에 대해, 흐름도는 본 실시예들의 하나의 가능한 구현의 기능 및 동작을 도시한다. 이와 관련하여, 각각의 블록은, 프로세스에서 특정한 논리적 기능 또는 단계를 구현하기 위해 프로세서에 의해 실행가능한 하나 이상의 명령어를 포함하는, 모듈, 세그먼트 또는 프로그램 코드의 일부를 나타낼 수 있다. 프로그램 코드는, 예를 들어, 디스크 또는 하드 드라이브를 포함하는 저장 디바이스 등의 임의의 타입의 컴퓨터 판독가능한 매체 상에 저장될 수 있다. 컴퓨터 판독가능한 매체로서는, 레지스터 메모리, 프로세서 캐시 및 랜덤 액세스 메모리(RAM)와 같이 단기간 동안 데이터를 저장하는 컴퓨터 판독가능한 매체 등의, 비일시적 컴퓨터 판독가능한 매체가 포함될 수 있다. 컴퓨터 판독가능한 매체로서는 또한, 예를 들어, 판독 전용 메모리(ROM), 광학 또는 자기 디스크, CD-ROM(compact-disc read only memory)과 같은 2차 또는 영구적 장기 스토리지 등의, 비일시적 매체가 포함될 수 있다. 컴퓨터 판독가능한 매체는 또한 기타 임의의 휘발성 또는 비휘발성 저장 시스템일 수 있다. 컴퓨터 판독가능한 매체는, 예를 들어, 컴퓨터 판독가능한 저장 매체, 유형의 저장 디바이스, 또는 기타의 제조품으로서 간주될 수 있다.
또한, 여기서 개시된 방법(500)과 기타의 프로세스 및 방법들에 대해, 도 5의 각각의 블록은 프로세스에서 특정한 논리적 기능들을 수행하도록 배선된 회로를 나타낼 수 있다.
방법(500) 등의 예시적인 방법들은, 도 1에 도시된 시스템(100)의 컴포넌트들 중 하나 이상에 의해, 도 2a에 도시된 클라이언트 디바이스(200)의 컴포넌트들 중 하나 이상에 의해, 도 2b에 도시된 로봇(212)의 컴포넌트들 중 하나 이상에 의해, 도 2c에 도시된 로봇(214)의 컴포넌트들 중 하나 이상에 의해, 도 3에 도시된 개념적 로봇-클라우드 상호작용의 하나 이상의 컴포넌트에 의해, 및 도 4에 도시된 시스템(400)의 컴포넌트들 중 하나 이상에 의해 등, 클라우드 및/또는 로봇 시스템의 컴포넌트 또는 컴포넌트들에 의해 전체적으로 또는 부분적으로 실행될 수 있다. 그러나, 방법(500) 등의, 예시적 방법들은 본 발명의 범위를 벗어나지 않고 다른 엔티티 또는 엔티티들의 조합(즉, 다른 컴퓨팅 디바이스 및/또는 컴퓨팅 디바이스들의 조합에 의해)이 실행될 수 있다는 것을 이해해야 한다.
예를 들어, 방법(500)의 기능들은 컴퓨팅 디바이스(또는 하나 이상의 프로세서 등의 컴퓨팅 디바이스의 컴포넌트들)에 의해 완전히 수행되거나, 컴퓨팅 디바이스의 복수의 컴포넌트에 걸쳐, 복수의 컴퓨팅 디바이스에 걸쳐, 및/또는 서버에 걸쳐 분산될 수도 있다. 일부 예에서, 컴퓨팅 디바이스는 컴퓨팅 디바이스의 센서들로부터 정보를 수신하거나, 컴퓨팅 디바이스가 서버인 경우 정보는 정보를 수집하는 다른 디바이스로부터 수신될 수 있다. 다른 예로서, 방법(500)은, 컴퓨팅 디바이스에 의해, 서버에 의해, 또는 로봇 디바이스에 의해 수행될 수 있다.
블록(502)에 의해 도시된 바와 같이, 방법(500)은 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계를 포함한다. 동작 또는 의도는, 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함할 수 있다. 다른 예에서, 방법(500)은, 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적을 결정하는 단계, 및 동작 또는 의도에 기초하여 작업의 적어도 일부를 수행하기 위해 로봇 디바이스에 의해 취급될 객체를 결정하는 단계를 선택사항으로서 포함할 수 있다.
정보는 작업을 수행하도록 프로그램되거나 요청된 로봇 디바이스로부터 컴퓨팅 디바이스에 의해 수신될 수 있다. 다른 예에서, 정보는 로봇 디바이스와 통신하는 서버에 의해 또는 로봇 디바이스를 제어하는 컴퓨팅 디바이스로 수신될 수 있다. 또한, 정보는 로봇 디바이스를 제어하는 컴퓨팅 디바이스로부터 로봇 디바이스의 프로세서에 의해 수신되는 것으로 간주될 수 있다.
블록(504)에 의해 도시된 바와 같이, 방법(500)은 또한, 컴퓨팅 디바이스에 의한 증강 현실 인터페이스 상의 디스플레이를 위해, 동작 또는 의도의 가상 표현을 제공하는 단계를 포함한다. 가상 표현은 증강 현실 인터페이스 상의 주석들로서 로봇 디바이스의 계획된 궤적의 적어도 일부 또는 로봇 디바이스에 의해 취급될 객체의 강조를 포함한다. 예들 내에서, 로봇 디바이스에 의한 오디오 피드백을 제공하는 것 대신에 또는 이에 추가하여, 증강 현실을 이용하여 사용자 친화형 피드백이 제공될 수 있다.
정보는 로봇 디바이스에 의해 컴퓨팅 디바이스에 제공되거나, (로봇 디바이스를 프로그램하는 등을 위해) 로봇 디바이스와 통신하는 서버에 의해 컴퓨팅 디바이스에 제공되거나, 로봇 디바이스에 제어 정보를 제공하는 다른 디바이스들에 의해 제공될 수 있다. 정보는 또한, 컴퓨팅 디바이스에 의해 디스플레이하기 위해 하나 이상의 프로세서에 의해 제공되는 것으로 간주될 수 있고, 하나 이상의 프로세서는, 컴퓨팅 디바이스의 컴포넌트들, 로봇 디바이스의 컴포넌트들, 또는 또 다른 컴퓨팅 디바이스(예를 들어, 서버)의 컴포넌트들일 수도 있다.
주석은, 사용자에게 피드백을 제공하기 위해 로봇 디바이스의 의도의 통신을 가능하게 하는 증강 현실 인터페이스 상에 제공된 그래픽을 포함할 수 있다. 정보는 로봇 디바이스가 작업 수행을 시작하기 전에 수신될 수 있다. 예를 들어, 정보는, 로봇 디바이스가 미래에 이동하려고 계획한 계획된 궤적의 디스플레이를 가능하게 하기 위해 로봇 디바이스가 작업을 수행하기 이전 및 수행하는 동안에 제공될 수 있다. 로봇 디바이스는, 빠른 피드백을 제공하여 이것이 예를 들어 수행할 바람직한 거동인지를 확정하는 시간을 사용자들에게 제공하는데 유용한 상세한 미래의 모션 및 의도를 전달할 수 있다.
도 6은 로봇 디바이스(602)와의 예시적인 환경(600) 및 로봇 디바이스(602)에 의한 계획된 동작의 예시적 가상 표현을 나타낸다. 환경(600) 내에서, 로봇 디바이스(602)는 주전자를 포함하는 주방 조리대를 향해 이동한다. 로봇 디바이스(602)는 주전자를 집어 다른 위치로 이동시키도록 지시받았을 수 있다. 도 6은 또한 3개의 상이한 예시적 가상 표현들(606, 610 및 614)과 함께 도시된 컴퓨팅 디바이스(604)를 나타낸다.
한 예에서, 컴퓨팅 디바이스(604)는 로봇 디바이스(602)의 계획된 동작을 나타내는 정보를 로봇 디바이스(602)로부터 수신할 수 있고, 컴퓨팅 디바이스(604)는 가상 발자국 세트(608)를 포함하는 가상 표현(606)으로 환경(600)의 표현을 디스플레이하여 조리대를 향한 계획된 궤적의 일부를 따른 로봇 디바이스의 미래의 움직임을 나타내도록 프로그램될 수 있다.
또 다른 예에서, 컴퓨팅 디바이스(604)는 로봇 디바이스(602)의 계획된 동작을 나타내는 정보를 로봇 디바이스(602)로부터 수신할 수 있고, 컴퓨팅 디바이스(604)는 로봇 디바이스의 계획된 궤적의 일부를 포함하는 바닥 상의 라인 또는 화살표(612)를 포함하는 가상 표현(610)으로 환경(600)의 표현을 디스플레이하도록 프로그램될 수 있다.
역시 또 다른 예에서, 컴퓨팅 디바이스(604)는 로봇 디바이스(602)의 계획된 동작을 나타내는 정보를 로봇 디바이스(602)로부터 수신할 수 있고, 컴퓨팅 디바이스(604)는 로봇 디바이스가 객체를 취급하려고 계획하는 객체 상의 표시(616)를 포함하는 가상 표현(614)으로 환경(600)의 표현을 디스플레이하도록 프로그램될 수 있다. 이것은, 예를 들어, 주전자의 손잡이를 강조하는 것을 포함할 수 있다.
역시 또 다른 예에서, 컴퓨팅 디바이스(604)는 로봇 디바이스(602)의 계획된 동작을 나타내는 정보를 로봇 디바이스(602)로부터 수신할 수 있고, 컴퓨팅 디바이스는 로봇 디바이스(602)가 점유하거나 통과해 이동하고자 하는 공간의 전체 체적 또는 영역의 행정 체적(swept volume)의 표시를 포함하는 가상 표현으로 환경(600)의 표현을 디스플레이하도록 프로그램될 수 있다. 디스플레이된 가상 표현은, 로봇 디바이스(602)가 방해받지 않기 위해 체적을 예약했는지를 사용자가 볼 수 있도록, 로봇 디바이스(602)가 곧 있을 곳을 나타내는 폐색된 가상 객체를 포함할 수 있다.
따라서, 로봇 디바이스가 물리적 세계에서 움직일 때, 컴퓨팅 디바이스(604)의 디스플레이 상에 오버레이된 피드백이 제공되어, 네비게이션 의도, 미래의 발자국 세트, 또는 바퀴주행형 로봇의 경우 굴러갈 예정인 바닥 상의 띠(stripe)를 나타내는 정보(예를 들어, 의미론적 정보)로 디스플레이를 디지털 주석부기할 수 있다.
예들 내에서, 컴퓨팅 디바이스는 로봇 디바이스로부터 원격지에 위치하고, 가상 표현은 컴퓨팅 디바이스의 시야에 오버레이된 디스플레이를 위해 제공될 수 있다. 컴퓨팅 디바이스의 시야는 시야 내의 객체 또는 환경을 포함할 수 있고, 시야는 계획된 궤적의 적어도 일부 또는 로봇 디바이스에 의해 취급될 일부 항목을 포함하는 영역을 포함하기 때문에, 가상 표현은 시야에 오버레이될 수 있다. 따라서, 한 예에서, 컴퓨팅 디바이스는 사용자가 휴대하는 모바일 전화를 포함할 수 있고, 사용자가 도 6에 도시된 조리대 등의 로봇 디바이스의 계획된 궤적 중 일부와 중첩하는 영역으로 이동함에 따라, 모바일 전화는 모바일 전화의 시야를 오버레이하는 가상 표현으로서 증강 현실 인터페이스 상에 계획된 궤적을 디스플레이할 수 있다. 시야는 모바일 전화의 라이브 비디오 피드에 의해 제공될 수 있다.
다시 도 5를 참조하면, 다른 예들에서, 블록(506)에 의해 도시된 바와 같이, 방법(500)은, 선택사항으로서, 컴퓨팅 디바이스에 의한 증강 현실 인터페이스 상의 디스플레이를 위해, 환경 내의 로봇 디바이스를 포함한 로봇 디바이스가 존재하는 환경의 표현을 수신하는 단계를 포함할 수 있다. 블록(508)에 의해 도시된 바와 같이, 방법(500)은, 로봇 디바이스가 존재하는 환경의 표현에 오버레이된 가상 표현을 제공하는 단계를 선택사항으로서 포함할 수 있다. 블록(510)에 의해 도시된 바와 같이, 방법(500)은, 로봇 디바이스가 계획된 궤적에 따라 작업을 수행하는 것을 나타내기 위해 증강 현실 인터페이스 상에 가상 표현을 애니메이팅하는 단계를 선택사항으로서 포함할 수 있다. 이 예에서, 로봇 디바이스가 동작하는 환경의 디스플레이가 제공되고 가상 표현이 그 디스플레이 상에 오버레이되기 때문에 컴퓨팅 디바이스의 시야는 관련이 없다. 따라서, 컴퓨팅 디바이스를 가진 사용자는, 로봇 디바이스로부터 멀리 떨어진 임의의 위치에 있는 컴퓨팅 디바이스 상에서 로봇의 의도를 시각화할 수 있다. 이 예는 환경(600)의 표현이 컴퓨팅 디바이스(604)에 제공되고, 가상 표현(예를 들어, 발자국(608), 화살표(612) 및 강조(616)를 나타내는 가상 표현)이 환경(600)에 오버레이하도록 제공되는 도 6에 도시되어 있다.
또 다른 예에서, 방법(500)은 로봇 디바이스의 시야로부터 카메라 피드를 수신하는 단계, 및 로봇 디바이스의 시야로부터의 카메라 피드 상에 오버레이되는 가상 표현을 제공하는 단계를 포함할 수 있다. 이 예에서, 컴퓨팅 디바이스는 로봇 디바이스가 환경을 어떻게 보는지에 대한 맵을 나타내어 로봇 디바이스의 의도를 공유하는 디스플레이를 사용자에게 제공할 수 있다.
도 7은 로봇 디바이스(702)와의 또 다른 예시적 환경(700), 및 로봇 디바이스(702)에 의한 계획된 동작의 예시적 가상 표현을 나타낸다. 환경(700) 내에서, 로봇 디바이스(702)는 주전자를 포함하는 주방 조리대를 향해 이동한다. 로봇 디바이스(702)는 주전자를 집어 다른 위치로 이동시키도록 지시받았을 수 있다. 도 7은 또한 로봇 디바이스(702)의 시야로부터 본 예시적 가상 표현(706)으로 도시된 컴퓨팅 디바이스(704)를 나타낸다. 컴퓨팅 디바이스(704)는 로봇 디바이스(702)로부터 카메라 피드를 수신할 수 있고, "여기" 등과 같은, 미래의 동작 또는 의도의 주석이 카메라 피드 상에 오버레이되고, 주전자의 손잡이가 강조되어(708) 로봇 디바이스(702)가 주전자를 손잡이로 집어들려고 한다는 것을 나타낸다. 이러한 방식으로, 로봇 디바이스(702)의 시야로부터의 장면은 주석이 오버레이된 디스플레이를 위해 컴퓨팅 디바이스(704)에 제공될 수 있다.
또 다른 예에서, 컴퓨팅 디바이스는 헤드 장착형 디바이스(HMD)를 포함할 수 있고, 가상 표현은 HMD의 착용자-시야에 오버레이될 수 있다. 예들 내에서, HMD는 가상 표현을 착용자-뷰에 오버레이할 수 있고, 착용자-뷰는 로봇 디바이스의 미래의 네비게이션 경로의 일부를 포함하므로, 가상 발자국이 제공되어 로봇의 미래 보행 스텝을 나타낼 수 있다.
도 8a 및 도 8b는 착용자가 착용한 예시적 헤드 장착형 디바이스(HMD)를 나타낸다. 도 8a는 착용자(804)가 착용한 HMD(802)를 나타낸다. 도시된 예에서, HMD(802)의 디스플레이(806)는, HMD(802)가 착용되었을 때, 디스플레이(806)가 사용자의 눈 앞에 또는 근처에 위치하도록 배치될 수 있다. 예를 들어, 디스플레이(806)는, 도 8a에 도시된 바와 같이, 센터 프레임 지지부 아래 및 착용자의 눈의 중심 위에 위치할 수 있다. 또한, 도시된 구성에서, 디스플레이(806)는 착용자의 눈의 중심으로부터 오프셋될 수 있다(예를 들어, 디스플레이(806)의 중심이 착용자의 관점에서 착용자의 눈의 중심의 우측 및 위에 위치되도록).
도 8a 및 도 8b에 도시된 바와 같이 구성되면, HMD(802)가 착용될 때 디스플레이(806)는 착용자(804)의 시야의 주변부에 위치할 수 있다. 따라서, 도 8a에 의해 도시된 바와 같이, 착용자(804)가 전방을 주시할 때, 착용자(804)는 디스플레이(806)를 그 주변 시야와 함께 볼 수 있다. 결과적으로, 디스플레이(806)는, 도 8a와 착용자의 시선에 도시된 바와 같이, 많은 일상적 활동의 경우에 흔한 일이지만, 눈이 전방을 향해 있을 때 착용자의 시야의 중앙부 바깥에 위치할 수 있다. 이러한 위치설정은 착용자의 시야의 중앙부 내에서 세상의 방해받지 않는 관찰 및 인식을 제공할 뿐만 아니라, 다른 사람들과의 방해받지 않는 눈-대-눈 대화를 용이하게 할 수 있다.
또한, 디스플레이(806)가 도시된 바와 같이 위치할 때, 착용자(804)는 (아마도 머리를 움직이지 않고) 자신의 눈만을 올려다 봄으로써 디스플레이(806)를 볼 수 있을 것이다. 이것이, 착용자(804)가 자신의 눈을 움직여 위를 보고 시선을 디스플레이(806)와 정렬시키는 도 8b에 도시된 바와 같이 예시되어 있다. 착용자는 자신의 머리를 아래로 기울이고 자신의 눈을 디스플레이(806)와 정렬시킴으로써 디스플레이(806)를 이용할 수도 있다. 시선이 디스플레이(806)와 정렬되면, 착용자(804)는 예를 들어 HMD(802)의 착용자-뷰에 오버레이된 가상 표현을 볼 수 있다. 오버레이된 가상 표현은 도 6 또는 도 7에 도시된 가상 표현들 중 임의의 것을 포함할 수 있다.
다시 도 5를 참조하면, 역시 또 다른 예에서, 방법(500)은 컴퓨팅 디바이스에 근접한 하나 이상의 로봇 디바이스를 결정하는 단계, 및 컴퓨팅 디바이스에 근접한 하나 이상의 로봇 디바이스에게, 하나 이상의 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 요청하는 단계를 포함할 수 있다. 후속해서, 방법(500)은 컴퓨팅 디바이스에 의해 증강 현실 인터페이스 상에 디스플레이하기 위해 가상 표현을 제공하는 단계를 포함하고, 이 단계는 동작 또는 의도를 각각 나타내는 하나 이상의 로봇 디바이스당 하나 이상의 가상 표현을 디스플레이하기 위해 제공하는 단계를 포함한다. 이 예에서, 사용자는 모든 로봇 디바이스의 미래의 동작을 이해하도록, 모니터링할 로봇 디바이스를 선택하거나, 근접하거나 어떤 임계 거리 내의, 근처의 모든 또는 임의의 로봇 디바이스를 모니터링하도록 요청할 수 있다.
모니터링을 위한 특정한 예는 로봇 디바이스일 수 있으므로, 사용자는 많은 로봇 디바이스가 동작하고 있는 제조 설비 내에 있을 수 있다. 사용자는 임의의 및 모든 근처의 로봇 디바이스의 계획된 움직임 및 동작을 나타내는 정보를 원할 수 있고, 근처의 디바이스들에게 이러한 정보를 요청할 수 있다. 사용자의 컴퓨팅 디바이스는 정보를 수신하고, 사용자가 보기 위해 제조 설비의 장면 상에 오버레이된 모든 로봇 디바이스의 미래의 동작의 가상 표현을 디스플레이할 수 있다.
도 9는 여기서 설명된 적어도 일부 실시예에 따른 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실 인터페이스를 제공하기 위한 또 다른 예시적 방법의 블록도이다.
블록(902)에 의해 도시된 바와 같이, 방법(900)은 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계를 포함한다. 블록(904)에 의해 도시된 바와 같이, 방법(900)은 또한, 컴퓨팅 디바이스에 의한 증강 현실 인터페이스 상의 디스플레이를 위해, 동작 또는 의도의 가상 표현을 제공하는 단계를 포함한다.
블록(906)에 의해 도시된 바와 같이, 방법(900)은 또한 로봇 디바이스의 동작 또는 의도를 변경하기 위해 로봇 디바이스에 정보를 제공하는 단계를 포함한다. 정보는 컴퓨팅 디바이스의 움직임에 기초한 컴퓨팅 디바이스의 가속도계의 출력들을 포함할 수 있다. 예로서, 로봇 디바이스의 계획된 의도를 본 후에, 사용자는 이러한 의도를 수정하기를 원할 수도 있다. 컴퓨팅 디바이스는, 관성 측정 유닛(IMU), 가속도계, 또는 컴퓨팅 디바이스의 움직임의 출력을 제공하는 기타의 센서를 포함할 수 있다. 그 다음, 컴퓨팅 디바이스는, 움직임 명령을 수신하고 영역의 제1 지점으로부터 제2 지점(또는 좌측에서 우측)으로 이동하는 컴퓨팅 디바이스의 움직임을 나타내는 출력 등의, 움직임의 출력을 제공하는데 이용될 수 있다. 출력은 로봇 디바이스에 제공되어, 로봇 디바이스가, 움직임에 따라, 즉, 제1 지점에서 제2 지점으로 이동하게 할 수 있다.
다른 예들에서, 정보는, 컴퓨팅 디바이스로부터 로봇 디바이스로의 메시지로서, 예를 들어, 새로운 명령으로서 제공될 수 있다.
블록(908)에 의해 도시된 바와 같이, 방법(900)은 또한, 응답으로, 로봇 디바이스로부터, 로봇 디바이스의 업데이트된 계획된 궤적과 로봇 디바이스에 의해 취급될 업데이트된 객체 중 하나 이상을 수신하는 단계를 포함한다. 이 예에서, 로봇 디바이스는 정보를 수신하고 계획된 궤적을 수정하여 컴퓨팅 디바이스의 움직임에 의해 표시된 두 지점 사이를 이동할 수 있다.
다른 예에서, 정보는 제2 컴퓨팅 디바이스에 의해 제공되어 로봇 디바이스의 동작 또는 의도를 수정할 수 있으며, 이에 응답하여 로봇 디바이스는 컴퓨팅 디바이스에게 로봇 디바이스의 업데이트된 계획된 궤적 및 로봇 디바이스에 의해 취급될 업데이트된 객체 중 하나 이상을 제공할 수 있다. 예로서, 방법(900)은, 로봇 디바이스의 동작 또는 의도를 변경하기 위해, 로봇 디바이스에 등록된 디바이스에 의해, 경로를 따라 광의 투사를 제공하는 단계, 및 응답하여, 로봇 디바이스로부터 로봇 디바이스의 업데이트된 계획된 궤적 및 로봇 디바이스에 의해 취급될 업데이트된 객체 중 하나 이상을 수신하는 단계를 포함한다.
도 10은 로봇 디바이스(1002)와의 또 다른 예시적 환경(1000), 및 로봇 디바이스(1002)에 의한 계획된 동작의 예시적 가상 표현을 나타낸다. 도 10에서, 로봇 디바이스(1002)는 조리대로 가서 주전자를 집어들도록 지시받을 수 있고, 로봇 디바이스(1002)는 주전자(1006) 대신 주전자(1004)를 집어들기로 결정할 수 있다. 로봇 디바이스(1002)는, 로봇 디바이스(1002)가 주전자(1004)를 향해 이동하려고 하는 것을 나타내는 화살표(1012)를 포함하는 주석이 오버레이된 가상 표현(1010)을 제공하는 컴퓨팅 디바이스(1008)에 계획된 궤적의 정보를 제공할 수 있다.
사용자가 로봇 디바이스(1002)가 주전자(1006)를 집어들기를 바라는 예에서, 사용자 또는 컴퓨팅 디바이스(1008)는 로봇 디바이스(1002)에 정보를 제공하여 로봇 디바이스(1002)의 동작 또는 의도를 변경할 수 있다. 특정 예에서, 도 10에 도시된 바와 같이, 사용자가 가리키는 곳 또는 디바이스가 가리키는 곳의 제스처/위치를 추적하는 IMU를 포함하는 지팡이형 디바이스(1014)가 이용될 수 있고, 컴퓨팅 디바이스가 로봇 디바이스의 미래의 움직임의 예시(illustration)를 제공하기 때문에, 사용자는 움직임이 시작되기 전에 움직임을 수정하기 위한 동작을 취할 수 있다. 이 예에서, 사용자가 로봇 디바이스(1002)에게 주전자(1006) 쪽으로 가도록 명령하기를 원할 때, 지팡이형 디바이스(1014)는 위치를 가리킬 수 있고 버튼이 눌러져 로봇 디바이스(1014)가 지정된 영역으로 이동하게 하는 명령을 제공할 수 있다. 추가로 또는 대안으로서, 지팡이형 디바이스(1014)는 주전자(1006) 상에 광을 투사할 수 있고, 이것은, 로봇 디바이스(1002)가 볼 수 있고 주전자(1006) 쪽으로 이동하라는 요청으로 해석될 수 있다. 그 다음, 로봇 디바이스(1002)는 현재 위치로부터 지정된 영역으로의 경로를 계산하고 새로운 미래의 발자국의 업데이트된 계획된 궤적을 디바이스(1008)에 제공할 수 있다. 그러면, 업데이트된 가상 표현(1016)은, 로봇 디바이스(1002)의 업데이트된 계획된 동작을 나타내는 화살표(1018)를 포함하는 수정된 주석이 오버레이된 채 디스플레이될 수 있다.
다른 예로서, 로봇 디바이스가 부엌에서 주전자를 회수하도록 지시받은 경우에, 로봇 디바이스는, 필요성(예를 들어, 크기, 유형, 재료)의 평가 및 강조에 기초하여, 많은 주전자들 중, 컴퓨팅 디바이스에 제공된 가상 표현 내에서 필요성에 대해 가장 적절한 것으로 여겨지는 하나를 식별할 수 있다. 사용자는, 예를 들어, 컴퓨팅 디바이스(1008) 또는 지팡이형 디바이스(1014)를 이용하여 선택된 주전자를 보고 명령을 수정/확정할 수 있다. 일부 예에서, 컴퓨팅 디바이스(1008)는 지팡이형 디바이스(1014)로서 동작될 수 있다.
도 11은 여기서 설명된 적어도 일부 실시예에 따른 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실 인터페이스를 제공하기 위한 또 다른 예시적 방법의 블록도이다.
블록(1102)에 의해 도시된 바와 같이, 방법(1100)은 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계를 포함한다. 블록(1104)에 의해 도시된 바와 같이, 방법(1100)은 또한, 동작 또는 의도에 기초하여, 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 결정하는 단계를 포함한다. 예를 들어, 방법(1100)이 로봇 디바이스에 의해 수행되는 경우에, 작업을 수행하라는 명령이 수신될 수 있고, 그러면, 로봇 디바이스는 작업을 수행하기 위해 취할 동작을 결정할 수 있다. 로봇 디바이스가 의도의 정보를 컴퓨팅 디바이스에 제공하는 경우에, 컴퓨팅 디바이스는 로봇 디바이스의 추정된 계획된 궤적을 결정할 수 있다. 컴퓨팅 디바이스에 의해 수행되거나, 로봇 디바이스에 의해 수행되거나, 로봇 디바이스의 계획된 궤적 또는 계획된 동작을 결정하기 위해 양쪽에 분산되어 수행되는 동작들에 대해, 다른 조합들도 역시 가능하다.
블록(1106)에 의해 도시된 바와 같이, 방법(1100)은 또한, 로봇 디바이스에 근접한 하나 이상의 컴퓨팅 디바이스를 결정하는 단계를 포함한다. 예로서, 로봇 디바이스는, 메시지를 브로드캐스팅하고 근처의 디바이스들로부터 접수확인(acknowledgement)을 수신하는 것을 이용하거나, 근처의 디바이스들에 전달하기 위해 블루투스 광고 패킷을 이용하거나, 근처의 디바이스들로의 비커닝(beaconing) 또는 블루투스 저 에너지 통신을 이용하는 것과 같은, 다수의 방식으로 자신에 근접한 컴퓨팅 디바이스들을 결정할 수 있다. 로봇 디바이스에 대한 임계 거리 내에 있는 디바이스의 존재를 결정하기 위해 다른 방법들도 역시 가능하다. 일부 예에서, 서버는 로봇 디바이스와 통신하여 로봇 디바이스 근처의 컴퓨팅 디바이스의 위치에 관한 정보를 제공할 수 있다.
다른 예에서, 방법(1100)은, 서버 또는 다른 컴퓨팅 디바이스에 의해 수행될 수 있고, 로봇 디바이스의 위치 및 근접한(예를 들어, 로봇 디바이스에 대한 임계 거리 이내의) 컴퓨팅 디바이스의 위치를 결정할 수 있다.
블록(1108)에 의해 도시된 바와 같이, 이 방법(1100)은 또한, 하나 이상의 컴퓨팅 디바이스에 의한 증강 현실 인터페이스 상의 디스플레이를 위해, 동작 또는 의도의 가상 표현을 제공하는 단계를 포함하고, 이 가상 표현은, 증강 현실 인터페이스 상의 주석들로서 로봇 디바이스의 계획된 궤적의 적어도 일부를 포함하거나 로봇 디바이스에 의해 취급될 객체를 강조한다.
이 예에서, 로봇 디바이스가 이동함에 따라, 근처의 컴퓨팅 디바이스는, 로봇 디바이스의 미래의/계획된 궤적 또는 동작을 디스플레이하도록 로봇 디바이스의 상태와 동기화된 증강 현실 인터페이스를 가질 수 있다. 일부 예에서, 로봇 디바이스는 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 로봇 디바이스에 근접한 컴퓨팅 디바이스들에 브로드캐스팅하여 정보를 항상 제공할 수 있다.
다른 경우에, 로봇 디바이스는 추가적으로 가상 표현의 적어도 일부를 로봇 디바이스의 환경 상으로 투사할 수 있다. 투사 디바이스는 추가 정보를 역시 제공하기 위해 실제의 물리적 세계를 증강할 수 있다(예를 들어, 로봇이 집어들 것을 강조하는 프로젝터를 갖는다).
도 12는 여기서 설명된 적어도 일부 실시예에 따른 로봇 디바이스 동작의 가상 표현의 증강 현실 디스플레이를 제공하기 위한 또 다른 예시적 방법의 블록도이다. 블록(1202)에 의해 도시된 바와 같이, 방법(1200)은, 물리적 환경에서 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계를 포함하는 또 다른 컴퓨터-구현된 방법이 제공되고, 동작 또는 의도는, 작업의 적어도 일부를 수행하기 위한 로봇 디바이스의 계획된 궤적과 작업의 적어도 일부를 수행하기 위한 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함한다.
블록(1204)에 의해 도시된 바와 같이, 이 방법(1200)은, 디바이스에 의해 물리적 환경 내로, 동작 또는 의도의 가상 표현을 제공하는 단계를 포함하고, 이 가상 표현은, 로봇 디바이스의 계획된 궤적의 적어도 일부의 표시 또는 로봇 디바이스에 의해 취급될 객체의 강조를 포함한다. 이 예에서는, 물리적 환경은 로봇 디바이스의 동작 또는 의도를 나타내도록 증강된다.
한 예에서, 이 디바이스는 프로젝터를 포함하고, 이 방법은, 프로젝터가 물리적 환경 상에 오버레이된 동작 또는 의도의 가상 표현을 투사하는 단계를 포함한다. 역시 추가의 예들에서, 디바이스는, 카메라, 또는 환경 내의 표면이나 물리적 객체에 광을 투사하는 기타의 광학 디바이스 또는 광원을 포함할 수 있다. 예를 들어, 로봇 디바이스는 로봇 디바이스가 집어들도록 지시받은 박스 상에 단일 광선을 투사할 수 있어서, 로봇 디바이스가 박스를 향해 이동하여 박스를 집어들려고 계획하고 있다는 것을 인간이나 다른 로봇 디바이스에게 표시할 수 있다. 광은 지시를 받은 후 소정 시점에서 투사될 수 있고 미리결정된 기간 동안 투사될 수 있다.
일부 예에서, 프로젝터는 로봇 디바이스 상에 포함되고, 그에 따라, 로봇 디바이스는 작업 수행 이전에 또는 동안에 물리적 환경 상에 오버레이된 동작 또는 의도의 가상 표현을 투사한다. 다른 예에서, 프로젝터 또는 디바이스는 로봇 디바이스로부터 원격지에 위치하고, 디바이스는 물리적 환경의 표면 상에 오버레이된 동작 또는 의도의 가상 표현을 제공한다. 디바이스는, 서버로부터 또는 로봇 디바이스로부터, 동작 또는 의도를 나타내고 가상 표현을 투사하라는 것을 나타내는 명령어를 수신할 수 있다.
다른 예들 내에서 설명된 바와 같이, 가상 표현은 계획된 궤적의 일부를 따라 로봇 디바이스의 미래의 움직임을 나타내는 가상 발자국 세트, 로봇 디바이스의 계획된 궤적의 일부를 커버하는 바닥 상의 라인, 로봇 디바이스가 객체를 취급하려고 계획하는 객체 상의 표시를 포함할 수 있다.
다른 예들에서, 가상 표현에 추가하여, 로봇 디바이스에 의해 계획된 동작 또는 의도를 알리기 위해 오디오 안내가 제공되어 로봇 디바이스 상의(또는 로봇 디바이스에 근접한) 스피커에 의해 출력될 수 있다.
블록(1206)에 의해 도시된 바와 같이, 방법(1200)은 프로젝터가 로봇 디바이스에 의해 취급될 객체 상에 광을 투사하는 단계를 선택사항으로서 포함할 수 있다.
도 13은 로봇 디바이스(1302)와의 또 다른 예시적 환경(1300), 및 로봇 디바이스에 의한 계획된 동작의 예시적 가상 표현을 나타낸다. 도 13에서, 로봇 디바이스(1302)는 조리대로 가서 주전자를 집어들도록 지시받을 수 있고, 로봇 디바이스(1302)는 주전자(1304)를 집어들기로 결정할 수 있다. 로봇 디바이스(1302)는 주전자(1304) 상에 광을 투사하는 프로젝터(1306)를 포함할 수 있다. 프로젝터(1306)는 또한 계획된 궤적 또는 경로를 바닥에 투사할 수 있다. 또는, 도 13에 도시된 바와 같이, 또 다른 프로젝터(1308)가 환경에 제공될 수 있고, 로봇 디바이스(1302)의 동작 또는 의도에 관한 정보를 수신한 다음, (로봇 디바이스(1302)가 주전자(1304)를 향해 이동하려 한다는 것을 나타내는 화살표를 포함하는) 오버레이된 궤적의 가상 표현을 바닥에 투사할 수 있다.
또는 역시 또 다른 예에서, 프로젝터(1306)는 로봇 디바이스(1302)가 점유하거나 통과해 이동하려고 하는 공간의 전체 체적 또는 영역의 행정 체적을 포함하는 환경 내에 광을 투사할 수 있다.
IV. 결론
본 명세서는 다양한 관점의 예시로서 의도된 본 출원에서 설명된 특정 실시예들에 관하여 제한되지 않는다. 본 기술분야의 통상의 기술자에게 명백한 바와 같이, 많은 수정 및 변형이 본 발명의 범위를 벗어나지 않고 이루어질 수 있다. 여기서 열거된 것들 이외에, 본 개시내용의 범위 내에 있는 기능적으로 동등한 방법 및 디바이스는 상기 설명으로부터 본 기술분야의 통상의 기술자에게 명백할 것이다. 이러한 수정 및 변형은 첨부된 청구항들의 범위 내에 속한다.
상기 상세한 설명은 첨부된 도면을 참조하여 개시된 시스템, 디바이스, 및 방법들의 다양한 피쳐와 기능을 설명한다. 도면에서, 유사한 심볼들은, 문맥상 달리 명시하는 않는 한, 통상적으로 유사한 컴포넌트들을 식별한다. 여기서 설명되는 예시적 실시예들은 제한적인 것을 의미하지는 않는다. 여기서 제시된 주제의 범위로부터 벗어나지 않고, 다른 실시예들이 이용될 수 있고, 다른 변경이 이루어질 수 있다. 여기서 개괄적으로 설명되고 도면들에 예시된 본 개시내용의 양태들은 다양한 상이한 구성들로 배열되고, 대체되고, 결합되고, 분리되고, 설계될 수 있으며, 이들 모두는 여기서 명시적으로 고려대상이 된다는 것을 용이하게 이해할 것이다.
도면들에 도시된 특정한 배열은 제한으로 간주되어서는 안 된다. 다른 실시예들은 주어진 도면에 도시된 각각의 요소보다 많거나 적게 포함할 수도 있다는 것을 이해해야 한다. 또한, 예시된 요소들 중 일부는 결합되거나 생략될 수도 있다. 역시 또한, 예시적 실시예는, 도면들에 예시되지 않은 요소들을 포함할 수도 있다.
다양한 양태와 실시예들이 여기서 개시되었지만, 다른 양태와 실시예들이 본 기술분야의 통상의 기술자에게는 명백할 것이다. 여기서 개시된 다양한 양태 및 실시예들은 설명의 목적을 위한 것이지 제한하고자 함이 아니며, 진정한 범위는 이하의 청구항들에 의해 표시된다.

Claims (28)

  1. 컴퓨터 구현된 방법으로서,
    작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신 ―상기 동작 또는 상기 의도는 상기 작업의 적어도 일부를 수행하기 위한 상기 로봇 디바이스의 계획된 궤적과 상기 작업의 적어도 일부를 수행하기 위한 상기 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함함― 하는 단계; 및
    컴퓨팅 디바이스에 의한 증강 현실 인터페이스(augmented reality interface) 상의 디스플레이를 위해, 상기 동작 또는 상기 의도의 가상 표현을 제공 ―상기 가상 표현은, 상기 증강 현실 인터페이스 상의 주석들로서 상기 로봇 디바이스의 상기 계획된 궤적의 적어도 일부 또는 상기 로봇 디바이스에 의해 취급될 상기 객체의 강조(highlighting)를 포함함― 하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 컴퓨팅 디바이스는 상기 로봇 디바이스로부터 원격지에 위치하고, 디스플레이를 위해 제공하는 단계는, 상기 컴퓨팅 디바이스의 시야(field of view) 상에 오버레이된 상기 동작 또는 상기 의도의 상기 가상 표현을 제공하는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 컴퓨팅 디바이스는 상기 로봇 디바이스로부터 원격지에 위치하고, 디스플레이를 위해 제공하는 단계는, 상기 컴퓨팅 디바이스의 라이브 비디오 피드(live video feed) 상에 오버레이된 상기 가상 표현을 제공하는 단계를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 로봇 디바이스의 시야로부터 카메라 피드(camera feed)를 수신하는 단계를 더 포함하고,
    디스플레이를 위해 제공하는 단계는 상기 로봇 디바이스의 시야로부터의 상기 카메라 피드 상에 오버레이된 상기 가상 표현을 제공하는 단계를 포함하는, 방법.
  5. 제1항에 있어서,
    상기 컴퓨팅 디바이스에 의한 상기 증강 현실 인터페이스 상의 디스플레이를 위해, 환경 내의 상기 로봇 디바이스를 포함한 상기 로봇 디바이스가 존재하는 상기 환경의 표현을 수신하는 단계를 더 포함하고;
    디스플레이를 위해 제공하는 단계는, 상기 로봇 디바이스가 존재하는 환경의 표현에 오버레이된 상기 가상 표현을 제공하는 단계를 포함하는, 방법.
  6. 제5항에 있어서,
    상기 로봇 디바이스가 상기 계획된 궤적에 따라 상기 작업을 수행하는 것을 나타내기 위해 상기 증강 현실 인터페이스 상에 상기 가상 표현을 애니메이팅(animating)하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서, 상기 컴퓨팅 디바이스는 헤드 장착형 디바이스(HMD; head mountable device)를 포함하고, 디스플레이를 위해 제공하는 단계는, 상기 HMD의 착용자-뷰(wearer-view) 상에 오버레이된 상기 가상 표현을 제공하는 단계를 포함하는, 방법.
  8. 제1항에 있어서, 상기 가상 표현은 상기 계획된 궤적의 일부를 따라 상기 로봇 디바이스의 미래의 움직임을 나타내는 가상 발자국 세트(a set of virtual footprints)를 포함하는, 방법.
  9. 제1항에 있어서, 상기 가상 표현은 상기 로봇 디바이스의 상기 계획된 궤적의 일부를 커버(cover)하는 바닥 상의 라인을 포함하는, 방법.
  10. 제1항에 있어서, 상기 가상 표현은 상기 로봇 디바이스가 상기 객체를 취급하려고 계획하는 상기 객체 상의 표시를 포함하는, 방법.
  11. 제1항에 있어서, 상기 작업을 수행하기 위한 상기 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 단계는 상기 로봇 디바이스가 상기 작업의 수행을 개시하기 이전에 상기 정보를 수신하는 단계를 포함하는, 방법.
  12. 제1항에 있어서,
    상기 컴퓨팅 디바이스에 근접한 하나 이상의 로봇 디바이스를 결정하는 단계;
    상기 컴퓨팅 디바이스에 근접한 상기 하나 이상의 로봇 디바이스에게, 상기 하나 이상의 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 요청하는 단계
    를 더 포함하고;
    상기 컴퓨팅 디바이스에 의한 상기 증강 현실 인터페이스 상의 디스플레이를 위해 상기 가상 표현을 제공하는 단계는, 상기 동작 또는 상기 의도를 각각 나타내는 상기 하나 이상의 로봇 디바이스당 하나 이상의 가상 표현을 디스플레이를 위해 제공하는 단계를 포함하는, 방법.
  13. 제1항에 있어서,
    상기 로봇 디바이스에 근접한 복수의 컴퓨팅 디바이스를 결정 ―상기 컴퓨팅 디바이스는 상기 복수의 컴퓨팅 디바이스 중 하나임― 하는 단계; 및
    상기 복수의 컴퓨팅 디바이스에 의한 디스플레이를 위해, 상기 동작 또는 상기 의도의 가상 표현을 제공하는 단계
    를 더 포함하는 방법.
  14. 제13항에 있어서, 상기 방법은 상기 로봇 디바이스에 의해 수행되고, 상기 방법은, 상기 로봇 디바이스가 상기 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 상기 로봇 디바이스에 근접한 상기 복수의 컴퓨팅 디바이스에 브로드캐스팅하는 단계를 더 포함하는, 방법.
  15. 제13항에 있어서, 상기 방법은 상기 로봇 디바이스에 의해 수행되고, 상기 방법은 상기 로봇 디바이스가 상기 가상 표현의 적어도 일부를 상기 로봇 디바이스의 환경 상에 투사(projecting)하는 단계를 더 포함하는, 방법.
  16. 제1항에 있어서,
    상기 로봇 디바이스의 상기 동작 또는 상기 의도를 수정하기 위해 상기 컴퓨팅 디바이스에 의해 상기 로봇 디바이스에 정보 ―상기 정보는 상기 컴퓨팅 디바이스의 움직임에 기초한 상기 컴퓨팅 디바이스의 가속도계의 출력들을 포함함― 를 제공하는 단계; 및
    응답으로, 상기 로봇 디바이스로부터, 상기 로봇 디바이스의 업데이트된 계획된 궤적과 상기 로봇 디바이스에 의해 취급될 업데이트된 객체 중 하나 이상을 수신하는 단계
    를 더 포함하는 방법.
  17. 제1항에 있어서, 상기 컴퓨팅 디바이스는 제1 컴퓨팅 디바이스이고, 상기 방법은,
    상기 로봇 디바이스의 상기 동작 또는 상기 의도를 수정하기 위해 제2 컴퓨팅 디바이스에 의해 상기 로봇 디바이스에 정보 ―상기 정보는 상기 제2 컴퓨팅 디바이스의 움직임에 기초한 상기 제2 컴퓨팅 디바이스의 가속도계의 출력들을 포함함― 를 제공하는 단계; 및
    응답으로, 상기 제1 컴퓨팅 디바이스에 의해, 상기 로봇 디바이스로부터, 상기 로봇 디바이스의 업데이트된 계획된 궤적과 상기 로봇 디바이스에 의해 취급될 업데이트된 객체 중 하나 이상을 수신하는 단계
    를 더 포함하는 방법.
  18. 제1항에 있어서,
    상기 로봇 디바이스의 상기 동작 또는 상기 의도를 수정하기 위해 상기 로봇 디바이스에 등록된 디바이스에 의해 경로를 따른 광의 투사를 제공하는 단계; 및
    응답으로, 상기 로봇 디바이스로부터, 상기 로봇 디바이스의 업데이트된 계획된 궤적과 상기 로봇 디바이스에 의해 취급될 업데이트된 객체 중 하나 이상을 수신하는 단계
    를 더 포함하는 방법.
  19. 컴퓨팅 디바이스에 의한 실행시, 상기 컴퓨팅 디바이스로 하여금 기능들을 수행하게 하는 명령어들을 저장한 비일시적 컴퓨터 판독가능한 매체로서, 상기 기능들은,
    작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신 ―상기 동작 또는 상기 의도는 상기 작업의 적어도 일부를 수행하기 위한 상기 로봇 디바이스의 계획된 궤적과 상기 작업의 적어도 일부를 수행하기 위한 상기 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함함― 하는 것; 및
    증강 현실 인터페이스 상의 디스플레이를 위해, 상기 동작 또는 상기 의도의 가상 표현을 제공 ―상기 가상 표현은, 상기 증강 현실 인터페이스 상의 주석들로서 상기 로봇 디바이스의 상기 계획된 궤적의 적어도 일부 또는 상기 로봇 디바이스에 의해 취급될 상기 객체의 강조를 포함함― 하는 것
    을 포함하는, 비일시적 컴퓨터 판독가능한 매체.
  20. 제19항에 있어서,
    상기 작업을 수행하기 위한 상기 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신하는 것은 상기 로봇 디바이스가 상기 작업의 수행을 개시하기 이전에 상기 정보를 수신하는 것을 포함하고;
    디스플레이를 위해 제공하는 것은, 환경 내의 상기 로봇 디바이스를 포함한 상기 로봇 디바이스가 존재하는 상기 환경의 표현 상에 오버레이된 상기 동작 또는 상기 의도의 가상 표현을 제공하는 것을 포함하는, 비일시적 컴퓨터 판독가능한 매체.
  21. 컴퓨터 구현된 방법으로서,
    물리적 환경에서 작업을 수행하기 위한 로봇 디바이스의 동작 또는 의도를 나타내는 정보를 수신 ―상기 동작 또는 상기 의도는 상기 작업의 적어도 일부를 수행하기 위한 상기 로봇 디바이스의 계획된 궤적과 상기 작업의 적어도 일부를 수행하기 위한 상기 로봇 디바이스에 의해 취급될 객체 중 하나 이상을 포함함― 하는 단계; 및
    디바이스에 의해 상기 물리적 환경 내로, 상기 동작 또는 상기 의도의 가상 표현 ―상기 가상 표현은, 상기 로봇 디바이스의 상기 계획된 궤적의 적어도 일부의 표시 또는 상기 로봇 디바이스에 의해 취급될 객체의 강조를 포함함― 을 제공하는 단계
    를 포함하는 방법.
  22. 제21항에 있어서, 상기 디바이스는 프로젝터(projector)를 포함하고, 상기 방법은, 상기 프로젝터가 상기 물리적 환경 상에 오버레이된 상기 동작 또는 상기 의도의 상기 가상 표현을 투사하는 단계를 더 포함하는, 방법.
  23. 제22항에 있어서, 상기 프로젝터는 상기 로봇 디바이스 상에 포함되고, 상기 방법은, 상기 로봇 디바이스가 상기 작업의 수행 이전에 또는 동안에 상기 물리적 환경 상에 오버레이된 상기 동작 또는 상기 의도의 상기 가상 표현을 투사하는 단계를 포함하는, 방법.
  24. 제21항에 있어서, 상기 디바이스는 상기 로봇 디바이스로부터 원격지에 위치하고, 상기 방법은, 상기 디바이스가 상기 물리적 환경의 표면 상에 오버레이된 상기 동작 또는 상기 의도의 상기 가상 표현을 제공하는 단계를 포함하는, 방법.
  25. 제21항에 있어서, 상기 디바이스는 프로젝터를 포함하고, 상기 방법은, 상기 프로젝터가 상기 로봇 디바이스에 의해 취급될 상기 객체 상에 광을 투사하는 단계를 더 포함하는, 방법.
  26. 제21항에 있어서, 상기 가상 표현은 상기 계획된 궤적의 일부를 따라 상기 로봇 디바이스의 미래의 움직임을 나타내는 가상 발자국 세트를 포함하는, 방법.
  27. 제21항에 있어서, 상기 가상 표현은 상기 로봇 디바이스의 계획된 궤적의 일부를 커버하는 바닥 상의 라인을 포함하는, 방법.
  28. 제21항에 있어서, 상기 가상 표현은 상기 로봇 디바이스가 상기 객체를 취급하려고 계획하는 상기 객체 상의 표시를 포함하는, 방법.
KR1020167035792A 2014-08-25 2015-08-19 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실을 위한 방법 및 시스템 KR101870067B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462041173P 2014-08-25 2014-08-25
US62/041,173 2014-08-25
PCT/US2015/045787 WO2016032807A1 (en) 2014-08-25 2015-08-19 Methods and systems for augmented reality to display virtual representations of robotic device actions

Publications (2)

Publication Number Publication Date
KR20170010815A true KR20170010815A (ko) 2017-02-01
KR101870067B1 KR101870067B1 (ko) 2018-06-22

Family

ID=54072963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167035792A KR101870067B1 (ko) 2014-08-25 2015-08-19 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실을 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US10896543B2 (ko)
EP (1) EP3186782A1 (ko)
JP (1) JP6440745B2 (ko)
KR (1) KR101870067B1 (ko)
CN (1) CN106471441A (ko)
WO (1) WO2016032807A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190041831A (ko) * 2017-10-13 2019-04-23 네이버랩스 주식회사 게임 환경 추상화를 통한 강화 학습 기반의 모바일 로봇 제어
KR20190041840A (ko) * 2017-10-13 2019-04-23 네이버랩스 주식회사 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어
KR20190043749A (ko) * 2017-10-19 2019-04-29 한국과학기술연구원 프로젝터-카메라 기반의 로봇형 디바이스와 헤드 마운트 디스플레이를 사용하는 원격 협업 시스템 및 이를 이용한 원격 인터랙션 방법
KR20200020295A (ko) * 2018-08-17 2020-02-26 주식회사 트레셋 로봇과 인터랙션하는 증강현실 서비스 제공 장치 및 방법
CN111052063A (zh) * 2017-09-04 2020-04-21 三星电子株式会社 电子装置及其控制方法
KR20210088102A (ko) * 2020-01-06 2021-07-14 한국전자통신연구원 무인 비행체의 데이터 세트 생성 방법 및 장치

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11351472B2 (en) 2016-01-19 2022-06-07 Disney Enterprises, Inc. Systems and methods for using a gyroscope to change the resistance of moving a virtual weapon
EP3416034A4 (en) * 2016-02-08 2019-03-13 Sony Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
US11663783B2 (en) 2016-02-10 2023-05-30 Disney Enterprises, Inc. Systems and methods for using augmented reality with the internet of things
JP6647711B2 (ja) * 2016-03-16 2020-02-14 国立大学法人電気通信大学 ビデオチャットロボットシステム、手渡し遊び制御方法および手渡し遊び制御プログラム
CN105897509B (zh) * 2016-04-08 2020-04-07 上海工程技术大学 一种基于云计算的机器人软件运行及仿真系统
US10956739B2 (en) * 2016-06-27 2021-03-23 Autodesk, Inc. Augmented reality robotic system visualization
KR102526083B1 (ko) * 2016-08-30 2023-04-27 엘지전자 주식회사 이동 단말기 및 그의 동작 방법
KR102544737B1 (ko) * 2016-08-30 2023-06-16 엘지전자 주식회사 로봇 청소기 및 로봇 청소기를 포함하는 시스템
KR102567525B1 (ko) 2016-11-17 2023-08-16 삼성전자주식회사 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법
US10536515B2 (en) 2016-12-23 2020-01-14 Kausik Majumdar Method and program product for robot communications
US10499997B2 (en) 2017-01-03 2019-12-10 Mako Surgical Corp. Systems and methods for surgical navigation
EP3595850A1 (en) * 2017-04-17 2020-01-22 Siemens Aktiengesellschaft Mixed reality assisted spatial programming of robotic systems
US10860853B2 (en) * 2017-04-28 2020-12-08 Intel Corporation Learning though projection method and apparatus
WO2019067642A1 (en) * 2017-09-29 2019-04-04 Zermatt Technologies Llc APPLICATION PRESENTATION BASED ON AN ENVIRONMENT
EP3691840A1 (en) 2017-10-06 2020-08-12 Moog Inc. Teleoperation systems, method, apparatus, and computer-readable medium
CN107832809A (zh) * 2017-10-27 2018-03-23 安徽硕威智能科技有限公司 一种卡片与机器人之间数据交互处理的方法和系统
CN108303972B (zh) 2017-10-31 2020-01-17 腾讯科技(深圳)有限公司 移动机器人的交互方法及装置
JP6763846B2 (ja) * 2017-11-24 2020-09-30 ファナック株式会社 ロボットの教示操作を行う教示装置および教示方法
US10676022B2 (en) * 2017-12-27 2020-06-09 X Development Llc Visually indicating vehicle caution regions
US10913154B2 (en) * 2018-01-02 2021-02-09 General Electric Company Systems and method for robotic learning of industrial tasks based on human demonstration
CN108297098A (zh) * 2018-01-23 2018-07-20 上海大学 人工智能驱动的机器人控制系统及方法
JP6774445B2 (ja) * 2018-02-05 2020-10-21 本田技研工業株式会社 移動体制御システム、移動体及び移動体制御方法
JP2019153070A (ja) * 2018-03-02 2019-09-12 東芝テック株式会社 情報処理装置、及び情報処理プログラム
US11986963B2 (en) 2018-03-05 2024-05-21 The Regents Of The University Of Colorado Augmented reality coordination of human-robot interaction
WO2019186551A1 (en) * 2018-03-26 2019-10-03 Servotronix Automation Solutions Ltd. Augmented reality for industrial robotics
US11878421B2 (en) * 2018-04-23 2024-01-23 Purdue Research Foundation Robot navigation and robot-IoT interactive task planning using augmented reality
US10984600B2 (en) 2018-05-25 2021-04-20 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
US10818093B2 (en) 2018-05-25 2020-10-27 Tiff's Treats Holdings, Inc. Apparatus, method, and system for presentation of multimedia content including augmented reality content
KR101947160B1 (ko) * 2018-06-20 2019-02-12 (주)코딩앤플레이 증강현실을 이용한 코딩교육 방법
US11169601B2 (en) * 2018-07-12 2021-11-09 Toyota Research Institute, Inc. Methods and systems for determining teleoperating user intent via eye tracking
US11685052B2 (en) * 2018-09-18 2023-06-27 Kinova Inc. Vision guided robot arm and method for operating the same
US10974132B2 (en) 2018-10-02 2021-04-13 Disney Enterprises, Inc. Systems and methods to provide a shared interactive experience across multiple presentation devices based on detection of one or more extraterrestrial bodies
US10678264B2 (en) * 2018-10-10 2020-06-09 Midea Group Co., Ltd. Method and system for providing remote robotic control
US11351671B2 (en) * 2018-10-29 2022-06-07 Toyota Research Institute, Inc. Intent based control of a robotic device
US20200184196A1 (en) * 2018-12-11 2020-06-11 X Development Llc Volumetric substitution of real world objects
FR3092416B1 (fr) * 2019-01-31 2022-02-25 Univ Grenoble Alpes Système et procédé d’interaction avec des robots dans des applications de réalité mixte
US10872459B2 (en) 2019-02-05 2020-12-22 X Development Llc Scene recognition using volumetric substitution of real world objects
US11014008B2 (en) 2019-03-27 2021-05-25 Disney Enterprises, Inc. Systems and methods for game profile development based on virtual and/or real activities
US10940796B2 (en) * 2019-04-05 2021-03-09 Ford Global Technologies, Llc Intent communication for automated guided vehicles
JP7162564B2 (ja) * 2019-04-16 2022-10-28 清水建設株式会社 情報表示システムおよび情報表示方法
US10916061B2 (en) * 2019-04-24 2021-02-09 Disney Enterprises, Inc. Systems and methods to synchronize real-world motion of physical objects with presentation of virtual content
WO2020249202A1 (en) * 2019-06-12 2020-12-17 Telefonaktiebolaget Lm Ericsson (Publ) Technique for determining control information to be wirelessly transmitted to a robotic device
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
JP7386451B2 (ja) 2019-10-03 2023-11-27 株式会社豆蔵 教示システム、教示方法及び教示プログラム
US20210162593A1 (en) * 2019-12-03 2021-06-03 Samsung Electronics Co., Ltd. Robot and method for controlling thereof
US11529737B2 (en) * 2020-01-30 2022-12-20 Raytheon Company System and method for using virtual/augmented reality for interaction with collaborative robots in manufacturing or industrial environment
CN112363696B (zh) * 2020-11-11 2023-12-22 中车工业研究院有限公司 增强现实快速开发系统及方法、电子设备及可读存储介质
KR102377988B1 (ko) * 2021-09-30 2022-03-24 주식회사 아진엑스텍 로봇과의 협업 보조 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013074969A1 (en) * 2011-11-16 2013-05-23 University Of South Florida Systems and method for communicating robot intentions to human beings

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005066744A1 (en) 2003-12-31 2005-07-21 Abb Research Ltd A virtual control panel
US20050227724A1 (en) * 2004-04-12 2005-10-13 Chieh-Chih Tsai Wireless network and method for determining nearest wireless device
US9195233B2 (en) * 2006-02-27 2015-11-24 Perrone Robotics, Inc. General purpose robotics operating system
JP4929506B2 (ja) 2007-03-29 2012-05-09 本田技研工業株式会社 脚式移動ロボット
JP2009123045A (ja) * 2007-11-16 2009-06-04 Toyota Motor Corp 移動ロボット及び移動ロボットの危険範囲の表示方法
KR20110016521A (ko) * 2009-08-12 2011-02-18 삼성전자주식회사 인간형 로봇의 전신 동작 제어 장치 및 그 방법
CN101794349B (zh) * 2010-02-09 2012-08-29 北京邮电大学 机器人遥操作增强现实实验系统及方法
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
WO2012065175A2 (en) 2010-11-11 2012-05-18 The Johns Hopkins University Human-machine collaborative robotic systems
JP5246672B2 (ja) 2011-02-17 2013-07-24 独立行政法人科学技術振興機構 ロボットシステム
US9049259B2 (en) * 2011-05-03 2015-06-02 Onepatont Software Limited System and method for dynamically providing visual action or activity news feed
US8594845B1 (en) * 2011-05-06 2013-11-26 Google Inc. Methods and systems for robotic proactive informational retrieval from ambient context
US8406926B1 (en) 2011-05-06 2013-03-26 Google Inc. Methods and systems for robotic analysis of environmental conditions and response thereto
US8447863B1 (en) 2011-05-06 2013-05-21 Google Inc. Systems and methods for object recognition
US8386078B1 (en) 2011-05-06 2013-02-26 Google Inc. Methods and systems for providing a data library for robotic devices
US8718822B1 (en) * 2011-05-06 2014-05-06 Ryan Hickman Overlaying sensor data in a user interface
AU2012348348B2 (en) 2011-10-28 2017-03-30 Magic Leap, Inc. System and method for augmented and virtual reality
US8965580B2 (en) 2012-06-21 2015-02-24 Rethink Robotics, Inc. Training and operating industrial robots
US9527211B2 (en) * 2013-05-10 2016-12-27 Cnh Industrial America Llc Control architecture for multi-robot system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013074969A1 (en) * 2011-11-16 2013-05-23 University Of South Florida Systems and method for communicating robot intentions to human beings

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kobayashi K ET AL,"Viewing and Reviewing How Humanoids Sensed, Planned and Behaved with Mixed Reality Technology", Humanoid Robots, 2007 7th IEEE-RAS International Conference on(2007.12.01.)* *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111052063A (zh) * 2017-09-04 2020-04-21 三星电子株式会社 电子装置及其控制方法
CN111052063B (zh) * 2017-09-04 2024-03-29 三星电子株式会社 电子装置及其控制方法
KR20190041831A (ko) * 2017-10-13 2019-04-23 네이버랩스 주식회사 게임 환경 추상화를 통한 강화 학습 기반의 모바일 로봇 제어
KR20190041840A (ko) * 2017-10-13 2019-04-23 네이버랩스 주식회사 비동기 방식의 목표물 분류에 기반한 모바일 로봇 제어
KR20190043749A (ko) * 2017-10-19 2019-04-29 한국과학기술연구원 프로젝터-카메라 기반의 로봇형 디바이스와 헤드 마운트 디스플레이를 사용하는 원격 협업 시스템 및 이를 이용한 원격 인터랙션 방법
KR20200020295A (ko) * 2018-08-17 2020-02-26 주식회사 트레셋 로봇과 인터랙션하는 증강현실 서비스 제공 장치 및 방법
KR20210088102A (ko) * 2020-01-06 2021-07-14 한국전자통신연구원 무인 비행체의 데이터 세트 생성 방법 및 장치
US11978347B2 (en) 2020-01-06 2024-05-07 Electronics And Telecommunications Research Institute Method and apparatus for generating data set of unmanned aerial vehicle

Also Published As

Publication number Publication date
US10896543B2 (en) 2021-01-19
JP2017534091A (ja) 2017-11-16
JP6440745B2 (ja) 2018-12-19
EP3186782A1 (en) 2017-07-05
CN106471441A (zh) 2017-03-01
WO2016032807A1 (en) 2016-03-03
KR101870067B1 (ko) 2018-06-22
US20160055677A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
KR101870067B1 (ko) 로봇 디바이스 동작의 가상 표현을 디스플레이하는 증강 현실을 위한 방법 및 시스템
US9399294B1 (en) Displaying estimated image data in a user interface
US11748963B2 (en) Cross reality system with simplified programming of virtual content
US10916063B1 (en) Dockable billboards for labeling objects in a display having a three-dimensional perspective of a virtual or real environment
KR102491191B1 (ko) 중복 추적 시스템
US10606609B2 (en) Context-based discovery of applications
US8374421B1 (en) Methods and systems for extracting still frames from a compressed video
US9473594B1 (en) Projection of interactive map data
US8386078B1 (en) Methods and systems for providing a data library for robotic devices
US9639988B2 (en) Information processing apparatus and computer program product for processing a virtual object
US9399290B2 (en) Enhancing sensor data by coordinating and/or correlating data attributes
CN114730546A (zh) 具有定位服务和基于位置的共享内容的交叉现实系统
US8947522B1 (en) Systems and methods to adjust actions based on latency levels
EP2974509B1 (en) Personal information communicator
CN112074797A (zh) 用于将虚拟对象锚定到物理位置的系统和方法
EP3427233B1 (en) Method and apparatus for providing augmented reality services
WO2017187196A1 (en) Augmented media
KR20230086782A (ko) 포지셔닝 방법 및 장치, 전자 기기, 저장 매체, 컴퓨터 프로그램 제품, 컴퓨터 프로그램
US8525853B1 (en) Methods and systems for generating a layered display of a device
US11796810B2 (en) Indication of presence awareness
CN117420907A (zh) 一种交互控制方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)