KR102554815B1 - 로봇 태스크에 힘 벡터를 할당하기 위한 방법 및 시스템 - Google Patents
로봇 태스크에 힘 벡터를 할당하기 위한 방법 및 시스템 Download PDFInfo
- Publication number
- KR102554815B1 KR102554815B1 KR1020227012319A KR20227012319A KR102554815B1 KR 102554815 B1 KR102554815 B1 KR 102554815B1 KR 1020227012319 A KR1020227012319 A KR 1020227012319A KR 20227012319 A KR20227012319 A KR 20227012319A KR 102554815 B1 KR102554815 B1 KR 102554815B1
- Authority
- KR
- South Korea
- Prior art keywords
- force
- robot
- virtual reality
- task
- environment
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/06—Control stands, e.g. consoles, switchboards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39001—Robot, manipulator control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40131—Virtual reality control, programming of manipulator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Manipulator (AREA)
- User Interface Of Digital Computer (AREA)
- Numerical Control (AREA)
Abstract
시스템이 개시되고 환경의 가상 현실 표현을 생성하도록 구성되는 전자 컨트롤러를 포함한다. 전자 컨트롤러는 적어도 하나의 태스크 유저 인터페이스 엘리먼트를 포함하는 메뉴를 환경의 가상 현실 표현 내에서 생성하도록 그리고 힘 파라미터를 구성하기 위한 옵션이 메뉴의 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하도록 구성된다. 전자 컨트롤러는 가상 로봇 조작 태스크에 대한 힘 파라미터를 구성할 것을 유저에게 프롬프트하도록(prompt) 그리고 힘 파라미터를 구성하기 위한 프롬프트로부터 수신되는 입력에 응답하여 힘 크기 또는 힘 방향 중 적어도 하나를 가상 로봇 조작 태스크에 할당하도록 구성된다.
Description
관련 출원에 대한 교차 참조
본 출원은, 2019년 9월 13일자로 출원된 미국 가출원 번호 제62/900,143호의 이익 또는 우선권을 주장하는 2019년 11월 22일자로 출원된 미국 정식(Non-Provisional) 출원 번호 제16/692,272호의 이익 또는 우선권을 주장하는데; 이들 출원 각각의 내용은 참조에 의해 본원에 통합된다.
기술 분야
본 개시는 일반적으로 로봇 태스크(robotic task)에 힘 벡터(force vector)를 할당하기 위한 방법 및 시스템에 관한 것으로, 더 구체적으로, 가상 현실 환경 내에서 힘 벡터를 로봇 태스크에 할당하기 위한 방법 및 시스템에 관한 것이다.
로봇은 유저로부터 명령어를 수신할 수도 있고 수신된 명령어에 기초하여 태스크를 실행할 수도 있다. 한 예로서, 로봇은, 목표 위치로 이동시키기 위한 명령어를 유저로부터 수신하는 것에 응답하여, 목표 위치로 이동될 수도 있다. 다른 예로서, 로봇은, 아이템을 이동시키기 위한 명령어를 유저로부터 수신하는 것에 응답하여, 아이템을 제1 위치로부터 제2 위치로 운반할 수도 있다. 더구나, 소정의 태스크는, 대응하는 태스크를 수행하는 동안, 오브젝트에 상당한 힘을 인가할 것을 로봇에게 요구할 수도 있다. 한 예로서, 오브젝트를 제1 위치로부터 제2 위치로 이동시키는 동안, 로봇의 손이 오브젝트에 대해 파지력(gripping force)을 인가할 수도 있고, 그에 의해, 로봇이 오브젝트를 제1 위치로부터 제2 위치로 안전하게 이동시키는 것을 가능하게 할 수도 있다.
따라서, 태스크를 수행하도록 로봇을 트레이닝시키기 위해 매니퓰레이터(manipulator)에게 힘을 가르치는 시스템 및 방법에 대한 필요성이 존재한다.
하나의 양태에서, 시스템은 환경의 가상 현실 표현을 생성하도록 구성되는 전자 컨트롤러를 포함한다. 전자 컨트롤러는 적어도 하나의 태스크 유저 인터페이스 엘리먼트를 포함하는 메뉴를 환경의 가상 현실 표현 내에서 생성하도록 그리고 힘 파라미터를 구성하기 위한 옵션이 메뉴의 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하도록 구성된다. 전자 컨트롤러는 가상 로봇 조작 태스크에 대한 힘 파라미터를 구성할 것을 유저에게 프롬프트하도록(prompt) 그리고 힘 파라미터를 구성하기 위한 프롬프트로부터 수신되는 입력에 응답하여 힘 크기 또는 힘 방향 중 적어도 하나를 가상 로봇 조작 태스크에 할당하도록 구성된다.
다른 양태에서, 시스템은 환경의 가상 현실 표현을 디스플레이하도록 구성되는 전자 컨트롤러를 포함한다. 전자 컨트롤러는 적어도 하나의 태스크 유저 인터페이스 엘리먼트를 포함하는 가상 현실 표현 내에 메뉴를 디스플레이하도록 그리고 힘 파라미터를 구성하기 위한 옵션이 메뉴의 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하도록 구성된다. 전자 컨트롤러는, 가상 로봇 조작 태스크에 대한 힘 파라미터를 구성할 것을 유저에게 지시하는 프롬프트를 디스플레이하도록 그리고 힘 파라미터를 구성하기 위한 프롬프트로부터 수신되는 입력에 응답하여 가상 로봇 조작 태스크에 대한 힘 크기 또는 힘 방향 중 적어도 하나의 할당을 나타내는 신호를 송신하도록 구성된다.
여전히 다른 양태에서, 방법이 개시되고, 하나 이상의 프로세서에 의해, 환경의 가상 현실 표현을 생성하는 것을 포함한다. 방법은, 하나 이상의 프로세서에 의해, 적어도 하나의 태스크 유저 인터페이스 엘리먼트를 포함하는 메뉴를 환경의 가상 현실 표현 내에서 생성하는 것을 포함한다. 방법은, 하나 이상의 프로세서에 의해, 힘 파라미터를 구성하기 위한 옵션이 메뉴의 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하는 것을 포함한다. 방법은, 하나 이상의 프로세서에 의해, 가상 로봇 조작 태스크에 대한 힘 파라미터를 구성할 것을 유저에게 프롬프트하는 것을 포함한다. 방법은, 하나 이상의 프로세서에 의해, 힘 파라미터를 구성하기 위한 프롬프트로부터 수신되는 입력에 응답하여 힘 크기 또는 힘 방향 중 적어도 하나를 가상 로봇 조작 태스크에 할당하는 것을 포함한다.
본원에서 설명되는 실시형태에 의해 제공되는 이들 및 추가적인 피쳐는, 도면과 연계하여, 다음의 상세한 설명을 고려하여 더 완전히 이해될 것이다.
도면에서 기술되는 실시형태는 본질적으로 예증적이고 예시적이며, 청구범위에 의해 정의되는 주제를 제한하도록 의도되지 않는다. 예시적인 실시형태의 다음의 상세한 설명은 하기의 도면과 연계하여 판독될 때 이해될 수 있는데, 도면에서, 같은 구조물은 같은 참조 번호를 사용하여 나타내어지고, 도면에서:
도 1a는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 예시적인 로봇 시스템 및 환경을 개략적으로 묘사한다;
도 1b는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 예시적인 로봇을 개략적으로 묘사한다;
도 2는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 예시적인 로봇 및 가상 현실 시스템의 예시적인 시스템 다이어그램을 개략적으로 묘사한다;
도 3은 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 로봇의 소정의 태스크에 힘 벡터를 할당하는 방법의 플로우차트를 개략적으로 묘사한다;
도 4a는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다;
도 4b는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다;
도 4c는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다;
도 4d는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다;
도 4e는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다; 그리고
도 4f는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다.
도 1a는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 예시적인 로봇 시스템 및 환경을 개략적으로 묘사한다;
도 1b는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 예시적인 로봇을 개략적으로 묘사한다;
도 2는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 예시적인 로봇 및 가상 현실 시스템의 예시적인 시스템 다이어그램을 개략적으로 묘사한다;
도 3은 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 로봇의 소정의 태스크에 힘 벡터를 할당하는 방법의 플로우차트를 개략적으로 묘사한다;
도 4a는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다;
도 4b는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다;
도 4c는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다;
도 4d는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다;
도 4e는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다; 그리고
도 4f는 본원에서 설명되고 예시되는 하나 이상의 실시형태에 따른 가상 현실 시스템에 의해 디스플레이되는 환경의 예시적인 가상 현실 표현을 묘사한다.
본원에서 설명되는 실시형태는 로봇의 다양한 태스크에 힘 벡터를 할당하는 로봇 및 가상 현실 시스템에 관한 것이다. 하기에서 더욱 상세하게 설명되는 바와 같이, 로봇은 하나 이상의 이미징 디바이스 및 하나 이상의 이미지 캡쳐 디바이스(image capturing device)를 포함한다. 가상 현실 시스템의 컨트롤러는 로봇에 통신 가능하게 커플링되고 머신 판독 가능 명령어를 포함한다. 머신 판독 가능 명령어가 컨트롤러의 하나 이상의 프로세서에 의해 실행될 때, 가상 현실 시스템은 하나 이상의 이미징 디바이스 및/또는 하나 이상의 이미지 캡쳐 디바이스에 의해 획득되는 데이터에 기초하여 환경의 가상 현실 표현(예를 들면, 이차원(two-dimensional; 2D) 표현, 삼차원(three-dimensional; 3D) 표현, 등등)을 디스플레이하도록 구성된다. 몇몇 실시형태에서, 환경의 가상 현실 표현은 환경의 컴퓨터 모델에 의해 생성될 수도 있다.
더구나, 머신 판독 가능 명령어가 컨트롤러의 하나 이상의 프로세서에 의해 실행될 때, 가상 현실 시스템은 하나 이상의 태스크 유저 인터페이스 엘리먼트를 포함하는 메뉴를 생성하도록 구성된다. 태스크 유저 인터페이스 엘리먼트는, 예를 들면, 가상 현실 시스템의 입력 디바이스를 사용하여 선택 가능하다. 선택된 태스크가 힘 벡터와 관련되는 경우, 가상 현실 시스템은, 가상 현실 시스템의 유저가 로봇의 특정한 태스크에 힘 벡터를 할당하는 것을 가능하게 하는 힘 벡터 유저 인터페이스 엘리먼트를 디스플레이할 수도 있다. 몇몇 실시형태에서, 로봇 태스크 및 대응하는 힘 벡터는 컨트롤러를 통해 유저에 의해, 각각, 선택 및 할당될 수도 있고 로봇 시스템을 사용하여 저장될 수도 있다.
소정의 태스크에 힘 벡터를 할당하는 것은 로봇의 바람직한 동작을 보장한다. 한 예로서, 태스크에 힘 벡터를 할당하는 것은, 도어를 열기 위해 도어의 핸들 또는 손잡이를 잡아서 당기는 것과 같은 소정의 태스크를 수행하기 위한 최소 힘 값이 제공되는 것을 보장한다. 다른 예로서, 태스크에 힘 벡터를 할당하는 것은, 소정의 태스크를 수행하기 위한 최대 힘 값이 초과되지 않는 것을 보장하고, 그에 의해, 도어를 열기 위해, 예를 들면, 도어의 핸들 또는 손잡이를 잡아서 당기는 동안 로봇이 오브젝트에 손상을 주는 것을 방지한다. 또 다른 예로서, 크기 및 방향을 갖는 힘 벡터를 닦기 태스크(wiping task)(예를 들면, 평행 죠 그리퍼(parallel-jaw gripper)를 사용하여 파지되는(grasped) 스펀지 엔드 이펙터(sponge end effector)를 사용하여 테이블의 표면을 닦는 것)에 할당하는 것에 의해, 로봇 매니퓰레이터의 횡방향(lateral) 움직임이, 테이블의 표면에 일정한 또는 가변적인 힘이 인가되어 표면의 닦기를 달성하는 것을 보장할 수 있다. 따라서, 소정의 태스크에 힘 벡터가 할당될 때 로봇의 최적의 동작이 달성될 수도 있다.
본원에서 설명되는 바와 같이, 용어 "태스크"는 소망되는 결과를 달성하기 위해 조합하여 수행되도록 구성되는 하나 이상의 로봇 컴포넌트의 하나 이상의 움직임을 지칭한다. 비제한적인 예로서, 닦기 태스크는, 테이블의 표면으로부터 일정 거리에서 로봇 매니퓰레이터를 배치하는 것 및 테이블의 표면에 일반적으로 평행한 방향에서 로봇 매니퓰레이터를 횡방향으로 이동시키는 것을 포함할 수도 있다.
본원에서 설명되는 바와 같이, 용어 "힘 벡터"는 크기 및 방향을 갖는 힘(예를 들면, 움직임의 속도 또는 컴포넌트의 가속도)을 지칭한다. 크기는 크기를 정량화하기 위해 사용되는 임의의 적절한 수치 값 및 메트릭(예를 들면, 뉴턴(Newton))에 의해 표현될 수도 있다. 몇몇 실시형태에서, 로봇 시스템은 힘 센서를 사용하여 인가된 힘 크기를 측정하도록 구성될 수도 있다. 다른 실시형태에서, 로봇 시스템은 적용된 힘 크기를 직접적으로 측정하도록 구성되지 않을 수도 있다. 그러한 만큼, 로봇 시스템은 제1 포지션으로부터 제2 포지션으로의 컴포넌트의 속도 및/또는 가속도를 모니터링하는 것에 의해 인가된 힘을 결정할 수도 있고, 후속하여, 모터 제어 시스템 또는 다른 피드백 시스템을 사용하여 인가된 힘을 결정할 수도 있다. 방향은, 힘이 동일 평면 상에 있는지, 동일 평면 상에 있지 않은지, 선형적인지, 비선형적인지, 회전하는지, 또는 등등인지를 나타낼 수도 있다.
이제, 도 1a를 참조하면, 로봇(100-1)을 포함하는 예시적인 로봇 시스템 및 환경(10-1)이 개략적으로 묘사되어 있다. 도 1a의 예시된 실시형태에서 도시되는 바와 같이, 로봇(100-1)은, 주거 시설, 직장, 학교, 건강 관리 시설, 제조 시설, 및/또는 등등에서 다양한 태스크로 인간을 지원하도록 구성되는 서비스 로봇일 수도 있다. 비제한적인 예로서, 로봇(100-1)은 테이블(120)로부터 오브젝트(122)를 제거하여 사람을 지원할 수도 있다.
다양한 실시형태에서, 로봇(100-1)은 이미지 캡쳐 디바이스(102a, 102b)(일괄적으로 이미지 캡쳐 디바이스(102)로서 지칭됨), 이동 디바이스(locomotion device)(104), 암(106), 파지 어셈블리(gripping assembly; 108), 스크린(110), 마이크(112), 스피커(114), 및 하나 이상의 이미징 디바이스(116)를 포함한다. 로봇(100-1)은 다른 실시형태에서 다른 컴포넌트를 포함할 수도 있다는 것이 이해되어야 한다. 또한, 본원에서 설명되는 실시형태는 임의의 특정한 타입의 로봇으로 제한되지 않는다는 것, 및 로봇(100-1)은 다른 실시형태에서 임의의 사이즈, 구성, 자유도(degrees of freedom), 및/또는 다른 특성을 가질 수도 있다는 것이 이해되어야 한다.
몇몇 실시형태에서, 이미지 캡쳐 디바이스(102)는 이미지 데이터를 획득하도록 구성되는 임의의 디바이스일 수도 있다. 비제한적인 예로서, 이미지 캡쳐 디바이스(102)는, 테이블(120) 및 오브젝트(122)와 같은, 환경(10-1) 내에 위치되는 오브젝트의 스틸 이미지 및/또는 디지털 비디오를 획득하도록 구성되는 디지털 카메라일 수도 있다. 따라서, 컨트롤러(하기의 도 2에서 도시됨)는 이미지 데이터를 수신할 수도 있고 이미지 데이터에 기초하여 다양한 기능을 실행할 수도 있다. 예시적인 기능은, 이미지 프로세싱 알고리즘(예를 들면, 머신 러닝 알고리즘 또는 다른 적절한 알고리즘) 및 환경(10-1) 내에서 로봇(100-1)을 내비게이팅하기 위한 내비게이션 알고리즘을 사용한 오브젝트 인식을 포함하지만, 그러나 이것으로 제한되지는 않는다.
몇몇 실시형태에서, 이미지 캡쳐 디바이스(102) 중 적어도 하나는 표준 화질(예를 들면, 640 픽셀×480 픽셀) 카메라일 수도 있다. 다양한 실시형태에서, 이미지 캡쳐 디바이스(102) 중 적어도 하나는 고화질 카메라(예를 들면, 1440 픽셀×1024 픽셀 또는 1266 픽셀×1024 픽셀)일 수도 있다. 몇몇 실시형태에서, 이미지 캡쳐 디바이스(102) 중 적어도 하나는 640 픽셀×480 픽셀, 1440 픽셀×1024 픽셀, 또는 1266 픽셀×1024 픽셀 이외의 해상도를 가질 수도 있다.
몇몇 실시형태에서, 이동 디바이스(104)는 환경(10-1) 내에서 기동하기 위해 로봇(100-1)에 의해 활용될 수도 있다. 비제한적인 예로서, 이동 디바이스(104)는 추적된 이동 디바이스일 수도 있다. 다른 비제한적인 예로서 그리고 도 1b를 참조하여 하기에서 더욱 상세하게 설명되는 바와 같이, 로봇(100-1)은 하나 이상의 휠을 사용하여 동작 공간 내에서 기동할 수도 있다. 몇몇 실시형태에서, 로봇(100-1)은 무인 항공기 또는 무인 잠수정일 수도 있다.
다양한 실시형태에서, 암(106) 및 파지 어셈블리(108)는, 로봇(100-1)이 환경(10-1) 내에서 조우하는 아이템을 조작하기 위해 다양한 메커니즘(예를 들면, 서보 모터 드라이브, 공압 드라이브, 유압 드라이브, 전기 활성 폴리머 모터, 및/또는 등등)을 사용하여 작동될 수도 있다. 파지 어셈블리(108)는 암(106)에 회전 가능하게 커플링될 수도 있고, 암(106)은, 예를 들면, 6 자유도를 가질 수도 있다. 파지 어셈블리(108)는 하나 이상의 이미징 디바이스(116)를 포함할 수도 있고, 하나 이상의 이미징 디바이스(116)의 뷰 및/또는 방위는 파지 어셈블리(108)의 회전에 응답하여 회전하도록 구성된다.
예시된 실시형태는 하나의 암(106) 및 하나의 파지 어셈블리(108)를 예시하지만, 로봇(100-1)은 다른 실시형태에서 임의의 수의 암 및 파지 어셈블리를 포함할 수도 있다는 것이 이해되어야 한다. 비제한적인 예로서 그리고 도 1b를 참조하여 하기에서 더욱 상세하게 설명되는 바와 같이, 로봇(100-1)은 두 개의 암을 포함할 수도 있다.
몇몇 실시형태에서, 스크린(110)은 이미지 캡쳐 디바이스(102)에 의해 획득되는 텍스트, 그래픽, 이미지, 및/또는 이미지 캡쳐 디바이스(102)에 의해 획득되는 비디오를 디스플레이할 수도 있다. 비제한적인 예로서, 스크린(110)은 로봇(100-1)이 현재 실행하고 있는 태스크(예를 들면, 오브젝트(122)를 집어 드는 것)를 설명하는 텍스트를 디스플레이할 수도 있다. 몇몇 실시형태에서, 스크린(110)은 터치스크린 디스플레이 또는 다른 적절한 디스플레이 디바이스일 수도 있다.
다양한 실시형태에서, 마이크(112)는 환경(10-1)에서 전파되는 오디오 신호(예를 들면, 유저의 목소리)를 녹음할 수도 있다. 비제한적인 예로서, 마이크(112)는 유저에 의해 생성되는 오디오 신호(예를 들면, 유저 목소리 커맨드)를 수신하도록 그리고, 오디오 신호와 관련되는 음향 진동을, 추가적인 프로세싱을 위해 컨트롤러(도 2에서 도시됨)에 제공되는 음성 입력 신호(speech input signal)로 변환하도록 구성될 수도 있다. 몇몇 실시형태에서, 스피커(114)는, 로봇(100-1)에 근접한 유저가 로봇(100-1)과 상호 작용할 수도 있도록, 데이터 신호를 가청의 기계적 진동으로 변환하고 가청 사운드를 출력한다.
로봇(100-1)은 환경(10-1)의 깊이 정보를 획득하도록 구성되는 하나 이상의 이미징 디바이스(116)를 포함할 수도 있다. 하나 이상의 이미징 디바이스(116)는, 환경(10-1)의 깊이 정보를 획득하도록 구성되는 RGB-D 센서 및/또는 다른 깊이 센서를 포함할 수도 있지만, 그러나 이들로 제한되지는 않는다. 하나 이상의 이미징 디바이스(116)는 임의의 적절한 해상도를 가질 수도 있고, 자외선 파장 대역, 근자외선 파장 대역, 가시 광 파장 대역, 근적외선 파장 대역, 적외선 파장 대역, 및/또는 등등과 같은 임의의 바람직한 파장 대역에서 방사선을 검출하도록 구성될 수도 있다.
몇몇 실시형태에서, 로봇(100-1)은, 도 2를 참조하여 하기에서 더욱 상세하게 설명되는 바와 같이, 무선 통신 프로토콜을 사용하여 및/또는 네트워크(170)를 통해 컴퓨팅 디바이스(140), 모바일 디바이스(150), 및/또는 가상 현실 시스템(160) 중 적어도 하나와 통신할 수도 있다. 비제한적인 예로서, 로봇(100-1)은 이미지 캡쳐 디바이스(102)를 사용하여 이미지를 캡쳐할 수도 있고 하나 이상의 이미징 디바이스(116)를 사용하여 깊이 정보를 획득할 수도 있다. 후속하여, 로봇(100-1)은 무선 통신 프로토콜을 사용하여 이미지 및 깊이 정보를 가상 현실 시스템(160)으로 송신할 수도 있다. 이미지 및 깊이 정보를 수신하는 것에 응답하여, 가상 현실 시스템(160)은, 하기에서 더욱 상세하게 설명되는 바와 같이, 환경(10-1)(본원에서 가상 현실 환경으로서 또한 지칭됨)의 가상 현실 표현을 디스플레이할 수도 있다. 비제한적인 예로서, 가상 현실 표현은 이미지 캡쳐 디바이스(102)에 의해 획득되는 로봇(100-1)의 뷰, 로봇(100-1)이 위치되는 방 또는 건물의 맵, 로봇(100-1)의 경로, 또는 로봇(100-1)이 상호 작용할 수도 있는 오브젝트(예를 들면, 오브젝트(122))의 하이라이트를 나타낼 수도 있다.
다른 비제한적인 예로서, 컴퓨팅 디바이스(140) 및/또는 모바일 디바이스(150)(예를 들면, 스마트폰, 랩탑, PDA, 및/또는 등등)는 이미지 캡쳐 디바이스(102)에 의해 캡쳐되는 이미지를 수신할 수도 있고 이미지를 각각의 디스플레이 상에서 디스플레이할 수도 있다. 이미지 및 깊이 정보를 수신하는 것에 응답하여, 컴퓨팅 디바이스(140) 및/또는 모바일 디바이스(150)는 환경(10-1)의 가상 현실 표현을 또한 디스플레이할 수도 있다.
도 1b를 참조하면, 로봇(100-2)을 포함하는 다른 예시적인 환경(10-2)이 개략적으로 묘사되어 있다. 로봇(100-2)은 도 1a를 참조하여 상기에서 설명되는 로봇(100-1)과 유사하지만, 그러나 이 실시형태에서, 로봇(100-2)은 섀시 부분(chassis portion; 124), 몸통 부분(torso portion; 126), 암(128a, 128b)(일괄적으로 암(128)으로 지칭됨), 및 헤드 부분(130)을 포함한다.
몇몇 실시형태에서, 섀시 부분(124)은 이동 디바이스(104)를 포함한다. 비제한적인 예로서, 이동 디바이스(104)는 섀시 부분(124)에 8 자유도를 제공하고, 그에 의해, 로봇(100-2)이 환경(10-2) 내에서 선택적인 기동성(maneuverability) 및 위치 결정을 달성하는 것을 가능하게 하는 네 개의 동력 휠(powered wheel)을 포함할 수도 있다. 더구나, 섀시 부분(124)에 장착되는 몸통 부분(126)은 몸통 부분(126)에, 예를 들면, 5 자유도를 제공하고, 그에 의해, 로봇(100-2)이 몸통 부분(126)을 광범위한 높이 및 방위에 걸쳐 배치하는 것을 가능하게 하는 하나 이상의 로봇 링크를 포함할 수도 있다.
몇몇 실시형태에서, 암(128) 각각은, 예를 들면, 7 자유도를 가질 수도 있고, 그에 의해 로봇(100-2)이 암(128)을 광범위한 높이 및 방위에 걸쳐 배치하는 것을 가능하게 할 수도 있다. 더구나, 암(128) 각각은 각각의 파지 어셈블리(108)를 포함할 수도 있고, 암(128)은 몸통 부분(126)에 회전 가능하게 장착될 수도 있다. 몇몇 실시형태에서, 로봇의 헤드 부분(130)은 이미지 캡쳐 디바이스(102), 스크린(110), 하나 이상의 이미징 디바이스(116), 마이크(112), 및 스피커(114)를 포함한다.
이제 도 2를 참조하면, 로봇(100)(즉, 로봇(100-1, 100-2) 중 하나)의 다양한 내부 컴포넌트가 예시되어 있다. 로봇(100)은, 하나 이상의 프로세서(202) 및 하나 이상의 메모리 모듈(204)을 포함하는 컨트롤러(210), 이미지 캡쳐 디바이스(102a, 102b), 위성 안테나(220), 액추에이터 드라이브 하드웨어(230), 네트워크 인터페이스 하드웨어(240), 스크린(110), 마이크(112), 스피커(114), 및 하나 이상의 이미징 디바이스(116)를 포함한다. 몇몇 실시형태에서, 하나 이상의 프로세서(202), 및 하나 이상의 메모리 모듈(204)은 단일의 집적 회로(예를 들면, 시스템 온 칩)에서 제공될 수도 있다. 몇몇 실시형태에서, 하나 이상의 프로세서(202), 및 하나 이상의 메모리 모듈(204)은 별개의 집적 회로로서 제공될 수도 있다.
하나 이상의 프로세서(202) 각각은 전기적으로 커플링된 컴포넌트와 통신하도록 구성되고 로봇(100)이 동작하도록 설계되는 특정한 애플리케이션에 대해 적절한 임의의 상업적으로 이용 가능한 또는 커스터마이징된 프로세서일 수도 있다. 더구나, 하나 이상의 프로세서(202) 각각은 머신 판독 가능 명령어를 실행할 수 있는 임의의 디바이스일 수도 있다. 따라서, 하나 이상의 프로세서(202) 각각은 컨트롤러, 집적 회로, 마이크로칩, 컴퓨터, 또는 임의의 다른 컴퓨팅 디바이스일 수도 있다. 하나 이상의 프로세서(202)는, 로봇(100)의 다양한 모듈 사이에서 신호 상호 연결성을 제공하는 통신 경로(206)에 커플링된다. 통신 경로(206)는 임의의 수의 프로세서를 서로 통신 가능하게 커플링할 수도 있고, 통신 경로(206)에 커플링되는 모듈이 분산 컴퓨팅 환경에서 동작하는 것을 허용할 수도 있다. 구체적으로, 모듈 각각은 데이터를 전송 및/또는 수신할 수도 있는 노드로서 동작할 수도 있다. 본원에서 사용될 때, 용어 "통신 가능하게 커플링되는"은, 커플링된 컴포넌트가, 예를 들면, 전도성 매체를 통한 전기 신호, 공중(air)을 통한 전자기 신호, 광학 도파관을 통한 광학 신호, 및 등등과 같은, 데이터 신호를 서로 교환할 수 있다는 것을 의미한다.
따라서, 통신 경로(206)는, 예를 들면, 전도성 와이어, 전도성 트레이스, 광학 도파관, 또는 등등과 같은, 신호를 송신할 수 있는 임의의 매체로부터 형성될 수도 있다. 또한, 통신 경로(206)는 신호를 송신할 수 있는 매체의 조합으로부터 형성될 수도 있다. 하나의 실시형태에서, 통신 경로(206)는, 프로세서, 메모리, 센서, 입력 디바이스, 출력 디바이스, 및 통신 디바이스와 같은 컴포넌트로의 전기 데이터 신호의 송신을 허용하도록 협력하는 전도성 트레이스, 전도성 와이어, 커넥터, 및 버스의 조합을 포함한다. 추가적으로, 용어 "신호"는, 매체를 통해 이동할 수 있는, DC, AC, 사인파, 삼각파, 구형파, 진동, 및 등등과 같은, 파형(예를 들면, 전기적, 광학적, 자기적, 기계적 또는 전자기적)을 의미한다는 것을 유의한다.
하나 이상의 메모리 모듈(204)은 통신 경로(206)에 커플링될 수도 있다. 하나 이상의 메모리 모듈(204)은 휘발성 및/또는 불휘발성 컴퓨터 판독 가능 저장 매체, 예컨대 RAM, ROM, 플래시 메모리, 하드 드라이브, 또는 머신 판독 가능 명령어가 하나 이상의 프로세서에 의해(202)에 액세스될 수 있도록 머신 판독 가능 명령어를 저장할 수 있는 임의의 매체를 포함할 수도 있다. 머신 판독 가능 명령어는, 예를 들면, 프로세서에 의해 직접적으로 실행될 수도 있는 기계어(machine language), 또는 머신 판독 가능 명령어로 컴파일 또는 어셈블될(assembled) 수도 있고 하나 이상의 메모리 모듈(204) 상에 저장될 수도 있는 어셈블리어(assembly language), 유저 지향 프로그래밍(user-oriented programming; OOP), 스크립팅 언어, 마이크로코드, 등등과 같은, 임의의 세대의 임의의 프로그래밍 언어(예를 들면, 1GL, 2GL, 3GL, 4GL, 또는 5GL)로 작성되는 로직 또는 알고리즘(들)을 포함할 수도 있다. 대안적으로, 머신 판독 가능 명령어는, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA) 구성 또는 주문형 집적 회로(application-specific integrated circuit; ASIC), 또는 그들의 등가물 중 어느 하나를 통해 구현되는 로직과 같은 하드웨어 기술 언어(hardware description language; HDL)로 작성될 수도 있다. 따라서, 본원에서 설명되는 방법은, 사전 프로그래밍된 하드웨어 엘리먼트로서, 또는 하드웨어 및 소프트웨어 컴포넌트의 조합으로서, 임의의 종래의 컴퓨터 프로그래밍 언어로 구현될 수도 있다.
하나 이상의 메모리 모듈(204)은 하나 이상의 모듈을 저장하도록 구성될 수도 있는데, 하나 이상의 모듈 각각은, 하나 이상의 프로세서(202)에 의해 실행될 때, 로봇(100)으로 하여금, 본원에서 설명되는 모듈의 기능성(functionality)을 실행하게 하는 명령어의 세트를 포함한다. 예를 들면, 하나 이상의 메모리 모듈(204)은, 하나 이상의 프로세서(202)에 의해 실행될 때, 로봇(100)으로 하여금, 일반적인 로봇 동작을 실행하게 하는 명령어의 세트를 포함하는, 그러나 이들로 제한되지는 않는 로봇 동작 모듈을 저장하도록 구성될 수도 있다.
더구나, 하나 이상의 메모리 모듈(204)은 가상 현실 표현 생성 모듈, 오브젝트 검출 모듈, 및 메뉴 모듈을 저장할 수도 있다. 몇몇 실시형태에서, 가상 현실 표현 생성 모듈은, 이미지 캡쳐 디바이스(102)에 의해 획득되는 이미지 데이터 및 하나 이상의 이미징 디바이스(116)에 의해 획득되는 깊이 데이터에 기초하여, 환경(10)의 가상 현실 표현을 생성하도록 구성된다. 가상 현실 표현을 생성하는 것에 응답하여, 가상 현실 표현 생성 모듈은 가상 현실 표현을, 각각의 디바이스 및/또는 시스템에 의한 후속하는 디스플레이를 위해, 컴퓨팅 디바이스(140), 모바일 디바이스(150), 및/또는 가상 현실 시스템(160) 중 적어도 하나로 송신하도록 구성된다. 몇몇 실시형태에서, 오브젝트 검출 모듈은 생성된 가상 현실 표현에 기초하여 환경(10)에서 위치되는 오브젝트를 식별 및 인식하도록 구성된다. 다양한 실시형태에서, 메뉴 모듈은 가상 현실 표현 내에서 디스플레이되는 하나 이상의 태스크 유저 인터페이스 엘리먼트를 생성하도록 구성된다. 도 3 및 도 4a 내지 도 4f를 참조하여 하기에서 더욱 상세하게 설명되는 바와 같이, 메뉴 모듈은, 대응하는 로봇 태스크가 부하 힘(load force)과 상호 작용할 것이다는 것을 나타내는 태스크 유저 인터페이스 엘리먼트의 선택에 응답하여, 힘 벡터 인터페이스 엘리먼트를 생성하도록 또한 구성된다. 힘 벡터 인터페이스 엘리먼트는, 도 3을 참조하여 하기에서 더욱 상세하게 설명되는 바와 같이, 유저가 특정한 태스크에 대응하는 힘 벡터를 지정하는 것을 가능하게 하도록 구성된다.
가상 현실 표현 생성 모듈, 메뉴 모듈 및 오브젝트 검출 모듈은 오퍼레이팅 시스템 형태의 프로그램 모듈, 애플리케이션 프로그램 모듈, 및 하나 이상의 메모리 모듈에 저장되는 다른 프로그램 모듈일 수도 있다. 메뉴 모듈 및 오브젝트 검출 모듈은, 특정한 태스크를 수행하기 위한 또는 도 3을 참조하여 하기에서 설명되는 특정한 데이터 타입을 실행하기 위한 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조, 및 등등을 포함할 수도 있지만, 그러나 이들로 제한되지는 않는다.
이미지 캡쳐 디바이스(102)는 통신 경로(206)에 커플링될 수도 있다. 이미지 캡쳐 디바이스(102)는 하나 이상의 프로세서(202)로부터 제어 신호를 수신하여 주변 동작 공간의 이미지 데이터를 획득할 수도 있고, 획득된 이미지 데이터를, 프로세싱 및/또는 저장을 위해, 하나 이상의 프로세서(202) 및/또는 하나 이상의 메모리 모듈(204)로 전송할 수도 있다. 이미지 캡쳐 디바이스(102)는 하나 이상의 메모리 모듈(204)에 직접적으로 연결될 수도 있다. 대안적인 실시형태에서, 이미지 캡쳐 디바이스(102)는, 검색을 위해 하나 이상의 프로세서(202)가 액세스 가능한 전용 메모리 디바이스(예를 들면, 플래시 메모리)를 포함한다.
마찬가지로, 스크린(110), 마이크(112), 스피커(114), 및 하나 이상의 이미징 디바이스(118)는, 통신 경로(206)가 스크린(110), 마이크(112), 스피커(114), 및 하나 이상의 이미징 디바이스(118)를 로봇(100)의 다른 모듈에 통신 가능하게 커플링하도록 통신 경로(206)에 커플링될 수도 있다. 스크린(110), 마이크(112), 스피커(114), 및 하나 이상의 이미징 디바이스(118)는 하나 이상의 메모리 모듈(204)에 직접적으로 연결될 수도 있다. 대안적인 실시형태에서, 스크린(110), 마이크(112), 스피커(114), 및 하나 이상의 이미징 디바이스(118)는, 검색을 위해 하나 이상의 프로세서(202)가 액세스 가능한 전용 메모리 디바이스를 포함할 수도 있다.
로봇(100)은, 통신 경로(206)가 위성 안테나(220)를 로봇(100)의 다른 모듈에 통신 가능하게 커플링하도록 통신 경로(206)에 커플링되는 위성 안테나(220)를 포함한다. 위성 안테나(220)는 전지구 위치 결정 시스템 위성으로부터 신호를 수신하도록 구성된다. 구체적으로, 하나의 실시형태에서, 위성 안테나(220)는, 전지구 위치 결정 시스템 위성에 의해 송신되는 전자기 신호와 상호 작용하는 하나 이상의 전도성 엘리먼트를 포함한다. 수신된 신호는, 하나 이상의 프로세서(202)에 의해, 위성 안테나(220) 또는 위성 안테나(220) 근처에 위치되는 유저의 위치(예를 들면, 위도 및 경도)를 나타내는 데이터 신호로 변환된다. 몇몇 실시형태에서, 로봇(100)은 위성 안테나(220)를 포함하지 않을 수도 있다.
액추에이터 구동 하드웨어(230)는, 이동 디바이스(104), 암(106), 파지 어셈블리(108), 및 로봇(100)에서 존재할 수도 있는 임의의 다른 외부 컴포넌트를 제어하기 위해, 액추에이터 및 관련된 구동 전자기기를 포함할 수도 있다. 액추에이터 구동 하드웨어(230)는 하나 이상의 프로세서(202)로부터 제어 신호를 수신하도록 그리고 상응하게 로봇(100)을 동작시키도록 구성될 수도 있다. 액추에이터 드라이브 하드웨어(230)에 대한 동작 파라미터 및/또는 이득은 하나 이상의 메모리 모듈(204)에서 저장될 수도 있다.
로봇(100)은, 로봇(100)을 컴퓨팅 디바이스(140), 모바일 디바이스(150), 및/또는 가상 현실 시스템(160)과 통신 가능하게 커플링하기 위한 네트워크 인터페이스 하드웨어(240)를 포함한다. 네트워크 인터페이스 하드웨어(240)는 통신 경로(206)에 커플링될 수도 있고, 로봇(100)이 외부 시스템 및 디바이스와 통신할 수도 있도록 무선 통신 회로로서 구성될 수도 있다. 네트워크 인터페이스 하드웨어(240)는 임의의 무선 통신 표준에 따라 데이터를 전송 및/또는 수신하기 위한 통신 트랜스시버를 포함할 수도 있다. 예를 들면, 네트워크 인터페이스 하드웨어(240)는, 예를 들면, 무선 충실도(wireless fidelity; Wi-Fi), WiMax(와이맥스), Bluetooth(블루투스), IrDA, 무선 USB, Z-Wave(지 웨이브), ZigBee(지그비), 또는 등등과 같은 무선 컴퓨터 네트워크를 통해 통신하기 위한 칩셋(예를 들면, 안테나, 프로세서, 머신 판독 가능 명령어, 등등)을 포함할 수도 있다. 몇몇 실시형태에서, 네트워크 인터페이스 하드웨어(240)는, 로봇(100)이 블루투스 통신을 통해 컴퓨팅 디바이스(140), 모바일 디바이스(150), 및/또는 가상 현실 시스템(160)과 정보를 교환하는 것을 가능하게 하는 블루투스 트랜스시버를 포함한다. 몇몇 실시형태에서, 컴퓨팅 디바이스(140), 모바일 디바이스(150), 및/또는 가상 현실 시스템(160)은, 네트워크 인터페이스 하드웨어(240)를 통해 로봇(100)과의 통신을 개시하기 이전에, 인증될 수도 있다. 몇몇 실시형태에서, 로봇(100)은 네트워크 인터페이스 하드웨어(240)를 포함하지 않을 수도 있다.
가상 현실 시스템(160)은, 하나 이상의 프로세서(262) 및 하나 이상의 메모리 모듈(264)을 포함하는 컨트롤러(260), 입력 디바이스(266)(예를 들면, 휴대용(handheld) 모션 감지 컨트롤러, 제스쳐 인식 디바이스, 버튼, 다이얼, 손잡이, 조이스틱, 등등을 포함하는 디바이스), 네트워크 인터페이스 하드웨어(268), 및 디스플레이 디바이스(270)를 포함한다. 하나 이상의 프로세서(262), 하나 이상의 메모리 모듈(264), 및 네트워크 인터페이스 하드웨어(268)는 하나 이상의 프로세서(202), 하나 이상의 메모리 모듈(204), 및 네트워크 인터페이스 하드웨어(240)와 유사한 컴포넌트일 수도 있다. 상기의 실시형태가 메뉴 모듈 및 오브젝트 검출 모듈을 저장하는 하나 이상의 메모리 모듈(204)을 설명하지만, 하나 이상의 메모리 모듈(264)은 다른 실시형태에서 가상 현실 표현 모듈, 메뉴 모듈, 및/또는 오브젝트 검출 모듈을 포함할 수도 있다는 것이 이해되어야 한다. 컴퓨팅 디바이스(140) 및 모바일 디바이스(150)는 다른 실시형태에서 하나 이상의 프로세서, 하나 이상의 메모리 모듈, 입력 디바이스, 네트워크 인터페이스 하드웨어, 및 디스플레이를 포함할 수도 있다는 것이 또한 이해되어야 한다.
다양한 실시형태에서, 유저는 하나 이상의 태스크 유저 인터페이스 엘리먼트 중 하나를 선택할 수도 있고 입력 디바이스(266)를 사용하여 힘 벡터를 정의할 수도 있다. 유저에 의해 착용되도록 구성될 수도 있는 디스플레이 디바이스(270)는, 디스플레이 디바이스(270)를 유저의 신체(예를 들면, 유저의 머리)에 고정하기 위한 스트랩 또는 다른 유사한 엘리먼트를 포함할 수도 있다. 더구나, 디스플레이 디바이스(270)는 로봇(100)에 의해 생성되는 가상 현실 표현을 디스플레이하도록 구성되는 디스플레이를 포함할 수도 있다.
도 3을 참조하면, 힘 벡터를 로봇 태스크에 할당하는 방법(300)의 플로우차트가 도시되어 있다. 몇몇 실시형태에서, 방법(300)은, 하나 이상의 프로세서(202)에 의해 실행될 때, 본원에서 설명되는 단계를 수행하는 머신 판독 가능 명령어 내의 로직으로서 구현될 수도 있다. 방법(300)이 단계의 특정한 시퀀스를 묘사하지만, 본 개시의 추가적인 실시형태는 임의의 특정한 시퀀스로 제한되지 않으며 추가적인 또는 더 적은 단계를 포함할 수도 있다. 본원에서 설명되는 단계는, 다른 실시형태에서, 컴퓨팅 디바이스(140), 모바일 디바이스(150), 및 가상 현실 시스템(160) 중 적어도 하나에 의해 실행될 수도 있다는 것이 또한 이해되어야 한다.
단계(305)에서, 가상 현실 시스템(160)은 환경(10)의 표현을 디스플레이한다. 몇몇 실시형태에서, 로봇(100)은, 초기에, 하나 이상의 이미지 캡쳐 디바이스(102)를 사용하여 환경(10)의 이미지 데이터를 그리고 하나 이상의 이미징 디바이스(116)를 사용하여 환경(10)의 깊이 정보를 획득할 수도 있다. 후속하여, 로봇(100)의 하나 이상의 프로세서(202)는 획득된 이미지 데이터 및 깊이 정보에 기초하여 환경(10)의 가상 현실 표현을 생성하도록 구성될 수도 있다. 추가적으로, 오브젝트 검출 모듈은 환경(10) 내에 위치되는 오브젝트를 식별 및 인식할 수도 있고 식별되고 인식된 오브젝트에 대응하는 지시(indication)를 생성할 수도 있다. 게다가, 메뉴 모듈은 하나 이상의 태스크 유저 인터페이스 엘리먼트를 생성할 수도 있다.
후속하여, 하나 이상의 프로세서(202)는 환경(10)의 가상 현실 표현, 식별되고 인식된 오브젝트에 대응하는 지시자(indicator), 및 하나 이상의 태스크 유저 인터페이스 엘리먼트를 가상 현실 시스템(160)으로 송신할 수도 있다. 따라서, 그 다음, 가상 현실 시스템(160)의 디스플레이 디바이스(270)는 가상 현실 표현, 식별되고 인식된 오브젝트에 대응하는 지시자, 및 하나 이상의 태스크 유저 인터페이스 엘리먼트를 디스플레이할 수도 있다. 비제한적인 예로서 그리고 도 4a에서 도시되는 바와 같이, 가상 현실 표현(400)은 식별되고 인식된 오브젝트(예를 들면, 캐비닛 도어의 손잡이/핸들)와 관련되는 복수의 영역(405), 하나 이상의 태스크 유저 인터페이스 엘리먼트(415)를 포함하는 메뉴(410), 및 로봇(100)의 다양한 동작 피쳐 및/또는 특성을 설명하는 보충 텍스트(420)를 포함할 수도 있다.
하나 이상의 태스크 유저 인터페이스 엘리먼트(415) 각각은 다른 로봇 태스크와 함께 순서가 지정될 수 있는 로봇 태스크와 관련될 수도 있다. 비제한적인 예로서, 하나 이상의 태스크 유저 인터페이스 엘리먼트(415)는, 파지(grasping), 들어올리기(lifting), 배치하기(placing), 당기기(pulling), 접기(retracting), 닦기(wiping), 관절 이동, 포지션으로의 운전(driving to a position), 로봇(100)의 속도 제어, 추종(following), 관찰 및 정지(looking and stopping), 및 등등을 포함하는, 그러나 이들로 제한되지는 않는 로봇 태스크와 관련될 수도 있다. 더구나, 각각의 로봇 태스크는, 로봇(100)의 하나 이상의 부분의 관절 움직임 또는 데카르트 움직임(Cartesian move)과 같은, 로봇 태스크와 관련되는 하나 이상의 움직임을 가질 수도 있다. 하나 이상의 움직임 각각은 포지션 제어, 속도 제어, 입장(admittance) 제어, 및/또는 모션 제어와 같은 상이한 제어 방법을 구현할 수도 있다.
몇몇 실시형태에서, 각각의 로봇 태스크는 다양한 파라미터화된 액션을 가질 수도 있다. 본원에서 사용되는 바와 같이, 파라미터화된 액션은 파라미터의 관점에서 표현될 수도 있는 액션을 지칭할 수도 있다. 비제한적인 예로서, 파지 태스크는, 그리퍼 각도 파라미터, 6D 접근 파라미터, 파지 파라미터, 및 파지 어셈블리(108)에 대한 리프트 포즈 파라미터를 포함할 수도 있지만, 그러나 이들로 제한되지는 않는다. 몇몇 실시형태에서, 파라미터화된 액션을 정의하는 것은 로봇(100)이 파지 태스크와 관련되는 단계의 시퀀스를 실행하는 것을 가능하게 할 수도 있다. 비제한적인 예로서, 시퀀스는, 파지 어셈블리(108)를 소망되는 그리퍼 각도로 개방하는 것; 6D 접근 포즈로의 파지 어셈블리(108)에 대한 충돌 없는 경로를 계획하고 실행하는 것; 파지 어셈블리(108)를 6D 파지 포즈로 이동시키는 것; 접촉을 중지하는 것; 파지 어셈블리(108)를 폐쇄하는 것; 및 파지 어셈블리(108)를 6D 리프트 포즈로 이동시키는 것을 포함할 수도 있다.
몇몇 실시형태에서, 각각의 로봇 태스크는, 유저에 의해 정의될 수도 있는 다양한 파라미터화되지 않은 로봇 조작 및/또는 액션을 가질 수도 있다. 본원에서 사용되는 바와 같이, 파라미터화되지 않은 액션은 파라미터의 관점에서 표현되지 않는 액션을 지칭할 수도 있다. 파라미터화되지 않은 로봇 조작 및/또는 액션의 비제한적인 예는, 로봇(100)을 정의된 방향에서 이동시키는 것을 포함하지만, 그러나 이것으로 제한되지는 않는다. 파라미터화되지 않은 로봇 조작 및/또는 액션은 가상 현실 환경에서 입력 디바이스(266)(예를 들면, 휴대용 모션 컨트롤러)를 통해 유저에 의해 정의될 수도 있다.
다시 도 3을 참조하면, 단계(310)에서, 가상 현실 시스템(160)의 유저는 로봇(100)을 조작하고 태스크를 선택한다. 몇몇 실시형태에서, 유저는, 로봇(100)을 조작하고 및/또는 로봇(100)의 태스크를 선택하기 위해, 가상 현실 시스템(160)의 입력 디바이스(266)를 사용할 수도 있다. 비제한적인 예로서 그리고 도 4b에서 도시되는 바와 같이, 유저가 입력 디바이스(266)를 사용하고 있을 때, 가상 현실 표현(400)은 입력 디바이스(266)를 나타내는 그래픽 엘리먼트(430)를 포함할 수도 있다. 입력 디바이스(266)를 이동시키는 것 및 그와 상호 작용하는 것은, 그래픽 엘리먼트(430)로 하여금, 입력 디바이스(266)의 이동 및/또는 그와의 상호 작용에 기초하여 가상 현실 표현(400) 내에서 그것의 방위를 이동 및/또는 조정하게 할 수도 있다. 비제한적인 예로서, 입력 디바이스(266)를 지면을 향해 기울이는 것은, 그래픽 엘리먼트(430)로 하여금, 가상 현실 표현(400)의 지면을 향해 기울이게 할 수도 있다. 그래픽 엘리먼트(430)가 입력 디바이스로서 묘사되지만, 그래픽 엘리먼트(430)는 다른 실시형태에서 다양한 사이즈 및/또는 형상을 가질 수도 있다는 것이 이해되어야 한다.
더구나, 그래픽 엘리먼트(430)는, 입력 디바이스(266)가 하나 이상의 태스크 유저 인터페이스 엘리먼트(415)의 어떤 태스크 유저 인터페이스 엘리먼트와 현재 정렬되어 있는지를 나타내는, 그래픽 엘리먼트로부터 투사되는 지시자(432)를 포함할 수도 있다. 비제한적인 예로서 그리고 도 4b에서 도시되는 바와 같이, 유저는, 대응하는 그래픽 엘리먼트(430)가 당기기 태스크에 대응하는 태스크 유저 인터페이스 엘리먼트와 정렬되도록 입력 디바이스(266)를 현재 배치하고 있다.
도 3을 다시 참조하면, 단계(315)에서, 하나 이상의 프로세서(202)는 선택된 태스크가 부하 힘과 상호 작용하는 로봇(100)과 관련되는지의 여부를 결정한다. 몇몇 실시형태에서, 대응하는 파라미터화된 액션 중 적어도 하나가 부하 힘과의 상호 작용과 관련되는 경우, 태스크는 부하 힘과 상호 작용하는 로봇(100)과 관련될 수도 있다. 부하 힘과의 상호 작용하는 것과 관련될 수도 있는 태스크의 비제한적인 예는, 파지, 들어올리기, 배치하기, 당기기, 접기, 닦기, 및 등등을 포함한다. 부하 힘과의 상호 작용과 관련되지 않을 수도 있는 태스크의 비제한적 예는, 운전, 능동적 장애물 회피를 갖는 추종, 관찰 및 정지, 등등을 포함한다. 다양한 태스크 중 임의의 하나는 부하 힘과 상호 작용하는 것으로서 지정될 수도 있고, 하나 이상의 프로세서(202)는, 태스크가 부하 힘과 상호 작용하는 것으로서 지정되는지의 여부를 결정하기 위해, 하나 이상의 메모리 모듈(204)의 룩업 테이블을 참조할 수도 있다는 것이 이해되어야 한다. 선택된 태스크가 부하 힘과 상호 작용하는 로봇(100)과 관련되는 경우, 방법(300)은 단계(320)로 진행하고; 그렇지 않으면, 방법(300)은 단계(340)로 진행한다.
단계(315)의 비제한적인 예로서, 하나 이상의 프로세서(202)는, 당기기의 태스크에 대응하는 선택된 태스크 유저 인터페이스 엘리먼트가 부하 힘과 상호 작용하는 로봇(100)과 관련된다는 것을 결정한다. (예를 들면, 입력 디바이스(266)를 사용하는) 선택에 응답하여, 유저는, 후속하여, 하기에서 더욱 상세하게 설명되는 바와 같이, 당기기 태스크의 파라미터화된 액션을 정의할 수도 있다.
단계(320)에서, 유저는 선택된 태스크의 하나 이상의 파라미터화된 액션을 정의하고, 하나 이상의 프로세서(202)는 힘 벡터 인터페이스를 생성하여 가상 현실 시스템(160)으로 송신한다. 힘 벡터 인터페이스를 수신하는 것에 응답하여, 가상 현실 시스템의 디스플레이 디바이스(270)는 힘 벡터 인터페이스를 디스플레이한다. 상기에서 설명되는 바와 같이, 태스크의 파라미터화된 액션 중 적어도 하나는 부하 힘과의 상호 작용과 관련되지 않을 수도 있다. 따라서, 디스플레이 디바이스(270)는, 유저에 의해 정의되고 있는 특정한 파라미터화된 액션이 부하 힘과의 상호 작용과 관련되는 경우, 힘 벡터 인터페이스를 디스플레이할 수도 있다. 단계(320)의 비제한적인 예로서 그리고 도 4c 및 도 4d에서 도시되는 바와 같이, 가상 현실 표현(400)은 당기기 태스크의 파라미터화된 액션을 정의하기 위한, 예컨대 제1 포인트(450-1) 및 제2 포인트(450-2)를 사용하여 당기기 태스크의 표현 위치를 정의하기 위한(즉, 제1 라인 포인트 및 제2 라인 포인트에 주석을 달기 위한) 지시를 나타내는 지시 텍스트(440)를 디스플레이할 수도 있다. 더구나, 표현 위치를 정의하는 것이 부하 힘과의 상호 작용과 관련되지 않을 수도 있기 때문에, 가상 현실 표현(400)은 힘 벡터 인터페이스를 생성하지 않을 수도 있다.
다른 비제한적인 예로서, 비록 당기기 태스크가 전체적으로 부하 힘과의 상호 작용과 관련될 수도 있지만, 당기기 태스크의 소망되는 각도로 파지 어셈블리(108)를 개방하는 파라미터화된 액션은 부하 힘과의 상호 작용과 관련되지 않을 수도 있다. 또 다른 비제한적인 예로서, 파지 어셈블리(108)를 6D 리프트 포즈로 이동시키는 파라미터화된 액션은 부하 힘과의 상호 작용과 관련될 수도 있다(예를 들면, 파지 어셈블리(108)는 파지 어셈블리(108)를 6D 리프트 포즈로 이동시키기 위해 100N의 힘을 생성할 필요가 있음).
몇몇 실시형태에서, 가상 현실 시스템(160)의 디스플레이 디바이스(270)는 파라미터화된 액션이 정의됨에 따라 추가적인 그래픽 엘리먼트를 디스플레이할 수도 있다. 비제한적인 예로서 그리고 도 4e에서 개략적으로 묘사되는 바와 같이, 당기기 태스크의 표현 위치를 정의하는 것에 응답하여, 디스플레이 디바이스(270)는 로봇(100)의 파지 어셈블리(108)를 표현하는 그래픽 엘리먼트(460) 및 로봇(100)의 암(106)을 표현하는 그래픽 엘리먼트(465)를 포함하도록 가상 현실 표현(400)을 업데이트할 수도 있다. 가상 현실 시스템(160)의 입력 디바이스(266)를 사용하여, 유저는 그래픽 엘리먼트(460) 및 그래픽 엘리먼트(465) 중 하나의 포지션을, 그것이 제1 포인트(450-1)와 제2 포인트(450-2) 사이에서 위치되는 라인(455)과 정렬되도록 조작할 수도 있다.
더구나, 유저에 의해 정의되고 있는 파라미터화된 액션이 부하 힘과의 상호 작용과 관련되는 경우, 디스플레이 디바이스(270)는 힘 벡터 인터페이스를 포함하도록 가상 현실 표현(400)을 업데이트할 수도 있다. 비제한적인 예로서 그리고 도 4f에서 도시되는 바와 같이, 유저는 당기기 태스크의 다음 번 파라미터화된 액션을 로봇 암(106)의 회전 특성을 정의하는 것으로서 정의할 수도 있다. 따라서, 디스플레이 디바이스(270)는 힘 벡터 인터페이스를 포함하도록 가상 현실 표현(400)을 업데이트할 수도 있는데, 힘 벡터 인터페이스는 힘 크기 값(470)을 입력하라는 프롬프트 및 힘 화살표(480)의 상호 작용식 포지션을 포함할 수도 있다. 힘 크기 값(470)은 파라미터화된 액션과 관련되는 힘 값(예를 들면, 11N)을 나타낼 수도 있고, 힘 화살표(480)는 파라미터화된 액션과 관련되는 방향을 나타낼 수도 있다.
다시 도 3을 참조하면, 단계(320)에서 유저가 힘 크기 및 힘 방향 중 적어도 하나를 파라미터화된 액션에 할당하는 경우, 힘 크기 및/또는 힘 방향을 할당하기 위해 모션 트레이닝은 (예를 들면, 입력 디바이스(266)를 사용하여) 일시 중지될 수도 있다. 그 다음, 일단 힘 크기 및/또는 힘 방향이 파라미터화된 액션에 할당되면, 모션 트레이닝이 재개될 수도 있다. 그러한 만큼, 하나 이상의 파라미터화된 모션에 의해 정의되는 태스크는, 사전 정의된 태스크를 자율적으로 동작시킬 때 로봇(100)에 의해 활용될 수도 있는 힘 파라미터를 포함한다.
단계(325)에서, 하나 이상의 프로세서(202)는 대응하는 파라미터화된 액션에 대한 힘 벡터 선택을 수신한다. 단계(325)의 비제한적인 예로서, 유저는 가상 현실 시스템(160)의 입력 디바이스(266)를 사용하여 힘 크기 및 힘 방향 중 적어도 하나를 정의할 수도 있다. 몇몇 실시형태에서, 도 4f를 참조하면, 힘 크기 값(470) 및 힘 화살표(480)는 유저가 힘 크기 및/또는 힘 방향을 정의하는 것에 응답하여 업데이트되도록 구성될 수도 있다. 비제한적인 예로서, 파라미터화된 액션의 힘 값을 증가시키는 것에 응답하여, 힘 크기 값(470)이 업데이트될 수도 있고 및/또는 힘 화살표(480)의 길이가 업데이트된 힘 값을 반영하도록 증가될 수도 있다. 다른 비제한적인 예로서, 파라미터화된 액션의 힘 값을 감소시키는 것에 응답하여, 힘 크기 값(470)은 업데이트될 수도 있고 및/또는 힘 화살표(480)의 길이는 업데이트된 힘 값을 반영하도록 감소될 수도 있다. 또 다른 비제한적인 예로서, 힘 방향을 조정하는 것에 응답하여, 힘 화살표(480)는 조정된 힘 방향에 기초하여 자신의 형상, 사이즈, 및/또는 방위를 조정할 수도 있다.
다시 도 3을 참조하면, 단계(330)에서, 하나 이상의 프로세서(202)는 선택된 힘 벡터를 파라미터화된 액션에 할당하고, 그 다음, 단계(335)로 진행한다.
단계(335)에서, 하나 이상의 프로세서(202)는 태스크가 추가적인 파라미터화된 액션을 포함하는지의 여부를 결정한다. 만약 그렇다면, 방법(300)은 단계(320)로 진행하고; 그렇지 않으면, 방법(300)은 단계(340)로 진행한다. 단계(340)에서, 하나 이상의 프로세서(202)는 로봇(100)의 추가적인 태스크가 정의될 필요가 있는지의 여부를 결정한다. 단계(340)의 비제한적인 예로서, 유저는, 가상 현실 시스템(160)의 입력 디바이스(266)를 사용하여, 로봇(100)의 추가적인 태스크가 정의될 필요가 있는지의 여부를 나타내는 신호를 로봇(100)으로 송신할 수도 있다. 만약 그렇다면, 방법(300)은 단계(345)로 진행한다. 단계(345)에서, 가상 현실 시스템(160)의 유저는 로봇(100)을 조작하여 정의될 다음 번 태스크를 선택하고, 그 다음, 단계(315)로 진행한다. 로봇(100)의 추가적인 태스크가 정의될 필요가 없는 경우, 방법(300)은 종료된다.
이제 본 개시의 실시형태는 로봇 및 로봇의 다양한 태스크에 힘 벡터를 할당하도록 구성되는 가상 현실 시스템에 관한 것이다는 것이 이해되어야 한다. 소정의 태스크에 힘 벡터를 할당하는 것은, 로봇이 다양한 태스크를 실행하는 동안 최적의 견고성을 보장한다. 더구나, 로봇의 하나 이상의 태스크의 힘 벡터를 할당하기 위해 가상 현실 시스템을 사용하는 것은, 로봇의 하나 이상의 태스크를 정의하기 위해 태스크 공간 모션 제어를 활용하지 않으면서, 유저가 하나 이상의 태스크 및 임의의 관련된 힘 벡터를 정의하는 것을 가능하게 할 수도 있다.
특정한 실시형태가 본원에서 예시되고 설명되었지만, 청구된 주제의 범위로부터 벗어나지 않으면서 다양한 다른 변경 및 수정이 이루어질 수도 있다는 것이 이해되어야 한다. 또한, 청구되는 주제의 다양한 양태가 본원에서 설명되었지만, 그러한 양태는 조합하여 활용될 필요는 없다. 따라서, 첨부된 청구범위는 청구되는 주제의 범위 내에 있는 모든 그러한 변경 및 수정을 포괄한다는 것이 의도된다.
Claims (20)
- 시스템으로서,
전자 컨트롤러를 포함하되, 상기 전자 컨트롤러는:
이미지 캡쳐 디바이스(image capturing device)로부터 환경의 이미지 데이터를 수신하도록;
상기 이미지 데이터로부터 상기 환경에 위치되는 오브젝트를 식별하도록;
디스플레이를 위해, 상기 식별된 오브젝트와 관련되는 영역 및 상기 영역과 현재 정렬되는 태스크 유저 인터페이스 엘리먼트를 나타내는 상기 영역에 대응하는 지시자를 생성하도록;
상기 환경의 가상 현실 표현을 생성하도록 - 상기 환경의 가상 현실 표현은, 상기 환경의 가상 현실 표현 내의 로봇의 컴포넌트를 나타내는 그래픽 엘리먼트 및 상기 로봇에 의한 조작을 위한 상기 식별된 오브젝트와 관련되는 상기 영역을 포함함 - ;
상기 로봇의 상기 컴포넌트를 나타내는 상기 그래픽 엘리먼트의 조작을, 상기 환경의 상기 가상 현실 표현을 통해 유저로부터 수신하도록;
상기 그래픽 엘리먼트에 대한 다양한 파라미터화된 액션에 의해 정의되는 로봇 태스크와 관련되는 적어도 하나의 태스크 유저 인터페이스 엘리먼트를 포함하는 메뉴를 상기 환경의 상기 가상 현실 표현 내에서 생성하도록;
힘 파라미터를 구성하기 위한 옵션이 상기 메뉴의 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하도록;
가상 로봇 조작 태스크에 대한 상기 힘 파라미터를 구성할 것을 유저에게 프롬프트하도록 - 상기 프롬프트는 힘 방향을 나타내기 위해 유저가 상호 작용식으로 배치하는 힘 화살표를 디스플레이하는 것을 포함함 - ; 및
상기 힘 파라미터를 구성하기 위한 상기 프롬프트로부터 수신되는 입력에 응답하여 힘의 크기 및 상기 힘의 방향 중 적어도 하나를 상기 가상 로봇 조작 태스크에 할당하고, 그로 인해, 상기 로봇이 자율적으로 동작할 때, 할당된 힘의 크기 및 할당된 힘의 방향 중 적어도 하나에 의해 정의된 상기 가상 로봇 조작 태스크에 기초하여, 식별된 오브젝트로 로봇 태스크를 실행하기 위해 상기 로봇에 가르치도록
구성되는, 시스템. - 제1항에 있어서,
상기 전자 컨트롤러는:
이미징 디바이스로부터 상기 환경에 대응하는 깊이 정보를 수신하도록; 그리고
상기 이미지 데이터 및 상기 깊이 정보에 기초하여 상기 가상 현실 표현을 생성하도록 구성되는, 시스템. - 제1항에 있어서,
상기 힘 파라미터를 구성하기 위한 상기 옵션이 상기 메뉴의 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하는 것은 또한, 상기 전자 컨트롤러로 하여금, 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트가 적어도 하나의 파라미터화된 액션과 관련된다는 것을 결정하게 하는, 시스템. - 제1항에 있어서,
상기 전자 컨트롤러는 상기 가상 현실 표현 및 상기 메뉴 중 적어도 하나를 디스플레이 디바이스로 송신하도록 구성되는, 시스템. - 제1항에 있어서,
상기 전자 컨트롤러는:
입력 디바이스로부터 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트의 선택을 수신하도록; 그리고
상기 힘 파라미터를 구성하기 위한 상기 프롬프트로부터의 상기 입력을 상기 입력 디바이스로부터 수신하도록 구성되는, 시스템. - 시스템으로서,
전자 컨트롤러를 포함하되, 상기 전자 컨트롤러는:
이미지 캡쳐 디바이스로부터 환경의 이미지 데이터를 수신하도록;
상기 이미지 데이터로부터 상기 환경에 위치되는 오브젝트를 식별하도록;
디스플레이를 위해, 상기 식별된 오브젝트와 관련되는 영역 및 상기 영역과 현재 정렬되는 태스크 유저 인터페이스 엘리먼트를 나타내는 상기 영역에 대응하는 지시자를 생성하도록;
상기 환경의 가상 현실 표현을 디스플레이하도록 - 상기 환경의 가상 현실 표현은, 상기 환경의 가상 현실 표현 내의 로봇의 컴포넌트를 나타내는 그래픽 엘리먼트 및 상기 로봇에 의한 조작을 위한 상기 식별된 오브젝트와 관련되는 상기 영역을 포함함 - ;
상기 로봇의 상기 컴포넌트를 나타내는 상기 그래픽 엘리먼트의 조작을, 상기 환경의 가상 현실 표현을 통해 유저로부터 수신하도록;
상기 그래픽 엘리먼트에 대한 다양한 파라미터화된 액션에 의해 정의되는 로봇 태스크와 관련되는 적어도 하나의 태스크 유저 인터페이스 엘리먼트를 포함하는 메뉴를 상기 가상 현실 표현 내에서 디스플레이하도록;
힘 파라미터를 구성하기 위한 옵션이 상기 메뉴의 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하도록;
가상 로봇 조작 태스크에 대한 상기 힘 파라미터를 구성할 것을 유저에게 지시하는 프롬프트 - 상기 프롬프트는 힘 방향을 나타내기 위해 유저가 상호 작용식으로 배치하는 힘 화살표를 디스플레이하는 것을 포함함 - 를 디스플레이하도록;
상기 힘 파라미터를 구성하기 위한 상기 프롬프트로부터 수신되는 입력에 응답하여 상기 가상 로봇 조작 태스크에 대한 힘 크기 및 힘 방향 중 적어도 하나의 할당을 나타내는 신호를 송신하고, 그로 인해, 상기 로봇이 자율적으로 동작할 때, 할당된 힘의 크기 및 할당된 힘의 방향 중 적어도 하나에 의해 정의된 상기 가상 로봇 조작 태스크에 기초하여, 식별된 오브젝트로 로봇 태스크를 실행하기 위해 상기 로봇에 가르치도록
구성되는, 시스템. - 제6항에 있어서,
상기 프롬프트를 디스플레이하는 것은:
힘의 크기를 나타내도록 구성되는 힘 크기 엘리먼트; 및
힘의 방향을 나타내도록 구성되는 힘 방향 엘리먼트를 디스플레이하는 것을 더 포함하는, 시스템. - 제7항에 있어서,
상기 프롬프트로부터 수신되는 상기 입력은:
입력 디바이스를 사용한 상기 힘 크기 엘리먼트와의 제1 상호 작용; 및
상기 입력 디바이스를 사용한 상기 힘 방향 엘리먼트와의 제2 상호 작용을 더 포함하는, 시스템. - 제6항에 있어서,
상기 힘 파라미터를 구성하기 위한 상기 옵션이 상기 메뉴의 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하는 것은, 입력 디바이스를 사용한 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트의 선택을 수신하는 것을 더 포함하는, 시스템. - 제6항에 있어서,
상기 전자 컨트롤러는:
상기 이미지 데이터에 기초하여 상기 가상 현실 표현을 디스플레이하도록 구성되는, 시스템. - 삭제
- 제6항에 있어서,
상기 힘 파라미터를 구성하기 위한 상기 옵션이 상기 메뉴의 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하는 것은 또한, 상기 전자 컨트롤러로 하여금, 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트가 적어도 하나의 파라미터화된 액션과 관련된다는 지시(indication)를 수신하게 하는, 시스템. - 방법으로서,
이미지 캡쳐 디바이스로부터 환경의 이미지 데이터를 수신하는 단계;
상기 이미지 데이터로부터 상기 환경에 위치되는 오브젝트를 식별하는 단계;
디스플레이를 위해, 상기 식별된 오브젝트와 관련되는 영역 및 상기 영역과 현재 정렬되는 태스크 유저 인터페이스 엘리먼트를 나타내는 상기 영역에 대응하는 지시자를 생성하는 단계;
하나 이상의 프로세서에 의해 상기 환경의 가상 현실 표현을 생성하는 단계 - 상기 환경의 가상 현실 표현은, 상기 환경의 가상 현실 표현 내의 로봇의 컴포넌트를 나타내는 그래픽 엘리먼트 및 상기 로봇에 의한 조작을 위한 상기 식별된 오브젝트와 관련되는 상기 영역을 포함함 - ;
상기 로봇의 상기 컴포넌트를 나타내는 상기 그래픽 엘리먼트의 조작을, 상기 환경의 상기 가상 현실 표현을 통해 유저로부터 수신하는 단계;
상기 하나 이상의 프로세서에 의해, 상기 그래픽 엘리먼트에 대한 다양한 파라미터화된 액션에 의해 정의되는 로봇 태스크와 관련되는 적어도 하나의 태스크 유저 인터페이스 엘리먼트를 포함하는 메뉴를 상기 환경의 상기 가상 현실 표현 내에서 생성하는 단계;
상기 하나 이상의 프로세서에 의해, 힘 파라미터를 구성하기 위한 옵션이 상기 메뉴의 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하는 단계;
상기 하나 이상의 프로세서에 의해, 가상 로봇 조작 태스크에 대한 상기 힘 파라미터를 구성할 것을 유저에게 프롬프트하는 단계 - 상기 프롬프트하는 단계는 힘 방향을 나타내기 위해 유저가 상호 작용식으로 배치하는 힘 화살표를 디스플레이하는 단계를 포함함 - ;
상기 하나 이상의 프로세서에 의해, 상기 힘 파라미터를 구성하기 위한 상기 프롬프트로부터 수신되는 입력에 응답하여 힘 크기 또는 상기 힘 방향 중 적어도 하나를 상기 가상 로봇 조작 태스크에 할당하고, 그로 인해, 상기 로봇이 자율적으로 동작할 때, 할당된 힘의 크기 및 할당된 힘의 방향 중 적어도 하나에 의해 정의된 상기 가상 로봇 조작 태스크에 기초하여, 식별된 오브젝트로 로봇 태스크를 실행하기 위해 상기 로봇에 가르치는 단계
를 포함하는, 방법. - 제13항에 있어서,
상기 하나 이상의 프로세서에 의해, 이미징 디바이스로부터 상기 환경에 대응하는 깊이 정보를 수신하는 단계; 및
상기 하나 이상의 프로세서에 의해, 상기 이미지 데이터 및 상기 깊이 정보에 기초하여 상기 가상 현실 표현을 생성하는 단계를 더 포함하는, 방법. - 제13항에 있어서,
상기 힘 파라미터를 구성하기 위한 상기 옵션이 상기 메뉴의 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트로부터 선택되는 것을 결정하는 단계는, 상기 하나 이상의 프로세서에 의해, 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트가 적어도 하나의 파라미터화된 액션과 관련된다는 것을 결정하는 단계를 더 포함하는, 방법. - 제13항에 있어서,
상기 하나 이상의 프로세서에 의해, 상기 가상 현실 표현 및 상기 메뉴 중 적어도 하나를 디스플레이 디바이스로 송신하는 단계를 더 포함하는, 방법. - 제13항에 있어서,
상기 하나 이상의 프로세서에 의해, 입력 디바이스로부터 상기 적어도 하나의 태스크 유저 인터페이스 엘리먼트의 선택을 수신하는 단계; 및
상기 하나 이상의 프로세서에 의해, 상기 힘 파라미터를 구성하기 위한 상기 프롬프트로부터의 상기 입력을 상기 입력 디바이스로부터 수신하는 단계를 더 포함하는, 방법. - 제13항에 있어서,
상기 하나 이상의 프로세서에 의해, 상기 가상 현실 표현을 가상 현실 시스템으로 송신하는 단계를 더 포함하되, 상기 가상 현실 표현은, 상기 가상 현실 시스템으로 하여금, 상기 가상 현실 표현을 수신하는 것에 응답하여 상기 가상 현실 시스템의 디스플레이 디바이스를 사용하여 상기 가상 현실 표현을 디스플레이하게 하도록 구성되는, 방법. - 제18항에 있어서,
상기 하나 이상의 프로세서에 의해, 상기 가상 현실 시스템으로 상기 메뉴를 송신하는 단계를 더 포함하되, 상기 메뉴를 송신하는 단계는, 상기 가상 현실 시스템으로 하여금, 상기 메뉴를 수신하는 것에 응답하여 상기 디스플레이 디바이스를 사용하여 상기 메뉴를 디스플레이하게 하도록 구성되는, 방법. - 제18항에 있어서,
상기 하나 이상의 프로세서에 의해, 상기 가상 현실 시스템으로 상기 프롬프트를 송신하는 단계를 더 포함하되, 상기 프롬프트를 송신하는 단계는, 상기 가상 현실 시스템으로 하여금, 상기 프롬프트를 수신하는 것에 응답하여 상기 프롬프트를 디스플레이하게 하도록 구성되는, 방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962900143P | 2019-09-13 | 2019-09-13 | |
US62/900,143 | 2019-09-13 | ||
US16/692,272 | 2019-11-22 | ||
US16/692,272 US11262887B2 (en) | 2019-09-13 | 2019-11-22 | Methods and systems for assigning force vectors to robotic tasks |
PCT/US2020/047132 WO2021050232A1 (en) | 2019-09-13 | 2020-08-20 | Methods and systems for assigning force vectors to robotic tasks |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220108761A KR20220108761A (ko) | 2022-08-03 |
KR102554815B1 true KR102554815B1 (ko) | 2023-07-14 |
Family
ID=72422233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227012319A KR102554815B1 (ko) | 2019-09-13 | 2020-08-20 | 로봇 태스크에 힘 벡터를 할당하기 위한 방법 및 시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11262887B2 (ko) |
EP (1) | EP4027930A1 (ko) |
JP (1) | JP7326595B2 (ko) |
KR (1) | KR102554815B1 (ko) |
CN (1) | CN114364497A (ko) |
WO (1) | WO2021050232A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11926064B2 (en) * | 2020-12-10 | 2024-03-12 | Mitsubishi Electric Corporation | Remote control manipulator system and remote control assistance system |
CN113843801B (zh) | 2021-10-18 | 2022-11-29 | 上海节卡机器人科技有限公司 | 复合机器人的控制方法、装置及系统 |
KR102639276B1 (ko) * | 2021-12-09 | 2024-02-22 | 한국전자기술연구원 | 가상 공간의 다양한 작업 콘텐츠를 이용하여 원격에서 로봇을 제어하는 원격제어장치 및 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160257000A1 (en) * | 2015-03-04 | 2016-09-08 | The Johns Hopkins University | Robot control, training and collaboration in an immersive virtual reality environment |
JP2018015857A (ja) * | 2016-07-29 | 2018-02-01 | セイコーエプソン株式会社 | 制御装置、及びロボット |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835693A (en) * | 1994-07-22 | 1998-11-10 | Lynch; James D. | Interactive system for simulation and display of multi-body systems in three dimensions |
JP2010524547A (ja) * | 2007-04-16 | 2010-07-22 | ニューロアーム サージカル リミテッド | 医療用ロボットに関する自動化された動作のための方法、装置、及びシステム |
US8253746B2 (en) * | 2009-05-01 | 2012-08-28 | Microsoft Corporation | Determine intended motions |
US9104202B2 (en) * | 2010-05-11 | 2015-08-11 | Irobot Corporation | Remote vehicle missions and systems for supporting remote vehicle missions |
EP2668008A4 (en) * | 2011-01-28 | 2018-01-24 | Intouch Technologies, Inc. | Interfacing with a mobile telepresence robot |
US20130343640A1 (en) * | 2012-06-21 | 2013-12-26 | Rethink Robotics, Inc. | Vision-guided robots and methods of training them |
US9582933B1 (en) * | 2012-06-26 | 2017-02-28 | The Mathworks, Inc. | Interacting with a model via a three-dimensional (3D) spatial environment |
WO2014110682A1 (en) | 2013-01-18 | 2014-07-24 | Robotiq Inc. | Force/torque sensor, apparatus and method for robot teaching and operation |
US9465384B1 (en) * | 2013-06-24 | 2016-10-11 | Redwood Robotics, Inc. | Methods and systems for tiered programming of robotic device |
US9283674B2 (en) * | 2014-01-07 | 2016-03-15 | Irobot Corporation | Remotely operating a mobile robot |
WO2015134391A1 (en) * | 2014-03-03 | 2015-09-11 | University Of Washington | Haptic virtual fixture tools |
US9579799B2 (en) * | 2014-04-30 | 2017-02-28 | Coleman P. Parker | Robotic control system using virtual reality input |
US20150328772A1 (en) * | 2014-05-14 | 2015-11-19 | Yaskawa America, Inc. | Method, apparatus, and medium for programming industrial robot |
US10416760B2 (en) * | 2014-07-25 | 2019-09-17 | Microsoft Technology Licensing, Llc | Gaze-based object placement within a virtual reality environment |
US10725297B2 (en) * | 2015-01-28 | 2020-07-28 | CCP hf. | Method and system for implementing a virtual representation of a physical environment using a virtual reality environment |
US9880553B1 (en) * | 2015-04-28 | 2018-01-30 | Hrl Laboratories, Llc | System and method for robot supervisory control with an augmented reality user interface |
JP6676286B2 (ja) * | 2015-05-12 | 2020-04-08 | キヤノン株式会社 | 情報処理方法、および情報処理装置 |
US9687982B1 (en) * | 2015-05-27 | 2017-06-27 | X Development Llc | Adapting programming of a robot and/or control of the robot based on one or more parameters of an end effector of the robot |
US10730180B2 (en) * | 2015-05-29 | 2020-08-04 | Abb Schweiz Ag | User interface for a teleoperated robot |
US10788836B2 (en) * | 2016-02-29 | 2020-09-29 | AI Incorporated | Obstacle recognition method for autonomous robots |
US9671777B1 (en) | 2016-06-21 | 2017-06-06 | TruPhysics GmbH | Training robots to execute actions in physics-based virtual environment |
US10242476B2 (en) * | 2017-05-31 | 2019-03-26 | Verizon Patent and Licensong Inc. | Methods and systems for dynamically representing, within a virtual reality data stream being presented to a user, a proxy object that corresponds to an object in the real-world environment of the user |
US10610303B2 (en) * | 2017-06-29 | 2020-04-07 | Verb Surgical Inc. | Virtual reality laparoscopic tools |
US10562181B2 (en) * | 2017-07-03 | 2020-02-18 | X Development Llc | Determining and utilizing corrections to robot actions |
JP7187765B2 (ja) * | 2017-07-24 | 2022-12-13 | セイコーエプソン株式会社 | ロボット制御装置 |
US10913154B2 (en) | 2018-01-02 | 2021-02-09 | General Electric Company | Systems and method for robotic learning of industrial tasks based on human demonstration |
EP3566824B1 (en) * | 2018-05-11 | 2023-06-28 | Siemens Aktiengesellschaft | Method, apparatus, computer-readable storage media and a computer program for robotic programming |
US10678264B2 (en) * | 2018-10-10 | 2020-06-09 | Midea Group Co., Ltd. | Method and system for providing remote robotic control |
-
2019
- 2019-11-22 US US16/692,272 patent/US11262887B2/en active Active
-
2020
- 2020-08-20 KR KR1020227012319A patent/KR102554815B1/ko active IP Right Grant
- 2020-08-20 WO PCT/US2020/047132 patent/WO2021050232A1/en unknown
- 2020-08-20 JP JP2022516078A patent/JP7326595B2/ja active Active
- 2020-08-20 EP EP20768148.7A patent/EP4027930A1/en active Pending
- 2020-08-20 CN CN202080063749.4A patent/CN114364497A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160257000A1 (en) * | 2015-03-04 | 2016-09-08 | The Johns Hopkins University | Robot control, training and collaboration in an immersive virtual reality environment |
JP2018015857A (ja) * | 2016-07-29 | 2018-02-01 | セイコーエプソン株式会社 | 制御装置、及びロボット |
Also Published As
Publication number | Publication date |
---|---|
US11262887B2 (en) | 2022-03-01 |
JP7326595B2 (ja) | 2023-08-15 |
KR20220108761A (ko) | 2022-08-03 |
JP2022538370A (ja) | 2022-09-01 |
WO2021050232A1 (en) | 2021-03-18 |
US20210081081A1 (en) | 2021-03-18 |
CN114364497A (zh) | 2022-04-15 |
EP4027930A1 (en) | 2022-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102554815B1 (ko) | 로봇 태스크에 힘 벡터를 할당하기 위한 방법 및 시스템 | |
US9789612B2 (en) | Remotely operating a mobile robot | |
KR102619004B1 (ko) | 로봇 장치 및 로봇의 작업 기술을 학습하는 방법 | |
CN109551476B (zh) | 结合云服务系统的机器人系统 | |
US9002517B2 (en) | Telematic interface with directional translation | |
KR102329067B1 (ko) | 원격 제어 가능 로봇에 로봇 작동 제한사항을 제공하는 방법 및 시스템 | |
US11279036B2 (en) | Methods and systems for implementing customized motions based on individual profiles for identified users | |
CN110023866A (zh) | 用于自主导航中的动态路线规划的系统和方法 | |
EP3585569B1 (en) | Systems, apparatus, and methods for robotic learning and execution of skills | |
CN114728413A (zh) | 用于控制远程机器人的图形用户界面的方法和系统 | |
US11192253B2 (en) | Systems and methods for conditional robotic teleoperation | |
KR20230138487A (ko) | 객체 기반 로봇 제어 | |
GB2598345A (en) | Remote operation of robotic systems | |
Quesada et al. | Holo-SpoK: Affordance-aware augmented reality control of legged manipulators | |
Materna et al. | Teleoperating assistive robots: a novel user interface relying on semi-autonomy and 3D environment mapping | |
Donohoe et al. | Mechatronic implementation of a force optimal underconstrained planar cable robot | |
WO2021049147A1 (ja) | 情報処理装置、情報処理方法、情報処理プログラム及び制御装置 | |
CN112384335A (zh) | 用于一个或多个机器人的自然任务分配的系统和方法 | |
US20210023716A1 (en) | Methods and systems for automatically annotating items by robots | |
Jiménez et al. | Autonomous object manipulation and transportation using a mobile service robot equipped with an RGB-D and LiDAR sensor | |
Raja et al. | Real time navigation of a mobile robot | |
Kraus | Sensory feedback implementation for a teleoperated, master-slave robotic manipulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |