KR20170027707A - 로봇의 활동 모니터링 - Google Patents

로봇의 활동 모니터링 Download PDF

Info

Publication number
KR20170027707A
KR20170027707A KR1020167032158A KR20167032158A KR20170027707A KR 20170027707 A KR20170027707 A KR 20170027707A KR 1020167032158 A KR1020167032158 A KR 1020167032158A KR 20167032158 A KR20167032158 A KR 20167032158A KR 20170027707 A KR20170027707 A KR 20170027707A
Authority
KR
South Korea
Prior art keywords
robot
software application
software
execution
user
Prior art date
Application number
KR1020167032158A
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 KR20170027707A publication Critical patent/KR20170027707A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Toys (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

로봇의 활동 모니터링
로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법이 개시되며, 상기 로봇은 복수의 소프트웨어 애플리케이션을 실행하고, 적어도 2개의 소프트웨어 애플리케이션이 실행 경쟁 중이며, 상기 방법은 다음의 단계를 포함한다: 적어도 하나의 소프트웨어 애플리케이션의 실행을 모니터링하는 단계, 수정 요청의 수신에 응답하여, 상기 적어도 하나의 소프트웨어 애플리케이션을 수정하는 단계, 로봇 상의 수정된 소프트웨어 애플리케이션을 실행하는 단계. 예를 들어, 본 발명의 형태가 수정 및/또는 실행 규칙의 사용을 포함하며, 소프트웨어 애플리케이션의 수정은 하나 이상의 소프트웨어 애프리?굼抉퓽? 모니터링을 기초로 이뤄지고, 중앙 집중적이거나 분산된 감독의 예시 및 서로 다른 가능한 역할의 예시가 로봇 제조업체 및 애플리케이션 제공자에 의해 지원된다.

Description

로봇의 활동 모니터링{ACTIVITY MONITORING OF A ROBOT}
이 특허는 디지털 데이터 처리 분야와 관련되며 더 구체적으로 휴머노이드 로봇에 의해 실행되는 소프트웨어 애플리케이션의 모니터링과 관련된다.
로봇에 의한 인간-기계 대화(interaction)는 개인 컴퓨터(PC)와의 대화와 매우 상이하다. 동반자 로봇(companion robot)은 상호 대화 및 물리적 동작을 이용해 인간과 감정 관계를 쌓을 수 있다. 동반자 휴머노이드 로봇의 맥락에서, 인간 사용자와의 대화 모델은 개인 컴퓨터(및 이들의 상이한 형태, 가령, 태블릿 PC 또는 스마트폰)와의 대화 모델과 비교할 때 상당히 다르다.
센서 및 액추에이터에 추가로, 동반자 로봇에는 처리부, 메모리, 저장부 및 I/O 수단이 제공된다. 동반자 로봇은 또한 특정 소프트웨어 애플리케이션(앱)을 내장하고 구현한다.
로봇에 설치된 소프트웨어 애플리케이션에서, 로봇의 활동을 모니터링하기 위한 방법 및 시스템에 대한 필요성이 존재한다.
로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법이 개시되며, 상기 로봇은 복수의 소프트웨어 애플리케이션을 실행하고, 적어도 2개의 소프트웨어 애플리케이션이 실행 경쟁 중이며, 상기 방법은 다음의 단계를 포함한다: 적어도 하나의 소프트웨어 애플리케이션의 실행을 모니터링하는 단계, 수정 요청의 수신에 응답하여, 상기 적어도 하나의 소프트웨어 애플리케이션을 수정하는 단계, 로봇 상의 수정된 소프트웨어 애플리케이션을 실행하는 단계.
로봇 상에서 (적어도 유사한) 소프트웨어 애플리케이션이 실행되도록 경쟁한다. 하나의 실시예에서, 소프트웨어 애플리케이션은 실행 규칙과 연관되어 애플리케이션을 실행할 방식 및 때를 특정한다. 로봇의 센서에 의해 지각되는 환경에 응답하여, 실행 규칙이 지속적으로 적용되고 경쟁적인 소프트웨어 애플리케이션들이 비교된다. 소프트웨어 애플리케이션은 또한 실행 우선순위 레벨과 연관될 수 있다. 실행 규칙의 검증 및/또는 우선순위 레벨의 검증이 있으면, 소프트웨어 애플리케이션이 선택되고 실행된다. 실행되는 소프트웨어 애플리케이션(뿐 아니라 비-실행 애플리케이션)의 모두 또는 대부분이 모니터링된다. 상기 모니터링의 결과로서, 하나 이상의 소프트웨어 애플리케이션이 수정될 수 있다.
본 발명의 하나의 형태에서, 소프트웨어 애플리케이션은 시스템 위험을 나타내는 적어도 하나의 지정 수정 규칙과 연관되며 상기 소프트웨어 애플리케이션을 수정하는 단계는 상기 수정 규칙을 성공적으로 검증하는 단계를 포함한다. 이 실시예는 로봇의 자율성 정도와 관련된다. 수정 규칙이, 가령, 실행 위험성에 의해 소프트웨어 애플리케이션을 그룹지음으로써, 가능한 시스템 위험을 피하기 위한 필터로서 기능한다.
본 발명의 하나의 형태에서, 소프트웨어 애플리케이션을 수정하는 단계는 상기 소프트웨어 애플리케이션과 연관된 실행 규칙을 수정하는 단계를 포함한다. 이 실시예는 소프트웨어 애플리케이션의 실행의 조건이 변경될 수 있음을 특정한다. 실행 규칙은 많은 가능한 파라미터를 포함한다. 예를 들어, 애플리케이션의 실행의 순서 또는 우선순위가 변경될 수 있다. 예를 들어, 날씨 정보가 새로운 RSS의 선언보다 더 높은 우선순위와 연관될 수 있다. 특정 앱을 다른 앱보다(가령, 말하면서 춤추기) 더 자주 런칭하도록 편향이 도입될 수 있다. 최대 실행 개수가 정의될 수 있다. 말하기의 총 지속시간이 정의될 수 있다. 최소 및/또는 최대 대화 시간이 정의될 수 있다. 지각된 맥락(가령, 분류된 이벤트)이 애플리케이션을 런칭하는 데 요구될 수 있다(가령, 어린이의 존재 여부 또는 미소의 존재 여부 등). 또한 실행 규칙은 실행 시 요구되는 메타데이터(암호화 키, 보안 부트 등)를 포함할 수 있다.
본 발명의 하나의 형태에서, 소프트웨어 애플리케이션을 수정하는 단계는 상기 소프트웨어 애플리케이션과 연관된 프로그램 코드를 수정하는 단계를 포함한다. 소프트웨어 애플리케이션과 연관된 메타데이터의 실행 조건에 추가로 또는 이를 보충하여, 프로그램 자체(가령, 코드 라인)가 수정될 수 있다. 애플리케이션의 실행 모드는 다양한 범위까지 변경될 수 있다. 즉, 트리거링 조건뿐 아니라, 애플리케이션의 범위까지 변경될 수 있다.
본 발명의 하나의 형태에서, 소프트웨어 애플리케이션을 모니터링하는 단계는 소프트웨어 애플리케이션과 연관된 실행 또는 사용성 데이터를 모니터링하는 단계를 포함하고, 상기 데이터는, 빈도, 날짜, 시각, 지리적 위치(geolocation), 사용자 데이터 피드백 또는 입력, 사용자 감정 반응, 대화 사용자 프로필, 대화 지속시간, 에러, 함수 호출 및 트리거링 조건으로 구성된 군 중에서 선택된다.
특정 실시예에서, 오작동하는 로봇이 로봇 제조업체에 의해 호스팅되는 중앙 집중 시스템에 통지될 수 있다. 기본적으로 진보적인 통계치가 상세한 실행 데이터(애플리케이션이 하는 것, 가령, 수행되는 동작, 호출되는 함수, 입력 또는 출력) 및/또는 사용성 데이터(가령, 맥락, 이벤트, 사용자 관련 데이터)로부터 유도될 수 있다.
본 발명의 하나의 형태에서 상기 사용성 실행 또는 사용성 데이터로부터 통계 데이터를 유도하는 단계를 더 포함한다. 원시 데이터가 먼저 수집된다. 그 후 통계 또는 분석물이 상기 원시 데이터로부터 유도될 수 있다.
본 발명의 하나의 형태에서, 상기 방법은 상기 통계 데이터를 디스플레이하는 단계를 더 포함한다. 통계치는 여러 많은 측, 가령, 애플리케이션 제공자 및/또는 로봇 제조업체 및/또는 로봇의 사용자 소유자에게로 디스플레이될 수 있다. 여기서, 인간 감독이 발생할 수 있다.
본 발명의 하나의 형태에서 소프트웨어 애플리케이션은 인간 감독 하에서 수정된다. 이 실시예는 감독의 기술적 수단(가령, 통신 및 디스플레이)을 의미한다. 이는 개방-루프 구성 또는 메커니즘에 대응한다. 인간은 루프 내로 유지된다. 실제로, 인간 관리자 또는 감독관은 수집된 데이터를 분석하고 교정 동작을 더 결정한다. 로봇 시스템이 처음부터 인간 환경에 들어맞도록 (가령, 업스트림) 설계될 수 있어도, 이 모드는 추가 규제(가령, 다운스트림 동작)를 허용할 수 있다.
본 발명의 하나의 형태에서, 소프트웨어 애플리케이션은 인간 감독 없이 수정 요청을 수신하면 직접 수정된다. 이 실시예는 폐쇄 루프 규제 메커니즘에 대응한다. 앱 메트릭 및/또는 통계치가 소프트웨어 애플리케이션과 직접 연결된다. 예를 들어, 지정 로직(가령, 임계치 및 완료 규칙)을 기초로, 자동화된 로직이 피드백 루프를 결정 및 구현할 수 있다. 통계치가 결정 지원에 대한 토대를 구성할 수 있는 경우라도 유도된 통계치를 디스플레이할 필요가 없다. 하나의 실시예에서, (일반적으로 관리 가능한) 대기시간에 따라서, 교정적 동작 또는 선행적 동작이 로봇의 플릿 간에 전파될 수 있다. 일부 실시예에서, 로컬 규칙(가령, 사용자 프로파일 또는 사용자 선호 또는 로봇 고유의 황금 보안 규칙 가령, Asimov의 로봇 3원칙)이, 전역 또는 대규모 업데이트에도 불구하고 이전 시스템을 (전체적으로 또는 설정간으한 범위까지) 변경되지 않게 유지할 수 있다. 기술된 로봇의 건강 모니터링 모듈이 또한 소프트웨어 애플리케이션의 변경을 인가 또는 금지할 수 있다. 개방 루프 스킴과 폐쇄 루프 스킴이 결합될 수 있다.
몇 가지 규칙이 정의되고 인가되어 앱의 적절한 모니터링을 기초로 이러한 후속 피드백을 관리할 수 있다. 예를 들어, 통계치가 앱이 매우 인기가 있다고 가리키는 경우, 대응하는 애플리케이션의 랭킹이 애플리케이션의 실행을 선호하도록 할 것이다. 랭킹은 절대적이거나 실행 맥락에 따라 달라질 수 있다. 로봇의 개입이 사용자의 반응을 기초로 점수화되고 연관된 관련 애플리케이션이 우수한 점수를 상속받을 수 있다. 애플리케이션의 모니터링의 관점에서 컴퓨팅 자원의 소비가 조절될 수 있다(과소-이용 또는 과다-이용이 보상될 수 있다).
본 발명의 하나의 형태에서, 소프트웨어 애플리케이션을 수정하기 전에 사용자의 긍정 확인을 수신하는 단계를 더 포함한다. 이 실시예는 어느 상황에서도 사용자 소유자가 마지막 말을 할 수 있음을 강조한다.
본 발명의 하나의 형태에서, 수정 요청은 로봇 로직 및/또는 로봇 제조업체 및/또는 애플리케이션 제공자로부터 수신된다. 서로 다른 개체가 소프트웨어 애플리케이션에 대해 이뤄지는 조치을 제어할 수 있다. 로봇의 내부 로직(마인드 부)이 지속적으로 소프트웨어 애플리케이션과 연관된 규칙의 실행을 업데이트할 수 있고, 예를 들어 상기 규칙이 충돌이 있는 경우 이를 해결하기 위한 우선순위 및/또는 수단을 정의할 수 있다. 소프트웨어 애플리케이션은 또한 외부 측에 의해서 제어될 수 있다. 예를 들어, 로봇 제공자(또는 로봇 플랫폼 운영자 또는 로봇의 제조업체)가 제어(가령, 어느 때라도 업데이트)할 수 있다. 중간 솔루션 또는 상태가 가능하다: 로봇 및/또는 그 밖의 다른 개체(즉, 인간 및/또는 그 밖의 다른 로봇)가 로봇을 종합적으로 제어할 수 있다(일부 특징부는, 가령, 실시간 제약 및 연결 상태에 따라 지정 측에 의해서만 배타적으로 제어 가능하다).
본 발명의 하나의 형태에서, 사용자와 대화 중에 로봇에 없는 소프트웨어 애플리케이션을 식별하고, 상기 로봇에 없는 소프트웨어 애플리케이션을 불러오고 설치하는 단계를 더 포함한다.
적합한 컴퓨터 장치 또는 로봇 장치 상에서 실행될 때 방법의 하나 이상의 단계를 수행하기 위한 명령을 포함하는 컴퓨터 프로그램이 개시된다. 방법의 하나 이상의 단계들을 수행하기에 적합한 수단을 포함하는 시스템이 개시된다.
바람직하게는, 앱 활동의 모니터링 - 및 로봇에게 행해지는 추가적인 교정 동작 - 이 a) 로봇 플랫폼 운영자에게, 일반 목적으로, b) 앱 제공자에게(앱을 개선하고,내용을 개선하기 위해, 가령, 조크(joke) 애플리케이션의 경우 조크의 내용을 개선하거나, 버그 또는 잘못되거나 최적화되지 않은 규칙을 바로잡거나 투자 반환, 소요 시간 등을 개선하기 위해), 및 c) 사용자 자신에게(더 우수한 사용자 경험 및 상호작용 등을 위해) 이로울 수 있다.
예를 들어 앱 제공자에 대한 이점은 로봇의 설치된 베이스의 우수한 제어를 포함한다. 제조업체는 로봇에 대한 (나머지) 법적 책임을 가질 수 있다(또는 갖지 않을 수 있다). 기재된 실시예에 의해 연관된 위험을 완화시키고 대응하는 동작을 핸들링하는 것이 가능해진다. 프로그램 코드의 핵심 부분이 제어 하에 있을 수 있고 나머지 부분은 완화 또는 집단 소싱(crowd sourcing)에 개방될 수도 있다. 특정 실시예에서, 라이센싱 모델 다운로드별 지불(pay-per-download)일 수 있지만, 또한 사용별 지불(pay-per-usage)(또는 사용별 수익(revenue-per-usage))일수도 있으며, 후자 모델은 로봇 상의 소프트웨어 애플리케이션의 경쟁적 실행에 대응한다.
애플리케이션 제공자에 대한 이점은 앱의 사용성에 대한 국지적인(더 좁은) 관점을 액세스함으로써 고려되는 애플리케이션의 지속적인 개선의 가능성을 포함한다. 대화 주제에 따라 소요되는 시간이 전역적으로 분석될 수 있다. 더 상세히 말하자면, 애플리케이션의 런칭의 맥락적 조건이 깊이 조사될 수 있다. 이러한 분석은 앱(app) 제공자가 런칭 조건을 개선하게 하거나 및/또는 다른 유사한 애플리케이션과 더 잘 경쟁하게 할 수 있다.
인간 사용자에 대한 이점은 더 우수한 사용자 경험, 개인 로봇의 더 빠른 진화, 로봇의 증가된 신뢰성 및 안정성을 포함한다.
본 발명의 실시예가 첨부된 도면을 참조하여 예시로서 기재될 것이며, 여기서 유사한 도면부호가 유사한 요소를 지칭하며, 이때:
도 1은 본 발명의 전역적 기술적 환경을 도시한다.
도 2는 방법의 실시예의 일부 양태를 상세히 도시한다.
휴머노이드 로봇은 사회적 기술(social technology)의 떠오르는 형태이다. 동반자 로봇으로서, 휴머노이드 로봇은 인간 사용자에 의해 파트너로서 여겨지고 있으며, 감정적 관계는 아니더라도, 지속적인 학습 관계(서로 간에 이뤄지는 학습, 즉, 로봇이 사용자로부터 학습하고 사용자가 로봇으로)를 유지한다. 예를 들어, 기계만이 아니라, 개인 로봇이 교수 활동(가령, 식이, 스포츠 또는 교육)을 위한 우수한 가치를 보인다. 개인 컴퓨터에 비교할 때, 시뮬레이션된 감정 및 몸짓이 더 매력적이고, 설득력 있으며, 확신에 찬 또는 그 밖의 다른 방식으로 신뢰할만한 관계를 가능하게 한다.
휴머노이드 로봇은 정보 처리 기계이며 따라서 개인 컴퓨터와 광범위하게 비교될 수 있다. 일부 측면은 공통점을 가질 수 있다. 개인 로봇과 개인 컴퓨터를 비교할 때 일부 다른 측면은 매우 상이하다.
예를 들어, 소프트웨어 애플리케이션의 측면과 관련하여, 꽤 상당한 차이가 강조될 수 있다. 첫 번째 상당한 차이점은 개인 로봇의 멀티모드 특성, 즉, 설계에 있다. 동반자 로봇에 의해 이의 소유자(즉, 본 발명의 변위 능력)를 따를 수 있고 물체를 터치하거나 이의 환경과 대화할 수 있다. 설계적으로, 개인 컴퓨터에는 이러한 다양한 환경적 피드백이 부재한다. 이 멀티모드 특징부 또는 특성이 로봇 상의 애플리케이션의 관리와 관련하여 중요하다. 예를 들어, 한 가지 차별되는 측면에 따르면, 복수의 소프트웨어 애플리케이션이 로봇 상에서 실행되도록 경쟁할 수 있다는 것이다. 이러한 시나리오는 개인 컴퓨터에서는 해당되지 않는다.
또 다른 차이점은 인간-기계 인터페이스와 연관된다. 개인 컴퓨터를 이용할 때, 멀티태스킹에 의해 소프트웨어 애플리케이션이 병렬로 실행될 수 있는 경우라도, 주요한 시각적 인간-기계 인터페이스는 일반적으로 한 번에 한 가지 메인 소프트웨어(가령, 워드 프로세싱)만 렌더링할 수 있다 - 사용자의 주의가 하나의 메인 인지 활동에 집중된다. 덧붙여, 일반적으로 사용자는 애플리케이션 또는 활동을 트리거할 때 능동적이고 결정적인 역할을 한다. 개인 컴퓨터가 다소 수동적이다. 동반자 로봇에 의해, 이들 측면이 상이하다. 로봇은 음성 명령어를 통한 명령에 응답할 수 있지만, 동반자 로봇은 일반적으로 훨씬 더 자율적이다, 즉, 사용자에 의해 거의 간접적으로 트리거되는 동작(가령, 몸짓 및 대화)을 선행적으로 개시한다. 물론, 자율성과 멀티모드 특징은 예시에 불과하며, 개인 컴퓨터와 개인 로봇 간 추가적인 차이가 존재한다.
개인 컴퓨터와 개인 로봇 간 차이가 약간 다른 관점에서 다시 언급된다. 태블릿 또는 스마트폰 상에서, 특정 애플리케이션의 실행은 사용자의 의도에 의해 트리거된다. 동반자 로봇의 맥락에서, 애플리케이션의 실행은 대부분 자동으로 트리거되며 때때로 사용자의 질의에 응답하여 트리거된다(예를 들어 음성 명령어에 의해 명시적으로, 또는 사용자의 미소의 검출에 의해 묵시적으로). 특히, 애플리케이션의 실행은 인간 감각에 순차적으로 렌더링된다(이는 서로 다른 애플리케이션이 배경(background)에서 병렬로 동작할 수 없음을 의미하는 것은 아니다). 예를 들어, 날씨 애플리케이션의 실행이 주식 시장 애플리케이션의 실행에 선행될 수 있다. 주식 시장 애플리케이션이 사용자에 의해 중단되자마자, 날씨 애플리케이션이 시작될 수 있다. 다시 말하면, 동반자 로봇과의 대화 중에 캡처되는 단어의 흐름이 애플리케이션의 런칭의 가이드로서 역할한다. 따라서 상호작용의 대화 모드의 부재로 동반자 로봇과의 대화의 고유한 속성은 태블릿과의 일반적인 상호작용과 매우 상이하다. 특히 이 모드는 설계에 따라 멀티모드이다. 예를 들어, 사용자의 미소의 검출이 긍정 피드백으로 즉시 해석될 수 있다. 이론적으로, 태블릿은 태블릿에 내장된 카메라를 통한 사용자의 감정의 검출을 구현할 수 있지만, 설계에 따라 태블릿과의 전통적인 대화 모드와 상이하며 따라서 솔루션이 개시된 바 없으며 구현된 바 없다.
결국, 휴머노이드 동반자 로봇 상의 소프트웨어 애플리케이션의 실행을 핸들링하기 위한 결정 로직이 개인 컴퓨터에 의한 로직과 상당히 상이하다.
이와 관련하여, 로봇 상에서의 (가령, 경쟁적인) 소프트웨어 애플리케이션의 활동의 절묘한 모니터링이 새 서비스의 다양한 기회를 제공하며, 이는 더 우수한 사용자 경험을 이끌 수 있다.
이러한 새 서비스를 기술하기 전에, 이하에서 일부 기술적 용어가 정의된다.
로봇에 설치된 소프트웨어 애플리케이션은 일부 처리 수단에 의해 실행될 때 하나 이상의 방법 단계들을 수행할 수 있는 컴퓨터 프로그램 코드이다. 동반자 또는 휴머노이드 로봇 상의 소프트웨어 애플리케이션은, 대화(가령, 지정 문장들의 모음, 가령, 예상 질문에 대한 응답) 및/또는 동작(가령, 춤 또는 물리적 동작의 실행), 및/또는 애니메이션(가령, 머리 운동, 조명이 존재한다면, 이의 활성화, 등), 및 이들의 조합(가령, 춤을 추면서 대화하기)과 연관될 수 있다. 더 일반적으로, 소프트웨어 애플리케이션은 다른 애프리케이션과 대화하거나 대화하지 않는 독립형 애플리케이션일 수 있다.
로봇을 위한 소프트웨어 애플리케이션의 예시로는, (가령, 오디오 출력을 발음 또는 열거 또는 재구성함으로써) 지역 날씨 상태를 제공하기 위한 날씨 애플리케이션, 게임 애플리케이션, 댄스 애플리케이션, 스토리텔링 애플리케이션 등이 있다. 특히, 로봇을 위한 소프트웨어 애플리케이션은 로봇의 물리적 동작(춤, 이동, 물체의 파지 및 변위)의 세트를 야기할 수 있다. 스마트폰 또는 태블릿에 대한 소프트웨어 애플리케이션이 일반적으로 물리 세계에서의 실제 유형의 동작을 포함하지 않는다.
소프트웨어 애플리케이션들은 상호의존적일 수 있다. 예를 들어, 소프트웨어 애플리케이션은 복잡한 물체를 나타낼 수 있기 때문에, 선험적 구별되는 소프트웨어 애플리케이션(또는 대화 주제) 간 전환이 관측될 수 있다. 태블릿 컴퓨터 상에서, 드로잉 소프트웨어 애플리케이션이 드로잉 툴을 제공하고 날씨 소프트웨어 애플리케이션은 기상 데이터를 제공한다. 로봇 상에서, 로봇이 바깥은 -10°C입니다라고 말하거나 및/또는 종이에 눈사람을 그리는 것이 가능하다(및/또는 제스처의 조합에 의해 외부가 추움을 부호화함). 다시 말하면, 멀티모드 출력의 결과로서, 소프트웨어 애플리케이션은 더 조합될 수 있다(출력 레벨에서 또는 더 낮은 레벨에서, 가령, 변수 또는 파라미터 또는 스크립트가 소프트웨어 애플리케이션들 간에 공유되거나 수정될 수 있다).
도 1은 본 발명의 전역적 기술적 환경을 도시한다. 로봇(130)은 센서 및 액추에이터를 포함한다. 로직 또는 마인드(100)이 로봇 내에서 구현되거나 (예를 들어 원격으로) 로봇과 연관되며 소프트웨어(110) 및 하드웨어 구성요소(120)의 모음을 포함한다. 로봇(130)은 (양방향 통신(140), 가령, 하나 이상의 대화 세션을 통해) 하나 이상의 사용자(150)와 대화한다. 상기 하나 이상의 사용자는 (서버의 클라우드 및/또는 다른 로봇 또는 연결된 객체 무리와 통신하는 등) 연결된 장치일 수 있는 다른 컴퓨팅 장치(160)(가령, 개인 컴퓨터, 가령, 웨어러블 컴퓨터 또는 스마트폰 또는 태블릿)를 액세스할 수 있다. 특히, 연결된 장치는 웨어러블 컴퓨터(가령, 시계, 안경, 몰입형 헬멧(immersive helmet) 등)일 수 있다.
도면 상의 특정 로봇(130)이 본 발명이 구현될 수 있는 휴머노이드 로봇의 예시로서 간주된다. 도면 상의 로봇의 하지는 보행 기능을 하지 않고, 표면 상에서 구르는 베이스를 갖고 임의의 방향으로 이동할 수 있다. 본 발명은 보행에 적합한 로봇에서 쉽게 구현될 수 있다.
본 발명의 일부 실시예에서, 로봇은 다양한 유형의 센서를 포함할 수 있다. 이들 중 일부가 로봇의 위치 및 운동을 제어하도록 사용된다. 이는, 예를 들어, 로봇의 몸통에 위치하는 관성 유닛(inertial unit)이 3축 자이로미터 및 3축 가속도계를 포함하는 경우이다. 로봇은 또한 자신의 이마 상에 (상부 및 하부) 2개의 2D 컬러 RGB 카메라를 포함할 수 있다. 또한 3D 센서가 로봇의 눈 뒤에 포함될 수 있다. 상기 로봇은 또한 선택사항으로서, 예를 들어, 머리 및 이의 베이스에 레이저 라인 생성기를 포함하여, 주위에 존재하는 물체/생물체에 대한 자신의 상대적 위치를 감지할 수 있다. 로봇은 또한 주위의 소리를 감지할 수 있는 마이크로폰을 포함할 수 있다. 본 발명의 로봇은 또한, 자신의 베이스의 전면 및 후면에 위치할 수 있는 초음파 센서를 더 포함하여, 주위의 물체/인간까지의 거리를 측정할 수 있다. 로봇은 자신의 머리와 손 상에 촉각 센서(tactile sensor)를 더 포함하여, 인간과의 대화를 가능하게 할 수 있다. 로봇은 자신의 베이스 상에 범퍼를 더 포함하여 로봇이 자신의 경로 중에 마주치는 장애물을 감지할 수 있다. 로봇의 감정을 해석하고 주위 인간과 소통하기 위해, 본 발명의 로봇은, 가령, 로봇의 눈, 귀, 및 어깨에 LED와 (가령, 귀에 위치하는) 확성기를 더 포함할 수 있다. 로봇은 기지국, 그 밖의 다른 연결된 장치, 또는 그 밖의 다른 로봇과 다양한 네트워크(3G, 4G/LTE, Wifi, BLE, 메시(mesh) 등)를 통해 통신할 수 있다. 로봇은 배터리 또는 에너지 공급원을 포함한다. 상기 로봇은 자신이 포함하는 배터리의 유형에 적합한 충전 스테이션을 액세스할 수 있다. 로봇의 위치/운동이 센서의 측정 관점에서, 각 사지와 각 사지의 끝부분에서 형성된 효과기(effector)에 의해 형성된 체인을 활성화하는 알고리즘을 이용해 이의 모터에 의해 제어된다.
특정 실시예에서, 본 발명의 로봇은 메시지(오디오, 비디오, 웹 페이지)를 이의 주위 환경으로 통신하거나, 태블릿의 촉각 인터페이스를 통해 사용자로부터의 입력 값을 수신할 수 있는 태블릿을 가진다. 또 다른 실시예에서, 로봇은 스크린을 내장하거나 제공하지 않고, 데이터 또는 정보가 로봇 근방의 표면 상에 영사될 수 있도록 하는 비디오 영사기를 가진다. 상기 표면은 평면이거나(가령, 바닥) 평면이 아닐 수 있다(가령, 영사 표면의 왜곡이 보상되어 충분히 평면인 영사가 획득될 수 있다). 두 실시예 모두(스크린 및/또는 영상기를 갖는 실시예), 본 발명의 실시예가 유효하다: 본 발명의 대화 모델이 시각 대화 수단에 의해 보충 또는 보완된다. 어느 경우라도, 그래픽 수단이 고장나거나 비활성화될 경우, 종래의 대화 모드가 유지된다.
하나의 실시예에서, 로봇은 이러한 그래픽 사용자 인터페이스 수단을 포함하지 않는다. 기존 휴머노이드 로봇은 일반적으로 진보된 음성 능력을 구비하지만 일반적으로 GUI는 구비하지 않는다. 점점 더 많은 수의 사용자가 선택적으로 및/또는 필수적으로(어린이, 장애인, 실시 상황 등 때문에) 로봇과 통신하기 위해 그래픽 수단(가령, 태블릿, 스마트폰)을 - 심지어 보조도구로서도 - 사용하지 않을 것이다.
소프트웨어(110)의 모음(전부는 아니지만)은 서로 대화하는 소프트웨어 모듈 또는 객체 또는 소프트웨어 코드 부분, 가령, 추출기(extractor)(111), 활동 제안(112), 마인드 우선순위화(113), 패키지 관리자(114), 사용자 히스토리 데이터(115), 집중 자율 활동(116) 및 집중 대화 주제(117) 및 건강 모니터링 서비스(118)을 포함한다.
일반적으로 추출기 서비스(111)는 로봇의 내부 또는 외부에 있는 무언가를 감지 또는 지각하고 로봇의 메모리로 단기 데이터를 제공한다. 추출기 서비스는 로봇 센서로부터 입력 판독물을 수신하며, 이들 센서 판독물이 사전처리되어, 로봇의 위치, 주위 물체/인간의 신원, 상기 물체/인간의 거리,인간이 발음한 단어 또는 감정과 관련된 데이터를 추출할 수 있다. 추출기 서비스는, 특히, 안면 인식, 인간 지각, 체결 구역(engagement zone), 웨이빙 검출(waving detection), 미소 검출, 시선 검출, 감정 검출, 음성 분석, 음성 인식, 소리 위치 찾기, 운동 검출, 파노라마 나침반, 로봇 포즈, 로봇 건강 진단, 배터리, QR 코드 핸들링, 홈 자동화, 부족(tribe), 시각 및 스케줄을 포함한다.
액추에이터 서비스에 의해 로봇(130)이 동작을 물리적으로 수행할 수 있다. 모션 추적기, LED, 행동 관리자가 액추에이터 서비스의 예시이다.
데이터 서비스가 장기 저장된 데이터를 제공한다. 데이터 서비스의 예시는 사용자 데이터 및 로봇에 의해 수행된 것의 히스토리를 저장하는 사용자 세션 서비스(115), 및 하이 레벨 정의, 런칭 조건 및 태그를 갖고 로봇에 의해 실행되는 절차의 확장 가능한 저장소를 제공하는 패키지 관리자 서비스(114)이다. 특히, 패키지 관리자는 활동 및 대화, 및 매니페스트(Manifest)의 확장 가능한 저장소를 제공한다. 은 메타데이터, 가령, 런칭 조건, 태그 및 하이 레벨 기술을 포함한다.
마인드 서비스(가령, 서비스 마인드 우선순위화(113))는 로봇이 동작을 개시할 때 로봇의 중앙 마인드에 의해 제어될 것들이다. 마인드 서비스는 액추에이터 서비스(130), 추출기 서비스(111) 및 데이터 서비스(115)를 함께 묶는다. 기본 의식이 마인드 서비스이다. 이는 추출기 서비스, 가령, 사람 지각, 운동 검출, 및 소리 위치 찾기를 이용해 모션 서비스에게 움직일 것을 명령할 수 있다. 마인드(113)가 상황을 기초로 기본 의식(Basic Awareness)의 행동을 구성한다. 그 밖의 다른 때, 기본 의식은 스스로 동작하거나, 러닝 활동(Running Activity)에 의해 설정된다.
자율 생활부(Autonomous Life) 마인드 서비스이다. 이는 행동 활동을 실행한다. 상황의 맥락을 기초로, 마인드부(Mind)는 자율 생활부에게 집중할 활동이 무엇인지를 알려줄 수 있다(집중 자율 활동(116)). 매니페스트의 메타데이터가 이 정보를 마인드부에 연결한다. 임의의 활동부가 운영 체제 API 중 하나 이상을 액세스할 수 있다. 활동부가 집중할 활동을 자율 생활부에게 직접 말하거나, 집중할 주제를 대화 서비스에게 말할 수 있다.
대화 서비스는 마인드 서비스로서 구성될 수 있다. 이는 음성 인식 추출기를 이용하고 말하기 위해 애니메이션된 음성 액추에이터 서비스를 이용할 수 있다. 상황 맥락을 기초로, 마인드부가 집중할 주제(대화 주제(Dialog Topic))를 대화부(Dialog)에게 말할 수 있다. 대화 서비스는 또한 대화를 관리하기 위한 알고리즘을 가지며, 일반적으로 스스로 동작한다. 대화 서비스의 한 가지 구성요소는 집중 대화 주제 서비스(117)일 수 있다. 프로그램에 따라 대화 주제는 언제라도 상이한 활동 또는 대화 주제로 초점을 전환하도록 마인드부에게 말할 수 있다. 대화 주제를 결정하기 위한 가능한 방법의 한 가지 예시는 다음을 포함할 수 있다: 대화 주제 또는 활동의 런칭 조건이 참 또는 거짓이 되는 순간, 순간에 대한 모든 가능한 활동 또는 대화 주제의 목록이 마인드부로 전송되며, 목록은 활동 우선순위화에 따라 필터링되고, 목록 순서가 랜덤화되며, 목록이 정렬(또는 점수 부여)되어 고유하며 덜 빈번하게 시작되는 활동 또는 대화 주제에 우선순위를 부여하고, 이 목록의 상위 대화 주제 또는 활동이 실행된 이전 활동과 동일한 활동이 아님을 확실시하기 위해 특수 체크가 이뤄진다. 목록은 사용자의 선호에 따라 다시 정렬되고 필터링될 수 있다.
로봇이 건강 모니터링 서비스(118)를 구현할 수 있다. 이러한 서비스는 데이몬(daemon) 또는 와치독(watchdog)으로서 동작하여, 로봇의 서로 다른 우선순위를 검토 또는 제어 또는 규정할 수 있다. 이러한 서비스는 (연속적으로, 간헐적으로 또는 주기적으로) 로봇의 내부 구성요소의 상태를 모니터링하고 하드웨어 고장을 측정 또는 예상 또는 예측 또는 수정할 수 있다. 하나의 형태에서, 로봇의 플릿(fleet)(가령, 설치된 베이스)이 모니터링된다. 내장된 서비스가 연속으로 오류 상황을 검출하고 (예를 들어 1분마다) 클라우드 서비스와 동기화시킬 수 있다.
하드웨어 구성요소(120)는 처리 수단(121), 메모리 수단(122), 입/출력 I/O 수단(123), 대량 저장 수단(124) 및 네트워크 액세스 수단(125)을 포함하고, 상기 수단은 서로 대화한다(캐싱, 스와핑, 분산 컴퓨팅, 로드 밸런싱 등). 처리 수단(121)은 CPU(멀티코어 또는 매니코어(manycore)) 또는 FPGA일 수 있다. 메모리 수단(122)는 플래시 메모리 또는 랜덤 액세스 메모리 중 하나 이상을 포함한다. I/O 수단(123)은 스크린(가령, 터치 스크린), 조명 또는 LED, 햅틱 피드백, 가상 키보드, 마우스, 트랙볼, 조이스틱 또는 영사기(가령, 레이저 영사기) 중 하나 이상을 포함할 수 있다. 저장 수단(124)은 하드 드라이브 또는 SSD 중 하나 이상을 포함할 수 있다. 네트워크 액세스 수단은 하나 이상의 네트워크, 가령, 3G, 4G/LTE, Wifi, BLE 또는 메시 네트워크로의 액세스를 제공할 수 있다. 네트워크 트래픽은 암호화될 수 있다(가령, 터널, SSL 등).
하나의 실시예에서, 컴퓨팅 자원(계산부, 메모리, I/O 수단, 저장부 및 연결부)이, 예를 들어, (로봇 자체에서 이용 가능한) 로컬 자원의 보조로서 원격으로 액세스될 수 있다. 예를 들어, 추가 CPU 유닛이 음성 인식 컴퓨팅 작업을 위한 클라우드를 통해 액세스될 수 있다. 컴퓨팅 자원이 또한 공유될 수 있다. 특히, 복수의 로봇이 자원을 공유할 수 있다. 로봇 근방의 연결된 장치가 또한, 가령, 보안 프로토콜을 통해 어느 정도까지 자원을 공유할 수 있다. 디스플레이 수단이 또한 공유될 수 있다. 예를 들어, 텔레비전이 로봇에 의해 추가 디스플레이로서 사용될 수 있다.
도 2는 방법의 실시예의 일부 양태를 상세히 도시한다.
대략적으로 말하자면, 도면은 적어도 하나의 인간 사용자(150)와 대화하는 로봇(130)(가령, 휴머노이드 로봇)을 도시한다. 대화는 오디오 대화, 시각적 대화 및 몸짓 언어를 포함한다. 더 구체적으로, 처리 로직(210)(가령, 마인드부(mind)(100))이 로봇 행동을 제어한다. 로직은 소프트웨어 애플리케이션의 실행을 제어한다. 예를 들어, 로직은 경쟁적인 애플리케이션(앱), 가령, 앱(211) 및 앱(N213)의 실행의 런칭 및 과정을 통제한다. 상기 애플리케이션은 앱 모니터링 모듈(220)에 의해 모니터링될 수 있다. 하나의 실시예에서, 상기 모듈(220)은 로직(210)으로부터 독립적이다. 하나의 실시예에서, 모듈(220)은 로직(210)에 대한 적어도 일부 제어권을 가질 수 있다(가령, 감시부(watchdog). 모니터링 요소(구성요소 또는 소프트웨어 애플리케이션 또는 앱 또는 웹 서비스)가 통계 또는 원시 데이터를 포함하는 소프트웨어 애플리케이션으로의 직접 액세스할 수 있다(또는 로직(210)을 통해 간접적으로 액세스할 수 있다). 모니터링 모듈은 지식 베이스(230)(원시 데이터, 앱 사용에 대한 통계치)를 공급 및 통합할 수 있다. 또한 그 밖의 다른 로봇(131) 및/또는 그 밖의 다른 사용자(151)에 의해 지식 베이스가 공급될 수 있다. 지식 베이스(230)로부터, 하나 이상의 사후 피드백 또는 루프(240)가 발생할 수 있다. 하나의 실시예에서, 로직(210)은 로직 수정자 모듈에 의해 경로(223)를 통해 수정될 수 있다. 예를 들어, 대응하는 분석의 결과로서, 소프트웨어 애플리케이션의 선호가 변경될 수 있다(실행 순서 또는 우선순위, 실행 모드 등). 예를 들어, 특정 애플리케이션이 다른 애플리케이션보다(또는 보통보다) 더 자주 런칭될 수 있다. 또 다른 애플리케이션이 또한 특정 맥락으로만 한정될 수 있다. 상기 하나 이상의 사후 루프(240)가 로직(출력)에 대해 작용할 수 있다. 상기 하나 이상의 사후 루프(240)가 하나 이상의 개체 또는 측(입력)에 의해 제어될 수 있다. 하나의 실시예에서, 제3자(252)(가령, 애플리케이션 제공자)가 앱의 규제를 (어느 정도까지) 제어할 수 있다. 예를 들어, 날씨 애플리케이션의 제공자가 날씨 대화가 텔레비전 상에 일기도를 동시에 디스플레이함으로써 더 잘 이뤄짐을 설명할 수 있다. 이렇게 하도록 허가된 경우, 애플리케이션 제공자는 날씨 애플리케이션과 연관된 실행 규칙을 변경할 수 있고 이러한 변경이 로봇에 즉시 적용될 수 있다. 하나의 실시예에서, 로봇 제조업체 또는 상업적 제공자(251)가 개별적 또는 상보적 역할을 할 수 있고, 이때 로봇을 약간 더 제어할 수 있다. 도시된 바와 같이, 로봇(251)의 제조업체는 (가령, 전용 통신 채널에 의해) 로봇을 직접 액세스할 수 있다. 하나의 실시예에서, 인간 사용자(가령, 적절한 자격 또는 액세스 권한을 갖는 로봇의 소유자)가 로봇을 스스로 수정할 수 있다(253). 하나의 실시예에서, 인간 사용자는 로봇 제조업체로부터 로봇의 일부를 수정할 권한을 얻을 수 있다. 하나의 실시예에서, 인간 사용자는 로봇 제조업체(또는 애플리케이션 제공자)에 의해 수집되고 차후 허용될(또는 허용되지 않을) 하나 이상의 수정을 제안할 수 있다.
실시예가 더 상세히 기재된다. 앱 활동의 데이터(A)의 모니터링을 기초로, 추가 동작(B)이 서로 다른 개체(C)에 의해 취해질 수 있고 이러한 동작은 서로 다른 방식(D)으로 규정될 수 있다.
활동(A)이 모니터링되는 양태와 관련하여, 이하에서 복수의 실시예가 기재된다. 다양한 애플리케이션(211, 213 등)이 설치된 베이스(이의 하위 부분 가령, 플릿)의 각각의 로봇에 설치될 수 있다. 각각의 소프트웨어 애플리케이션은 특정 메트릭과 연관될 수 있다. 복수의 메트릭이 통합되거나 및/또는 집성되고 추가 분석될 수 있다. 다시 말하면, 상기 애플리케이션의 서로 다른 활도과 관련된 정량적 측정이 수행될 수 있다. 예를 들어 이러한 메트릭은 특정 소프트웨어 애플리케이션이 얼마나 자주, 얼마나 오래, 어느 지역에서 런칭되는지 또는 사용자의 반응이 무엇이었는지(가령, 감정, 미소, 기분, 대답)를 포함할 수 있다. 하나의 실시예에서, 모니터링되는 활동이 파라미터 또는 값 또는 기준, 가령, 시간 및 빈도(가령, 1일, 1주일, 또는 1달당 실행 빈도, 앱이 예를 들어 대부분 아침 또는 저녁에서, 또는 일요일 등에 런칭될 때 사용자 요청 빈도), 소요 시간(가령, 총 상호작용 시간), 지리적 위치(가령, 앱이 더 성공적인 때를 분석), 에러(가령, 소프트웨어 버그 또는 충돌, 잘못된 규칙, 들을 수 없는 문장, 사용자의 나쁜 리액션 등), 애플리케이션 전환(가령, 애플리케이션 전환을 가리키는 마르코프(Markov) 모델, 가령, 날씨 애플리케이션이 요리 앱과는 약하게 연결되면서 뉴스 앱과 강력하게 연결될 수 있고, 대화 브리지가 확립될 수 있다), 앱 성과 통계치(가령, 에러 외에, 데이터가 불러와지고 앱이 실행되는 속도 등), 사용자 만족도(가령, 수동적으로 또는 명백하게 캡처되는 지각되는 감정 또는 기분), 트리거링 조건(가령, 앱이 런칭되는 이유 및 때를 이해할 수 있는 통계치), 상호작용하는 사용자(가령, 사용자의 프로파일, 성별, 연령 등)를 포함할 수 있다.
앱의 사용성 데이터의 지식 - 상기 앱의 사용성 데이터로부터 유도된 추가로 통합된 통계치- 이 추가 동작(B)을 야기할 수 있다.
하나의 실시예에서, 서로 다른 애플리케이션의 등급이 유지된다. 상기 등급은 동적 및/또는 맥락적일 수 있다. 예를 들어, 애플리케이션이 성공적이라고 밝혀진 경우, 상기 앱은 추가 맥락에서 런칭되는 것이 바람직할 수 있다. 또 다른 사용 예시가 전역적 자원의 소비와 관련된다. 예를 들어, 네트워크를 통해 액세스 가능한 온라인 음성 인식 모듈로의 액세스가 (더 우수한 컴퓨팅 자원으로 인한 더 높은 성능을 위해) 최적화될 수 있다. 특정 로봇이 너무 많은 자원을 필요로 한다고 측정되는 경우, 대응하는 소모가 자원 소모의 균형을 이루기 위해 감소될 수 있다. 이와 반대로, 과소 이용률이 검출되고 보상될 수 있다. 통합된 통계치가 사용되어 오작동하는 로봇이 보고될 수 있고 하나 이상의 로봇에 하나 이상의 서비스 메시지를 통지할 수 있다. 일반적으로 말하면, 로봇 플랫폼 운영자가 개별적 상호작용을 집성할 수 있고 전역(즉, 집성된, 통합된) 사회적 상호작용 모델(사용자, 복수의 사용자, 대표 사용자와의 대화 등)을 더 구성할 수 있다.
앱의 사용성 데이터를 기초로 취해질 동작을 제어할 수 있는 서로 다른 개체의 신원(C)의 양태와 관련하여, 몇 가지 실시예가 이하에서 기재된다. 로봇의 자율성 모드가 (가령, 로봇에 의해 지각되는) 맥락 및/또는 제어 개체 및/또는 액세스 레벨을 포함하는 복수의 파라미터에 의해 결정될 수 있다. 따라서 다음의 실시예가 적어도 부분적으로 조합될 수 있다.
하나의 실시예에서, 로직(210)은, 로봇 내부에서, 소프트웨어 애플리케이션과 연관된 실행 규칙을 지속적으로 업데이트하며, 상기 규칙은 예를 들어 우선순위를 정의 및/또는 충돌을 해결하기 위한 수단이다. 이러한 실시예에서, 로봇은 자율상태를 유지하며, 교정 동작이 있을 경우, 이를 자기-정의(self-define)한다.
또 다른 예를 들면, 로직은 외부 측에 의해 제어된다. 예를 들어, 로봇 제공자(또는 로봇 플랫폼 운영자 또는 로봇의 제조업체)가 로직(210), 따라서 로봇(130)을 제어(가령, 어느 때라도 업데이트)할 수 있다. 어느 정도까지, 서로 다른 소프트웨어 애플리케이션의 제공자는 역할을 수행할 수 있다.
중간 솔루션 또는 상태가 가능하다: 로봇 및/또는 그 밖의 다른 개체(즉, 인간 및/또는 그 밖의 다른 로봇)가 로봇을 제어할 수 있다. 다양한 상황이 기술될 수 있다. 일부 경우, 로봇의 제조업체에 의해 로봇의 특정 하위 부분이 배타적으로 제어되고, 로직(210)의 또 다른 부분은 로봇 자체에 의해 자율적으로(및/또는 배타적으로) 핸들링될 수 있다. 실시간 제약 및 연결성 문제는 특정 부분이 완전히 자율적으로 핸들링될 것을 요구할 수 있다. 일부 연결성이 신뢰할만하게 보장될 수 있는 일부 경우, 대기시간이 완화될 수 있고: 로봇의 플릿을 (클라우드에서) 관리하는 서비스를 호스팅할 수 있으며 상기 로봇 전체가 통제 하에 있을 수 있다. 일부 경우, 안전 목적으로(가령, 무거운 로봇 주위에 아기가 존재하는 경우) 자율 모드가 피해질 수 있다. 이러한 경우, 로봇은 비활성화될 수 있다(또는 추가 부팅이 불가능해질 수 있다).
(i) 애플리케이션의 모니터링의 속성 및 범위, (ii) 취해지는 올바른 동작의 속성, (iii) 이러한 동작을 호출하는 서로 다른 개체의 신원에 따라, 다양한 규제 스킴이 가능하다. 다음의 두 가지 주요 규제 스킴이 기재된다: 개방-루프 규제 및 폐쇄-루프 규제.
하나의 실시예에서, 개방-루프 규제 수단이 구현된다. 데이터가 수집되고 추가 통계치가 상기 데이터로부터 유도된 후, 통계치의 인간 분석이 수행되고 추가 교정(가령, 소프트웨어 업데이트) 또는 동작(가령, 서비스의 재가공)이 취해질 수 있다. 바람직하게는, 상기 교정 및/또는 동작이 품질을 가질 수 있다(로봇의 변경이 즉각적이거나 신속하게 이뤄지지 않는 경우라도). 실제로, 인간 관리자 또는 감독관은 수집된 데이터를 분석하고 교정 동작을 더 결정한다.
하나의 실시예에서, 폐쇄-루프 규제 수단이 구현된다. 앱 메트릭 및/또는 통계치가 소프트웨어 애플리케이션과 직접 연결된다. 바람직하게는, 버그 리포트 및 심지어 제로 데이(zero day)가 자동 및 즉각적인 업데이트 또는 패치를 트리거한다. 소프트웨어 애플리케이션에 의한 임의의 영향 레벨의 사용자 경험에서 변경이 전파될 수 있다. 예를 들어, 통계치가 날씨 앱이 뉴스 앱과 단단하게 연결되어 있음을 가리키는 경우, 체계적으로 날씨가 예보된 후 뉴스를 제어하도록 소프트웨어 업데이트가 로봇 군(fleet)을 관리할 수 있다. 이러한 업데이트의 대기시간은 의도적으로 감소될 수 있다. 일부 경우, 로컬 규칙(가령, 사용자 프로파일 또는 선호)이 전역 업데이트에도 불구하고 이전 시스템을 유지할 수 있다. 애플리케이션의 실행 가능성이 증가할수록(신뢰할만한 데이터 및/또는 동적 및 체계적 행동), 폐쇄 루프 시스템이 구현될 수 있다.
또 다른 실시예에서, 개방-루프 스킴 및 폐쇄-루프 스킴이 결합될 수 있다. 예를 들어, 교정 동작이 그룹으로 분류되어, 인간 감독이 필요한지 여부를 가리킬 수 있다(가령, 지정된 연관 메타데이터가 이러한 명확화를 촉진시킬 수 있다). 그 밖의 다른 기준들외에, 시스템 위험(systemic risk)의 평가가 사용될 수 있다. 고려되는 동작이 시스템으로 간주된 로봇의 코드 안정성(또는 안전)을 위협할 수 있을 때 동작과 연관된 시스템 위험이 존재한다. 예를 들어, 날씨 대화 동안 일기도를 디스플레이하는 것을 포함하는 교정 동작은 일반적으로 어떠한 안전 문제도 일으키지 않고 로봇에 버그 위험을 야기하지 않는다. 이와 달리, 특정 맥락(가령, 무거운 로봇)에서 춤을 트리거하는 것으로 구성된 교정 동작은, 가령, 근접부의 어린이의 존재가 검출되지 않는 경우 문제를 일으킬 수 있다.
개시된 방법이 완전 하드웨어 실시예(가령, FPGA)의 형태를 취할 수 있고, 완전 소프트웨어 실시예 또는 하드웨어 와 소프트웨어 요소를 포함하는 실시예의 형태를 취할 수 있다. 소프트웨어 실시예의 비제한적 예를 들면, 펌웨어, 레지던트 소프트웨어, 마이크로코드 등이 있다. 본 발명은 컴퓨터 또는 임의의 명령 실행 시스템에 의해 사용되기 위해 프로그램 코드를 제공하는 컴퓨터 이용 가능 또는 컴퓨터 판독 매체로부터 액세스 가능한 컴퓨터 프로그램 프로덕트의 형태를 가질 수 있다. 컴퓨터 이용 가능 또는 컴퓨터 판독형 매체는 명령 실행 시스템, 장치, 또는 디바이스에 의해 또는 이들과 함께 프로그램을 포함, 저장, 통신, 전파, 또는 전송할 수 있는 임의의 유형의 장치일 수 있다. 매체는 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템(또는 장치 또는 디바이스) 또는 전파 매체일 수 있다.

Claims (14)

  1. 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법으로서, 상기 로봇은 복수의 소프트웨어 애플리케이션을 실행하고, 적어도 2개의 소프트웨어 애플리케이션이 실행 경쟁 중이며, 상기 방법은
    적어도 하나의 소프트웨어 애플리케이션의 실행을 모니터링하는 단계,
    수정 요청을 수신한 것에 응답하여, 상기 적어도 하나의 소프트웨어 애플리케이션을 수정하는 단계,
    로봇 상에서 수정된 소프트웨어 애플리케이션을 실행하는 단계
    를 포함하는 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  2. 제1항에 있어서, 소프트웨어 애플리케이션은 시스템 위험을 나타내는 적어도 하나의 지정 수정 규칙과 연관되며 상기 소프트웨어 애플리케이션을 수정하는 단계는 상기 수정 규칙을 성공적으로 검증하는 단계를 포함하는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  3. 제1항 또는 제2항에 있어서, 소프트웨어 애플리케이션을 수정하는 단계는 상기 소프트웨어 애플리케이션과 연관된 실행 규칙을 수정하는 단계를 포함하는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  4. 제1항 또는 제2항에 있어서, 소프트웨어 애플리케이션을 수정하는 단계는 상기 소프트웨어 애플리케이션과 연관된 프로그램 코드를 수정하는 단계를 포함하는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 소프트웨어 애플리케이션을 모니터링하는 단계는 소프트웨어 애플리케이션과 연관된 실행 또는 사용성 데이터를 모니터링하는 단계를 포함하고, 상기 데이터는, 빈도, 날짜, 시각, 지리적 위치(geolocation), 사용자 데이터 피드백 또는 입력, 사용자 감정 반응, 대화 사용자 프로필, 대화 지속시간, 에러, 함수 호출 및 트리거링 조건으로 구성된 군 중에서 선택되는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  6. 제5항에 있어서, 상기 사용성 실행 또는 사용성 데이터로부터 통계 데이터를 유도하는 단계를 더 포함하는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  7. 제6항에 있어서, 상기 통계 데이터를 디스플레이하는 단계를 더 포함하는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  8. 제7항에 있어서, 소프트웨어 애플리케이션은 인간 감독 하에서 수정되는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  9. 제1항 내지 제6항 중 어느 한 항에 있어서, 소프트웨어 애플리케이션은 인간 감독 없이 수정 요청을 수신하면 직접 수정되는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 소프트웨어 애플리케이션을 수정하기 전에 사용자의 긍정 확인을 수신하는 단계를 더 포함하는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 수정 요청은 로봇 로직 및/또는 로봇 제조업체 및/또는 애플리케이션 제공자로부터 수신되는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 사용자와 대화 중에 로봇에 없는 소프트웨어 애플리케이션을 식별하고, 상기 로봇에 없는 소프트웨어 애플리케이션을 불러오고 설치하는 단계를 더 포함하는, 로봇 상의 소프트웨어 애플리케이션을 핸들링하는 방법.
  13. 적합한 컴퓨터 장치 상에서 실행될 때 청구항 제1항 내지 제12항 중 어느 한 항에 따르는 방법의 단계들을 수행하기 위한 명령을 포함하는 컴퓨터 프로그램.
  14. 청구항 제1항 내지 제12항 중 어느 한 항에 따르는 방법의 단계들을 수행하도록 구성된 수단을 포함하는 시스템.
KR1020167032158A 2014-04-17 2015-04-17 로봇의 활동 모니터링 KR20170027707A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14305582.0A EP2933066A1 (en) 2014-04-17 2014-04-17 Activity monitoring of a robot
EP14305582.0 2014-04-17
PCT/EP2015/058364 WO2015158883A1 (en) 2014-04-17 2015-04-17 Activity monitoring of a robot

Publications (1)

Publication Number Publication Date
KR20170027707A true KR20170027707A (ko) 2017-03-10

Family

ID=50628741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167032158A KR20170027707A (ko) 2014-04-17 2015-04-17 로봇의 활동 모니터링

Country Status (13)

Country Link
US (1) US20170113348A1 (ko)
EP (1) EP2933066A1 (ko)
JP (1) JP6368796B2 (ko)
KR (1) KR20170027707A (ko)
CN (1) CN106573376A (ko)
AU (2) AU2015248709A1 (ko)
BR (1) BR112016023999A2 (ko)
CA (1) CA2946044A1 (ko)
HK (1) HK1216409A1 (ko)
MX (1) MX2016013012A (ko)
RU (1) RU2016144804A (ko)
SG (1) SG11201608351PA (ko)
WO (1) WO2015158883A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11931906B2 (en) 2018-04-25 2024-03-19 Samsung Electronics Co., Ltd. Mobile robot device and method for providing service to user

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107293292A (zh) * 2016-03-31 2017-10-24 深圳光启合众科技有限公司 基于云端的设备及其操作方法
JP2018001387A (ja) * 2016-07-08 2018-01-11 ロボットスタート株式会社 ロボット、プログラム、ロボットシステム及びサーバ
EP3437038A4 (en) * 2016-07-20 2019-08-28 Hewlett-Packard Development Company, L.P. CREATING DIGITAL WORKERS IN ORGANIZATIONS
US10272349B2 (en) * 2016-09-07 2019-04-30 Isaac Davenport Dialog simulation
CN107820607B (zh) * 2017-08-23 2021-05-07 达闼机器人有限公司 监控机器人的方法、装置、服务器及终端设备
US20190340527A1 (en) * 2018-05-07 2019-11-07 Microsoft Technology Licensing, Llc Graphical user interface features for updating a conversational bot
CN109542030B (zh) * 2018-10-15 2021-09-17 中国核电工程有限公司 一种基于fpga的核电站装卸料机状态监控系统及其监控方法
CN109895123A (zh) * 2019-01-18 2019-06-18 弗徕威智能机器人科技(上海)有限公司 一种触觉和形态双向同步方法
US11521114B2 (en) 2019-04-18 2022-12-06 Microsoft Technology Licensing, Llc Visualization of training dialogs for a conversational bot
CN111308929B (zh) * 2020-02-14 2021-04-09 珠海格力电器股份有限公司 控制厨具进入烹饪托管模式的方法及装置、厨房控制系统
US20220147059A1 (en) * 2020-11-12 2022-05-12 Accenture Global Solutions Limited Fault tolerant systems for distributed supervision of robots
CN117460604A (zh) * 2021-06-29 2024-01-26 发那科株式会社 管理机器人的动作程序的管理装置、网络系统以及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020064889A (ko) * 1999-10-26 2002-08-10 핑텔 코오포레이션 프로그래머블 기능을 가지는 1 이상의 텔레포니 통신장치를 포함하는 분산형 통신 네트워크
JP2003233512A (ja) * 2002-02-13 2003-08-22 Nec Corp 保守機能付きクライアント監視システム及び監視サーバ及びプログラム並びにクライアント監視・保守方法
JP4126291B2 (ja) * 2004-06-23 2008-07-30 三菱重工業株式会社 ロボットの制御プログラム更新方法及び該システム
KR101255685B1 (ko) * 2008-12-22 2013-04-24 한국전자통신연구원 로봇 응용 프로그램 실행 장치 및 방법
US8818556B2 (en) * 2011-01-13 2014-08-26 Microsoft Corporation Multi-state model for robot and user interaction
KR101257896B1 (ko) * 2011-05-25 2013-04-24 (주) 퓨처로봇 스마트 서비스 로봇 운영 시스템 및 방법
US9058612B2 (en) * 2011-05-27 2015-06-16 AVG Netherlands B.V. Systems and methods for recommending software applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11931906B2 (en) 2018-04-25 2024-03-19 Samsung Electronics Co., Ltd. Mobile robot device and method for providing service to user

Also Published As

Publication number Publication date
US20170113348A1 (en) 2017-04-27
CN106573376A (zh) 2017-04-19
WO2015158883A1 (en) 2015-10-22
EP2933066A1 (en) 2015-10-21
SG11201608351PA (en) 2016-11-29
HK1216409A1 (zh) 2016-11-11
CA2946044A1 (en) 2015-10-22
RU2016144804A3 (ko) 2018-05-23
JP2017517800A (ja) 2017-06-29
AU2015248709A1 (en) 2016-11-03
AU2018202076A1 (en) 2018-04-19
MX2016013012A (es) 2017-05-23
BR112016023999A2 (pt) 2017-08-15
RU2016144804A (ru) 2018-05-23
JP6368796B2 (ja) 2018-08-01

Similar Documents

Publication Publication Date Title
KR20170027707A (ko) 로봇의 활동 모니터링
KR102106193B1 (ko) 로봇의 대화를 관리하기 위한 방법 및 시스템
KR102001293B1 (ko) 로봇 상의 소프트웨어 애플리케이션 실행하기
US10008196B2 (en) Methods and systems of handling a dialog with a robot
US20180129492A1 (en) Peripheral device support with a digital assistant for operating system upgrades
KR101982420B1 (ko) 충돌 검출
KR102071116B1 (ko) 휴머노이드 로봇의 대기 모드
KR102369309B1 (ko) 파셜 랜딩 후 사용자 입력에 따른 동작을 수행하는 전자 장치
US20190193280A1 (en) Method for personalized social robot interaction
WO2020167860A1 (en) Techniques for generating digital personas

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application