KR20230171962A - 로봇 자율성 개발을 위한 시스템, 장치 및 방법 - Google Patents

로봇 자율성 개발을 위한 시스템, 장치 및 방법 Download PDF

Info

Publication number
KR20230171962A
KR20230171962A KR1020237038800A KR20237038800A KR20230171962A KR 20230171962 A KR20230171962 A KR 20230171962A KR 1020237038800 A KR1020237038800 A KR 1020237038800A KR 20237038800 A KR20237038800 A KR 20237038800A KR 20230171962 A KR20230171962 A KR 20230171962A
Authority
KR
South Korea
Prior art keywords
robot
candidate
instructions
processor
data
Prior art date
Application number
KR1020237038800A
Other languages
English (en)
Inventor
조르디 로즈
Original Assignee
생츄어리 코그니티브 시스템즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 생츄어리 코그니티브 시스템즈 코포레이션 filed Critical 생츄어리 코그니티브 시스템즈 코포레이션
Publication of KR20230171962A publication Critical patent/KR20230171962A/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40195Tele-operation, computer assisted manual operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot

Landscapes

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

Abstract

로봇의 작동 방법에 있어서, 상기 로봇은 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하고 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집한다. 상기 로봇은 상기 로봇에 통신 가능하게 연결되어 있는 원격 작동 시스템에 명령어들에 대한 요청을 전송한다. 상기 명령어들에 대한 요청은 각각의 후보 동작 및 대응하는 각각의 세트의 보조 데이터를 포함한다. 상기 로봇은 상기 원격 작동 시스템으로부터 상기 명령어들을 수신하고 상기 명령어들을 실행한다. 상기 로봇은 상기 로봇의 자율성 수준을 증가시키도록 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트한다. 상기 로봇은 상기 로봇이 목표의 추진에서 수행해야 할 후보 동작을 선택할 수 없다고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송할 수 있다.

Description

로봇 자율성 개발을 위한 시스템, 장치 및 방법
본 시스템, 장치 및 방법은 일반적으로 말하면 로봇 공학에 관한 것이며, 구체적으로 말하면 적어도 반-자율적으로 작동하도록 로봇을 훈련 시키는 것에 관한 것이다.
로봇은 인간을 보조하거나 인간을 대신할 수 있는 기계이다. 로봇은 건설, 제조, 모니터링, 탐사, 학습 및 엔터테인먼트를 포함한 다양한 애플리케이션에서 사용될 수 있다. 예를 들어, 로봇은 위험하거나 사람이 살 수 없는 환경에서 사용될 수 있다.
일부 로봇은 사용자 입력을 요구하며 사람에 의해 작동될 수 있다. 다른 로봇은 어느 정도의 자율성을 지니고 있으며 적어도 일부 상황에서는 사람의 개입 없이 작동 가능하다. 일부 자율 로봇은 인간의 행동을 모방하도록 설계되어 있다. 자율 로봇은, 오퍼레이터(operator)의 개입 없이 장시간 작업하기 위해, 작동 환경 내에서 탐색(navigation)하기 위해, 그리고/또는 변화하는 상황에 적응하기 위해 로봇이 필요한 애플리케이션에서 특히 유용할 수 있다.
로봇에 의해 수행되는 로봇의 작동 방법은 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 단계, 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집하는 단계 - 상기 보조 데이터는 원격 작동 시스템에 명령어들에 대한 요청을 전송하는 것이고, 상기 원격 작동 시스템은 로봇에 통신 가능하게 연결되어 있으며, 상기 명령어들에 대한 요청은 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 보조 데이터를 포함함 -, 원격 작동 시스템으로부터의 명령어들을 수신하는 단계, 상기 명령어들을 실행하는 단계, 및 로봇의 자율성 수준을 증가시키도록 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 기초하여 제어 모델을 업데이트하는 단계를 포함하는 것으로 요약될 수 있다.
일부 구현 예들에서, 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것은 이벤트 또는 조건 중 적어도 하나를 검출함에 응답하여 한 세트의 후보 동작들을 식별하는 것을 포함한다. 이벤트 또는 조건 중 적어도 하나를 검출함에 응답하여 한 세트의 후보 동작들을 식별하는 것은 외부 이벤트 또는 외부 조건 중 적어도 하나를 검출함에 응답하여 한 세트의 후보 동작들을 식별하는 것을 포함할 수 있다. 일부 구현 예들에서, 상기 로봇은 하나 이상의 센서들을 포함하고, 외부 이벤트 또는 외부 조건 중 적어도 하나를 검출함에 응답하여 한 세트의 후보 동작들을 식별하는 것은 상기 하나 이상의 센서들에 의해 외부 이벤트 또는 외부 조건 중 적어도 하나를 감지하는 것을 포함한다.
일부 구현 예들에서, 상기 로봇의 작동 방법은 상기 로봇에 의해 완수하게 될 목표를 수신하는 단계를 더 포함하며, 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것은 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것을 포함한다. 상기 로봇에 의해 완수하게 될 목표를 수신하는 것은 원격 작동 시스템으로부터 목표를 수신하는 것을 포함할 수 있다. 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것을 포함할 수 있다.
일부 구현 예들에서, 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇이 목표의 추진에서 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것을 포함한다.
일부 구현 예들에서, 상기 로봇의 작동 방법은 상기 한 세트의 후보 동작들 중 각각의 후보 동작을 점수화(scoring)하는 단계를 더 포함하고, 상기 한 세트의 후보 동작들 중 각각의 후보 동작을 점수화하는 것은 각각의 후보 동작에 대응하는 확률을 할당하는 것을 포함하고, 상기 대응하는 확률은 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황에 대응하는 기대치에 적어도 부분적으로 기초하여 이루어진다. 일부 구현 예들에서, 상기 로봇의 작동 방법은 선호 순서로 각각의 후보 동작의 순위를 매기는 단계를 더 포함하며, 상기 선호 순서는 각각의 후보 동작의 대응하는 확률에 적어도 부분적으로 기초하여 이루어진다. 일부 구현 예들에서, 상기 로봇의 작동 방법은 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 각각의 후보 동작의 대응하는 확률 및 상기 선호 순위 중 적어도 하나를 사용하는 단계를 더 포함한다.
일부 구현 예들에서, 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 각각의 명령어가 대응하는 확률 및 선호 순서를 포함하는 명령어들의 요청을 전송하는 것을 포함한다. 일부 구현 예들에서, 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 각각의 후보 동작의 대응하는 확률과 선호 순서 중 적어도 하나를 사용하는 것은 대응하는 확률이 사전에 결정된 확률 평가기준을 충족하는지를 결정하는 것을 포함한다. 일부 구현 예들에서, 대응하는 확률이 사전에 결정된 확률 평가기준을 충족하는지를 결정하는 것은 대응하는 확률이 사전에 결정된 확률 임계값을 초과하는지를 결정하는 것을 포함한다. 일부 구현 예들에서, 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 각각의 후보 동작의 대응하는 확률 및 선호 순서 중 적어도 하나를 사용하는 것은 제1의 대응하는 확률 및 제2의 대응하는 확률 간의 차이가 사전에 결정된 차이 평가기준을 충족하는지를 결정하는 것을 포함한다.
일부 구현 예들에서, 상기 로봇은 자율성 수준을 특징으로 하는 반-자율 로봇이고, 상기 자율성 수준은 제어 모델에 의해 적어도 부분적으로 결정되며, 상기 로봇의 작동 방법은 상기 로봇의 자율성 수준을 자율성 수준 임계값과 비교하는 단계를 더 포함하며, 자율성 수준 임계값 이상에서는 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 자율적으로 선택하도록 작동 가능하고, 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것을 포함한다.
일부 구현 예들에서, 상기 로봇의 작동 방법은 상기 로봇의 자율성 수준이 자율성 수준 임계값을 충족하거나 이를 초과한다고 결정함에 응답하여, 상기 한 세트의 후보 동작들 중 한 후보 동작을 수행하는 단계를 더 포함한다. 일부 구현 예들에서, 상기 로봇의 작동 방법은 자율성 수준 임계값을 결정하는 단계를 더 포함한다.
일부 구현 예들에서, 상기 로봇의 작동 방법은 상기 로봇에 의해 완수하게 될 목표를 수신하는 단계를 더 포함하며, 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것은 상기 목표의 추진에서 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것을 포함한다. 상기 로봇에 의해 완수하게 될 목표를 수신하는 것은 원격 작동 시스템으로부터 상기 목표를 수신하는 것을 포함할 수 있다.
일부 구현 예들에서, 상기 로봇의 작동 방법은 자율성 수준 임계값을 결정하는 단계를 더 포함하고, 자율성 수준 임계값을 결정하는 것은 각각의 후보 동작에 대응하는 확률을 할당하는 것을 포함하며, 상기 대응하는 확률은 상기 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황에 대응하는 기대치에 적어도 부분적으로 기초하여 이루어진다. 일부 구현 예들에서, 상기 로봇의 작동 방법은 선호 순위로 행동을 각각의 후보 동작의 순위를 매기는 단계를 더 포함하며, 상기 선호 순서는 상기 대응하는 확률에 적어도 부분적으로 기초하여 이루어진다. 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정하는 것은 한 세트의 후보 동작들 내 각각의 후보 동작의 대응하는 확률이 적어도 하나의 사전에 결정된 평가기준을 만족하지 못한다고 결정하는 것을 포함할 수 있다.
일부 구현 예들에서, 상기 로봇은 하나 이상의 센서들 및 데이터 레포지토리(data repository)를 포함하고, 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집하는 것은 상기 하나 이상의 센서들에 의해 상기 대응하는 한 세트의 보조 데이터의 제1 부분집합을 수집하는 것 또는 상기 데이터 레포지토리로부터 상기 대응하는 한 세트의 보조 데이터의 제2 부분집합을 추출하는 것 중의 적어도 하나를 포함한다. 상기 하나 이상의 센서들에 의해 상기 대응하는 한 세트의 보조 데이터의 부분집합을 수집하는 것은 오디오, 이미지, 비디오 또는 환경 데이터 중 적어도 하나를 수집하는 것을 포함할 수 있다.
일부 구현 예들에서, 상기 로봇은 통신 서브시스템을 포함하고, 명령어들에 대한 요청을 원격 작동 시스템에 전송하고 상기 명령어들을 원격 작동 시스템으로부터 수신하는 것은 통신 서브시스템에 의해 명령어들에 대한 요청을 전송하고 통신 시스템에 의해 상기 명령어들을 수신하는 것을 포함한다.
일부 구현 예들에서, 상기 로봇은 컨트롤러를 포함하며, 상기 명령어들을 실행하고 제어 모델을 업데이트하는 것은 컨트롤러에 의해 상기 명령어들을 실행하고 컨트롤러에 의해 제어 모델을 업데이트하는 것을 포함한다.
명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 명령어들에 대한 요청을 유인(有人)식 원격 작동 시스템에 전송하는 것을 포함할 수 있다. 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇에 대해 원격 위치에 있는 원격 작동 시스템에 명령어들에 대한 요청을 전송하는 것을 포함할 수 있다. 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 명령어들에 대한 요청을 데이터 네트워크를 통해 원격 작동 시스템에 전송하는 것을 포함할 수 있다. 상기 데이터 네트워크는 무선 데이터 네트워크일 수 있다.
명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇이 어느 후보 동작을 수행해야 하는지를 결정하도록 하는 요청을 원격 작동 시스템에 전송하는 것을 포함할 수 있다. 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 대기 모드에 진입하는 것을 포함할 수 있다.
상기 명령어들을 실행하는 것은 상기 한 세트의 후보 동작들 중 적어도 하나의 후보 동작을 호출하는 것을 포함할 수 있다. 일부 구현 예들에서, 상기 로봇은 모션 액추에이터(motion actuator)를 포함하고, 상기 한 세트의 후보 동작들 중 적어도 하나의 후보 동작을 호출하는 것은 상기 모션 액추에이터에 의해 상기 로봇이 움직임을 실행하게 하는 것을 포함한다. 상기 명령어들을 실행하는 것은 상기 로봇에 의해 수행될 수 있는 하나 이상의 보조 동작들을 식별하는 것을 포함할 수 있다.
일부 구현 예들에서, 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 것은 상기 로봇의 자율성 수준을 제1 자율성 수준으로부터 제2 자율성 수준으로 증가시키는 것을 포함하며, 상기 제2 자율성 수준은 상기 제1 자율성 수준보다 높다. 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 것은 제어 명령어들, 제어 데이터 또는 제어 매개변수들 중 적어도 하나를 업데이트하는 것을 포함할 수 있다. 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 것은 구성 설정, 제어 방법, 정책, 절차, 분류자, 또는 규칙 중 적어도 하나를 업데이트하는 것을 포함할 수 있다.
로봇은 몸체, 적어도 하나의 프로세서를 포함하는 컨트롤러, 상기 몸체에 기계적으로 연결되고 상기 컨트롤러에 통신 가능하게 연결된 적어도 하나의 물리적으로 작동 가능한 구성요소, 상기 컨트롤러에 통신 가능하게 연결된 적어도 하나의 센서로서, 데이터를 수집하도록 작동 가능한 적어도 하나의 센서, 및 상기 적어도 하나의 프로세서에 통신가능하게 연결된 적어도 하나의 비-일시적 프로세서-판독가능 저장 매체를 포함하는 것으로 요약될 수 있으며, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 프로세서-실행가능 명령어들 및/또는 데이터를 저장하고, 상기 프로세서-실행가능 명령어들 및/또는 데이터는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 로봇이 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 동작, 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집하는 동작, 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작 - 상기 원격 작동 시스템은 상기 로봇에 통신 가능하게 연결되며, 상기 명령어들의 요청은 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 보조 데이터를 포함함 -, 상기 원격 작동 시스템으로부터 상기 명령어들을 수신하는 동작, 및 상기 로봇의 자율성 수준을 증가시키도록 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 동작을 수행하게 한다.
상기 로봇은 휴머노이드 로봇(humanoid robot)일 수 있고, 상기 몸체는 인간 몸체의 형태를 지닐 수 있다. 상기 적어도 하나의 물리적으로 작동 가능한 구성요소는 모션 액추에이터를 포함할 수 있다. 상기 적어도 하나의 센서는 오디오, 이미지, 비디오 또는 환경 데이터 중 적어도 하나를 수집하도록 작동 가능할 수 있다.
일부 구현 예들에서, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 적어도 하나의 센서에 의해 이벤트 또는 조건 중 적어도 하나를 검출하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장하며, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 이벤트 또는 조건 중 적어도 하나를 검출함에 응답하여 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하게 하는 동작을 추가로 수행하게 한다.
일부 구현 예들에서, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 원격 작동 시스템으로부터 수신되며 상기 로봇에 의해 완수하게 될 목표를 수신하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장하며, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 목표의 추진에서 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 동작을 추가로 수행하게 한다.
일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 상기 로봇이 명령어들에 대한 요청을 상기 원격 작동 시스템에 전송하는 동작을 추가로 수행하게 한다. 일부 구현 예들에서, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대응하는 확률을 할당함으로써 상기 한 세트의 후보 동작들의 각각의 후보 동작을 점수화하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장하며, 상기 대응하는 확률은 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황에 대응하는 기대치에 적어도 부분적으로 기초하여 이루어진다. 일부 구현 예들에서, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 선호 순서로 각각의 후보 동작의 순위를 매기는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장하며, 상기 선호 순위는 각각의 후보 동작의 대응하는 확률에 적어도 부분적으로 기초하여 이루어진다.
일부 구현 예들에서, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 상기 로봇이 각각의 후보 동작의 대응하는 확률 및 선호 순서 중 적어도 하나를 사용하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장한다. 일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 상기 로봇이 각각의 후보 동작의 대응하는 확률과 선호 순서 중 적어도 하나를 사용하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 대응하는 확률이 사전에 결정된 확률 평가기준을 충족하는지를 결장하는 동작을 추가로 수행하게 한다. 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 상기 로봇이 각각의 후보 동작의 대응하는 확률 및 선호 순서 중 적어도 하나를 사용하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 제1의 대응하는 확률과 제2의 대응하는 확률 간의 차이가 사전에 결정된 차이 평가기준을 충족하는지를 결정하는 동작을 추가로 수행하게 할 수 있다.
일부 구현 예들에서, 상기 로봇은 자율성 수준을 특징으로 하는 반-자율 로봇이고, 상기 자율성 수준은 제어 모델에 의해 적어도 부분적으로 결정되며, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 로봇의 자율성 수준을 자율성 수준 임계값과 비교하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장하며, 자율성 수준 임계값 이상에서는 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 자율적으로 선택하도록 작동 가능하고, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들은 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정함에 응답하여 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 추가로 수행하게 한다.
일부 구현 예들에서, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇의 자율성 수준이 자율성 수준 임계값을 충족하거나 초과한다고 결정함에 응답하여 상기 로봇이 상기 한 세트의 후보 동작들 중 한 후보 동작을 수행하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장한다.
일부 구현 예들에서, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 자율성 수준 임계값을 결정하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장한다. 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 자율성 수준 임계값을 결정하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 각각의 후보 동작에 대응하는 확률을 할당하는 동작을 추가로 수행하게 할 수 있으며, 상기 대응하는 확률은 상기 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황에 대응하는 기대치에 적어도 부분적으로 기초하여 이루어진다. 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 선호 순위로 각각의 후보 동작의 순위를 매기는 동작을 수행하게 할 수 있는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장하며, 상기 선호 순서는 상기 대응하는 확률에 적어도 부분적으로 기초하여 이루어진다. 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작의 대응하는 확률이 적어도 하나의 평가기준을 충족하지 못한다고 결정하는 동작을 추가로 수행하게 할 수 있다.
일부 구현 예들에서, 상기 로봇은 데이터 레포지토리를 더 포함하고, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 하나 이상의 센서들에 의해 대응하는 한 세트의 보조 데이터의 제1 부분집합을 수집하는 동작, 및/또는 상기 데이터 레포지토리로부터 대응하는 한 세트의 보조 데이터의 제2 부분집합을 추출하는 동작을 추가로 수행하게 한다.
일부 구현 예들에서, 상기 로봇은 통신 서브시스템을 더 포함하고, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 통신 서브시스템에 의해 명령어들에 대한 요청을 전송하는 동작, 및 상기 통신 서브시스템에 의해 상기 명령어들을 수신하는 동작을 추가로 수행하게 한다.
상기 원격 작동 시스템은 유인(有人)식 원격 작동 시스템일 수 있다. 상기 원격 작동 시스템은 상기 로봇에 대해 원격 위치에 있을 수 있다.
일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 또한 상기 로봇이 명령어들에 대한 요청을 데이터 네트워크를 통해 상기 원격 작동 시스템에 전송하는 동작을 추가로 수행하게 한다.
일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 대기 모드(standby mode)에 진입하는 동작을 추가로 수행하게 한다.
일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들을 실행하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 한 세트의 후보 동작들 중 적어도 하나의 후보 동작을 호출하는 동작을 추가로 수행하게 한다. 상기 적어도 하나의 물리적으로 작동 가능한 구성요소는 모션 액추에이터를 포함할 수 있으며, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들 중 적어도 하나의 후보 동작을 호출하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 모션 액추에이터에 의해 움직임을 실행하는 동작을 추가로 수행하게 할 수 있다.
일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 명령어들을 실행하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 로봇에 의해 수행될 수 있는 하나 이상의 보조 동작들을 식별하는 동작을 추가로 수행하게 한다.
일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 제어 모델을 업데이트하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 로봇의 자율성 수준을 제1 자율성 수준으로부터 제2 자율성 수준으로 증가시키는 동작을 추가로 수행하게 하며, 상기 제2 자율성 수준은 상기 제1 자율성 수준보다 높다.
일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 제어 명령어들, 제어 데이터 또는 제어 매개변수들 중 적어도 하나를 업데이트하는 동작을 추가로 수행하게 한다.
일부 구현 예들에서, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 구성 설정, 제어 방법, 정책, 절차, 분류자 또는 규칙 중 적어도 하나를 업데이트하는 동작을 추가로 수행하게 한다.
로봇에 통신 가능하게 연결된 원격 작동 시스템에 의해 수행되는 로봇의 원격 작동 방법은 상기 로봇에 목표를 전송함으로써 상기 로봇을 초기화하는 단계, 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 단계 - 상기 명령어들에 대한 요청은 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들, 및 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 포함함 -, 각각의 후보 동작이 상기 로봇에 의해 실행되는 경우 각각의 후보 동작이 상기 목표의 추진으로 이어지게 될 대응하는 상대적인 공산(likelihood)을 결정하도록 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 보조 데이터를 분석하는 단계, 및 상기 로봇의 자율성 수준을 증가시키도록 각각의 대응하는 상대적인 공산에 적어도 부분적으로 기초하여 상기 로봇에 명령어들을 전송하는 단계를 포함하는 것으로 요약될 수 있다.
일부 구현 예들에서, 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 상기 목표의 추진에서 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 상기 로봇으로부터 수신하는 것을 포함한다. 일부 구현 예들에서, 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것을 포함한다. 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대한 대응하는 점수를 수신하는 것을 포함할 수 있으며, 상기 대응하는 점수는 각각의 후보 동작에 대한 대응하는 확률을 포함하고, 상기 대응하는 확률은 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황의 기대치에 적어도 부분적으로 기초하여 이루어진다. 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 선호 순서를 수신하는 것을 더 포함할 수 있으며, 상기 선호 순서는 각각의 후보 동작의 대응하는 확률에 적어도 부분적으로 기초하여 이루어진다. 상기 한 세트의 후보 동작들의 각각의 후보 동작과 대응하는 각각의 세트의 보조 데이터를 분석하는 것은 각각의 후보 동작이 상기 로봇에 의해 수행되는 경우 각각의 후보 동작이 상기 목표의 추진으로 이어지게 될 대응하는 상대적인 공산을 결정하도록 각각의 후보 동작의 대응하는 점수를 분석하는 것을 포함할 수 있다.
일부 구현 예들에서, 상기 로봇의 원격 작동 방법은 각각의 후보 동작의 대응하는 점수에 적어도 부분적으로 기초하여 상기 원격 작동 시스템의 기계 학습 모델 또는 기계 학습 프로세스 중 적어도 하나를 업데이트하는 단계를 더 포함할 수 있다.
일부 구현 예들에서, 상기 로봇은 자율성 수준을 특징으로 하는 반-자율 로봇이고, 상기 자율성 수준은 제어 모델에 의해 적어도 부분적으로 결정된다. 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정함에 응답하여 명령어들에 대한 요청을 수신하는 것을 포함할 수 있다. 상기 자율성 수준 임계값은 상기 자율성 수준 임계값 이상에서 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 자율적으로 선택하도록 작동할 수 있는 자율성 수준이다.
일부 구현 예들에서, 각각의 후보 동작이 상기 로봇에 의해 수행될 경우 각각의 후보 동작이 상기 목표의 추진으로 이어지게 될 대응하는 상대적인 공산을 결정하도록 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 데이터를 분석하는 것은 각각의 후보 동작이 상기 로봇에 의해 수행될 경우 각각의 후보 동작이 상기 목표의 추진으로 이어지게 될 대응하는 상대적인 공산을 결정하도록 상기 한 세트의 후보 동작들 중 적어도 한 부분집합 및 대응하는 각각의 세트의 보조 데이터 각각을 파일럿(pilot)에 의해 분석하는 것을 포함한다.
일부 구현 예들에서, 상기 로봇의 자율성 수준을 증가시키도록 각각의 대응하는 상대적인 공산에 적어도 부분적으로 기초하여 상기 로봇에 명령어들을 전송하는 것은 상기 로봇이 제어 모델을 업데이트하는 동작을 수행하게 하도록 상기 로봇에 명령어들을 전송하는 것을 포함한다. 상기 로봇이 제어 모델을 업데이트하는 동작을 수행하게 하도록 상기 로봇에 명령어들을 전송하는 것은 상기 로봇이 제어 명령어들, 제어 데이터 또는 제어 매개변수들 중 적어도 하나를 업데이트하는 동작을 수행하게 하도록 상기 로봇에 명령어들을 전송하는 것을 포함할 수 있다.
도면들에 나타나 있는 다양한 요소와 작용은 상세한 설명을 뒷받침하기 위한 예시의 목적으로 제공된다. 특정 문맥에서 달리 요구하지 않는 한, 예시된 요소와 작용의 크기, 형상 및 상대적 위치는 반드시 일정한 비율로 도시된 것이 아니며 반드시 정보나 제한을 전달하려고 의도된 것도 아니다. 일반적으로 유사한 요소나 작용을 식별하기 위해 동일한 참조번호가 사용된다.
도 1은 본 시스템, 장치 및 방법에 따른 원격 작동식 반-자율 로봇의 자율성 수준을 향상시키기 위한 시스템의 블록도이다.
도 2는 본 시스템, 장치 및 방법에 따른 원격 작동식 반-자율 로봇의 블록도이다.
도 3a는 본 시스템, 장치 및 방법에 따른 원격 작동식 반-자율 로봇(예를 들어, 도 2의 원격 작동형 반-자율 로봇)의 한 대표적인 작동 방법의 흐름도이다.
도 3b는 본 시스템, 장치 및 방법에 따른, 원격 작동식 로봇(예를 들어, 도 2의 원격 작동식 반-자율 로봇)이 바람직한 동작 고정을 선택할 수 있는지를 결정하는 한 대표적인 방법의 흐름도이다.
도 4는 본 시스템, 장치 및 방법에 따른, 원격 작동식 반-자율 로봇(예를 들어, 도 2의 원격 작동식 반-자율 로봇)의 자율성을 개발하기 위한 시스템의 한 대표적인 구현 예의 데이터 흐름도이다.
도 5는 본 시스템, 장치 및 방법에 따른, 로봇(예를 들어, 도 2의 원격 작동식 반-자율 로봇)을 원격 작동시키는 한 대표적인 방법의 흐름도이다.
이하의 설명은 본 시스템, 장치 및 방법의 다양한 구현 및 실시 예를 예시하고 이를 이해하기 위해 특정한 세부사항을 제시한다. 당업자라면 이해하겠지만, 여기에 설명되어 있는 특정한 세부사항 중 일부는 대안적인 구현 및 실시 예에서 생략 또는 수정될 수 있으며 여기에 설명되어 있는 다양한 구현 및 실시 예는 추가의 구현 및 실시 예를 생성하기 위해 서로 그리고/또는 다른 방법, 구성요소, 소재 등과 조합될 수 있다.
일부 경우에, 컴퓨터 시스템 및 데이터 처리에 연관된 공지된 구조 및/또는 프로세스는 구현 및 실시 예의 설명을 불필요하게 복잡하게 하거나 모호하게 하는 것을 회피하기 위해 구체적으로 도시되거나 제공되지는 않는다.
특정 문맥에서 달리 요구하지 않는 한, 본 명세서 및 첨부된 청구범위 전반에 걸쳐 용어 "...을 포함하다" 및 "...을 포함하다" 및 "...을 포함하는")과 같은 그의 변형은 "...을 포함하지만 ...에 국한되지 않음"을 의미하도록 개방적이고 포괄적인 의미로 사용된다.
특정 문맥에서 달리 요구하지 않는 한, 본 명세서 및 첨부된 청구범위 전반에 걸쳐 단수형 "a", "an" 및 "the"는 복수형을 포함한다. 예를 들어, "일 실시 예" 및 상기 "실시 예"에 대한 언급은 각각 "실시 예들" 및 "상기 실시 예들"을 포함하고, "구현 예" 및 "상기 구현 예"에 대한 언급은 각각 "구현 예들" 및 "상기 구현 예들"을 포함한다. 마찬가지로, 용어 "또는"은 일반적으로 특정 문맥에서 달리 명시하지 않는 한 "및/또는"을 의미하는 가장 넓은 의미로 이용된다.
본 개시내용의 제목과 요약은 편의를 위해서만 제공된 것이며, 본 시스템, 장치 및 방법의 범위 또는 의미를 해석하도록 의도된 것이 아니며 이해되어서는 아니 된다.
여기에 설명되어 있는 다양한 실시 예는 로봇 자율성을 개발하기 위한 시스템, 장치 및 방법을 제공한다. 로봇 자율성을 개발하는 것은 로봇 작동에 자율성을 도입하는 것을 포함할 수 있다. 로봇 자율성을 개발하는 것은 반-자율 로봇의 자율성 수준을 증가시키는 것을 포함할 수 있다.
본원에서, 자동화 시스템은 이미 공지된 잘 이해된 매개변수들을 사용하여 한 세트의 특정 태스크들을 수행하도록 작동 가능한 시스템을 언급한다. 자동화 시스템은 일반적으로 하나 이상의 특정 기능들을 반복적이고 효율적인 방식으로 수행하도록 구축된다. 일반적으로 자동화 기능들은 인간 운영자나 보조 시스템의 개입이 거의 또는 전혀 없이 수행될 수 있다. 예를 들어, 자동화 시스템에 의해 내려진 결정은 사전에 정의된 휴리스틱(heuristic)에 기초하여 이루어질 수 있다.
본원에서, 자율 시스템은 환경을 분석하고 때로는 변화하고 잠재적으로 불특정한 환경에서 바람직한 동작 과정을 결정할 수 있는 시스템을 언급한다. 자율 시스템은 적어도 부분적으로 자치적, 지능적, 지각적 및/또는 자기 인식적 기능을 지닐 수 있다. 본원에서 반-자율 시스템은 본원에서 적어도 일부 경우들에 따라 그리고/또는 적어도 일부 이벤트들 또는 조건들에 응답하여 바람직한 동작 과정을 결정할 수도 있고 그렇지 않을 수도 있는 시스템을 언급한다.
로봇은 자동식일 수도 있고 반-자율식일 수도 있으며 완전 자율식일 수 있다. 실제로 자율식 또는 반-자율식 시스템은 전형적으로 어느 정도 자동화되어 있고, 다시 말하면 개입 없이 특정 기능들을 수행할 수 있다.
휴머노이드 로봇(humanoid robot)은 인간의 속성을 지니는 로봇이다. 상기 속성은 체형(body shape)과 같은 신체적 속성 및/또는 공감(empathy)과 같은 행동 속성(behavioral attribute)일 수 있다. 예를 들어 휴머노이드 로봇의 자동화 기능에는 팔다리의 사용 및 제어가 포함될 수 있다.
본원에서 로봇의 자율성은 도움 없이 결정을 내릴 수 있는 능력과 역동적인 환경을 학습하고 그에 적응하는 능력을 언급한다. 로봇이 직면하는 이벤트들과 조건들은 로봇이 처음 배치되었을 때 예상했던 범위를 벗어날 수 있다. 이벤트들과 조건들은 상기 로봇의 결정 포인트들을 구성할 수 있다.
본원에서 로봇의 자율성 수준은 이벤트들 및 조건들에 응답하여 작용하고 행동하는 방식에서 로봇의 독립성 정도를 언급한다. 자율성 수준은 순위 척도, 예를 들어 1 내지 6, 또는 A 내지 F의 순위 척도로 표현될 수 있다. 본원에서 반-자율 로봇은 다른 시스템이나 인간 운영자에 의해 실시간으로 지시받을 필요 없이 적어도 일부 이벤트들 및 조건들에 응답하여 작용하고 행동할 수 있는 로봇을 언급한다. 자율성 수준은 로봇이 결정 포인트에 도달했을 때, 다시 말하면 어떻게 진행해야 할지에 대한 불확실성이 있을 때 결정을 내릴 수 있는 로봇의 능력을 적어도 부분적으로 지시할 수 있다. 본 개시내용에서 완전 자율 로봇은 결정을 내리고 동작을 취하기 위해 사용자나 운영자에 의존하지 않고 작용하고 행동하는 로봇을 의미한다.
반-자율 로봇은 원격 작동식 반-자율 로봇일 수 있다. 본원에서, 원격 작동식 반-자율 로봇은 원격 작동 시스템에 통신 가능하게 연결된 반-자율 로봇이다. 상기 원격 작동 시스템은 한 명 이상의 파일럿(pilot)들에 의해 작동 가능할 수 있다. 예를 들어 한 파일럿은 인간 운영자일 수 있다. 상기 원격 작동 시스템은 상기 로봇으로부터 원격 위치에 있을 수 있다. 상기 파일럿(들)은 상기 로봇 및/또는 상기 원격 작동 시스템으로부터 원격 위치에 있을 수 있다.
반-자율 로봇은 다양한 이벤트와 조건에 노출될수록 더 자율적이 되는 것이 바람직할 수 있다. 로봇의 자율성 수준을 향상시키는 것은 a) 로봇이 스스로 더 많은 결정을 내릴 수 있게 하고, 원격 작동 시스템이나 운영자와 같은 외부 개체의 지시를 덜 받고 동작을 취할 수 있게 하며, b) 로봇이 스스로 더 나은 결정을 내릴 수 있게 하고 지시 없이 더 나은 동작(예컨대, 목표를 향한 더 큰 진전을 제공하는 결정 및 동작)을 취할 수 있게 하며 그리고/또는 c) 원격 작동 로봇 시스템에서 상기 원격 작동 시스템에 의해 상기 로봇에 충당되는 시간 및 자원을 감소할 수 있게 하는 것을 포함한다. 원격 작동식 로봇 시스템에서, 로봇의 자율성 수준을 높이면 원격 파일럿이 더 많은 로봇을 동시에 제어할 수 있는 능력이 향상될 수 있다. 로봇의 자율성 수준을 높이면 결국에는 로봇이 완전 자율성을 지니게 될 수 있다. 로봇의 자율성 수준을 높이면 다양한 태스크와 환경에 대한 적용 가능성이 향상될 수 있고 유효 수명이 연장될 수 있다.
반-자율 로봇의 예는 다양하다. 반-자율 로봇의 한 예는 창고(warehouse)의 물품들을 트럭들에 싣는 기능을 수행하는 로봇이다. 본 예에서, 상기 로봇은 선하 증권(bill of landing)을 수신함에 응답하여, 창고에서 품목들을 찾아 상기 물품들을 트럭에 싣는다. 그러한 목표의 추진에서 상기 로봇은 어떻게 진행해야 할지가 불확실한 상황에 직면할 수 있다. 예를 들어, 상기 로봇은 물품을 집기 위해 상기 물품을 어디서 어떻게 잡아야 하는지, 물품들을 어떤 순서로 수집해야 하는지, 또는 트럭 내 어디에 물품을 놓아야 하는지를 알지 못할 수 있다. 특정 상황에 응답하여, 상기 로봇은 취할 수 있는 다양한 동작을 식별할 수 있지만 인간 운영자 또는 원격 작동 시스템과 같은 보조 시스템의 개입 없이 진행하기에는 자율성이 부족할 수 있다.
본원의 시스템, 장치 및 방법은 상기 로봇의 작동이 예를 들어 원격 작동 시스템의 개입을 덜 필요로 하도록 상기 로봇의 자율성 수준을 증가시킬 수 있다. 상기 로봇이 결정 포인트에 도달하고 진행 방법을 알지 못할 경우 상기 로봇은 원격 작동 시스템에 지원 요청을 보낼 수 있다. 상기 요청에는 한 세트의 후보 동작들(본원에서는 옵션들로서도 언급됨) 및 관련 데이터(예를 들어, 트럭에 적재하게 될 품목의 사진)가 포함될 수 있다.
상기 원격 작동 시스템 및/또는 파일럿은 후보 동작 및 그에 연관된 데이터를 검토하고 동작 과정을 결정하며 상기 로봇에 진행 방법에 대한 명령어들을 보낼 수 있다. 상기 로봇이 트럭에 싣기에는 너무 무거운 품목을 예로 들면, 상기 원격 작동 시스템은 선하 증권으로부터 해당 물품을 삭제하고 다음 물품으로 이동할 것을 상기 로봇에 지시할 수 있다. 상기 원격 작동 시스템에 의해 제공되는 동작 과정을 실행하는 것 외에도, 상기 로봇은 또한 경험을 통해 학습할 수 있으며, 향후 유사한 상황에서 적절한 동작 과정을 자율적으로 결정할 수 있거나 그러한 가능성이 더 높다.
도 1은 본 시스템, 장치 및 방법에 따른, 원격 작동식 반-자율 로봇의 자율성 수준을 향상시키기 위한 시스템(100)의 한 대표적인 구현 예의 블록도이다. 시스템(100)은 3개의 반-자율 로봇(102a, 102b, 102c)(집합적으로 반-자율 로봇(102)으로서 언급됨)을 포함하지만, 당업자라면 대안적인 구현 예들에서 시스템(100)이 3개 미만 또는 3개 초과의 반-자율 로봇을 포함할 수 있음을 이해할 것이다. 반-자율 로봇(102)은 로봇 집단의 구성원일 수 있다.
도 1의 대표적인 구현 예에서, 반-자율 로봇(102a)은 반-자율 로봇(102b)에 통신 가능하게 연결된다. 반-자율 로봇들(102a, 102b)은 유선 및/또는 무선 연결 중 적어도 하나를 통해 그리고/또는 네트워크를 통해 피어-투- 피어 통신(peer-to-peer communication)을 취할 수 있다. 반-자율 로봇(102)은 서로 독립적으로 작동할 수도 있고 서로 협력하여 작동할 수도 있다. 반-자율 로봇(102) 간 피어-투-피어 통신은 반-자율 로봇(102) 간 협력을 촉진할 수 있다. 반-자율 로봇(102)의 대응하는 반-자율 로봇은 서로 다른 대응하는 자율성 수준을 지닐 수 있다.
시스템(100)은 반-자율 로봇(102)에 통신 가능하게 연결된 원격 작동 시스템(104)을 포함한다. 원격 작동 시스템(104)은 유선 및/또는 무선 연결 중 적어도 하나에 의해 다양한 반-자율 로봇(102)에 통신 가능하게 연결될 수 있다. 반-자율 로봇(102)은 테더링(tethering)될 수 있는데, 다시 말하면 테더(tether)에 의해 원격 작동 시스템(104)에 부착될 수 있다. 원격 작동 시스템(104)은 네트워크를 통해 다양한 반-자율 로봇(102)에 통신 가능하게 연결될 수 있다.
다양한 반-자율 로봇(102)은 원격 작동 시스템(104)으로부터 원격 위치에 있을 수 있다. 예를 들어, 원격 작동 시스템(104)은 작동 센터에 위치할 수 있고, 다양한 반-자율 로봇(102)은 상기 작동 센터에서 멀리 배치될 수 있다. 다양한 반-자율 로봇(102)은 위험한 환경, 예를 들어 원격 작동 시스템 또는 인간 운영자에게 적합하지 않은 환경에 배치될 수 있다.
원격 작동 시스템(104)은 2명의 파일럿(106a, 106b)(총체적으로 파일럿(106)으로서 언급됨)에 의해 작동가능할 수 있다. 당업자라면 대안적인 구현 예들에서 원격 작동 시스템(104)이 2명 미만 또는 2명 이상의 파일럿에 의해 작동가능할 수 있음을 이해할 것이다. 도 1의 예시적인 구현 예에서, 파일럿(106a)은 파일럿(106b)에 통신 가능하게 연결된다. 파일럿(106)는 인간 운영자일 수 있다.
일부 구현 예들에서, 원격 작동 시스템(104)은 단일 위치에 있다. 다른 구현 예들에서, 원격 작동 시스템(104)은 분산 시스템이다. 예를 들어, 파일럿(106a) 및/또는 파일럿(106b)은 서로로부터 그리고/또는 원격 작동 시스템(104)의 다른 구성요소들로부터 원격 위치에 있을 수 있다. 원격 작동 시스템(104)의 분산 구성요소들은 유선 및/또는 무선 연결에 의해, 그리고 일부 구현 예들에서는 네트워크를 통해 서로 통신 가능하게 연결될 수 있다. 파일럿(106)은 원격 작동 시스템(104)의 파일럿 인터페이스(108)에 통신 가능하게 연결된다. 파일럿 인터페이스(108)는 디스플레이 인터페이스 및/또는 오디오 스피커를 포함할 수 있다. 파일럿 인터페이스(108)는 데이터 입력용 인터페이스, 예를 들어 키보드, 마우스, 휴대용 컨트롤러, 마이크로폰 및/또는 파일럿(106)에 의해 착용되거나 달리 작동 가능한 다양한 센서(예컨대, 가속도계, 관성 측정 유닛 등)을 포함할 수 있다. 파일럿 인터페이스(108)로는 애플리케이션 프로그래밍 인터페이스(API; application programming interface)가 포함될 수 있다.
원격 작동 시스템(104)은 제어 서브시스템(110)을 포함한다. 제어 서브시스템(110)은 하나 이상의 프로세서들, 예를 들어 하나 이상의 마이크로프로세서들, 중앙 프로세서 유닛(CPU; central processor unit)들, 그래픽 프로세서 유닛(GPU; graphics processor unit)들, 주문형 집적회로(ASIC; application specific integrated circuit)들, 프로그램 가능한 게이트 어레이(PGA; programmable gate array)들, 또는 예를 들어 메모리(예컨대, 비휘발성 메모리, 휘발성 메모리, 판독 전용 메모리, 랜덤 액세스 메모리, 플래시 메모리, 스피닝(spinning) 자기 또는 광학 매체)와 같은 하나 이상의 비-일시적 컴퓨터 또는 프로세서 판독가능 매체에 소프트웨어 또는 펌웨어 명령어들로서 저장된 명령어 형태로 논리를 실행하는 프로그램 가능한 논리 컨트롤러(PLC; programmable logic controller)들을 포함할 수 있다.
원격 작동 시스템(104)은 통신(comms) 서브시스템(112)을 포함한다. 통신 서브시스템(112)은 예를 들어 반-자율 로봇(102)으로부터 명령어들에 대한 요청을 수신하기 위한 수신기, 및 예를 들어 반-자율 로봇(102)에 명령어들을 전송하기 위한 송신기를 포함할 수 있다.
원격 작동 시스템(104)은 또한 데이터 레포지토리(114)를 포함한다. 데이터 레포지토리(114)는 예를 들어 데이터베이스 및/또는 하나 이상의 파일들을 포함할 수 있다. 데이터 레포지토리(114)는 메모리 및/또는 저장 매체를 포함할 수 있다. 일부 구현 예들에서, 데이터 레포지토리(114)는 파일럿 인터페이스(108), 제어 서브시스템(110) 및 통신 서브시스템(112)과 공용하도록 위치한다. 다른 구현 예들에서, 데이터 레포지토리(114)의 적어도 일부는 파일럿 인터페이스(108), 제어 서브시스템(110) 및/또는 통신 서브시스템(112)으로부터 원격 위치에 있다.
데이터 레포지토리(114)는 원격 작동(tele-op) 데이터를 포함한다. 원격 작동 데이터는 반-자율 로봇(102)의 작동에 연관된 제어 명령어, 제어 데이터, 제어 매개변수, 구성 설정, 제어 방법, 정책, 절차, 분류자 및/또는 규칙을 포함할 수 있다. 원격 작동 데이터는 현재 데이터, 예를 들어 현재 위치, 현재 목표, 진행 중인 동작 및/또는 반-자율 로봇(102)의 현재 자율성 수준을 포함할 수 있다. 원격 작동 데이터는 예를 들어 반-자율 로봇(102)으로부터 원격 작동 시스템(104)에 의해 수신된 이전 요청, 원격 작동 시스템(104)에 의해 반-자율 로봇(102)에 제공된 명령어, 및 대응하는 목표의 추진에서 반-자율 로봇(102)에 의해 취해진 이전 동작을 설명하는 이력 데이터를 포함할 수 있다.
일부 구현 예들에서, 원격 작동 시스템(104)은 완전 자율식이며 파일럿(106)의 개입 없이 작동한다. 원격 작동 시스템(104)이 파일럿(106)의 개입 없이 작동할 수 있는 구현 예들에서, 파일럿(106)은 여전히 원격 작동 시스템(104)을 통해 반-자율 로봇(102)을 모니터링하고 필요한 경우 또는 원하는 경우 반-자율 로봇(102)을 제어할 수 있다.
반-자율 로봇(102)은 원격 작동 시스템(104)에 의해, 예컨대 원격 작동 시스템(104)의 파일럿(106)에 의해 원격으로 제어될 수 있다. 앞서 언급한 바와 같이, 반-자율 로봇(102)은 서로 다른 자율성 수준을 지닐 수 있다. 예를 들어, 반-자율 로봇(102a)은 반-자율 로봇(102b)보다 높은 자율성 수준을 지닐 수 있다. 반-자율 로봇(102a)의 작동은 반-자율 로봇(102b)의 작동보다 원격 작동 시스템(104)에 의한 개입을 덜 필요로 할 수 있다.
반-자율 로봇(102) 각각의 작동은 대응하는 목표를 추진하는 것을 포함할 수 있다. 일부 구현 예들에서, 대응하는 목표는 예를 들어 원격 작동 시스템(104)에 의해 또는 이를 통해 설정된다. 다른 구현 예들에서, 반-자율 로봇들 중 적어도 하나의 반-자율 로봇의 목표는 반-자율 로봇 자체에 의해 설정되는 데, 다시 말하면 로봇은 자체의 목표를 설정하기에 충분히 자율적이다. 또 다른 구현 예들에서, 로봇의 목표는 피어-투-피어(peer-to-peer) 통신(예컨대, 반-자율 로봇(102a, 102b) 참조)을 통해 직접적으로 또는 원격 작동 시스템(104)을 통해 간접적으로 또 다른 반-자율 로봇에 의해 설정된다.
도 2는 본 시스템, 장치 및 방법에 따른 원격 작동식 반-자율 로봇(200)의 한 대표적인 구현 예의 블록도이다. 반-자율 로봇(200)은 몸체(214) 내에 수용된 컨트롤러(202), 프로세서(들)(204), 동력 서브시스템(206), 센서(208), 모션 액추에이터(210) 및 통신(comms) 서브시스템(212)을 포함한다. 몸체(214)는 반-자율 로봇(200)의 구성 및/또는 작동에 적합한 구성요소들의 형상, 폼 팩터(form factor), 및/또는 개수를 지닐 수 있다. 일부 구현 예들에서, 반-자율 로봇(200)은 휴머노이드 로봇이고, 몸체(214)는 예를 들어 인간 몸체와 유사하게 만들어질 수 있다. 몸체(214)는 인간 몸체의 형태를 지닐 수 있다.
컨트롤러(202)는 반-자율 로봇(200)의 동작들을 제어할 수 있다. 컨트롤러(202)는 로봇(200)이 동작을 취하게 하기 위해 원격 작동 시스템에 의해 제공되는 명령어들을 실행할 수 있다.
컨트롤러(202)는 반-자율 로봇(200)의 후보 동작들 또는 반-자율 로봇(200)에 대한 후보 동작들을 식별할 수 있다. 후보 동작들은 컨트롤러(202)에 의해 적절한 동작들로서 간주되는 동작들이며, 예를 들어 적어도 부분적으로 목표를 완수할 수 있는 동작들을 포함할 수 있다. 컨트롤러(202)는 명령어들을 실행하는 동안 그리고/또는 목표를 적어도 부분적으로 완수하도록 동작하는 동안 후보 동작들을 식별할 수 있다. 컨트롤러(202)는 후보 동작들의 식별을 개시할 수 있다. 컨트롤러(202)는 이벤트들 및/또는 조건들에 응답하여 후보 동작들을 식별할 수 있다. 상기 이벤트들 및/또는 조건들은 내부 이벤트들 및/또는 조건들, 예를 들어 동력 서브시스템(206)의 낮은 배터리 레벨일 수 있다. 상기 이벤트들 및/또는 조건들은 외부 이벤트들 및/또는 조건들, 다시 말하면 반-자율 로봇(200) 외부의 이벤트들 및/또는 조건들, 예를 들어 다른 한 로봇의 근접성, 또는 사전에 결정된 온도 임계값을 초과하는 주변 온도, 또는 로봇의 외부 환경 내 특정 물체의 존재 여부일 수 있다.
후보 동작들을 식별한 후에, 컨트롤러(202)는 반-자율 로봇(200)이 선호하는 동작 과정을 결정할 수 있는지를 결정할 수 있다. 상기 동작 과정에는 상기 후보 동작들 중 하나 이상의 후보 동작들이 포함될 수 있다. 반-자율 로봇(200)이 선호하는 동작 과정을 결정할 수 있는 경우에, 반-자율 로봇(200)은 상기 후보 동작들 중 하나 이상의 후보 동작들을 실행하게 될 수 있다. 반-자율 로봇(200)이 선호하는 동작 과정을 결정할 수 없는 경우, 반-자율 로봇(200)은 원격 작동 시스템(예컨대, 원격 작동 시스템(104))으로부터 명령어들에 대한 요청을 전송할 수 있다.
일부 구현 예들에서, 반-자율 로봇(200)은 상기 후보 동작들의 분석에 적어도 부분적으로 기초하여 진행 방법에 대한 결정을 내리기에 충분한 확신을 지니고 있는지를 평가한다. 상기 결정에 대한 확신이 불충분할 경우, 반-자율 로봇(200)은 원격 작동 시스템으로부터 지원을 요청할 수 있다. 지원은 원격 작동 시스템으로부터 반-자율 로봇(200)으로의 명령어 형태를 이루고 있을 수 있다.
일부 구현 예들에서, 반-자율 로봇(200)이 충분한 확신을 지니고 있는지에 대한 평가는 각각의 후보 동작의 대응하는 확률 및/또는 후보 동작들의 순위(본원에서는 또한 선호 순서로서 언급됨)에 적어도 부분적으로 기초하여 이루어진다. 이러한 확률 및/또는 순위(예컨대, 그러한 선호 순서)는 반-자율 로봇(200)에 의해 결정될 수 있다.
일부 구현 예들에서, 반-자율 로봇(200)은 자신의 자율성 수준을 스스로 인식한다. 예를 들어, 반-자율 로봇(200)은 자율성 수준을 정의하거나 포함하는 제어 모델을 저장할 수 있다. 일부 구현 예들에서, 반자동 로봇(200)은 제어 모델로부터 현재 자율성 수준을 추정한다. 일부 구현 예들에서, 상기 제어 모델은 제어 명령어, 제어 데이터, 제어 매개변수, 구성 설정, 제어 방법, 정책, 절차, 분류자 및/또는 규칙 중 적어도 하나 이상을 포함한다.
프로세서(들)(204)는 하나 이상의 프로세서들, 예를 들어 하나 이상의 마이크로프로세서들, 중앙 프로세서 유닛(CPU; central processor unit)들, 그래픽 프로세서 유닛(GPU; graphics processor unit)들, 주문형 집적회로(ASIC; application specific integrated circuit)들, 프로그램 가능한 게이트 어레이(PGA; programmable gate array)들, 또는 예를 들어 메모리(예컨대, 비휘발성 메모리, 휘발성 메모리, 판독 전용 메모리, 랜덤 액세스 메모리, 플래시 메모리, 스피닝(spinning) 자기 또는 광학 매체)와 같은 하나 이상의 비-일시적 컴퓨터 또는 프로세서 판독가능 매체에 소프트웨어 또는 펌웨어 명령어들로서 저장된 명령어 형태로 논리를 실행하는 프로그램 가능한 논리 컨트롤러(PLC; programmable logic controller)들을 포함할 수 있다.
동력 서브시스템(206)은 하나 이상의 전원들, 예를 들어 주전원, 배터리, 연료 전지, 광전지 패널, 발전기 및/또는 내연 기관을 포함할 수 있다. 동력 서브시스템(206)은 유압 시스템을 포함할 수 있다.
센서(208)는, 광 센서(예를 들어, CCD(Charge Coupled Device) 카메라), 사운드 센서(예를 들어, 마이크로폰), 근접 센서(예를 들어, 초음파 센서 및/또는 LIDAR) 시스템), 촉각 센서(예를 들어, 터치 센서 및/또는 햅틱(haptic) 센서), 환경 센서(예를 들어, 온도 센서, 풍속 센서, 자력계(magnetometer) 및/또는 에어로졸(aerosol) 센서), 내비게이션 및 위치결정 센서(예를 들어, GPS(Global Positioning System)), 가속도계 및 진단 센서(예를 들어, 배터리 레벨 센서) 중의 하나 이상을 포함할 수 있다.
작동 시, 반-자율 로봇(200)은 사전에 식별된 하나 이상의 후보 동작들에 관련된 데이터를 수집할 수 있다. 데이터에는 센서(208)에 의해 수집된 센서 데이터가 포함될 수 있다. 데이터에는 이미지, 비디오, 오디오, 풍속, 국부 자기장, 주변 온도, 배터리 레벨 및/또는 에어로졸 농도가 포함될 수 있지만 이에 국한되지는 않는다.
반-자율 로봇(200)은 몸체(214)에 기계적으로 연결된 적어도 하나의 물리적으로 작동 가능한 구성요소(예컨대, 모션 액추에이터(210))를 포함할 수 있다. 모션 액추에이터(210)는 예를 들어 선형 및/또는 회전형 액츄에이터를 포함할 수 있고, 상기 액츄에이터는 예를 들어 유압식, 공압식 및/또는 전동식일 수 있다. DC(direct current; 직류) 전동식 액추에이터는 예를 들어 DC 모터, DC 기어 모터, 스테퍼 모터 및/또는 선형 전동식 액추에이터를 포함할 수 있다. 로봇(200)의 특정 설계 및 기능에 의존하여, 모션 액추에이터(201)는 바퀴, 다리, 팔, 엔드 이펙터(end effector), 그리퍼(gripper), 손 및/또는 머리를 포함하지만 이에 국한되지 않는 여러 다양한 유형의 물리적으로 작동 가능한 구성요소들을 구동할 수 있다.
통신 서브시스템(212)은 송신기 및 수신기를 포함할 수 있고, Wi-Fi 근거리 네트워킹 및/또는 셀룰러 통신 기술(예컨대, 4G, LTE, 5G 등)과 같은 기술을 사용할 수 있으며, 하나 이상의 프로토콜들, 예를 들어 이더넷이나 블루투스를 지원할 수 있다.
반-자율 로봇(200)은 또한 데이터 레포지토리(216)를 포함한다. 데이터 레포지토리(216)는 제어 모델을 저장할 수 있다.
도 3a는 본 시스템, 장치 및 방법에 따른 원격 작동식 반-자율 로봇(예컨대, 도 1의 반-자율 로봇(102a))의 작동을 위한 한 대표적인 방법(300)을 보여주는 흐름도이다. 도 3a의 방법(300)은 14개의 작용(302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330)을 포함한다. 당업자라면 대안적인 구현 예들에서 도 3a의 특정 작용이 생략될 수도 있고 그리고/또는 추가될 수도 있음을 이해할 것이다. 당업자라면 예시된 작용 순서가 단지 예시를 목적으로 도시된 것이고 대안적인 구현 예들에서 변경될 수 있음을 또한 이해할 것이다.
참조번호 302에서, 개시 조건에 응답하여 방법(300)이 개시된다. 상기 개시 조건은 원격 작동 시스템(예컨대, 도 1의 원격 작동 시스템(104))으로부터 반-자율 로봇으로의 시동 명령(또는 웨이크업(wake-up) 명령)을 포함할 수 있다. 상기 개시 조건은 반-자율 로봇이 대기 모드를 벗어났음을 원격 작동 시스템이 검출하는 것을 포함하거나 또는 상기 반-자율 로봇이 대기 모드를 벗어나게 하는 원격 작동 시스템의 명령어를 포함할 수 있다. 상기 개시 조건은 상기 로봇에 의해 자율적으로 관측되거나, 영향을 받거나, 트리거될 수 있다. 참조번호 304에서, 상기 반-자율 로봇은 예를 들어 상기 원격 작동 시스템으로부터 목표를 수신한다.
이벤트 또는 조건이 참조번호 306에서 충족되거나 트리거되면, 상기 반-자율 로봇은 상기 이벤트 또는 조건을 고려하여 상기 목표를 추진하기 위해 참조번호 308에서 한 세트의 후보 동작들을 식별한다. 참조번호 306에서 이벤트나 조건을 감시하는 것은 선택사항이다. 어떤 상황에서는 상기 반-자율 로봇이 한 세트의 후보 동작들을 사전에 식별한다. 참조번호 308에서 식별된 한 세트의 후보 동작들은 하나 이상의 후보 동작들을 포함한다. 한 세트의 후보 동작들 중 한 후보 동작은 아무것도 하고 다른 한 이벤트나 조건이 발생할 때까지 기다리는 것일 수 있다. 참조번호 310에서 상기 반-자율 로봇이 선호하는 동작 과정을 결정할 수 있다고 결정하는 경우에, 방법(300)은 참조번호 312로 진행하게 된다. 상기 선호하는 동작 과정은 한 세트의 후보 동작들 중 선택된 한 후보 동작을 수행하는 것을 포함할 수 있다. 상기 반-자율 로봇이 참조번호 310에서 선호하는 동작 과정을 결정할 수 있는지를 결정할 수 있는 방법의 일 예가 도 3b를 참조하여 이하에 설명되어 있다.
참조번호 312에서, 상기 반-자율 로봇은 선택된 동작을 수행한다. 상기 반-자율 로봇이 참조번호 314에서 목표가 충족되었다고 결정하면 방법(300)은 상기 방법(300)이 종료되는 참조번호 316으로 진행하게 된다. 상기 반-자율 로봇이 참조번호 314에서 목표가 아직 충족되지 않았다고 결정하는 경우에, 방법(300)은 상기 반-자율 로봇이 다른 한 이벤트 또는 조건을 기다리거나 찾거나 추구하는 참조번호 306으로 뒤돌아간다.
참조번호 310에서 상기 반-자율 로봇이 선호하는 동작 고정을 결정하는 데 자율성이 충분하지 않다고 결정하는 경우에, 방법(300)은 상기 반-자율 로봇이 참조번호 308에서 식별된 한 세트의 후보 동작들 각각에 관련된 대응하는 데이터를 (예컨대, 센서들(208)을 사용하여) 수집하는 참조번호 318로 진행하게 된다. 참조번호 320에서, 상기 반-자율 로봇은 원격 작동 시스템에 명령어들에 대한 요청을 전송하고 참조번호 322에서 대기 모드에 진입하게 된다. 대기 모드에서, 상기 반-자율 로봇은 작동을 일시중지할 수 있으며, 예를 들어 전원을 차단할 수 있다. 참조번호 320에서 상기 반-자율 로봇에 의해 전송되는 명령어들에 대한 요청은 참조번호 308에서 상기 반-자율 로봇에 의해 식별되는 후보 동작들 및 참조번호 318에서 상기 반-자율 로봇에 의해 수집된 후보 동작들에 대한 대응하는 데이터를 포함할 수 있다.
참조번호 324에서, 상기 반-자율 로봇은 원격 작동 시스템으로부터 명령어들이 수신될 때까지 대기한다. 참조번호 326에서, 원격 작동 시스템으로부터 명령어들이 수신하게 되면, 상기 반-자율 로봇은 대기 모드를 벗어나게 된다. 참조번호 328에서, 상기 반-자율 로봇은 수신된 명령어들을 실행한다. 참조번호 330에서, 상기 반-자율 로봇은 상기 반-자율 로봇의 데이터 레포지토리(예컨대, 참조번호 216) 내 제어 모델을 업데이트하고, 방법(300)은 참조번호 314로 진행하게 된다. 데이터 레포지토리 내 제어 모델을 업데이트하는 것은 자율적으로 작동할 수 있는 반-자율 로봇의 능력을 적어도 부분적으로 관리하는 제어 명령어, 제어 데이터, 제어 매개변수, 구성 설정, 제어 방법, 정책, 절차, 분류자 및/또는 규칙을 업데이트하는 것을 포함할 수 있다. 데이터 레포지토리 내 제어 모델을 업데이트하는 것은 상기 반-자율 로봇의 자율성 수준을 더 높은 자율성 수준으로 업데이트하는 것을 포함할 수 있다.
상기 반-자율 로봇이 참조번호 314에서 목표가 충족되었다고 결정하는 경우에, 방법(300)은 상기 방법(300)이 종료되는 참조번호 316으로 진행하게 된다. 상기 반-자율 로봇이 참조번호 314에서 목표가 아직 충족되지 않았다고 결정하는 경우에, 방법(300)은 상기 반-자율 로봇이 다른 한 이벤트나 조건을 기다리거나 찾거나 추구하는 참조번호 306으로 되돌아간다.
도 3b는 도 3a의 방법(300)의 작용 310의 한 대표적인 구현 예의 확대도이다. 도 3a의 작용 310은 도 3b에서 확대되어 있으며, 그 자체에는 6개의 작용 332, 334, 336, 338 및 340이 포함되어 있다. 당업자라면 대안적인 구현 예들에서 도 3b의 특정 작용이 생략될 수도 있고 그리고/또는 추가적인 작용이 추가될 수도 있음을 이해할 것이다. 당업자라면 예시된 작용 순서가 단지 예시를 목적으로 도시된 것이고 대안적인 구현 예들에서 변경될 수 있음을 또한 이해할 것이다.
도 3a의 참조번호 308에서 후보 동작들을 식별한 후에, 방법(300)은 도 3b의 참조번호 332로 진행하게 된다. 참조번호 332에서 상기 반-자율 로봇이 후보 동작 목록을 소진하게 될 때까지 상기 반-자율 로봇은 참조번호 334에서 각각의 후보 동작에 대응하는 확률을 할당한다.
참조번호 336에서, 상기 반-자율 로봇은 참조번호 334에서 할당된 대응하는 확률에 적어도 부분적으로 기초하여 후보 동작들 각각의 순위를 매긴다. 참조번호 338에서, 상기 반-자율 로봇은 참조번호 334에서 할당된 확률 및/또는 참조번호 336에서 생성된 순위에 적어도 부분적으로 기초하여 평가기준을 결정한다. 일부 구현 예들에서, 상기 평가기준에는 자율성 수준 임계값이 포함된다. 자율성 수준 임계값은 상기 반-자율 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 자율성 수준 이상에서 자율적으로 선택하도록 작동할 수 있는 자율성 수준이다.
참조번호 334에서 각각의 동작에 할당된 대응하는 확률은 각각의 동작이 상기 반-자율 로봇의 목표를 향한 진전 및/또는 예상되는 진전 정도를 초래하게 할 대응하는 확률에 적어도 부분적으로 기초하여 이루어질 수 있다. 자율성 수준 임계값을 결정하는 것은, 예를 들어 대응하는 확률 중 하나의 확률이 사전에 결정된 확률 임계값을 초과하는지, 또는 가장 가능성이 높은 동작과 2번째로 가능성이 높은 동작의 대응하는 확률들 간 차이가 사전에 결정된 차이 임계값을 초과하는지를 식별하는 것을 포함할 수 있다. 다른 적절한 평가기준과 평가기준의 조합은 자율성 수준 임계값을 결정하는데 사용될 수 있다. 이러한 평가기준은 후보 동작들의 대응하는 확률 및 순위에 적어도 부분적으로 의존할 수 있다.
참조번호 340에서, 상기 반-자율 로봇에 의한 결정을 내리기 위한 평가기준이 충족되지 않은 경우(예를 들어, 상기 반-자율 로봇의 자율성 수준이 자율성 수준 임계값보다 낮은 경우), 방법(300)은 도 3a의 참조번호 318로 진행하게 된다. 상기 평가기준이 적어도 충족되는 경우(예를 들어 상기 반-자율 로봇의 자율성 수준이 자율성 수준 임계값을 충족하거나 이를 초과하는 경우) 방법(300)은 도 3a의 참조번호 312로 진행하게 된다.
일부 구현 예들에서, 상기 반-자율 로봇은 하나 이상의 프로세서들(예를 들어, 도 2의 반-자율 로봇(200)의 프로세서(들)(204))을 포함하고, 도 3a 및 도 3b의 다양한 작용(302 내지 340)의 제어는 상기 프로세서(들)에 의해 수행된다. 일부 구현 예들에서, 상기 반-자율 로봇은 통신 서브시스템(예를 들어, 도 2의 통신 서브시스템(212))을 포함하고, 작용 320(명령어들에 대한 요청의 전송) 및 작용 324(명령어들의 수신)는 상기 통신 서브시스템에 의해 수행된다.
도 4는 본 시스템, 장치 및 방법에 따른, 원격 작동식 반-자율 로봇(예를 들어, 도 1의 반-자율 로봇(102) 중의 하나)의 자율성을 개발하기 위한 시스템의 한 대표적인 구현 예의 데이터 흐름도(data flow diagram; DFD)(400)이다.
DFD(400)는 반-자율 로봇 처리(402), 원격 작동 시스템(404) 및 제어 모델(406)을 포함한다. 반-자율 로봇 처리(402)는 입력 데이터를 반-자율 로봇(예를 들어, 도 2의 반-자율 로봇(200))의 제어 및/또는 작동을 위한 출력 데이터로 변환할 수 있는 프로세스이다. 반-자율 로봇 처리(402)는 적어도 하나의 프로세서(예컨대, 204)가 비-일시적 프로세서 판독가능 저장 매체 또는 상기 적어도 하나의 프로세서에 통신 가능하게 연결된 데이터 레포지토리(예컨대, 216)에 저장된 제어 모델(406)에 액세스하고 그리고/또는 상기 제어 모델(406)을 실행함으로써 수행될 수 있다. 반-자율 로봇 처리(402)의 관점에서 볼 때, 원격 작동 시스템(404)은 외부 개체이며 외부 데이터 소스/싱크이다. 제어 모델(406)은 데이터 레포지토리, 예를 들어 데이터베이스 또는 파일이다.
DFD(400)는 4개의 데이터 흐름, 다시 말하면 전류 제어 모델(408), 명령어(들)에 대한 요청(410), 명령어(들)(412) 및 업데이트된 제어 모델(414)을 포함한다.
현재 제어 모델(408)은 예를 들어 현재 자율성 수준, 자율성 수준 임계값, 동작 및 각각의 동작에 대한 대응하는 데이터와 아울러, 상기 반-자율 로봇의 (반-)자율 제어를 통제하는 다른 모델, 분류자, 규칙, 알고리즘, 정책 등을 포함할 수 있다.
명령어(들)에 대한 요청(410)은 후보 동작 목록과 각각의 후보 동작에 대한 대응하는 데이터를 포함할 수 있다. 일부 구현 예들에서, 명령어(들)에 대한 요청(410)은 상기 반-자율 로봇에 의해 식별된 전체 후보 동작 목록을 포함한다. 다른 구현 예들에서, 명령어(들)에 대한 요청(410)은 부분 후보 동작 목록을 포함한다. 부분 후보 동작 목록은 전체 후보 동작 목록을 필터링하고 X가 2, 3, 4, 5 등과 같은 1보다 큰 임의의 수일 수 있는 경우 상기 반-자율 로봇에 의해 채용되는 순위 체계에 따른 상위 X개 후보 동작과 같은 하나 이상의 평가기준을 충족하는 후보 동작들을 부분 후보 동작 목록에 포함시킴으로써 상기 반-자율 로봇에 의해 결정될 수 있다.
명령어(들)(412)는 예를 들어 제안된 동작 과정을 포함할 수 있다. 상기 제안된 행동 과정은 상기 반-자율 로봇에 의해 식별된 후보 동작들 중 하나 이상의 후보 동작들의 선택이거나 그 선택을 포함할 수 있다. 추가로 또는 대안으로, 명령어(들)(412)는 상기 반-자율 로봇이 추가적인 후보 동작들(본원에서는 또한 보조 동작들로서 언급됨)을 식별하도록 하는 요청 및/또는 상기 반-자율 로봇이 하나 이상의 후보 동작(들)에 대한 추가적인 데이터를 수집하도록 하는 요청을 포함할 수 있다. 명령어(들)(412)는 사전에 후보 동작들에 포함되지 않은 동작을 포함할 수 있다. 예를 들어, 명령어(들)(412)는 베이스 위치(base location)로 되돌아가거나 슬립 모드(sleep mode)에 진입하도록 하는 명령어를 포함할 수 있다.
업데이트된 제어 모델(414)은 예를 들어, 현재 자율성 수준과 같은 분류자(예컨대, 분류자 내 적어도 하나의 가중치를 조정함으로써 이루어짐), 모델, 정책, 알고리즘, 규칙 및/또는 매개변수 중 일부 또는 전부를 업데이트하는 것을 포함할 수 있다. 업데이트된 자율성 수준은 더 높은 자율성 수준일 수 있다. 자율성 수준은 순위 척도, 예를 들어 1 내지 6, 또는 A 내지 F의 순위 척도로 표현될 수 있다. 상기 반-자율 로봇은 원격 작동 시스템으로부터 명령어(들)을 수신한 후에 새로운 자율성 수준으로 진전할 수 있다. 상기 자율성 수준은 상기 반-자율 로봇의 성능(예를 들어, 성공적인 명령어 실행, 벤치마크 측정 또는 목표 완수)에 기초하여 평가되고 업데이트될 수 있다.
제어 모델(414)을 업데이트하는 것은 a) 주어진 시나리오에서(다시 말하면, 명령어들에 대한 요청을 촉발(trigger)하고 선택된 후보 동작과 관련하여 상기 반-자율 로봇에 의해 수집된 데이터가 주어진 이벤트 및/또는 조건에 응답하여) 선호하는 동작 과정으로서 명령어(들)(412)를 식별하는 것, 및/또는 b) 이벤트 또는 조건에 응답하여 후보 동작들을 평가할 때 향후 사용하게 될 명령어(들)의 동작(들)에 가중치를 할당하는 것을 포함할 수 있다.
더 구체적인 예로서, 단지 설명을 목적으로, 상기 반-자율 로봇은 방법(300)의 작용(320)의 구현 예로서 명령어들에 대한 요청(410)을 보낼 수 있다. 명령어들에 대한 요청(410)은 i) 방법(300)의 작용(308)에 대해 상기 반-자율 로봇에 의해 식별된 한 세트의 후보 동작들, 및 ii) 방법(300)의 작용(318)에 대하여 각각의 후보 동작에 대해 상기 반-자율 로봇에 의해 수집된 대응하는 데이터를 포함할 수 있다. 원격 작동 시스템(404)은 (차후에 설명되는) 도 5에 예시된 방법(500)에 따라 명령어들에 대한 요청(410)을 수신하고 명령어들(412)을 생성할 수 있다. 명령어들(412)은 무엇보다도 명령어들에 대한 요청(410)에서 상기 반-자율 로봇에 의해 제공되는 후보 동작들 중 특정 동작의 선택을 포함할 수 있다. 상기 반-자율 로봇은 방법(300)의 작용(324)에 대해 명령어들(412)을 수신할 수 있고 방법(300)의 작용(328)에 대해 명령어들(412)을 실행할 수 있다. 예를 들어, 방법(300)의 참조번호 328에서 상기 반-자율 로봇은 명령어들(412)에서 선택된 특정 후보 동작을 실행하거나 수행할 수 있다.
앞서 설명한 예에서, 상기 반-자율 로봇의 제어 모델(406)은 상기 반-자율 로봇의 제어 모델(406)이 (참조번호 308)에서 식별된) 후보 동작이 추구되어야 하는지를 방법(300)의 작용(310)에 대해 결정할 수 없기 때문에(예컨대, 상기 반-자율 로봇이 (참조번호 308)에서 식별된) 후보 동작이 추구되어야 하는 지를 방법(300)의 작용(310)에 대해 결정하기에 충분한 자율성을 지니고 있지 않기 때문에) 상기 반-자율 로봇이 방법(300)의 작용(320)의 구현 예로서 명령어들에 대한 요청(410)을 보내게 한다. 다시 말하면, 대표적인 반-자율 로봇의 제어 모델(406)은 상기 반-자율 로봇에 의해 직면하게 되는 작업 목표, 후보 동작들 및 센서 판독값의 특정 조합이 주어지면 제어 모델(406)(결과적으로는 상기 반-자율 로봇)이 상기 목표를 완수하거나 상기 목표의 완수를 향해 가장 양호하게 진전하도록 어떤 동작이 취해져야 하는지를 자율적으로 결정할 수 없도록 구성된다. 이러한 불확실성은 상기 반-자율 로봇(또는 제어 모델(406))이 이전에 작업 목표, 후보 동작 및 센서 판독값의 특정 조합을 접하지 못했던 점에 부분적으로 기인한 것일 수 있다. 본 시스템, 장치 및 방법에 의하면, 상기 반-자율 로봇이 명령어들(412)을 수신하면 상기 반-자율 로봇(또는 더 구체적으로는 상기 반-자율 로봇의 제어 모델(406))은 명령어들(412)로부터 학습하고 방법(300)의 작용 330에 대해 제어 모델(406)을 업데이트한다(414). 제어 모델(406)이 업데이트되는 방법(예컨대, 어떤 명령어들, 변수들, 매개변수들, 알고리즘들 등이 어떤 방식으로 변경되는지)에 대한 구체적인 세부사항은 제어 모델(406)의 특정 구현 예에 의존하며 로봇 및 로봇 시스템의 다양한 실시 예에서 매우 다양할 수 있지만, 일반적으로 업데이트된 제어 모델(414)은 상기 반-자율 로봇이 작업 목표, 후보 동작 및 센서 판독값의 동일하거나 유사한 조합을 접하는 후속 상황에서 명령어들(412)에서 선택된 후보 동작에 더 높은 순위(예컨대, 확률)를 상기 반-자율 로봇이 할당하게 하고, 예를 들어, 방법(300)의 참조번호 310에서 상기 반-자율 로봇이 원격 작동 시스템(404)과의 상의 없이 이러한 후보 동작을 수행할 수 있게 하기 위해 제어 모델(406)을 대체하거나 보완할 수 있으며 (제어 모델(406)의 원래 명령어들, 변수들, 매개변수들, 알고리즘들 등과 관련하여) 적응되는 명령어들, 변수들, 매개변수들, 알고리즘들 등을 포함할 수 있다.
당업자라면 대안적인 구현 예에서 DFD(400)의 특정 데이터 흐름이 생략될 수도 있고 그리고/또는 추가적인 데이터 흐름이 추가될 수도 있음을 이해할 것이다. 당업자라면 도 4의 DFD(400)를 참조하여 설명된 데이터 흐름의 트리거링 및 타이밍이 단지 예시를 목적으로 한 것뿐이며 대안적인 구현 예들에서 변경될 수 있음을 이해할 것이다. 예를 들어, 원격 작동 시스템(404)은 반-자율 로봇 처리(402)로부터의 명령어(들)에 대한 요청(410)에 응답하는 것과는 달리 소정 시간에 명령어(들)(412)을 제공할 수 있다.
일부 구현 예들에서, 원격 작동 시스템(404)(또는 원격 작동 시스템의 파일럿)은 명령어(들)에 대한 요청(410)으로부터 학습할 수 있다(다시 말하면, 자신의 자율성 수준, 의사결정 능력 및/또는 지식 및 이해를 향상시킬 수 있다). 예를 들어, 명령어(들)에 대한 요청(410)은 지금까지 예상치 못한 후보 동작들 및/또는 상기 반-자율 로봇에 의해 식별된 후보 동작들의 순위들을 포함할 수 있다. 마찬가지로, 일부 구현 예들에서, 로봇이 원격 작동 시스템(404)과 통신할 때, 다른 로봇들은 전송된 명령어(들)에 대한 요청(410) 및/또는 다른 로봇들이 이용하고 있는 명령어(들)(412)로부터 학습할 수 있다. 다시 말하면, 제1 로봇의 제어 모델에 대해 이루어진 업데이트에 기초하여 제2 로봇의 제어 모델이 업데이트될 수 있다.
일부 구현 예들에서, 원격 작동 시스템(404)은 제2 로봇에게, 상기 제2 로봇이 제어 모델을 업데이트하게 할 수 있고 상기 제2 로봇이 그의 자율성 수준을 높이게 할 수 있는 명령어들을 보낼 수 있다. 일부 구현 예들에서, 명령어(들)에 대한 요청(410) 및 명령어(들)(412)는 브로드캐스트될 수 있고, 하나 이상의 다른 로봇들에 의해 수신될 수 있다. 상기 다른 로봇들은 브로드캐스트된 요청 및/또는 브로드캐스트된 명령어들에 기초하여 그들의 자율성 수준을 높일 수 있다.
일부 구현 예들에서, 명령어(들)에 대한 요청은 제1 로봇에 의해 (예컨대, 피어-투-피어 통신을 통해) 제2 로봇으로 전송될 수 있다. 상기 제2 로봇은 상기 제1 로봇보다 높은 자율성 수준을 지닐 수 있다. 상기 제2 로봇은 상기 제1 로봇에게 명령어들을 보낼 수 있다.
도 5는 본 시스템, 장치 및 방법에 따른 로봇(예를 들어, 도 2의 원격 작동식 반-자율 로봇(200))을 원격 작동하는 한 대표적인 방법(500)의 흐름도이다. 도 5의 방법(500)은 7개의 작용 502, 504, 506, 508, 510, 512 및 514를 포함한다. 당업자라면 대안적인 구현 예들에서 도 5의 특정 작용이 생략될 수도 있고 그리고/또는 추가적인 작용이 추가될 수 있음을 이해할 것이다. 당업자라면 예시된 작용들의 순서가 단지 예시를 목적으로 도시된 것이고 대안적인 구현 예들에서 변경될 수 있음을 또한 이해할 것이다.
참조번호 502에서, 개시 조건에 응답하여 방법(500)이 개시된다. 상기 개시 조건은 예를 들어 원격 작동 시스템(예컨대, 도 1의 원격 작동 시스템(104))의 시동, 다른 한 시스템으로부터의 명령, 또는 파일럿 인터페이스를 통한 원격 작동 시스템의 파일럿으로부터의 명령, 또는 로봇으로부터의 신호를 포함할 수 있다.
참조번호 504에서, 상기 원격 작동 시스템은 상기 로봇을 초기화한다. 일부 구현 예들에서, 상기 원격 작동 시스템은 상기 로봇에 목표를 전송함으로써 상기 로봇을 초기화한다. 참조번호 506에서, 상기 원격 작동 시스템은 상기 원격 작동 시스템이 상기 로봇으로부터 명령어들에 대한 요청을 수신할 때까지 대기한다. 일부 구현 예들에서, 상기 원격 작동 시스템은 동시에 여러 로봇을 원격 작동할 수 있다. 명령어들에 대한 요청은 다른 여러 로봇으로부터 비동기 방식으로 수신될 수 있다. 참조번호 504에서 초기화된 로봇으로부터 수신된 명령어들에 대한 요청은 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들과, 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 포함할 수 있다.
상기 로봇으로부터의 명령어들에 대한 요청이 상기 원격 작동 시스템에 의해 수신되면, 상기 방법은 상기 원격 작동 시스템은 상기 요청으로부터 후보 동작 및 대응하는 보조 데이터를 분석하는 참조번호 508로 진행하게 된다. 참조번호 510에서, 상기 원격 작동 시스템은 분석해야 할 다른 한 후보 동작이 있는지를 결정한다. 분석해야 할 다른 한 후보 동작이 있는 경우, 방법(500)은 참조번호 508로 되돌아간다. 분석해야 할 다른 한 후보 동작이 없는 경우, 방법(500)은 참조번호 512로 진행하게 된다.
상기 요청을 분석하는 것은 상기 한 세트의 후보 동작들 중 적어도 한 부분집합 및 각각의 대응하는 한 세트의 보조 데이터 중 적어도 한 부분집합을 분석하는 것을 포함할 수 있다. 상기 보조 데이터에는 예를 들어 센서 데이터가 포함될 수 있다. 상기 보조 데이터에는 상기 로봇에 의해 결정되는 점수가 포함될 수 있다. 상기 점수는 목표의 추진에서 후보 동작이 상기 로봇에 의해 수행되는 경우 후보 동작에 의해 이루어질 수 있는 예상된 진행 상황을 나타낼 수 있다. 상기 점수는 하나 이상의 확률, 확률 차이 및/또는 선호 순서(본원에서는 또한 순위로서 언급됨)를 포함할 수 있다. 상기 로봇으로부터 상기 원격 작동 시스템에 의해 수신된 점수는 원격 작동 시스템의 분석에 일조(一助)할 수 있다. 상기 점수는 또한 원격 작동 시스템의 기계 학습 모델 또는 프로세스를 훈련하거나 이와는 달리 원격 작동 시스템에 대한 입력을 제공하는 데 사용될 수 있다. 상기 요청을 분석하는 것은 각각의 후보 동작이 상기 로봇에 의해 수행되는 경우 목표의 추진으로 이어지게 될 대응하는 상대적인 공산을 결정하는 것을 포함할 수 있다.
참조번호 508에서 상기 요청을 분석하는 것은 파일럿(예컨대, 도 1의 파일럿(106a))에 의한 분석을 포함할 수 있다. 상기 로봇에 대한 전송을 위한 명령어들은 파일럿 인터페이스(예컨대, 도 1의 파일럿 인터페이스(108))를 통해 상기 파일럿에 의해 제공될 수 있다. 상기 로봇에 대한 전송을 위한 명령어들은 파일럿의 개입 없이 어셈블링(assembling)될 수 있다.
참조번호 512에서, 상기 원격 작동 시스템은 명령어들을 상기 로봇에 전송한다. 상기 로봇에 대한 명령어들은 각각의 대응하는 상대적인 공산에 적어도 부분적으로 기초하여 이루어질 수 있으며, 상기 로봇의 자율성 수준을 높일 수 있다. 상기 명령어들은 상기 로봇이 a) 상기 후보 동작들 중 하나 이상의 후보 동작들을 수행하도록 하고, b) 대기 모드를 벗어나게 하며, c) 보조 후보 동작들을 식별하게 하고, 그리고/또는 d) 일시중지, 슬립(sleep) 또는 셧다운(shutdown)하게 하는 명령어들을 포함할 수 있다. 참조번호 514에서 방법(500)은 종료된다.
본 명세서 및 첨부된 청구범위 전반에 걸쳐, "통신 가능한 연결" 및 "통신 가능하게 연결된"과 같은 변형된 용어에서와 같은 "통신 가능한"은 정보를 전송 및/또는 교환하기 위한 임의의 공학적 배치를 언급하는 데 일반적으로 사용된다. 예를 들어, 통신 가능한 연결은 전기 도전성 경로(예컨대, 전기 도전성 와이어, 전기 도전성 트레이스), 자기 경로(예컨대, 자기 매체), 무선 신호 전송(예컨대, 무선 주파수 안테나) 및/또는 광학 경로(예컨대, 광섬유)를 포함하지만 이에 국한되지 않는 여러 다양한 매체 및/또는 형태의 통신 가능한 경로를 통해 이루어지게 될 수 있다. 대표적인 통신 가능한 연결에는 전기적인 연결, 자기적인 연결, 무선 주파수 연결 및/또는 광학적인 연결을 포함하지만 이에 국한되지 않는다.
본 명세서와 첨부된 청구범위 전반에 걸쳐 부정사 형태가 종종 사용된다. 예로서는 "인코딩하도록", "제공하도록", "저장하도록" 등이 포함되지만 이에 국한되지는 않는다. 특정 문맥에서 달리 요구하지 않는 한, 그러한 부정사 형태는 개방적이고 포괄적인 의미로, 다시 말하면 "적어도 인코딩하도록", "적어도 제공하도록", "적어도 저장하도록" 등으로 사용된다.
도면 및 요약을 포함하는 본 명세서는 본 시스템, 장치 및 방법의 모든 구현 및 실시 예들에 대한 총체적이거나 한정적인 설명으로 의도된 것이 아니다. 당업자라면 제공된 다양한 설명 및 도면이 본 개시내용의 사상 및 범위를 벗어나지 않고 수정될 수 있음을 이해할 것이다. 특히, 여기에서의 교시는 제공된 컴퓨터 시스템 및 컴퓨팅 환경의 예시적인 예들에 의해서 또는 제공된 컴퓨터 시스템 및 컴퓨팅 환경의 예시적인 예들에 한정되도록 의도된 것이 아니다.
본 명세서는 블록도, 회로도, 흐름도 및 예시의 형태로 다양한 구현 및 실시 예를 제공한다. 당업자라면 그러한 블록도, 회로도, 흐름도 또는 예시 내 임의의 기능 및/또는 동작이 광범위한 하드웨어, 소프트웨어 및/또는 펌웨어에 의해 개별적으로 그리고/또는 집합적으로 구현될 수 있음을 이해할 것이다. 예를 들어, 여기에 개시된 다양한 실시 예는 전체적으로나 또는 부분적으로 하나 이상의 주문형 집적회로(들)(다시 말하면 ASIC); 표준 집적회로(들); 다수의 컴퓨터에 의해 실행되는 컴퓨터 프로그램(들)(예컨대, 다수의 컴퓨터 시스템상에서 실행되는 프로그램(들)); 다수의 컨트롤러(예컨대, 마이크로컨트롤러들)에 의해 실행되는 프로그램(들); 및/또는 다수의 프로세서(예컨대, 마이크로프로세서들, 중앙 처리 유닛들, 그래픽 처리 유닛들)에 의해 실행되는 프로그램(들)과 아울러, 펌웨어 및 전술한 것의 임의 조합에서 마찬가지로 구현될 수 있다.
본 명세서 및 첨부된 청구범위 전체에 걸쳐 "메모리" 또는 "저장 매체"는 전자, 자기, 광학, 전자기, 적외선, 반도체 또는 기타 물리적 장치 또는 프로세서 데이터, 데이터 개체, 논리, 프로세서 명령어 및/또는 프로그램을 포함하거나 저장하는 수단인 프로세서 판독가능 매체이다. 데이터, 데이터 개체, 논리, 프로세서 명령어 및/또는 프로그램이 소프트웨어로서 구현되어 메모리 또는 저장 매체에 저장되는 경우 이는 컴퓨터 기반 시스템, 프로세서 포함 시스템, 또는 메모리나 저장 매체로부터 데이터, 데이터 개체, 논리, 프로세서 명령어 및/또는 프로그램을 페치(fetch)할 수 있고 그에 대해 그리고/또는 그에 응답하여 다양한 작용 또는 조작(다시 말하면, 처리 단계)을 수행할 수 있는 다른 시스템과 같은 임의의 적합한 프로세서 관련 명령어 실행 시스템, 기기, 또는 장치에 의해 사용되기 위해 임의의 적합한 프로세서 판독가능 매체에 저장될 수 있다. 따라서, "비-일시적 프로세서 판독가능 저장 매체"는 명령어 실행 시스템, 기기 및/또는 장치에 의해 사용되거나 명령어 실행 시스템, 기기 및/또는 장치와 관련하여 사용되기 위해 데이터, 데이터 객체, 논리, 프로세서 명령어 및/또는 프로그램을 저장하는 임의의 요소일 수 있다. 특정한 비-제한적인 예로서, 상기 프로세서 판독가능 매체는 휴대용 컴퓨터 디스켓(자기, 컴팩트 플래시 카드, 보안 디지털 등), RAM(random access memory), ROM(read-only memory), 소거 가능하고 프로그램 가능한 판독 전용 메모리(EPROM, EEPROM 또는 플래시 메모리), 휴대용 컴팩트 디스크 판독 전용 메모리(CDROM), 디지털 테이프 및/또는 기타 비-일시적 매체일 수 있다.
본 개시내용의 청구범위는 다음과 같다. 본 개시내용은 청구범위를 뒷받침하고, 가능하게 하며, 예시하도록 의도된 것이지만 청구범위를 임의의 특정한 구현 예들이나 실시 예들로 제한하도록 의도된 것이 아니다. 일반적으로, 청구범위는 그러한 청구범위에 부여된 등가물의 전체 범위와 함께 모든 가능한 구현 및 실시 예들을 포함하는 것으로 해석되어야 한다.

Claims (80)

  1. 로봇의 작동 방법에 있어서,
    상기 방법은 상기 로봇에 의해 수행되며,
    상기 방법은,
    상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 단계;
    상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집하는 단계;
    원격 작동 시스템에 명령어들에 대한 요청을 전송하는 단계 - 상기 원격 작동 시스템은 상기 로봇에 통신 가능하게 연결되어 있으며, 상기 명령어들에 대한 요청은 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 보조 데이터를 포함함 -;
    상기 원격 작동 시스템으로부터 상기 명령어들을 수신하는 단계;
    상기 명령어들을 실행하는 단계; 및
    상기 로봇의 자율성 수준을 증가시키도록 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 상기 로봇의 제어 모델을 업데이트하는 단계;
    를 포함하는, 로봇의 작동 방법.
  2. 제1항에 있어서,
    상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것은 이벤트 또는 조건 중 적어도 하나를 검출함에 응답하여 한 세트의 후보 동작들을 식별하는 것을 포함하는, 로봇의 작동 방법.
  3. 제2항에 있어서,
    이벤트 또는 조건 중 적어도 하나를 검출함에 응답하여 한 세트의 후보 동작들을 식별하는 것은 외부 이벤트 또는 외부 조건 중 적어도 하나를 검출함에 응답하여 한 세트의 후보 동작들을 식별하는 것을 포함하는, 로봇의 작동 방법.
  4. 제3항에 있어서,
    상기 로봇은 하나 이상의 센서들을 포함하고, 외부 이벤트 또는 외부 조건 중 적어도 하나를 검출함에 응답하여 한 세트의 후보 동작들을 식별하는 것은 상기 하나 이상의 센서들에 의해 외부 이벤트 또는 외부 조건 중 적어도 하나를 감지하는 것을 포함하는, 로봇의 작동 방법.
  5. 제1항에 있어서.
    상기 로봇의 작동 방법은,
    상기 로봇에 의해 완수하게 될 목표를 수신하는 단계;
    를 더 포함하며, 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것은 상기 목표의 추진에서 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것을 포함하는, 로봇의 작동 방법.
  6. 제5항에 있어서,
    상기 로봇에 의해 완수하게 될 목표를 수신하는 것은 상기 원격 작동 시스템으로부터 목표를 수신하는 것을 포함하는, 로봇의 작동 방법.
  7. 제5항에 있어서,
    명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것을 포함하는, 로봇의 작동 방법.
  8. 제7항에 있어서.
    상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇이 목표의 추진에서 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것을 포함하는, 로봇의 작동 방법.
  9. 제8항에 있어서,
    상기 로봇의 작동 방법은,
    상기 한 세트의 후보 동작들 중 각각의 후보 동작을 점수화(scoring)하는 단계;
    를 더 포함하며, 상기 한 세트의 후보 동작들 중 각각의 후보 동작을 점수화하는 것은 각각의 후보 동작에 대응하는 확률을 할당하는 것을 포함하고, 상기 대응하는 확률은 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황에 대응하는 기대치에 적어도 부분적으로 기초하여 이루어지는, 로봇의 작동 방법.
  10. 제9항에 있어서,
    상기 로봇의 작동 방법은,
    선호 순서로 각각의 후보 동작의 순위를 매기는 단계;
    를 더 포함하며, 상기 선호 순서는 각각의 후보 동작의 대응하는 확률에 적어도 부분적으로 기초하여 이루어지는, 로봇의 작동 방법.
  11. 제10항에 있어서,
    상기 로봇의 작동 방법은,
    상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 각각의 후보 동작의 대응하는 확률 및 상기 선호 순위 중 적어도 하나를 사용하는 단계;
    를 더 포함하는, 로봇의 작동 방법.
  12. 제11항에 있어서,
    명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것 - 상기 명령어들에 대한 요청은 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 보조 데이터를 포함함 - 은 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것 - 상기 명령어들에 대한 요청은 각각의 대응하는 확률 및 선호 순서를 포함함 - 을 포함하는, 로봇의 작동 방법.
  13. 제11항에 있어서,
    상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 각각의 후보 동작의 대응하는 확률과 선호 순서 중 적어도 하나를 사용하는 것은 대응하는 확률이 사전에 결정된 확률 평가기준을 충족하는지를 결정하는 것을 포함하는, 로봇의 작동 방법.
  14. 제13항에 있어서,
    대응하는 확률이 사전에 결정된 확률 평가기준을 충족하는지를 결정하는 것은 대응하는 확률이 사전에 결정된 확률 임계값을 초과하는지를 결정하는 것을 포함하는, 로봇의 작동 방법.
  15. 제11항에 있어서,
    상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 각각의 후보 동작의 대응하는 확률 및 선호 순서 중 적어도 하나를 사용하는 것은 제1의 대응하는 확률 및 제2의 대응하는 확률 간의 차이가 사전에 결정된 차이 평가기준을 충족하는지를 결정하는 것을 포함하는, 로봇의 작동 방법.
  16. 제1항에 있어서,
    상기 로봇은 자율성 수준을 특징으로 하는 반-자율 로봇이고, 상기 자율성 수준은 상기 제어 모델에 의해 적어도 부분적으로 결정되며, 상기 로봇의 작동 방법은, 상기 로봇의 자율성 수준을 자율성 수준 임계값과 비교하는 단계를 더 포함하며, 상기 자율성 수준 임계값 이상에서는 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 자율적으로 선택하도록 작동 가능하고, 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정함에 응답하여 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것을 포함하는, 로봇의 작동 방법.
  17. 제16항에 있어서,
    상기 로봇의 작동 방법은,
    상기 로봇의 자율성 수준이 자율성 수준 임계값을 충족하거나 자율성 수준 임계값을 초과한다고 결정함에 응답하여, 상기 한 세트의 후보 동작들 중 한 후보 동작을 수행하는 단계;
    를 더 포함하는, 로봇의 작동 방법.
  18. 제16항에 있어서,
    상기 로봇의 작동 방법은,
    상기 자율성 수준 임계값을 결정하는 단계;
    를 더 포함하는, 로봇의 작동 방법.
  19. 제16항에 있어서,
    상기 로봇의 작동 방법은,
    상기 로봇에 의해 완수하게 될 목표를 수신하는 단계;
    를 더 포함하며, 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것은 상기 목표의 추진에서 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 것을 포함하는, 로봇의 작동 방법.
  20. 제19항에 있어서,
    상기 로봇에 의해 완수하게 될 목표를 수신하는 것은 원격 작동 시스템으로부터 상기 목표를 수신하는 것을 포함하는, 로봇의 작동 방법.
  21. 제19항에 있어서,
    상기 로봇의 작동 방법은,
    자율성 수준 임계값을 결정하는 단계;
    를 더 포함하고, 상기 자율성 수준 임계값을 결정하는 것은 각각의 후보 동작에 대응하는 확률을 할당하는 것을 포함하며, 상기 대응하는 확률은 상기 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황에 대응하는 기대치에 적어도 부분적으로 기초하여 이루어지는, 로봇의 작동 방법.
  22. 제21항에 있어서,
    상기 로봇의 작동 방법은,
    선호 순위로 행동을 각각의 후보 동작의 순위를 매기는 단계;
    를 더 포함하며, 상기 선호 순서는 상기 대응하는 확률에 적어도 부분적으로 기초하여 이루어지는, 로봇의 작동 방법.
  23. 제16항에 있어서,
    상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정하는 것은 상기 한 세트의 후보 동작들 내 각각의 후보 동작의 대응하는 확률이 적어도 하나의 사전에 결정된 평가기준을 만족하지 못한다고 결정하는 것을 포함하는, 로봇의 작동 방법.
  24. 제1항에 있어서,
    상기 로봇은 하나 이상의 센서들 및 데이터 레포지토리(data repository)를 포함하고, 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집하는 것은 상기 하나 이상의 센서들에 의해 상기 대응하는 한 세트의 보조 데이터의 제1 부분집합을 수집하는 것 또는 상기 데이터 레포지토리로부터 상기 대응하는 한 세트의 보조 데이터의 제2 부분집합을 추출하는 것 중의 적어도 하나를 포함하는, 로봇의 작동 방법.
  25. 제24항에 있어서,
    상기 하나 이상의 센서들에 의해 상기 대응하는 한 세트의 보조 데이터의 제1 부분집합을 수집하는 것은 오디오, 이미지, 비디오 또는 환경 데이터 중 적어도 하나를 수집하는 것을 포함하는, 로봇의 작동 방법.
  26. 제1항에 있어서,
    상기 로봇은 통신 서브시스템을 포함하고, 명령어들에 대한 요청을 원격 작동 시스템에 전송하고 상기 명령어들을 원격 작동 시스템으로부터 수신하는 것은 상기 통신 서브시스템에 의해 상기 명령어들에 대한 요청을 전송하고 상기 통신 시스템에 의해 상기 명령어들을 수신하는 것을 포함하는, 로봇의 작동 방법.
  27. 제1항에 있어서,
    상기 로봇은 컨트롤러를 포함하며, 상기 명령어들을 실행하고 제어 모델을 업데이트하는 것은 상기 컨트롤러에 의해 상기 명령어들을 실행하고 상기 컨트롤러에 의해 상기 제어 모델을 업데이트하는 것을 포함하는, 로봇의 작동 방법.
  28. 제1항에 있어서,
    명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 명령어들에 대한 요청을 유인(有人)식 원격 작동 시스템에 전송하는 것을 포함하는, 로봇의 작동 방법.
  29. 제1항에 있어서,
    명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇에 대해 원격 위치에 있는 원격 작동 시스템에 명령어들에 대한 요청을 전송하는 것을 포함하는, 로봇의 작동 방법.
  30. 제1항에 있어서,
    명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 명령어들에 대한 요청을 데이터 네트워크를 통해 원격 작동 시스템에 전송하는 것을 포함하는, 로봇의 작동 방법.
  31. 제30항에 있어서,
    명령어들에 대한 요청을 데이터 네트워크를 통해 원격 작동 시스템에 전송하는 것은 명령어들에 대한 요청을 무선 데이터 네트워크를 통해 원격 작동 시스템에 전송하는 것을 포함하는, 로봇의 작동 방법.
  32. 제1항에 있어서,
    명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 상기 로봇이 어느 후보 동작을 수행하여야 하는지를 결정하도록 하는 요청을 상기 원격 작동 시스템에 전송하는 것을 포함하는, 로봇의 작동 방법.
  33. 제1항에 있어서,
    명령어들에 대한 요청을 원격 작동 시스템에 전송하는 것은 대기 모드에 진입하는 것을 포함하는, 로봇의 작동 방법.
  34. 제1항에 있어서,
    상기 명령어들을 실행하는 것은 상기 한 세트의 후보 동작들 중 적어도 하나의 후보 동작을 호출하는 것을 포함하는, 로봇의 작동 방법.
  35. 제34항에 있어서,
    상기 로봇은 모션 액추에이터(motion actuator)를 포함하고, 상기 한 세트의 후보 동작들 중 적어도 하나의 후보 동작을 호출하는 것은 상기 모션 액추에이터에 의해 상기 로봇이 움직임을 실행하게 하는 것을 포함하는, 로봇의 작동 방법.
  36. 제1항에 있어서,
    상기 명령어들을 실행하는 것은 상기 로봇에 의해 수행될 수 있는 하나 이상의 보조 동작들을 식별하는 것을 포함하는, 로봇의 작동 방법.
  37. 제1항에 있어서,
    상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 것은 상기 로봇의 자율성 수준을 제1 자율성 수준으로부터 제2 자율성 수준으로 증가시키는 것을 포함하며, 상기 제2 자율성 수준은 상기 제1 자율성 수준보다 높은, 로봇의 작동 방법.
  38. 제1항에 있어서,
    상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 것은 제어 명령어들, 제어 데이터 또는 제어 매개변수들 중 적어도 하나를 업데이트하는 것을 포함하는, 로봇의 작동 방법.
  39. 제1항에 있어서,
    상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 제어 모델을 업데이트하는 것은 구성 설정, 제어 방법, 정책, 절차, 분류자, 또는 규칙 중 적어도 하나를 업데이트하는 것을 포함하는, 로봇의 작동 방법.
  40. 로봇으로서,
    상기 로봇은,
    몸체;
    적어도 하나의 프로세서를 포함하는 컨트롤러;
    상기 몸체에 기계적으로 연결되고 상기 컨트롤러에 통신 가능하게 연결된 적어도 하나의 물리적으로 작동 가능한 구성요소;
    상기 컨트롤러에 통신 가능하게 연결된 적어도 하나의 센서로서, 데이터를 수집하도록 작동 가능한 적어도 하나의 센서; 및
    상기 적어도 하나의 프로세서에 통신가능하게 연결된 적어도 하나의 비-일시적 프로세서-판독가능 저장 매체;
    를 포함하며,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 프로세서-실행가능 명령어들 및/또는 데이터를 저장하고, 상기 프로세서-실행가능 명령어들 및/또는 데이터는, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 로봇으로 하여금,
    상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 동작;
    상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집하는 동작;
    명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작 - 상기 원격 작동 시스템은 상기 로봇에 통신 가능하게 연결되며, 상기 명령어들의 요청은 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 보조 데이터를 포함함 -;
    상기 원격 작동 시스템으로부터 상기 명령어들을 수신하는 동작;
    상기 명령어들을 실행하는 동작; 및
    상기 로봇의 자율성 수준을 증가시키도록 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 상기 로봇의 제어 모델을 업데이트하는 동작;
    을 수행하게 하는, 로봇.
  41. 제40항에 있어서,
    상기 로봇은 휴머노이드 로봇(humanoid robot)이고, 상기 몸체는 인간 몸체의 형태를 지니는, 로봇.
  42. 제40항에 있어서,
    상기 적어도 하나의 물리적으로 작동 가능한 구성요소는 모션 액추에이터를 포함하는, 로봇.
  43. 제40항에 있어서,
    상기 적어도 하나의 센서는 오디오, 이미지, 비디오 또는 환경 데이터 중 적어도 하나를 수집하도록 작동 가능한, 로봇.
  44. 제40항에 있어서,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 적어도 하나의 센서에 의해 이벤트 또는 조건 중 적어도 하나를 검출하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 추가로 저장하며, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 이벤트 또는 조건 중 적어도 하나를 검출함에 응답하여 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하게 하는 동작을 더 수행하게 하는, 로봇.
  45. 제40항에 있어서,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 원격 작동 시스템으로부터 수신되며 상기 로봇에 의해 완수하게 될 목표를 수신하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 더 저장하며,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 목표의 추진에서 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 식별하는 동작을 더 수행하게 하는, 로봇.
  46. 제45항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 상기 로봇이 명령어들에 대한 요청을 상기 원격 작동 시스템에 전송하는 동작을 더 수행하게 하는, 로봇.
  47. 제46항에 있어서,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대응하는 확률을 할당함으로써 상기 한 세트의 후보 동작들의 각각의 후보 동작을 점수화하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 더 저장하며, 상기 대응하는 확률은 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황에 대응하는 기대치에 적어도 부분적으로 기초하여 이루어지는, 로봇.
  48. 제47항에 있어서,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 선호 순서로 각각의 후보 동작의 순위를 매기는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 더 저장하며, 상기 선호 순위는 각각의 후보 동작의 대응하는 확률에 적어도 부분적으로 기초하여 이루어지는, 로봇.
  49. 제48항에 있어서,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 상기 로봇이 각각의 후보 동작의 대응하는 확률 및 선호 순서 중 적어도 하나를 사용하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 더 저장하는, 로봇.
  50. 제49항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 상기 로봇이 각각의 후보 동작의 대응하는 확률과 선호 순서 중 적어도 하나를 사용하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 대응하는 확률이 사전에 결정된 확률 평가기준을 충족하는지를 결장하는 동작을 더 수행하게 하는, 로봇.
  51. 제49항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 있는지를 결정하도록 상기 로봇이 각각의 후보 동작의 대응하는 확률 및 선호 순서 중 적어도 하나를 사용하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 제1의 대응하는 확률과 제2의 대응하는 확률 간의 차이가 사전에 결정된 차이 평가기준을 충족하는지를 결정하는 동작을 더 수행하게 하는, 로봇.
  52. 제40항에 있어서,
    상기 로봇은 자율성 수준을 특징으로 하는 반-자율 로봇이고, 상기 자율성 수준은 상기 제어 모델에 의해 적어도 부분적으로 결정되며, 상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 로봇의 자율성 수준을 자율성 수준 임계값과 비교하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 더 저장하며, 상기 자율성 수준 임계값 이상에서는 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 자율적으로 선택하도록 작동 가능하고,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들은 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정함에 응답하여 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 더 수행하게 하는, 로봇.
  53. 제52항에 있어서,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇의 자율성 수준이 자율성 수준 임계값을 충족하거나 자율성 수준 임계값을 초과한다고 결정함에 응답하여 상기 로봇이 상기 한 세트의 후보 동작들 중 한 후보 동작을 수행하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 더 저장하는, 로봇.
  54. 제52항에 있어서,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 자율성 수준 임계값을 결정하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 더 저장하는, 로봇.
  55. 제54항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 자율성 수준 임계값을 결정하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 각각의 후보 동작에 대응하는 확률을 할당하는 동작을 더 수행하게 하며, 상기 대응하는 확률은 상기 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황에 대응하는 기대치에 적어도 부분적으로 기초하여 이루어지는, 로봇.
  56. 제55항에 있어서,
    상기 적어도 하나의 비-일시적 프로세서 판독가능 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 선호 순위로 각각의 후보 동작의 순위를 매기는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터를 더 저장하며, 상기 선호 순서는 상기 대응하는 확률에 적어도 부분적으로 기초하여 이루어지는, 로봇.
  57. 제55항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작의 대응하는 확률이 적어도 하나의 평가기준을 충족하지 못한다고 결정하는 동작을 더 수행하게 하는, 로봇.
  58. 제40항에 있어서,
    상기 로봇은 데이터 레포지토리를 더 포함하고, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 수집하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 하나 이상의 센서들에 의해 대응하는 한 세트의 보조 데이터의 제1 부분집합을 수집하는 동작, 및/또는 상기 데이터 레포지토리로부터 대응하는 한 세트의 보조 데이터의 제2 부분집합을 추출하는 동작을 더 수행하게 하는, 로봇.
  59. 제40항에 있어서,
    상기 로봇은 통신 서브시스템을 더 포함하고, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 통신 서브시스템에 의해 명령어들에 대한 요청을 전송하는 동작, 및 상기 통신 서브시스템에 의해 상기 명령어들을 수신하는 동작을 더 수행하게 하는, 로봇.
  60. 제40항에 있어서,
    상기 원격 작동 시스템은 유인(有人)식 원격 작동 시스템인, 로봇.
  61. 제40항에 있어서,
    상기 원격 작동 시스템은 상기 로봇에 대해 원격 위치에 있는, 로봇.
  62. 제40항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 명령어들에 대한 요청을 데이터 네트워크를 통해 원격 작동 시스템에 전송하는 동작을 더 수행하게 하는, 로봇.
  63. 제40항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 명령어들에 대한 요청을 원격 작동 시스템에 전송하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 대기 모드(standby mode)에 진입하는 동작을 더 수행하게 하는, 로봇.
  64. 제40항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 명령어들을 실행하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 한 세트의 후보 동작들 중 적어도 하나의 후보 동작을 호출하는 동작을 더 수행하게 하는, 로봇.
  65. 제64항에 있어서,
    상기 적어도 하나의 물리적으로 작동 가능한 구성요소는 모션 액추에이터를 포함하며, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들 중 적어도 하나의 후보 동작을 호출하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 모션 액추에이터에 의해 움직임을 실행하는 동작을 더 수행하게 하는, 로봇.
  66. 제40항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 명령어들을 실행하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 로봇에 의해 수행될 수 있는 하나 이상의 보조 동작들을 식별하는 동작을 더 수행하게 하는, 로봇.
  67. 제40항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 제어 모델을 업데이트하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 상기 로봇의 자율성 수준을 제1 자율성 수준으로부터 제2 자율성 수준으로 증가시키는 동작을 더 수행하게 하며, 상기 제2 자율성 수준은 상기 제1 자율성 수준보다 높은, 로봇.
  68. 제40항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 상기 제어 모델을 업데이트하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 제어 명령어들, 제어 데이터 또는 제어 매개변수들 중 적어도 하나를 업데이트하는 동작을 더 수행하게 하는, 로봇.
  69. 제40항에 있어서,
    상기 적어도 하나의 프로세서에 의해 실행될 때 상기 로봇이 상기 한 세트의 후보 동작들의 각각의 후보 동작, 대응하는 각각의 세트의 보조 데이터, 및 상기 명령어들에 적어도 부분적으로 기초하여 상기 제어 모델을 업데이트하는 동작을 수행하게 하는 프로세서 실행가능 명령어들 및/또는 데이터는 상기 로봇이 구성 설정, 제어 방법, 정책, 절차, 분류자 또는 규칙 중 적어도 하나를 업데이트하는 동작을 더 수행하게 하는, 로봇.
  70. 로봇의 원격 작동 방법으로서, 상기 방법은 원격 작동 시스템에 의해 수행되며, 상기 원격 작동 시스템은 상기 로봇에 통신 가능하게 연결되고, 상기 방법은,
    상기 로봇에 목표를 전송함으로써 상기 로봇을 초기화하는 단계;
    상기 로봇으로부터 명령어들에 대한 요청을 수신하는 단계 - 상기 명령어들에 대한 요청은 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들, 및 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대해 대응하는 한 세트의 보조 데이터를 포함함 -;
    각각의 후보 동작이 상기 로봇에 의해 실행되는 경우 각각의 후보 동작이 상기 목표의 추진으로 이어지게 될 대응하는 상대적인 공산(likelihood)을 결정하도록 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 보조 데이터를 분석하는 단계; 및
    상기 로봇의 자율성 수준을 증가시키도록 각각의 대응하는 상대적인 공산에 적어도 부분적으로 기초하여 상기 로봇에 명령어들을 전송하는 단계;
    를 포함하는, 로봇의 원격 작동 방법.
  71. 제70항에 있어서,
    상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 상기 목표의 추진에서 상기 로봇에 의해 수행될 수 있는 한 세트의 후보 동작들을 상기 로봇으로부터 수신하는 것을 포함하는, 로봇의 원격 작동 방법.
  72. 제70항에 있어서,
    상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 선택할 수 없다고 결정함에 응답하여 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것을 포함하는, 로봇의 원격 작동 방법.
  73. 제72항에 있어서,
    상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 상기 한 세트의 후보 동작들의 각각의 후보 동작에 대한 대응하는 점수를 수신하는 것을 포함하며, 상기 대응하는 점수는 각각의 후보 동작에 대한 대응하는 확률을 포함하고, 상기 대응하는 확률은 목표를 향한 각각의 후보 동작에 의해 이루어질 수 있는 진행 상황의 기대치에 적어도 부분적으로 기초하여 이루어지는, 로봇의 원격 작동 방법.
  74. 제73항에 있어서,
    상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 선호 순서를 수신하는 것을 더 포함하며, 상기 선호 순서는 각각의 후보 동작의 대응하는 확률에 적어도 부분적으로 기초하여 이루어지는, 로봇의 원격 작동 방법.
  75. 제73항에 있어서,
    상기 한 세트의 후보 동작들의 각각의 후보 동작과 대응하는 각각의 세트의 보조 데이터를 분석하는 것은 각각의 후보 동작이 상기 로봇에 의해 수행되는 경우 각각의 후보 동작이 상기 목표의 추진으로 이어지게 될 대응하는 상대적인 공산을 결정하도록 각각의 후보 동작의 대응하는 점수를 분석하는 것을 포함하는, 로봇의 원격 작동 방법.
  76. 제75항에 있어서,
    상기 로봇의 원격 작동 방법은,
    각각의 후보 동작의 대응하는 점수에 적어도 부분적으로 기초하여 상기 원격 작동 시스템의 기계 학습 모델 또는 기계 학습 프로세스 중 적어도 하나를 업데이트하는 단계;
    를 더 포함하는, 로봇의 원격 작동 방법.
  77. 제70항에 있어서,
    상기 로봇은 자율성 수준을 특징으로 하는 반-자율 로봇이고, 상기 자율성 수준은 상기 제어 모델에 의해 적어도 부분적으로 결정되며, 상기 로봇으로부터 명령어들에 대한 요청을 수신하는 것은 상기 로봇의 자율성 수준이 자율성 수준 임계값 미만이라고 결정함에 응답하여 명령어들에 대한 요청을 수신하는 것을 포함하고, 상기 자율성 수준 임계값 이상에서는 상기 로봇이 수행해야 할 한 세트의 후보 동작들 중 한 후보 동작을 자율적으로 선택하도록 작동 가능한, 로봇의 원격 작동 방법.
  78. 제70항에 있어서,
    각각의 후보 동작이 상기 로봇에 의해 수행될 경우 각각의 후보 동작이 상기 목표의 추진으로 이어지게 될 대응하는 상대적인 공산을 결정하도록 상기 한 세트의 후보 동작들의 각각의 후보 동작 및 대응하는 각각의 세트의 데이터를 분석하는 것은 각각의 후보 동작이 상기 로봇에 의해 수행될 경우 각각의 후보 동작이 상기 목표의 추진으로 이어지게 될 대응하는 상대적인 공산을 결정하도록 상기 한 세트의 후보 동작들 중 적어도 한 부분집합 및 대응하는 각각의 세트의 보조 데이터 각각을 파일럿(pilot)에 의해 분석하는 것을 포함하는, 로봇의 원격 작동 방법.
  79. 제70항에 있어서,
    상기 로봇의 자율성 수준을 증가시키도록 각각의 대응하는 상대적인 공산에 적어도 부분적으로 기초하여 상기 로봇에 명령어들을 전송하는 것은 상기 로봇이 제어 모델을 업데이트하는 동작을 수행하게 하도록 상기 로봇에 명령어들을 전송하는 것을 포함하는, 로봇의 원격 작동 방법.
  80. 제79항에 있어서,
    상기 로봇이 제어 모델을 업데이트하는 동작을 수행하게 하도록 상기 로봇에 명령어들을 전송하는 것은 상기 로봇이 제어 명령어들, 제어 데이터 또는 제어 매개변수들 중 적어도 하나를 업데이트하는 동작을 수행하게 하도록 상기 로봇에 명령어들을 전송하는 것을 포함하는, 로봇의 원격 작동 방법.
KR1020237038800A 2021-04-12 2022-04-12 로봇 자율성 개발을 위한 시스템, 장치 및 방법 KR20230171962A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163173670P 2021-04-12 2021-04-12
US63/173,670 2021-04-12
PCT/CA2022/050560 WO2022217346A1 (en) 2021-04-12 2022-04-12 Systems, devices, and methods for developing robot autonomy

Publications (1)

Publication Number Publication Date
KR20230171962A true KR20230171962A (ko) 2023-12-21

Family

ID=83509935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237038800A KR20230171962A (ko) 2021-04-12 2022-04-12 로봇 자율성 개발을 위한 시스템, 장치 및 방법

Country Status (7)

Country Link
US (4) US20220324115A1 (ko)
KR (1) KR20230171962A (ko)
CN (1) CN117500642A (ko)
CA (1) CA3155165A1 (ko)
DE (1) DE112022002107T5 (ko)
GB (1) GB2619991A (ko)
WO (1) WO2022217346A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9314924B1 (en) * 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
EP3636812A1 (en) * 2018-10-10 2020-04-15 Maschinenfabrik Rieter AG Spinning mill and method for operating said spinning mill
WO2021258023A1 (en) * 2020-06-18 2021-12-23 Mathieu John David Robotic intervention systems

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271132B2 (en) * 2008-03-13 2012-09-18 Battelle Energy Alliance, Llc System and method for seamless task-directed autonomy for robots
US9085080B2 (en) * 2012-12-06 2015-07-21 International Business Machines Corp. Human augmentation of robotic work
CN105093947A (zh) * 2015-07-13 2015-11-25 小米科技有限责任公司 智能设备控制方法和装置
CN110914022B (zh) * 2017-08-10 2023-11-07 罗伯特·博世有限公司 直接教导机器人的系统和方法
JP2020087206A (ja) * 2018-11-29 2020-06-04 株式会社日立製作所 自律体システム及びその制御方法
US11607816B2 (en) * 2019-10-25 2023-03-21 Dexterity, Inc. Detecting robot grasp of very thin object or feature
EP3904989A1 (en) * 2020-04-29 2021-11-03 von Reventlow, Christian Service robot system, robot and method for operating the service robot

Also Published As

Publication number Publication date
WO2022217346A1 (en) 2022-10-20
US20220324113A1 (en) 2022-10-13
CA3155165A1 (en) 2022-10-12
GB2619991A (en) 2023-12-27
US20220324114A1 (en) 2022-10-13
US20220324115A1 (en) 2022-10-13
GB202219842D0 (en) 2023-02-15
CN117500642A (zh) 2024-02-02
US20230122611A1 (en) 2023-04-20
DE112022002107T5 (de) 2024-03-14

Similar Documents

Publication Publication Date Title
Belkhale et al. Model-based meta-reinforcement learning for flight with suspended payloads
KR20230171962A (ko) 로봇 자율성 개발을 위한 시스템, 장치 및 방법
US10207407B1 (en) Robotic operation libraries
US10293483B2 (en) Apparatus and methods for training path navigation by robots
US11213953B2 (en) Efficient robot control based on inputs from remote client devices
JP6439817B2 (ja) 認識的アフォーダンスに基づくロボットから人間への物体ハンドオーバの適合
Franceschetti et al. Robotic arm control and task training through deep reinforcement learning
EP4202591A1 (en) Methods and devices for a collaboration of automated and autonomous machines
WO2021221801A1 (en) Training reinforcement machine learning systems with a sub-goal based shaped reward function
US11433548B2 (en) Robot system and control method thereof
Petrovic et al. Can UAV and UGV be best buddies? Towards heterogeneous aerial-ground cooperative robot system for complex aerial manipulation tasks
EP4202785A1 (en) Hazard exploration, estimation, and response system and method
WO2021034303A1 (en) Continual proactive learning for autonomous robot agents
CN114661043A (zh) 自动化机器和系统
US11590649B2 (en) Grip manipulator and method for controlling the same
JP7480670B2 (ja) 動作計画装置、動作計画方法、及び動作計画プログラム
US20230278223A1 (en) Robots, tele-operation systems, computer program products, and methods of operating the same
EP4300239A1 (en) Limiting condition learning device, limiting condition learning method, and storage medium
JP2017207420A (ja) 配置位置決定方法および配置位置決定システム
Zhi et al. Evaluation of Smartphone IMUs for Small Mobile Search and Rescue Robots
CN116643587A (zh) 一种基于信息素启发的多无人机自主覆盖方法
CN114282636A (zh) 一种机器人控制模型的建立方法及机器人的控制方法
CN116414121A (zh) 基于感知不确定性的机器人冲突探测和避免
CN118181277A (zh) 一种自适应神经网络驱动机器人动力优化控制方法及系统