KR20200101321A - 멀티-디바이스 로봇 컨트롤 - Google Patents
멀티-디바이스 로봇 컨트롤 Download PDFInfo
- Publication number
- KR20200101321A KR20200101321A KR1020207004849A KR20207004849A KR20200101321A KR 20200101321 A KR20200101321 A KR 20200101321A KR 1020207004849 A KR1020207004849 A KR 1020207004849A KR 20207004849 A KR20207004849 A KR 20207004849A KR 20200101321 A KR20200101321 A KR 20200101321A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- external device
- commands
- inputs
- components
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 113
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 34
- 238000012790 confirmation Methods 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 7
- 238000013442 quality metrics Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims 12
- 238000005516 engineering process Methods 0.000 abstract description 38
- 230000004044 response Effects 0.000 abstract description 8
- 238000003860 storage Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 35
- 230000006854 communication Effects 0.000 description 35
- 230000006870 function Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 9
- 230000008878 coupling Effects 0.000 description 9
- 238000010168 coupling process Methods 0.000 description 9
- 238000005859 coupling reaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000006855 networking Effects 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000003032 molecular docking Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000003137 locomotive effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000006748 scratching Methods 0.000 description 1
- 230000002393 scratching effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000010025 steaming Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/06—Control stands, e.g. consoles, switchboards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1626—Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1632—External expansion units, e.g. docking stations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B13/00—Burglar, theft or intruder alarms
- G08B13/18—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
- G08B13/189—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
- G08B13/194—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
- G08B13/196—Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
- G08B13/19639—Details of the system layout
- G08B13/19647—Systems specially adapted for intrusion detection in or around a vehicle
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B15/00—Identifying, scaring or incapacitating burglars, thieves or intruders, e.g. by explosives
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45103—Security, surveillance applications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50391—Robot
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Fuzzy Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Manipulator (AREA)
- Telephonic Communication Services (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Selective Calling Equipment (AREA)
- Image Analysis (AREA)
Abstract
멀티-디바이스 로봇 제어를 위한 시스템, 방법 및 관련 기술이 개시된다. 일 실시예에서, 입력(들)이 수신되고 개인 어시스턴트 또는 다른 애플리케이션 또는 서비스에 제공된다. 이에 응답하여, 외부 장치로 향하는 명령(들)은 예를 들어 개인 어시스턴트로부터 수신된다. 명령(들)에 기초하여, 로봇은 외부 장치와 관련된 위치와 관련하여 기동된다. 로봇에서 외부 장치로의 명령 전송이 시작된다.
Description
<관련 출원의 상호 참조>
본 출원은 2017년 7월 20일자로 출원된 미국 특허 출원 번호 62/535,116 및 2017년 7월 20일자로 출원된 미국 특허 출원 번호 62/535,122와 관련되어 있으며 그 이익을 주장하며, 이들 각각은 그 전문이 본원에 참조로 포함된다.
<기술분야>
본 개시의 실시예 및 구현은 예를 들어 감시 로봇(surveillance robot)과 관련하여 멀티-디바이스 로봇 컨트롤(multi-device robot control)에 관한 것이다.
다양한 로봇 장치가 물리적 공간 전체에서 작동(maneuver)할 수 있다. 이러한 로봇은 카메라 및 마이크와 같은 센서를 통합할 수 있다.
본 개시의 실시예 및 구현은 이하의 상세한 설명 및 본 개시의 다양한 실시예 및 구현의 첨부 도면으로부터 보다 완전하게 이해될 것이며, 그러나 본 개시를 특정 실시예 또는 구현으로 제한하는 것이 아니라 설명 및 이해만을 위한 것이다.
도 1은 로봇 시스템의 예시적인 블록도이다
도 2는 로봇 시스템이 외부 통신 네트워크를 통해 가정 또는 로컬 네트워크 내의 다른 장치 및 모바일 장치에 연결되는 방법을 도시하는 예시적인 블록도이다.
도 3은 로봇과 모바일 장치 사이의 원격 인증(remote authentication)의 실시예의 개략적인 표현의 예이다.
도 4는 로봇과 모바일 장치 사이의 원격 통신이 달성되는 방법의 예를 도시한다.
도 5A는 감시를 제공할 때 장치(들)가 로봇과 시너지 효과를 발휘할 수 있는 방법을 보여주는 예시적인 흐름도이다.
도 5B는 예시적인 실시 예에 따른 로봇 제어 방법을 나타내는 흐름도이다.
도 6은 여기에 설명된 바와 같이 IOT 로봇의 다양한 동작 모드의 실시예를 도시한 예시적인 흐름도이다.
도 7은 태블릿 도크(tablet dock)에 장치가 제거 가능하게 장착된 예시적인 로봇을 도시한다.
도 8은 제1 및 제3모서리가 장치의 평면을 따라 측면으로 슬라이딩된 상태로 태블릿 도크에 장착된 예시적인 장치를 도시한다.
도 9는 장치 도크(device dock)가 상이한 측면 치수의 장치를 수용하도록 구성될 수 있는 예시적인 구성을 도시한다.
도 10은 장치 도크의 메인 및 제1보조 리세스(main and first secondary recesses)의 예를 도시한다.
도 11은 장치 도크의 제1 및 제2보조 리세스(first and second secondary recesses)의 예를 도시한다.
도 12는 제4에지 부재(the fourth edge member)를 따라 제2측면 리세스(the second side recess) 근처의 디바이스 도크의 예시적인 평면도를 도시하고 있으며, 이는 상기 장치 도크가 제4에지 부재를 따라 상이한 측면 위치에 위치한 입력 포트에 액세스할 수 있도록 신축식 케이블(retractable cable)과 제2측면 리세스를 결합시키는 방법을 개략적으로 도시한다.
도 13은 제4에지 부재(the fourth edge member)를 따라 제2측면 리세스(the second side recess) 근처의 디바이스 도크의 예시적인 단면도를 도시하고 있으며, 이는 상기 장치 도크가 상기 제2보조 리세스의 바닥부로부터 상이한 거리에 위치하는 입력 포트에 액세스할 수 있도록 신축식 케이블(retractable cable)과 제2측면 리세스를 결합시키는 방법을 개략적으로 도시한다.
도 14는 예시적인 실시 예에 따라 기계 판독 가능 매체(machine-readable medium)로부터 명령을 판독하고 여기에서 논의된 하나 이상의 방법론을 수행할 수 있는 기계의 구성 요소를 도시하는 블록도이다.
도 1은 로봇 시스템의 예시적인 블록도이다
도 2는 로봇 시스템이 외부 통신 네트워크를 통해 가정 또는 로컬 네트워크 내의 다른 장치 및 모바일 장치에 연결되는 방법을 도시하는 예시적인 블록도이다.
도 3은 로봇과 모바일 장치 사이의 원격 인증(remote authentication)의 실시예의 개략적인 표현의 예이다.
도 4는 로봇과 모바일 장치 사이의 원격 통신이 달성되는 방법의 예를 도시한다.
도 5A는 감시를 제공할 때 장치(들)가 로봇과 시너지 효과를 발휘할 수 있는 방법을 보여주는 예시적인 흐름도이다.
도 5B는 예시적인 실시 예에 따른 로봇 제어 방법을 나타내는 흐름도이다.
도 6은 여기에 설명된 바와 같이 IOT 로봇의 다양한 동작 모드의 실시예를 도시한 예시적인 흐름도이다.
도 7은 태블릿 도크(tablet dock)에 장치가 제거 가능하게 장착된 예시적인 로봇을 도시한다.
도 8은 제1 및 제3모서리가 장치의 평면을 따라 측면으로 슬라이딩된 상태로 태블릿 도크에 장착된 예시적인 장치를 도시한다.
도 9는 장치 도크(device dock)가 상이한 측면 치수의 장치를 수용하도록 구성될 수 있는 예시적인 구성을 도시한다.
도 10은 장치 도크의 메인 및 제1보조 리세스(main and first secondary recesses)의 예를 도시한다.
도 11은 장치 도크의 제1 및 제2보조 리세스(first and second secondary recesses)의 예를 도시한다.
도 12는 제4에지 부재(the fourth edge member)를 따라 제2측면 리세스(the second side recess) 근처의 디바이스 도크의 예시적인 평면도를 도시하고 있으며, 이는 상기 장치 도크가 제4에지 부재를 따라 상이한 측면 위치에 위치한 입력 포트에 액세스할 수 있도록 신축식 케이블(retractable cable)과 제2측면 리세스를 결합시키는 방법을 개략적으로 도시한다.
도 13은 제4에지 부재(the fourth edge member)를 따라 제2측면 리세스(the second side recess) 근처의 디바이스 도크의 예시적인 단면도를 도시하고 있으며, 이는 상기 장치 도크가 상기 제2보조 리세스의 바닥부로부터 상이한 거리에 위치하는 입력 포트에 액세스할 수 있도록 신축식 케이블(retractable cable)과 제2측면 리세스를 결합시키는 방법을 개략적으로 도시한다.
도 14는 예시적인 실시 예에 따라 기계 판독 가능 매체(machine-readable medium)로부터 명령을 판독하고 여기에서 논의된 하나 이상의 방법론을 수행할 수 있는 기계의 구성 요소를 도시하는 블록도이다.
본 발명의 실시예 및 구현은 멀티-디바이스 로봇 컨트롤에 관한 것이다.
비디오 카메라 및 기타 센서와 같은 인터넷 연결 장치는 예를 들어 감시를 제공하기 위해 가정 또는 사무실 환경에 설치할 수 있다. 이러한 장치/카메라의 단점은 상당한 설치 노력이 필요할 수 있다는 것이다. 또한, 이들 장치/카메라는 예를 들어 원격으로(예를 들어, 클라우드 서비스를 통해) 저장될 비디오 피드(video feed)의 형태로 방대한 양의 데이터를 생성한다. 그러나 다운로드 대기 시간, 대역폭 제한 등으로 인해 클라우드 스토리지가 제한되고 느려진다. 로컬 스토리지도 활용될 수 있지만 많은 양의 데이터를 저장해야 하기 때문에 클라우드 스토리지보다 비용이 많이 든다. 따라서 생성된 감시 데이터의 방대한 양을 유지 관리하는 것은 많은 사용자에게 문제가 된다. 비디오 카레라 이외에도, 스마트 전기 미터(smart electricity meter), 스마트 에어컨, 스마트 라이트 등과 같은 다른 많은 네트워크/인터넷 연결 장치는 방대한 양의 스토리지를 활용하는 데이터를 생성하지만 제한된 스토리지 및 오프라인 데이터 저장 옵션을 가질 수 있다.
감시를 위해 인터넷에 연결된 비디오 카메라를 사용하는 것 외에도 다양한 로봇 기술은 예를 들어 인간 사용자를 대신하여 (예를 들어, 집에 있거나 사무실에 없는 경우) 특정 감시 및 기타 보안 작업을 수행할 수 있다. 그러나 이러한 기술들은 사용자가 시각적, 청각적 또는 물리적 통신 수단을 통해 근접하여 감시 로봇과 직접 통신할 수 있는 경우에만 구성 가능할 수 있다. 한 가지 단점은 로봇과 근접하지 않고는 상기 로봇과 정보를 주고받기 위하여 사용자가 감시 로봇을 사용할 수 없다는 것이다.
또한 현재의 기술은 감시 로봇이 단일 컨트롤러에 의해서만 제어되도록 할 수 있다. 그러나 여러 사용자가 하나 이상의 보안 관련 작업을 원격으로 수행하기 위해 감시 로봇에 동시에 액세스하기를 원할 때 이는 이상적이지 않을 수 있다. 또한, 감시와 관련된 애플리케이션 이외의 다른 애플리케이션도 있으며, 이는 로봇에 대한 원격 및 다중 사용자 액세스를 제공하는 것이 유용하다. 이러한 애플리케이션의 일부 예는 병원과 같은 환경(예를 들어 환자 이송과 같은 의료 서비스 제공을 지원하는 로봇의 경우), 산업 환경(예를 들어 무거운 물건 들기와 같은 반복적인 작업을 수행하는 로봇의 경우) 등에서 찾을 수 있다.
현재의 감시 로봇 기술의 또 다른 단점은 보안 작업을 구현하기 위해 기존의 감시 자원(existing surveillance resource)을 최적으로 활용할 수 없다는 것이다. 또한, 이러한 기존 기술은 사용자에게 오프라인 감시 데이터 스토리지, 온라인 시청 관리 및 자동 비주얼 처리를 제공하기 위한 중앙 플랫폼으로 기능하지 못할 수 있다. 또한 기존 감시 로봇 기술은 터치 스크린 또는 프로그래밍된 명령으로만 직접 제어할 수 있으며 일상적인 스피치(everyday speech)에서 음성 명령을 이해하고 로봇 작업을 추출하지 못할 수 있다.
따라서, 전술한 단점을 해결하기 위한 더 나은 해결책이 필요하다. 따라서, 멀티-디바이스 로봇 제어를 가능하게 하는 시스템, 방법 및 기계 판독 가능한 매체를 포함하는 기술이 다양한 실시예에서 본 명세서에 기술된다. 설명된 기술은 여기에 상세히 설명된 바와 같이 많은 장점을 제공한다.
따라서, 개시된 기술은 로봇 공학, 멀티-디바이스 제어 및 감시를 포함하지만 이에 제한되지 않는 다수의 기술 분야에서의 특정한 기술적 과제 및 오랜 결함을 해결하고 지향한다는 것을 이해할 수 있다. 본 명세서에 상세히 기술된 바와 같이, 개시된 기술은 참조된 기술 분야에서의 참조된 기술적 과제 및 충족되지 않은 요구에 대한 특정의 기술적 솔루션을 제공하고 종래의 접근법에 대한 많은 장점 및 개선을 제공한다. 또한, 다양한 실시예에서, 본 명세서에서 언급된 하나 이상의 하드웨어 요소, 구성 요소 등은 본 명세서에 기술된 방식으로 개시된 기술을 가능하게 하고, 개선하고 및/또는 향상시키도록 작동한다.
설명된 기술의 예시적인 구현이 도 1에 도시되어 있으며, 이는 로봇을 제어하기 위한 시스템(100)을 도시한다. 상기 시스템(100)은 프로세싱 유닛(102), 센서 어레이(112), 터치-가능한 디스플레이 유닛(114), 통신 인터페이스(116), 메모리(110), 로봇 제어기(120), 서보모터(들)(122) 및 근접 센서(들)(118)를 포함할 수 있다. 프로세싱 유닛(102)은 중앙 프로세스 로직(104), 센서 데이터 입력(106) 및 사용자 데이터 입력(108)을 포함할 수 있다.
다양한 실시예에서, 상기 센서 데이터 입력(106)은 센서 어레이(112)로부터 센서 입력 데이터(sensor input data)를 수신하도록 동작 가능한 인터페이스일 수 있고, 상기 사용자 데이터 입력(108)은 터치-가능한 디스플레이 유닛(114) 및 다른 로컬 장치 또는 인터넷 연결을 위한 유무선 연결을 지원할 수 있는 통신 인터페이스(116)로부터 사용자 입력 데이터를 수신하도록 동작 가능한 인터페이스일 수 있다. 상기 센서 어레이(112)는 다음을 포함할 수 있다: 로컬 이미징 기능을 위한 비디오 카메라(미도시), 상기 사용자의 소리 및 음성 명령을 녹음하는 마이크, 인간의 존재를 감지하기 위한 적외선 센서, 레이저 스캐너, 레이저 스트립 감지기, 글로벌 포지셔닝 시스템 및 단거리 레이더 등.
도 1에 도시된 바와 같이, 프로세싱 유닛(102)은 또한 로봇 제어 엔진(124)을 포함하거나 통합할 수 있다. 로봇 제어 엔진(124)은 예를 들어 본 명세서에 설명된 동작 및 기능을 가능하게 하기 위해 프로세싱 유닛(102) 및/또는 중앙 프로세싱 로직(104)에 의해 실행 및/또는 달리 구현되는 애플리케이션, 모듈, 명령 등일 수 있다.
상기 중앙 프로세싱 로직(104)은 예를 들어 컴퓨터 프로그램 또는 소프트웨어로 일반적으로 알려진 사전 정의된 명령 또는 규칙의 세트에 따라 센서 데이터 입력(106) 및 사용자 데이터 입력(108)으로부터 입력 데이터를 처리하도록 동작 가능하다. 또한, 상기 중앙 프로세싱 로직(104)은 로직을 사용하여 센서 어레이(112)의 일부인 마이크로폰을 통해 수신된 오디오 명령으로부터 로봇 작업을 추출할 수 있다. 그 후, 상기 중앙 프로세싱 로직(104)은 입력 데이터의 처리로부터의 결과에 기초하여 제어 신호를 로봇의 다른 구성 요소로 전송할 수 있다.
다양한 실시예에서, 상기 중앙 프로세싱 로직(104)은 로봇 컨트롤러(120)와 양방향 통신할 수 있다. 로봇 컨트롤러(120)는 기능적으로 연관되거나 달리 통합된 근접 센서(118)로부터의 근접 데이터에 더하여 상기 중앙 프로세싱 로직(104)으로부터 제어 신호 또는 명령을 수신할 수 있다. 그 후, 상기 로봇 컨트롤러(120)는 제어 신호를 생성하여 서보모터(122)에 전송하여 다양한 기계적 작업, 동작 또는 동작에 영향을 줄 수 있다. 이러한 작업의 예로는 로봇의 조종(navigation) 및 물체의 이동/리프팅이 있다. 상기 로봇 컨트롤러(120)는 또한 추가적인 처리를 위해 피드백 신호를 중앙 프로세싱 로직(104)으로 전송하도록 동작 가능할 수 있다.
본 명세서에 설명된 바와 같이, 다양한 실시예에서, 상기 센서 어레이(112)를 통한 로컬 이미징 및 감지 능력과 결합된 서보 모터(122)에 의해 조종하는 로봇(예를 들어, 도 2에 도시된 로봇(200))의 로코모티브 능력(locomotive ability)은 로봇(200)이 장소(예를 들어 집) 전체의 능동적인 감시를 제공할 수 있게 한다.
다양한 구현들에서, 상기 중앙 프로세싱 로직(104)은 또한 처리되거나 입력된 데이터의 저장 및 검색을 위해 메모리(110)와 통신할 수 있다. 메모리(110)는 예를 들어 컴퓨터에서 사용하기 위한 정보를 저장하는데 사용되는 비-휘발성 또는 휘발성 메모리일 수 있다. 비-휘발성 메모리의 비-제한적인 예는 랜덤-액세스 메모리(RAM), 플래시 메모리, 판독-전용 메모리(ROM), 프로그램 가능한 판독-전용 메모리(PROM), 소거 가능한 프로그램 가능한 판독-전용 메모리(EPROM) 및 전기적 소거 가능한 프로그램 가능한 판독-전용 메모리(EEPROM)를 포함한다. 휘발성 메모리의 비-제한적인 예는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM) 및 정적 랜덤 액세스 메모리(SRAM)를 포함한다. 다른 구현들에서, 메모리(110)는 서버와 같은 외부 장치에서 또는 클라우드 스토리지 서비스와 같은 서비스를 통해 구현될 수 있다. 다른 구현들에서, 메모리(110)는 분산 또는 분배(distributed or decentralized) 시스템/환경 내에서(예를 들어, 블록 체인 및/또는 다른 그러한 분산 컴퓨팅 스토리지 기술을 사용하여) 구현될 수 있다. 다양한 구현들에서, 상기 중앙 프로세싱 로직(104)은 비디오/오디오 및/또는 다른 출력을 사용자에게 디스플레이하기 위해 콘텐츠를 터치 가능한 디스플레이 유닛(114)에 생성 및/또는 제공할 수 있다. 상기 중앙 프로세싱 로직(104)은 또한 통신 인터페이스(116)를 통해 데이터 또는 제어 신호를 다른 장치에 무선으로 전송할 수 있다.
도 2에 도시된 다양한 실시예에서, 로봇(200)은, 상기 로봇 시스템(100)의 통신 인터페이스(116)를 통해, 로컬 네트워크(214)를 통해 다양한 외부 장치와 연결될 수 있다. 이러한 외부 장치의 예는 센서(들)(216)(예를 들어 외부 감시 비디오 카메라) 및 스마트 장치(218)를 포함한다. 특정 구현들에서, 로컬 네트워크(214)는 블루투스 연결, WiFi 또는 무선 LAN(WLAN) 연결, 유선 LAN 연결, 근거리 통신(NFC) 연결 또는 다른 유형의 무선 또는 유선 연결을 포함할 수 있다. 스마트 장치(218)는 무선 및/또는 유선 연결을 포함할 수 있고 로봇(200)과 대화식으로 또는 자율적으로 작동할 수 있는 전자 장치일 수 있다. 또한, 특정 구현들에서, 감시 비디오 카메라(216)는 로봇의 외부에 물리적으로 위치될 수 있고 센서 어레이(112)의 일부로서 포함된 로컬 비디오 카메라와 구별되어야 한다는 것이 이해될 수 있다(도 1에 도시됨).
도 2에 도시된 바와 같이, 로봇(200)은 또한 인터넷 또는 모바일 통신 네트워크와 같은 광역(wide area) 네트워크(202)를 통해 액세스되는 백엔드 서버(204)와 같은 장치를 통해 다양한 모바일 장치(208, 210 및 212)에 연결될 수 있다. 이러한 원격 연결은 설명된 로봇 시스템(100)이 참조된 장치(208, 210 및 212)를 통해 원격으로 제어되거나 구성될 수 있게 한다. 참조된 장치가 연결될 수 있은 네트워크/인터넷 연결의 비-제한적인 예에는 전화(dial-up), 디지털 가입자 회선(digital subscriber line), 케이블, 무선, 위성 액세스 및 셀룰러 액세스가 포함된다.
개시된 기술은 다양한 기술적 문제 및 단점을 해결하는 실시 예와 관련하여 설명된다. 이러한 문제 중에는 로봇의 원격 액세스 또는 제어와 관련된 문제가 있다. 하나의 문제는, 예를 들어 로봇이 이동하고(따라서 다른 장소에 위치하는) 정적 네트워크 주소를 가질 수 없는 시나리오에서, 모바일 장치가 인터넷을 통해 로봇을 찾거나 통신할 수 있게 하는 것이다. 다른 예시적인 문제는 예를 들어 로봇에 대한 액세스를 승인된 사용자로 제한하고 무단 액세스/제어를 방지하기 위해 로봇과 모바일 장치 사이에 보안(secure) 원격 통신을 제공하는 방법이다.
본원에 사용된 용어 "구성된"은 그의 평범하고 일반적인 의미를 포함한다. 일 예에서, 기계(machine)는 상기 기계의 프로세서(들)에 액세스 가능한 메모리에 저장된 그 방법에 대한 소프트웨어 코드를 포함함으로써 방법을 수행하도록 구성된다. 상기 프로세서(들)는 메모리를 액세스하여 방법을 구현한다. 다른 예에서, 방법을 수행하기 위한 명령어는 프로세서(들)에 하드 와이어된다. 또 다른 예에서, 상기 명령어의 일부는 하드 와이어(hard-wired)되고, 명령어의 일부는 소프트웨어 코드로서 메모리에 저장된다.
도 3에 도시된 바와 같이 다양한 동작 구현에서, 예를 들어 백엔드 서버(204)를 통해(또는 본 명세서에 설명된 것과 같은 다른 머신/장치를 통해) 구현될 수 있는 원격 인증 프로세스/방법(300)이 존재한다. 이러한 방법은 모바일 장치(208)가 인터넷을 통해 상기 로봇(200)의 네트워크 위치를 결정하고 또한 사전 승인되거나 등록된 사용자 및 로봇을 인증할 수 있게 한다. 이 방법은 하드웨어(회로, 전용 로직 등), 소프트웨어(본 명세서에 기술된 것과 같은 컴퓨팅 장치에서 실행되는 것과 같은), 또는 이 둘의 조합을 포함할 수 있는 처리 로직에 의해 수행된다. 특정 구현들에서, 여기에 설명된 다양한 동작들은 다양한 애플리케이션들(예를 들어, 로봇 컨트롤 엔진(124))을 실행할 수 있는 서버(204)에 의해 수행될 수 있다.
설명의 편의를 위해, 방법은 일련의 동작으로 도시되고 설명된다. 그러나 본 개시에 따른 동작은 다양한 순서로 및/또는 동시에, 그리고 여기에 제시되고 설명되지 않은 다른 동작과 함께 발생할 수 있다. 또한, 개시된 주제(subject matter)에 따라 방법을 구현하기 위해 도시된 모든 동작이 요구되는 것은 아니다. 또한, 당업자는 방법이 상태도 또는 이벤트를 통해 일련의 상호 관련된 상태로서 대안적으로 표현될 수 있음을 이해하고 인식할 것이다. 또한, 본 명세서에 개시된 방법은 그러한 방법을 컴퓨팅 장치로 운반 및 전달하는 것을 용이하게 하기 위해 제조 물품(article of manufacture) 상에 저장될 수 있음을 이해해야 한다. 본 명세서에서 사용되는 바와 같이, 제조 물품이라는 용어는 임의의 컴퓨터 판독 가능 장치 또는 저장 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하도록 의도된다.
단계 302에서, 상기 로봇(200)은 암호화된 로봇 인증(encrypted robot authentication) 요청을 상기 백엔드 서버(204)에 전송할 수 있다. 암호화된 로봇 인증 요청은 상기 로봇과 관련된 고유 로봇 식별자 및 상기 로봇(200)의 현재 네트워크 주소(예를 들어, 인터넷 프로토콜(IP) 주소)를 포함할 수 있다. 상기 로봇 인증 요청은 제1로봇 인증 키에 의해 암호화될 수 있다. 이러한 요청은 서버(204)에 의해 수신될 수 있다.
동작 304에서, 고유 로봇 식별자(unique robot identifier) 및 대응하는 고유 로봇 식별자 및 최근 네트워크 주소와 함께 인증된 로봇의 목록을 포함하는 사용자 데이터베이스(206)를 사용하여 로봇의 신원을 식별하고 검증하기 위해 상기 백엔드 서버는 예를 들어 제2로봇 인증 키를 사용하여 수신된 인증 요청을 해독하도록 동작 가능하다. 또한, 제1로봇 인증 키 및 제2로봇 인증 키는 비대칭 공개-개인 키 쌍(asymmetrical public-private key pair)일 수 있으며, 여기서 제1인증 키는 개인 키이고 제2인증 키는 대응하는 공개 키이다.
동작 306에서, 상기 백엔드 서버(204)는 상기 사용자 데이터베이스(206)에서 그의 고유한 로봇 식별자 하에서 상기 로봇(200)의 네트워크 주소 엔트리를 저장 또는 업데이트할 수 있다. 동작 308에서, 상기 백엔드 서버(204)는 성공적인 인증 및 업데이트시에 동작 308에서 성공적인 통지 메시지를 상기 로봇에 전송할 수 있다. 동작 308의 결론에 따라, 상기 백엔드 서버(204)는 상기 로봇(200)의 가장 업데이트된 네트워크 주소를 포함할 수 있다.
동작 310 및 316에서 설명된 것과 유사한 방식으로, 상기 사용자 데이터베이스(206)와 통신하는 백엔드 서버(204)는 또한 상기 모바일 장치(208)의 상기 네트워크 주소를 인증 및 업데이트할 수 있다. 다양한 구현들에서, 상기 모바일 디바이스(208)는 동작 310에서 암호화된 모바일 디바이스 인증 요청을 상기 백엔드 서버(204)에 전송할 수 있다. 상기 암호화된 모바일 장치 인증 요청은 모바일 장치의 고유 식별자, 고유 메시지, 고유 문구, 고유 제스처 또는 임의의 형태의 생체 데이터를 포함할 수 있다. 상기 백엔드 서버(312)는 상기 사용자 데이터베이스(206)를 질의함으로써 인증 요청 내에 포함된 모바일 장치의 인증 세부 사항을 해독 및 검증할 수 있다. 상기 모바일 장치(208)의 성공적인 인증에 따라, 상기 백엔드 서버(204)는 상기 모바일 데이터베이스의 현재 네트워크 주소를 상기 사용자 데이터베이스(206)에 저장 또는 업데이트할 수 있다. 다양한 실시예에서, 단일 로봇(200)과 연관된 하나 이상의 인증된 모바일 장치(208, 210 및 212)가 있을 수 있다.
동작 316에서 모바일 장치(208)가 성공적으로 인증된 후, 도 4에 도시된 바와 같이 다양한 보안 원격 통신 동작, 프로세스 및/또는 프로토콜(400)이 구현될 수 있다. 이러한 보안 원격 통신 동작, 프로세스 및/또는 프로토콜은 예를 들어 상기 모바일 장치(208)와 로봇(200) 간의 보안 통신을 가능하게 할 수 있다.
동작 402에서, 모바일 디바이스(208)는 특정 작업, 동작, 명령 등(예를 들어, 감시 또는 보안 관련 작업)을 수행하기 위해 암호화된 요청을 로봇(200)에 전송할 수 있다. 이러한 작업의 본질은 기계적 및/또는 전자적일 수 있다. 비-제한적인 기계적 작업은 로봇을 한 장소에서 다른 곳으로 조종하고(navigating), 물체를 들어올리거나 이동시키고, 로컬 센서의 위치를 조정하는 것일 수 있다. 전자 작업의 비-제한적인 예는 스마트 장치(218)의 동작을 제어하기 위해 제어 신호를 전송하고 상기 메모리(110)로부터 데이터를 검색 및 표시하는 것을 포함할 수 있다. 이러한 요청은 로봇(200)에 의해 수신될 수 있다.
로봇(200)으로 전송된 암호화된 요청은 백엔드 서버(204)에 의해 수신될 수 있다. 동작 404에서 서버(204)는 데이터베이스를 조회하여 상기 로봇의 가장 업데이트된 네트워크 주소를 획득할 수 있다.
동작 406에서 백엔드 서버(204)는 상기 로봇의 네트워크 주소를 통해 암호화된 요청을 전달할 수 있다. 동작 408에서, 로봇(200)은 암호화된 요청을 수신하고, 상기 요청을 해독 및 처리할 수 있다. 동작 410에서, 상기 로봇은 상기 요청에 따라 작업을 구현 또는 실행할 수 있다.
동작 412에서, 로봇(200)은 예를 들어 상기 요청 또는 태스크가 성공적으로 구현된 후 상기 백엔드 서버(204)를 통해 모바일 장치(208)에 암호화된 응답을 전송할 수 있다. 동작 414에서, 백엔드 서버(204)는 상기 타겟 모바일 장치(208)의 네트워크 주소를 얻기 위해 사용자 데이터베이스(206)를 조회(query)할 수 있고, 동작 416에서 암호화된 응답을 상기 네트워크 주소를 통해 상기 모바일 장치(208)에 전달할 수 있다. 다양한 구현들에서, 로봇(200)에 대한 암호화된 요청은 백엔드 서버(204)가 상기 타겟 모바일 장치(208)의 정확한 네트워크 주소를 결정할 수 있게 하기 위해 상기 모바일 장치(208)의 고유 식별자에 의해 수용될 수 있다(예를 들어, 로봇(200)과 관련된 적어도 2개의 인증된 모바일 장치가 있는 경우).
다양한 구현들에서, 상기 설명된 기술들은 상기 로봇이 상기 로컬 네트워크 상에 연결된 복수의 장치와 연결되고 제어될 수 있게 하며, 이는 추가적인 기술적 이점을 제공할 수 있다. 예를 들어, 이러한 구성은 로봇이 중앙 허브 또는 플랫폼으로 작동하여 사용자가 단일 인터페이스를 통해 가정에 설치된 여러 스마트 전자 장치에 원격으로 액세스할 수 있도록 한다. 예를 들어, 상기 사용자는 로봇을 통해 원격으로 제어 신호를 발행하여 다른 주변 장치(인터넷 연결을 통해 직접 액세스할 수 없는 주변 장치 포함)에 대한 다양한 동작을 수행할 수 있다. 예를 들어, 사용자는 (모바일 장치를 통해) 인터넷 연결을 통해 신뢰성 있게 액세스할 수 없는 다른 장치에 명령을 제공하기 위해 로봇에 명령을 제공할 수 있다(예를 들어 스마트 히터, 에어컨, 조명 또는 텔레비전을 켜거나 끄는 명령). 그렇게 함으로써, 상기 로봇은 예를 들어 로봇이 그러한 장치들에 대한 연결(예를 들어, 블루투스, NFC 등의 연결)을 확립할 수 있는 위치로 기동하고 명령을 제공할 수 있다.
다양한 실시예에서, 감시 비디오 카메라(216) 및 스마트 장치(218)는 제한된 스토리지 및 오프라인 데이터 저장 옵션을 가질 수 있고 상기 로봇(100)은 그러한 카메라(들)/장치(들)에 의해 캡처된 수신 데이터를 다운로드하고 이를 로컬(예를 들어, 메모리(110) 상에 저장함으로써 메모리(110)를 통해 추가 스토리지를 제공할 수 있다. 또한, 로봇(200)은 추가 클라우드 및/또는 스트리밍 기능을 가능하게 하기 위해 상이한 클라우드 기술을 사용하여 스마트 장치(218)를 통합하기 위한 스토리지 통합 소프트웨어 솔루션을 가질 수 있다. 다양한 구현들에서, 로봇(200)은 또한 센서들/감시 비디오 카메라들(216) 및/또는 다른 장치들로부터 전송된/수신된 비디오 및 다른 콘텐츠의 스팀, 분석 및 저장을 지원할 수 있다.
설명된 기술은 로봇이 추가의 기술적 이점을 제공할 수 있는 복수의 스마트 장치(218) 및 감시 비디오 카메라(216)와 연결될 수 있게 한다. 예를 들어, 로봇(200)은 작업을 보완적이고 시너지적으로 구현하도록 기존의 디지털 자원 및 인프라를 활용/영향을 미칠 수 있다(leverage).
예를 들어, 도 5A는 보안 또는 감시 작업이 어떻게 시너지적으로 구현될 수 있는지를 나타내는 비-제한적인 방법(500)을 도시한다. 특정 구현들에서, 이러한 작업은 로봇(200), 감시 비디오 카메라(216) 및/또는 연결된 스마트 장치(218)의 조합 또는 상보적인 동작들을 통해 수행될 수 있다.
동작 502에서, (무선으로 연결될 수 있는) 감시 비디오 카메라(216)는 실시간 콘텐츠/비디오(예를 들어, 집 또는 사무실 내 관심 영역의 피드)를 캡처할 수 있다.
동작 504에서, 실시간 비디오/피드(예를 들어, 동작 502에서 캡처된 바와 같이)는 추가 처리를 위해 (예를 들어, 실시간으로) 로봇 시스템(100)으로 (예를 들어, 무선으로) 전송될 수 있다. 로봇 시스템(100)은 참조된 비디오/피드를 수신할 수 있고 중앙 프로세스 로직(104)은 (예를 들어, 실시간으로) 수신된 비디오 피드에 대한 시각적 분석을 수행할 수 있다. 그렇게 함으로써, 예를 들어 상기 중앙 프로세스 로직(104)에 의해 구현/실행되는 이미지 인식 또는 검출 기술을 사용하여 이상 검출(anomaly detection)이 수행될 수 있다. 예를 들어, 중앙 프로세스 로직(104)은 상기 비디오/피드에서 사람의 존재를 검출하기 위해 이미지 인식 또는 검출 프로그램을 구현할 수 있고 또한, 인간의 신원이 알려져 있는지 (또는 인간이 침입자인지)를 결정하기 위해 안면 인식을 수행할 수 있다.
동작 506에서, 상기 로봇은 상기 보안 작업의 일부로서 (예를 들어, 상기 인간이 잠재적인 침입자로 504에서 식별되는 경우) 상기 침입자 근처에서 무선으로 연결된 스마트 장치(218)에 제어 신호를 전송할 수 있다. 예를 들어, 상기 로봇은 상기 침입자가 감지된 방에서 스마트 조명 장치를 켜거나 스마트 알람을 울릴 수 있다. 상기 로봇(200)은 추가 조사를 위해 상기 침입자를 확대하기 위해 상기 감시 비디오 카메라(216)에 제어 신호를 전송할 수도 있다.
다양한 구현들에서, 상기 로봇은 또한 추가적인 감시를 제공하기 위해 동작 506에서 침입자 부근으로 이동하거나 조종하기 위해 그 로코모티브/조종 능력(locomotive/navigational capabilities)을 이용할 수 있다.
동작 508에서, 상기 로봇은 예를 들어 잠재적 침입자 근처에 있을 때 추가 조사를 위해 추가 콘텐츠(예를 들어, 광각(wide angle) 감시 비디오)를 캡처할 수 있다.
동작 510에서, 추가적인 처리(예를 들어, 시각적 분석)가 로봇(200)에 의해(예를 들어, 중앙 프로세싱 로직(104)을 통해) 수행될 수 있다. 예를 들어, 상기 로봇에 의해 촬영된 광각 감시 비디오는 검출된 이상(detected anomaly)을 제공(corroborate)하기 위해 (예를 들어, 상기 잠재적인 침입자가 실제로 미확인/비인가 된 사람임을 확인하기 위해) 처리될 수 있다. 다양한 구현들에서, 상기 사용자 또는 소유자는 상기 이상(anomaly)이 확증되거나 확인되면 모바일 디바이스(208)로 전송되는 메시지를 통해 경고를 받을 수 있다.
전술한 특징의 변형 및 조합은 개시된 기술의 범위 내에 속하는 또 다른 실시 예를 형성하기 위해 조합될 수 있음을 더 이해해야 한다. 예를 들어, 상기 모바일 장치들(208, 210 및 212)은 상기 실시 예들에서 인터넷을 통해 로봇에 연결되는 것으로 설명되었지만, 상기 모바일 장치들(208, 210 및 212)은 또한 로컬 네트워크(214)를 로봇에 연결할 수 있음을 이해해야 한다. 이 로컬 네트워크 제어 모드에서, 백엔드 서버(204)는 반드시 상기 모바일 장치(208, 210 및 212)와 상기 로봇(200) 사이의 연결을 확립하기 위해 요구될 필요는 없다. 상기 로컬 네트워크(214)는 블루투스 연결, WiFi 또는 무선 LAN(WLAN) 연결, 유선 LAN 연결 또는 다른 유사한 유형의 무선 또는 유선 연결을 포함할 수 있다.
상기 개시된 로봇 컨트롤 시스템은 상호 명령(interaction instruction)을 대화형 음성(interactive speech), 텍스트, 시각 및/또는 제스처 출력으로 변환하도록 구성된 대화형 로봇 제어기(interactive robotics controller)를 더 포함할 수 있다.
상기 개시된 로봇은 추가 장치를 통합하거나 지원하도록 구성될 수 있다. 예를 들어, 상기 로봇은 표준화된 추가 통신 프로토콜을 구현하도록 구성될 수 있다. 이를 통해 상기 로봇은 이러한 프로토콜을 사용하여 더 많은 장치와 통신하고 제어할 수 있다.
본 명세서에 언급된 다양한 네트워킹 또는 무선 네트워킹 프로토콜이 예로서 의도된다. 상기 로봇은 실질적으로 모든 가정/사무실/모바일/무선 네트워킹 솔루션을 따라 작동하도록 구성될 수 있다.
IP 주소를 기반으로 장치와 로봇을 연결하는 예는 비-제한적인 예이다. 실제로 모든 네트워크 주소 지정 기술을 사용하여 로봇과 등록된 로컬 및/또는 모바일 장치를 연결할 수 있다.
상기 백엔드 서버(204) 및 사용자 데이터베이스(206)는 클라우드 서비스 내에 배치되거나 물리적 엔티티(physical entities)로서 구현될 수 있다.
다양한 구현들에서, 상기 사용자 데이터베이스(206)는 또한 상기 로봇(200) 상에 로컬로 위치될 수 있다. 이러한 구현들에서, 인증 동작들(310-316)은 상기 로봇(200)상에서 로컬로 수행될 수 있다(예를 들어, 백엔드 서버(204)를 통하는 것 대신).
특정 구현에서, 상기 개시된 기술은 로봇(200)이 IoT(Internet of Things) 장치의 허브로서 기능하도록 구성할 수 있다. 이러한 기능은 개인 어시스턴트 기능을 제공하는 다양한 장치 또는 서비스의 통합으로 더욱 향상될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 로봇(200)은 로컬/직접 연결 또는 인터넷을 통해 장치(220)와 인터페이스 하거나 통신할 수 있다. 장치(220)는 개인 어시스턴트(222)와 같은 하나 이상의 개인 어시스턴트를 포함하거나 구현하는 연결된 장치일 수 있다.
개인용 어시스턴트(222)는 사용자를 대신하여 장치와 상호 작용하고, 콘텐츠를 제공하고/하거나 동작을 수행하도록 장치를 구성/활성화하는 애플리케이션 또는 모듈일 수 있다. 예를 들어, 개인 어시스턴트(222)는 사용자로부터 통신 및/또는 요청(들)을 수신하고 그러한 요청(들)에 대한 응답을 제시/제공할 수 있다. 특정 구현들에서, 개인 어시스턴트(222)는 또한 (예를 들어, 사용자의 위치 또는 다른 그러한 컨텍스트에 기초하여) 사용자와 관련될 수 있은 콘텐츠를 식별하고 그러한 콘텐츠를 사용자에게 제시할 수 있다. 개인 어시스턴트(222)는 또한 사용자가 다른 애플리케이션(들)을 시작 및/또는 구성할 수 있게 할 수 있다. 예를 들어, 사용자는 개인 어시스턴트(222)(예를 들어, '재즈 음악 재생')에 명령/통신을 제공할 수 있다. 이러한 명령에 응답하여, 개인 어시스턴트(222)는 사용자에 의해 제공된 요청을 충족시키는 애플리케이션(예를 들어, 미디어 플레이어 애플리케이션)을 시작할 수 있다. 개인 어시스턴트는 또한 여기에 기술된 바와 같은 다양한 다른 동작을 개시 및/또는 수행할 수 있다. 특정 구현들에서, 디바이스(220)는 다수의 개인 어시스턴트를 제공하도록 구성될 수 있으며, 이들 각각은 상이한 운영 체제, 플랫폼, 네트워크 및/또는 생태계와 관련될 수 있다.
다양한 실시예에서, 개시된 기술은 도 2에 도시된 바와 같이 서비스(230)와 같은 다양한 서비스를 이용, 활용 및/또는 다른 방식으로 통신할 수 있다. 이러한 서비스(들)는 예를 들어, 여기에 개시된 특정 동작을 향상시키거나 관련시킬 수 있은 콘텐츠의 검색을 가능하게 하는 제3자 서비스(third-party service)일 수 있다. 부가적으로, 특정 구현들에서 이러한 서비스들은 사용자가 통신/상호 작용할 수 있는 서비스 등일 수 있다.
다양한 컴포넌트들(예를 들어, 개인 어시스턴트(222))이 디바이스(220) 상에서 동작하는 것으로 도시되고 및/또는 기술되지만, 이는 명확성을 위해서만 존재한다는 점에 유의해야 한다. 그러나 다른 구현에서, 참조된 구성 요소는 다른 장치/기계에서도 구현될 수 있다. 예를 들어, 디바이스(220)에서 로컬로 실행하는 대신에, 개인 어시스턴트(220)의 양상들(aspects)은 원격으로(예를 들어, 서버 디바이스 상에서 또는 클라우드 서비스 또는 프레임 워크 내에서) 구현될 수 있다. 예를 들어, 개인 어시스턴트(222)는 원격 장치 또는 장치들에서 실행되는 개인 어시스턴트 서비스일 수 있는 서비스(230)와 함께 동작할 수 있다. 그렇게 함으로써, 개인 어시스턴트(222)는 예를 들어 개인 어시스턴트 서비스(230)로부터 정보, 통신 등을 요청 또는 수신할 수 있어서, 개인 어시스턴트(222)의 기능을 향상시킨다. 다른 구현들에서, 로봇(200)은 개인 어시스턴트(222)를 실행하도록 구성될 수 있다. 예를 들어, 로봇 컨트롤 엔진(124)(도 1에 도시됨)은 개인 어시스턴트(222)와 관련된 기능을 통합 및/또는 제공하도록 구성될 수 있다. 그렇게 함으로써, 상기 로봇은 기동성(maneuverability), 광범위한 센서(wide range of sensors), 및 상기 로봇과 관련된 다른 기능 및 장점을 더 통합/결합하면서 개인 어시스턴트와 관련된 서비스를 이용할 수 있다. 따라서, 참조된 개인 어시스턴트의 특징은 상기 로봇의 동작을 더욱 향상시키는 한편, 상기 로봇의 특징은 개인 어시스턴트의 동작을 더욱 향상시킨다.
도 5B는 예시적인 실시 예에 따른 로봇 컨트롤 방법(520)을 나타내는 흐름도이다. 상기 방법은 하드웨어(회로, 전용 로직 등), 소프트웨어(본 명세서에 기술된 것과 같은 컴퓨팅 장치에서 실행되는 것과 같은), 또는 이 둘의 조합을 포함할 수 있은 처리 로직에 의해 수행된다. 일 구현에서, 상기 방법(520)은 도 1 내지 도 2와 관련하여 도시되고 및/또는 기술된 하나 이상의 구성 요소(로봇(200), 로봇 컨트롤 엔진(124), 처리 유닛(120), 개인 어시스턴트(222) 등을 포함하지만 이에 제한되지 않음)에 의해 수행되며, 일부 다른 구현에서도, 도 5B의 하나 이상의 블록은 다른 기계 또는 기계들에 의하여 수행될 수 있다.
설명의 편의를 위해, 상기 방법은 일련의 동작으로 도시되고 설명된다. 그러나 본 개시에 따른 동작은 다양한 순서로 및/또는 동시에, 그리고 여기에 제시되고 설명되지 않은 다른 동작과 함께 발생할 수 있다. 또한, 개시된 주제에 따라 방법을 구현하는데 모든 예시된 동작이 요구되는 것은 아니다. 또한, 당해 기술 분야의 당업자는 방법이 상태도 또는 이벤트를 통해 일련의 상호 관련된 상태로서 대안적으로 표현될 수 있다는 것을 이해하고 인식할 것이다. 또한, 본 명세서에 개시된 방법들은 그러한 방법을 컴퓨팅 장치로 전송 및 전달하는 것을 용이하게 하기 위해 제조물에 저장될 수 있다는 것을 이해해야 한다. 본 명세서에서 사용되는 제조물이라는 용어는 임의의 컴퓨터 판독 가능 장치 또는 저장 매체로부터 액세스 가능한 컴퓨터 프로그램을 포함하도록 의도된다.
동작 522에서, 하나 이상의 입력이 수신된다. 특정 구현들에서, 그러한 입력들 (예를 들어, 사용자로부터 발신된 음성 입력들)은 설명된 로봇, 개인 어시스턴트 등에 의해 수신될 수 있다.
특정 구현들에서, 제1입력 세트가 수신될 수 있다. 이러한 입력은 하나 이상의 제1입력과 관련된 하나 이상의 품질 메트릭스(quality metrics)를 계산하기 위해 (예를 들어, 로봇에서) 처리될 수 있다. 예를 들어, 캡처된 오디오 콘텐츠의 배경 노이즈 레벨 또는 이미지의 선명도/이미지 품질을 계산할 수 있다. 상기 계산된 품질 메트릭스에 기초하여, 여기에 설명된 바와 같이 상기 로봇에 대한 다양한 조정이 개시될 수 있다. 예를 들어, 제1센서가 상당한 양의 배경 잡음으로 오디오 콘텐츠를 캡처했다고 결정하면, 다른 센서가 이용될 수 있고/있거나 상기 로봇은 다른 위치로 기동하여 노이즈가 적은 콘텐츠를 캡처할 수 있다. 설명된 기능의 추가 측면 및 예가 여기에 제공된다.
동작 524에서, (예를 들어, 522에서 수신된) 하나 이상의 입력은 본 명세서에 설명된 바와 같이 개인 어시스턴트와 같은 다른 애플리케이션, 서비스, 장치 등에 제공할 수 있다.
동작 526에서, 하나 이상의 명령이 수신될 수 있다. 특정 구현들에서, 이러한 명령들은 본 명세서에 기술된 바와 같이 개인 어시스턴트와 같은 다른 애플리케이션, 서비스, 장치 등으로부터 유래될 수 있다. 또한, 특정 구현에서 이러한 명령은 외부 장치(예를 들어, IoT 장치)로 향할 수 있다(directed to). 예를 들어, 이러한 명령은 본 명세서에 기술된 바와 같이 사용자가 연결된 기기 등을 조정 또는 끄고 싶어한다는 것을 반영할 수 있다.
동작 528에서, 외부 장치의 연결 상태가 결정될 수 있다. 예를 들어, 여기에 기술된 바와 같이, 사용자는 개인 어시스턴트에게 연결된 기기(appliance)의 동작을 조정하도록 지시할 수 있지만, 이러한 연결된 기기는 상기 인터넷에 확실하게(reliably) 연결되지 않을 수 있다. 따라서, 상기 사용자로부터 그러한 요청을 수신하면, 연결된 기기의 연결 상태가 결정될 수 있다.
동작 530에서, 로봇이 기동(maneuvered)될 수 있다. 특정 구현에서, 이러한 로봇은 외부 장치와 관련된 위치 (예를 들어, 연결된 기기에 더 근접한 위치)와 관련하여 기동될 수 있다. 더욱이, 특정 구현에서, 이러한 로봇은 하나 이상의 명령에 기초하여 기동될 수 있다. 또한, 특정 구현에서, 로봇은 외부 장치의 연결 상태에 기초하여 연결된 기기/장치의 위치와 관련하여 기동될 수 있다. 예를 들어, 상기 기기/장치가 확실하게 연결되지 않았다고 판단되면, 상기 로봇은 기기에 근접한 위치로 기동하고 (예를 들어, 여기에 기술된 블루투스, NFC 등을 통해) 상기 외부 기기와의 연결을 설정할 수 있다.
동작 532에서, 전송(transmission)이 개시될 수 있다. 특정 구현들에서, 이러한 전송은 본 명세서에 설명된 바와 같이 상기 로봇으로부터 외부 장치/기기로의 하나 이상의 명령의 전송일 수 있다. 예를 들어, 상기 로봇은 (블루투스 등을 통해) 상기 장치에 명령을 제공할 수 있다.
더욱이, 특정 구현에서, 상기 외부 장치로부터 발생하는 콘텐츠는 상기 로봇을 통해 요청될 수 있다. 예를 들어, 원격 감시 카메라 또는 센서가 비디오 또는 기타 입력을 캡처하고 상기 인터넷 (또는 다른 네트워크)에 안정적으로 연결되어 있지 않은 시나리오에서, 상기 로봇은 근접한 위치로 기동하여 상기 장치로부터 해당 콘텐츠를 요청할 수 있다. 그 후 상기 콘텐츠는 상기 로봇에 제공될 수 있고/상기 외부 장치로부터 수신될 수 있으며, 상기 콘텐츠는 로봇에 저장될 수 있다. 그 후 상기 로봇은 본 명세서에 기술된 바와 같이 이러한 콘텐츠를 하나 이상의 장치, 서비스 등에 업로드, 릴레이 등을 할 수 있다.
단계 534에서, 확인 콘텐츠(confirmation content)가 생성될 수 있다. 특정 구현들에서, 그러한 확인 콘텐츠(예를 들어, 사진 증거)는 본 명세서에 설명된 바와 같이 하나 이상의 명령들이 상기 외부 장치에 의해 실행되었음을 반영할 수 있다.
동작 536에서, 상기 확인 콘텐츠는 예를 들어 개인 어시스턴트 또는 다른 장치 또는 서비스에 제공될 수 있다.
동작 538에서, 상기 로봇에 액세스 가능한 하나 이상의 구성 요소가 식별될 수 있다. 이러한 구성 요소는, 예를 들어 상기 로봇 내에 통합된 하나 이상의 센서, 상기 로봇과 통신하는 장치 내에 통합된 하나 이상의 센서, 또는 상기 로봇 외부에 있는 하나 이상의 센서 및/또는 본 명세서에 기술된 바와 같은 다른 이러한 센서, 구성 요소, 장치 등일 수 있다.
동작 540에서, 하나 이상의 구성 요소 중 적어도 하나가 선택될 수 있다. 특정 구현들에서, 이러한 구성 요소들(예를 들어, 센서 또는 장치)은 하나 이상의 명령의 관점에서 기초하여 선택될 수 있다. 예를 들어, 로봇에 관한 작업이 특정 파라미터를 특정하는 시나리오에서 (예를 들어, 고품질, 클로즈업 등의 특정 특성을 갖는 사진을 캡처하기 위해) 이러한 작업에 가장 적합한 로봇에 액세스할 수 있는 구성 요소(예를 들어 센서)를 선택(뿐만 아니라 해당 구성 요소의 다양한 설정, 구성 등)할 수 있다.
동작 542에서, 예를 들어 하나 이상의 구성 요소 중 적어도 하나(예를 들어, 540에서 선택된 구성 요소)와 관련하여 하나 이상의 동작이 개시될 수 있다. 예를 들어, 이러한 선택된 컴포넌트들은 본 명세서에서 상세히 설명된 바와 같이 다양한 동작들을 수행할 수 있다.
설명된 동작 및 특징의 추가적인 예시로서, 로봇(200)은 장치(220) 및/또는 서비스(230)를 통해 개인 어시스턴트와 연결되거나 인터페이스할 수 있다. 이러한 개인 어시스턴트는 예를 들어 클라우드 기반 가상 음성 어시스턴트(cloud-based virtual voice assistant)일 수 있다. 그렇게 함으로써, 사용자는 예를 들어 개인 어시스턴트에 의해 제공된 자연 언어 인터페이스(natural language interfaces)를 사용하여 로봇(220)과 상호 작용하거나 제어하기 위해 이러한 개인 어시스턴트를 이용할 수 있다. 예를 들어, 사용자는 "[개인 어시스턴트], [로봇]에게 내게 오라고 "말해주세요"와 같은 개인 어시스턴트에게 음성 명령을 제공할 수 있다. 상기 개인 어시스턴트는 자연스러운 음성(natural speech)으로 원격 명령을 용이하게 하는 중개자 역할을 할 수 있다.
설명된 기술은 또한 다양한 장치(예를 들어, 연결된 온도 조절기, 조명 등과 같은 IoT 장치)와의 상호 작용 및/또는 제어를 가능하게 하도록 구성될 수 있다. 예를 들어, 사용자는 로봇(200)에 음성 명령 (예를 들어 "[개인 어시스턴트], 거실 온도 조절기 온도를 68도로 설정하십시오.")을 제공할 수 있고, 이러한 명령은 로봇을 통해 수행/실행되는 동안 (예를 들어, 스마트 장치(218)에 대응하는 명령을 제공함으로써) 참조된 개인 어시스턴트를 통해 처리될 수 있다.
추가의 예시로서, 상기 설명된 로봇은 일관된 네트워크 연결을 갖지 않을 수 있는 장치를 포함하여 다양한 스마트/연결 장치와 인터페이스 및/또는 제어할 수 있는 '허브(hub)'로서 작동 또는 기능하도록 추가로 구성될 수 있다. 예를 들어, 스마트/연결 기기가 네트워크 연결이 없는 영역에 있는 경우(또는 이러한 연결이 중단된 경우) 해당 장치를 원격으로 제어하기가 어렵거나 불가능할 수 있다. 그러나 개시된 기술을 사용하여, 사용자는 예를 들어 그러한 기구에 대한 명령(예를 들어, 개인 어시스턴트를 통해)을 제공할 수 있다(예를 들어, "침실에서 에어컨을 끄는"). 개시된 기술을 사용하여, 이러한 명령은 로봇(200)으로 보내질 수 있고, 이 로봇은 참조된 위치("침실")로 기동될 수 있다. 참조 기기가 인터넷 연결을 잃어버렸을지라도, 로봇(200)은 근접하여(예를 들어, 블루투스 등을 통해) 장치와의 로컬 연결을 구축할 수 있다. 상기 로봇은(예를 들어, 기기를 끄기 위해) 참조된 명령을 추가로 중계하고, 그러한 동작이 수행되었는지 확인하고(예를 들어, 장치로부터의 피드백, 사진 또는 다른 증거/문서 등을 통해), 이러한 확인을 개인 어시스턴트, 사용자 등에 다시 제공할 수 있다. 그렇게 함으로써, 개시된 기술은 이러한 기술이 독립적으로 작동할 때 가능했던 능력을 넘어 개인 어시스턴트 및 스마트/연결 장치(예를 들어 IoT 장치)의 기능을 확장하고 기능 및 신뢰성을 향상시킬 수 있다.
특정 구현들에서, 로봇(200)은 예를 들어 오프라인 또는 온라인 모드에서 사용될 때 개인 어시스턴트의 능력을 확장시키도록 구성될 수 있다. (로봇(200)이 예를 들어 개인 어시스턴트 서비스와의 일관된 네트워크 연결을 유지하는) 온라인 어시스턴트 구성에서 상기 로봇은 성능을 향상시키기 위해 향상된 센서 기능을 제공할 수 있다.
예를 들어, 특정 구현에서, 로봇(200)은(예를 들어, 모든 방에 IoT 허브를 설치하는 대신에) 모바일 마이크로폰 솔루션(mobile microphone solution)이 가정(home) 전체에 더 많은 커버리지를 제공할 수 있도록 구성될 수 있다. 상기 로봇은 예를 들어 가정 내 다른 장소/방으로 기동할 수 있으며 센서(카메라, 마이크 등)를 사용하여 입력, 명령 등을 수신할 수 있다. 상기 로봇의 다양한 통신 인터페이스를 사용하여 상기 로봇은 다른 장치(예를 들어, 연결된 기기, 조명 등과 같은 IoT 장치)에 명령을 제공할 수 있다. 그렇게 하면 단일 로봇이 여러 영역에 IoT 기능을 제공할 수 있으며, 그렇지 않으면 비슷한 범위의 커버리지를 달성하기 위해 여러 고정식 IoT 허브가 필요하다.
더욱이, 로봇(200)의 기동성으로 인해 상기 로봇은 다른 상황(예를 들어, 방 내)을 설명하기 위해 로봇의 위치를 조정할 수 있다. 예를 들어, 상기 로봇의 마이크로폰이 상당한 양의 배경 소음을 인지하는 시나리오 또는 카메라가 너무 많은(또는 충분하지 않은) 광을 인지하는 경우, 로봇(200)은 그에 따라 위치를 조정하여, 기술된 동작이 개선/향상된 방식으로 수행될 수 있게 한다.
특정 구현들에서, 상기 참조된 로봇은 '오프라인'(예를 들어, 네트워크에 연결되지 않은) 개인 어시스턴트로서 동작하도록 추가로 구성될 수 있다. 이러한 시나리오에서, 로봇(200)은 개인용 보조 클라우드 기반 서비스(personal assistant cloud-based service)를 통해 제공되지만 인터넷 연결 없이 마이크로폰 어레이 프론트 엔드(microphone array front-end) 다양한 처리 기능을 제공할 수 있다. 예를 들어, 로봇(200)은 한 방에서(예를 들어, 네트워크 연결이 없는 영역에서) 사용자로부터 특정 명령을 수신하도록 구성될 수 있다. 상기 로봇은 다른 지역/방으로 기동하여 네트워크 연결을 설정하고, 수신된 명령을 개인 어시스턴트 서비스에 중계하고, 응답을 수신할 수 있다. 그 후 상기 로봇(200)은 사용자 영역으로 되돌아가서 수신된 응답(들)을 제공할 수 있다.
더욱이, 특정 구현에서, 로봇(200)은 다수의 모드(mode)를 가능하게 하도록 구성될 수 있으며, 이에 의해 트리거는 예를 들어 사용자의 의도에 따라 (키워드 및/또는 웨이크 워드(wake-word) 외에 음성 및/또는 제스처 패턴으로부터 결정된) 모드간에 전환할 수 있다. 상기 참조된 로봇은 또한 트리거(예를 들어, 로봇 상에 물리적으로 위치한 버튼 또는 스위치, 연관된 모바일 애플리케이션의 가상 버튼)가 모드 사이를 전환할 수 있는 다중 모드를 가질 수 있다. 특정 구현들에서, 상기 로봇은 예를 들어 주어진 시간에 다수의 가능한 입력들을 용이하게 하기 위해 동시 모드로 동작할 수 있다.
언급된 바와 같이, 로봇(200)은(1) VPN을 통한 온라인(인터넷 연결) 모드, (2) LAN 활성 모드(인터넷 연결 없이) 및 (3) 핫스팟 모드를 포함하는 네트워킹 모드로 구성될 수 있다.
참조된 동작 모드 및 관련 동작을 도시한 예시적인 흐름도(600)가 도 6에 도시되어 있다. 도 6에 도시된 바와 같이, 특정 구현에서, IoT 가능/연결된 로봇은 핫스팟-직접 Wi-Fi 연결(예를 들어, 연결된 모바일 애플리케이션으로)을 통해 개시될 수 있다. 이러한 응용 프로그램(로봇에 의해 활성화된 참조된 로컬 핫스팟을 통해 로봇에 연결된 스마트폰, 태블릿 등과 같은 사용자 장치에서 실행될 수 있음)을 통해 사용자는 사용 가능한 LAN에 IoT 로봇을 등록할 수 있다.
도 6에 도시된 바와 같이, 상기 로봇이 LAN에 등록되면 온라인 연결 및 접근성을 위해 상기 로봇을 VPN 백엔드에 등록할 수 있다. (상기 로봇에 연결된 스마트폰, 태블릿 등의 사용자 장치에서 실행될 수 있는) 모바일 애플리케이션은 LAN을 통해(오프라인) 직접 또는 VPN을 통해 상기 로봇에 연결하도록 선택할 수 있다. 사용자는 상기 로봇 연결을 다른 LAN 또는 재-허용 로봇 핫스팟(re-enable robot hotspot)으로 수동 전환할 수 있다. 도 6에 도시된 바와 같이, LAN을 사용할 수 없게 되면 상기 로봇은 자동으로 핫스팟 연결 모드로 전환 할 수 있다.
참조된 IoT 로봇(200)은 백엔드 서버(204)에 등록되어 연관된 연결된 장치 및/또는 클라우드 기반 스토리지를 위한 처리 및 데이터베이스 솔루션을 제공할 수 있다. 특정 구현들에서, 다수의 IoT 로봇들이 각각의 로봇에 대한 고유 식별자(예를 들어, UID)의 사용으로 단일 백엔드 서버(204) 상에 등록될 수 있다.
IoT 로봇 등록은 여러 가지 방법 중 하나로 수행할 수 있다(예를 들어, 앱, 웹 서비스, 공장에서 자동 벌크 UID 등록을 위한 백엔드 서비스 등).
로봇(200)은 그의 데이터베이스 정보를 연결된 클라우드 기반 스토리지 솔루션과 동기화하도록 구성될 수 있다. 예를 들어, 사용자 데이터, 상태 데이터, 매핑 데이터 및 보안 비디오를 클라우드 기반 스토리지에 안전하고 안전하게 백업할 수 있다. 또한 IOT 로봇은 로컬 스토리지가 우선시되는 상황에서 연결된 IOT 장치를 위한 로컬 스토리지 솔루션으로 작동할 수 있다. 예를 들어, 보안 및 감시 영상은 상기 로봇 내부에 있는 안전한 물리적 드라이브에 저장될 수 있다. 이러한 로컬 스토리지 솔루션의 데이터는 클라우드 기반 스토리지 솔루션으로 선택적으로 동기화되고 백업될 수 있다.
본 개시(로봇(200) 포함)의 다른 양태 및 구현이 본 명세서에 기술되고 장치를 장착하는 것에 관한 것이다(directed to). 그렇게 하면 추가 구성 요소를 통합하고 추가 기능을 설명된 로봇에 통합할 수 있다.
인공 지능 및 음성 인식 소프트웨어와 같은 기술 분야의 발전에 따라 로봇은 점점 더 사람의 말과 정서적 상태를 이해하고 정서적으로 관련된 언어로 사람에게 반응할 수 있는 능력을 갖게 되었다. 이러한 로봇 중 일부에는 로봇의 주요 '두뇌' 역할을 하는 동시에 다른 인터페이스와 통신 기능을 제공하는 CPU 장치가 포함되어 있다. 그러나 이러한 컴퓨팅 컴포넌트는 종종 쉽게 제거되거나 교체되는 것을 방지하는 방식으로 로봇 내에 통합된다. 결과적으로, 그러한 로봇을 업그레이드하는 것은 어렵거나 불가능할 수 있다(예를 들어, 로봇의 원래 구성을 넘어서 로봇의 능력, 기능 등을 증가시키는 것).
따라서, 다양한 실시예에서 본 명세서에 기술된 바와 같이, 장치를 장착할 수 있게 하는 장치, 방법, 기계 판독 가능한 매체 및 시스템을 포함하는 기술이 있다. 상기 개시된 기술은 로봇의 다양한 구성 요소의 쉽고 효율적인 교환, 업그레이드, 조정 등을 가능하게 하는 것을 포함하여 수많은 장점을 제공한다.
따라서, 개시된 기술은 로봇 공학, 장치 장착 및 모듈식 하드웨어 설계(robotics, device mounting, and modular hardware design)를 포함하지만 이에 제한되지 않는 다수의 기술 분야에서의 특정 기술 과제 및 오랜 결함을 해결하고 지시한다는 것을 이해할 수 있다. 본 명세서에 상세히 기술된 바와 같이, 개시된 기술은 참조된 기술 분야에서의 참조된 기술적 과제 및 충족되지 않은 요구에 대한 특정의 기술적 솔루션을 제공하고 종래의 접근법에 대한 많은 장점 및 개선을 제공한다. 또한, 다양한 실시예에서, 여기에 언급된 하나 이상의 하드웨어 요소, 구성 요소 등은 여기에 기술된 방식으로 개시된 기술을 가능하게 하고, 개선하고/시키거나 향상시키도록 동작한다.
도 7에 도시된 바와 같은 다양한 실시 예에 따르면, 태블릿(704)과 같은 그러나 이에 제한되지 않는 모바일 컴퓨터로부터의 전기 명령(electrical command)과 같은 전자 신호에 의해 구동되는 로봇(702)을 포함하는 로봇 시스템(700)이 있다. 상기 로봇(702)은 예를 들어 컴퓨터 프로그램 또는 장치(704)(예를 들어, 태블릿)에 의해 실행되는 소프트웨어에 의해 정의된 바와 같이 일련의 명령에 따라 복잡한 일련의 동작을 자동으로 수행하도록 동작 가능한 전자 기계적 기계(electromechanical machine)일 수 있다. 상기 태블릿(704)은 장치(706), 그렇지 않으면 태블릿 도크(706)로 착탈식으로 장착될 수 있으며, 이는 중앙 영역(central region), 예를 들어 인체 모양 로봇의 가슴 영역 근처의 로봇(702)의 외부 쉘(exterior shell) 상에 위치 될 수 있다.
도 7에 도시된 바와 같이, 상기 장치(706) 또는 태블릿 도크(706)는 제1에지 부재(708), 제2에지 부재(710), 제3에지 부재(712) 및 제4에지 부재(714)를 포함할 수 있으며, 제1에지 부재 (708) 및 제3에지 부재(712)의 길이 방향 축은 제1방향에 실질적으로 평행하고 제2에지 부재(710) 및 제4에지 부재(714)의 길이 방향 축은 실질적으로 제2방향에 평행하다. 일부 실시 예에서, 상기 에지 부재(708, 710, 712 및 714)는 태블릿(704)이 그에 맞게 직사각형 영역을 둘러싸도록 배열된다.
제1방향은 제2방향과 실질적으로 직교하거나 직교할 수 있고, 제1방향과 제2방향은 모두 메인 리세스(716)의 내부 바닥면 또는 상기 태블릿(704)의 디스플레이 스크린상의 평면(“제1평면”이라고도 함)과 실질적으로 평행하다.
도 8 및 도 9에 도시된 바와 같이 상기 태블릿(704)을 장착하기 위해, 상기 4개의 에지 부재(708, 710, 712 및 714)는 상기 태블릿(704)의 측면 치수를 수용하기 위해 제1평면 내에서 각각의 종축(longitudinal axis)에 수직인 방향을 따라 미끄러지듯이(slidably) 조절될 수 있다. 일단 4개의 에지 부재(708, 710, 712 및 714)가 상기 태블릿(704)의 측면 치수를 수용하도록 슬라이딩 가능하게 조정되면, 상기 태블릿(704)은 적어도 2개의 대향하는 에지 부재를 서로를 향해 슬라이딩하여 태블릿(704)을 클램핑함으로써 제자리에 장착된다. 그 후에, 상기 대향 에지 부재는 또한 상기 태블릿(704)이 상기 태블릿 도크(706) 상에 단단히 장착되도록 하기 위해 제자리에 고정될 수 있다. 도 9에 도시된 바와 같이, 상기 슬라이딩 가능하게 조절 가능한 에지 부재는 유리하게는 태블릿 도크(706)가 상이한 측면 치수를 갖는 정제를 수용 할 수 있게 한다.
도 10 및 도 11에 도시된 바와 같은 다양한 실시 예에서, 4개의 에지 부재(708, 710, 712 및 714)는 상기 태블릿(704)의 후면 또는 뒷면이 메인 리세스(716)의 바닥에 놓이도록 상기 태블릿(704)을 수용하기 위한 메인 리세스(716)의 둘레를 정의한다. 다양한 실시 예들에서, 제1에지 부재(708) 및 제3에지 부재(712)의 길이는 제2에지 부재(710) 및 제4에지 부재(714)의 길이보다 실질적으로 더 짧을 수 있다.
다양한 실시 예에서, 메인 리세스(716)의 깊이가 태블릿(704)의 두께와 실질적으로 동일한 경우, 상기 장착된 태블릿(704)의 디스플레이 스크린은 제1에지 부재(708), 제2에지 부재(710), 제3에지 부재(712) 및 제4에지 부재(714)의 상부면과 실질적으로 같은 높이일 수 있다. 도 8 및 도 9에 도시된 바와 같은 다양한 실시 예에서, 태블릿(704)의 각각의 측면 치수가 대응하는 에지 부재의 길이와 다른 경우, 2개의 수직 에지의 코너 근처에 갭이 있을 수 있다.
다양한 실시 예에서, 상기 태블릿 도크(706)는 또한 4개의 에지 부재(708, 710, 712 및 714)의 내부 표면에 부착된 고무 패드(722)를 포함할 수 있어, 상기 태블릿(704)이 상기 태블릿 도크(706)에 도킹되거나 장착될 때 상기 고무 패드(724)가 태블릿(704)의 두께 방향을 따라 표면과 접촉할 수 있도록 한다. 상기 고무 패드는 태블릿 도크(706)에 도킹되거나 장착될 때 가장자리가 태블릿(704)의 두께 방향을 따라 측면 또는 표면을 긁는 것을 방지하는 쿠션으로서 작용할 수 있다.
도 10 및 도 11에 도시된 바와 같은 다양한 실시 예에서, 상기 태블릿 도크(706)는 제1보조 리세스(718)(도 10) 및 제2보조 리세스(728)(도 11)를 더 포함한다. 제1(718) 및 제2(728) 보조 리세스는 메인 리세스(716)로부터 계단형(stepped)일 수 있다(즉, 제1(718) 및 제2(728) 보조 리세스는 메인 리세스(716)로부터 계단형 리세스이다). 다양한 실시 예들에서, 제1보조 리세스(718)는 제1에지(708) 근처에 위치될 수 있고 제1에지(708) 아래로 연장될 수 있다.
다양한 실시 예들에서, 제1에지 부재(708)는 또한 내부 측벽으로부터 내향으로 연장되는 제1측면 리세스(726)를 포함할 수 있고, 여기서 상기 내부 측벽은 제1에지 부재(708)의 두께 방향과 평행하다. 제1측면 리세스(726)는 제1보조 리세스(718)에 결합되거나 실질적으로 위에 위치될 수 있다. 다양한 실시 예들에서, 제2보조 리세스(728)는 제4에지 부재(714) 근처에 위치될 수 있고 제4에지(714) 아래로 연장될 수 있다. 또한, 제4에지 부재(714)는 또한 내부 측벽으로부터 내향으로 연장되는 제2측면 리세스(730)를 포함할 수 있고, 여기서 상기 내부 측벽은 제4에지 부재(714)의 두께 방향과 평행하다. 제2측면 리세스(730)는 또한 제2보조 리세스(728)에 결합되거나 실질적으로 위에 위치될 수 있다.
다양한 실시 예에서, 상기 제1보조 리세스(718) 및 상기 제1측면 리세스(726)는 상기 제1방향으로 실질적으로 연장될 수 있다. 유사하게, 상기 제2보조 리세스(728) 및 상기 제2측면 리세스(730)는 또한 제2방향으로 실질적으로 연장될 수 있다.
도 10 및 도 11에 도시된 바와 같이 다양한 실시 예에서, 제1보조 리세스(718)에는 제1커넥터(720) 및 제2커넥터(722)가 제공될 수 있다. 예로서, 제1커넥터(720)는 하나의 제조자로부터 USB 포트로 전화 또는 장치를 연결하기 위한 것일 수 있고, 제2커넥터(722)는 다른 제조자로부터 USB 포트로 전화 또는 장치를 연결하기 위한 것일 수 있다. 또한, 제1커넥터(720) 및 제2커넥터(722)는 각각 수축식(retractable) 케이블(미도시)에 연결되거나 링크되고, 여기서 상기 케이블은 제1보조 리세스(718)(도시되지 않음)의 제1구멍 및 제2구멍을 통해 제공된다. 유사하게, 제2보조 리세스(728)에 제3커넥터(732)가 제공될 수 있고, 상기 제3커넥터(732)는 또한 수축식 케이블(734)에 연결되거나 링크될 수 있으며, 여기서 상기 수축식 케이블(734)은 제2보조 리세스(728)의 바닥에 위치하는 제3구멍(736)(도 12 및 도 13에 도시됨)을 통하여 제공된다.
예로서, 상기 수축 가능한 케이블(734)에 연결된 연장된 제2측면 리세스(730) 및 제3커넥터(732)는 제4에지 부재(714)를 따라 측 방향 위치 범위 내에 위치된 장착된 태블릿(704)의 입력 포트에 대한 액세스를 제공하도록 작동 가능할 수 있다. 전술한 특징은 제3커넥터가 모바일 장치의 입력 포트에 연결하기 위한 위치("제1위치"로도 알려질 수 있음)로 제4에지 부재를 따라 조정될 수 있게 한다. 유리하게는, 이것은 상기 태블릿 도크(706)가 상이한 제조사 및 모델의 태블릿에 연결될 수 있게 하며, 이에 의해 입력 포트가 그 둘레를 따라 다른 위치에 위치될 수 있다. 연장된 제1측면 리세스(726)는 제1에지 부재(708)를 따라 측 방향 위치 범위 내에 위치된 태블릿(704)의 입력 포트로의 접근을 제공하기 위해 실질적으로 동일한 방식으로 작동한다.
도 11에 도시된 바와 같은 다양한 실시 예에서, 제1(718) 및 제2(728) 보조 리세스 모두에 커넥터를 제공함으로써 상기 태블릿(704)을 가로(도 9(a) 내지 (c)) 또는 세로 구성(도 9(d) 및 (e))으로 장착될 수 있으며, 이는 커넥터가 태블릿(704)의 단변 및 장변 모두에 제공될 것이기 때문이다.
제1측면 리세스(726) 및 제2측면 리세스(730)의 다른 장점은 상기 태블릿(704)의 두께 방향을 따라 위치 범위 내에 위치된 입력 포트에 대한 접근을 제공하는 것일 수 있다. 도 13(a)에 도시된 바와 같이, 장착된 태블릿(704)의 입력 포트는 제2보조 리세스(728)(또는 제1보조 리세스(718))의 하부 표면으로부터 더 멀리 위치될 수 있다. 이것이 일어날 수 있는 한 상황은 태블릿(704)이 상대적으로 더 두꺼운 경우이다. 이 경우, 도 13(a)에 도시된 바와 같이, 제1측면 리세스(726) 또는 제2측면 리세스(730)는 커넥터가 태블릿(704)에 플러그 되지 위해 장착된 태블릿(704)의 두께 방향을 따라 필요한 공간적 여유를 제공한다.
다양한 실시 예들에서, 유선 연결이 필요하지 않은 경우, 제2보조 리세스(728)는 또한 태블릿(704)이 커넥터 위에 장착될 수 있게 한다. 제1보조 리세스(718)는 유사하게 상기 태블릿(704)이 제1커넥터(720) 및/또는 제2커넥터(722) 위에 장착될 수 있도록 충분한 공간을 제공한다.
설명된 기술들은 이제 그 동작의 일 실시 예와 관련하여 설명될 것이다. 상기 태블릿(704)을 태블릿 도크(706)에 장착하기 전에, 상기 사용자는 상기 태블릿(704)을 가로 또는 세로 구성으로 장착할지를 결정한다. 그 후, 사용자는 태블릿(704)의 입력 포트가 단변 또는 장변에 위치하는지에 따라 적절한 보조 리세스(제1보조 리세스(718) 또는 제2보조 리세스(728))로부터 커넥터(제1커넥터(720), 제2커넥터(722) 또는 제3커넥터(732))를 당길 수 있다. 예를 들어, 하나의 장치 제조업체의 태블릿은 일반적으로 짧은 쪽 가장자리를 따라 입력 포트가 있을 수 있다. 따라서, 제1에지 부재(708) 및 제3에지 부재(712)가 태블릿의 2개의 더 짧은 에지에 대응하는 가로 구성으로 이러한 장치를 장착하기 위해, 상기 장치의 커넥터(제1커넥터(720))가 제1보조 리세스(718)로부터 당겨져 태블릿의 입력 포트에 연결될 수 있다. 그 후, 제1커넥터(720)에 연결된 케이블은 타블렛(704)을 타블렛 도크(706) 쪽으로 당기기 위해 수축될 수 있고, 즉, 제1커넥터(720)에 연결된 케이블이 수축함에 따라 제1커넥터(720)의 위치가 조정된다.
상기 태블릿(704)을 상기 태블릿 도크(706)의 메인 리세스(716)에 장착하고 수축식 케이블이 완전히 후퇴하기 전에, 상기 사용자는 4개의 에지 부재를 그들의 각각의 종축에 대해 수직으로 슬라이딩시킴으로써 메인 리세스(716)의 크기를 상기 태블릿(704)의 크기보다 크게 조절할 수 있다. 이어서, 상기 태블릿(704)는 상기 태블릿 도크(706)의 메인 리세스(716) 상에 수용될 수 있다. 그 후, 상기 태블릿(704)은 적어도 2개의 대향 에지 부재(이 경우, 상기 제1에지 부재(708) 및 제3 에지 부재(712)를 서로를 향해 슬라이딩 또는 슬라이딩 가능하게 조정함으로써 장착될 수 있어서, 상기 태블릿(704)이 2개의 상기 에지 부재 사이에 클램핑된다. 도 8 및 도 9(b)에 도시된 바와 같은 다양한 실시 예에서, 상기 태블릿은 또한 제4에지 부재(714) 상에 놓여있는 동안 제1에지 부재(708) 및 제3에지 부재(712)에 의해 클램핑될 수 있다. 다양한 실시 예들에서 그리고 태블릿의 크기 또는 측면 치수에 따라, 제2에지 부재(710) 및 제4에지 부재(714)는 또한 상기 타블렛을 클램프하기 위해 서로를 향해 이동 또는 슬라이딩 또는 슬라이딩 가능하게 조정될 수 있다. 일단 상기 태블릿을 고정하기 위해 상기 부재들이 제자리로 이동되면, 또한 상기 태블릿이 태블릿 도크(706)에 단단히 장착되도록 제자리에 고정될 수 있다. 상기 태블릿(704)이 가로 구성으로 장착 또는 고정될 때, 제1커넥터(720)는 적어도 수축 가능한 케이블(도시되지 않음) 및 제1측면 리세스(726)를 통해 제1에지 부재(708)를 따라 위치로 자동 조정되고, 이는 상기 태블릿(704)의 입력 포트에 올바르게 연결되거나 연결될 수 있게 한다는 것을 이해해야 한다.
세로 구성(portrait configuration)으로 태블릿을 장착하기 위해, 제2보조 리세스(728)로부터의 제3커넥터(732)가 대신 사용될 수 있다. 적어도 도 9(d) 및 (e)에 도시된 바와 같이 세로 구성으로 장착할 때, 상기 제2모서리 부재(710)와 상기 제4모서리 부재(714)는 서로를 향해 이동 또는 슬라이딩 또는 조정되어 상기 태블릿을 클램핑할 수 있다. 상기 태블릿의 장변의 길이에 따라, 도 9(d) 및 (e)에 도시된 바와 같이 제1모서리 부재(708) 및 제3모서리 부재(712)가 상기 태블릿(704)를 클램핑하기에 충분한 공간이 있거나 없을 수 있다. 상이한 측면 치수의 태블릿(704)이 가로 또는 세로 구성으로 태블릿 도크(706)에 장착될 수 있는 다른 실시 예가 도 9(a) 내지 (e)에 도시되어 있다. 상기 태블릿(704)이 세로 구성으로 클램핑될 때, 제3커넥터(732)는 적어도 수축 가능한 케이블(734) 및 긴(elongated) 제2측면 리세스(730)를 통해 제4에지 부재(714)를 따르는 위치로 자동 조정되고, 이는 상기 태블릿(704)의 입력 포트에 올바르게 연결되거나 플러그될 수 있게 한다.
다양한 실시 예들에서, 상기 태블릿(704)은 또한 커넥터들 중 어느 하나에 연결되지 않고 장착될 수 있다. 이 경우, 상기 태블릿(704)은 4개의 에지를 슬라이딩시킴으로써 메인 리세스(716)의 크기가 조정된 후 커넥터 바로 위에 장착될 수 있다. 이 경우, 상기 커넥터는 대응하는 2차 리세스의 바닥을 향해 밀려서, 상기 태블릿(704)이 메인 리세스(716)의 바닥에 평평하게 놓인 상태에서 상기 태블릿(704)의 후면이 적절하게 장착될 수 있게 한다.
대안 또는 대체물이 아닌 상술한 특징의 변형 및 조합이 기술된 기술의 의도된 범위 내에 속하는 또 다른 실시 예를 형성하기 위해 조합될 수 있음을 당업자는 추가로 이해해야 한다.
예를 들어, 다양한 실시 예가 태블릿과 관련하여 설명되었지만, 상기 태블릿 도크(706)는 스마트폰 및 랩탑과 같은 임의의 장치를 도킹하기 위해 사용될 수도 있음을 이해해야 한다.
상기 태블릿 도크(706)는 상기 로봇(702)의 가슴에 장착되도록 설계되었지만, 예를 들어 음악 또는 통신을 재생하기 위한 독립형 범용 태블릿 도크로 사용될 수도 있다. 상기 태블릿 도크(706)를 사용하여 현재 모바일 장치 도크를 포함하는 모든 제품을 개선할 수 있다.
2개의 대향하는 에지 부재가 상기 태블릿(704)을 클램핑에 의해 태블릿 도크(706)에 장착하는데 사용되므로, 상기 개시된 기술은 단지 2개의 에지 부재만이 존재하는 것과 같은 다양한 시나리오에서 실행 가능할 수 있다는 것을 이해해야 한다.
커넥터에 연결된 수축 가능한 케이블은 다양한 측면 위치에 있는 입력 포트에 액세스할 수 있는 유연성을 제공하지만, 상기 커넥터는 또한 다른 측면 위치에 위치한 입력 포트에 접근하기 위해 측면으로 이동될 수 있는 메커니즘에 부착될 수 있음을 이해해야 한다.
다양한 장치 제조업체의 USB 커넥터 외에도 태블릿 또는 모바일 장치에 대한 다른 유형의 비-USB 커넥터도 사용할 수 있다. 제1, 제2 및 제3커넥터는 또한 상이한 유형의 입력 포트를 수용하도록 상호 교환 가능할 수 있다.
상기 태블릿 도크(706)는 블루투스 및 Wi-Fi와 같은 무선 연결이 태블릿과 통신하는데 사용될 수 있은 물리적 태블릿 마운트(physical tablet mount)로서 사용될 수 있다.
제1, 제2 및 제3구멍은 실시 예의 맥락에서 설명된 바와 같이 각각의 2차 리세스에 위치되지만, 제1, 제2 및 제3구멍은 또한 다른 수단에 의해, 예를 들어 각각의 에지 부재를 통하여 제공될 수 있음을 이해할 수 있을 것이다.
상기 태블릿(704)이 상기 커넥터를 통해 상기 로봇에 연결될 때, 상기 태블릿(704)의 지원 펌웨어 및 소프트웨어는 로봇 제어 시스템 설정을 자동으로 조정하도록 구성될 수 있다. 상기 로봇 컨트롤 시스템 설정 조정은 연결된 태블릿 유형에 따라 다르다.
상기 실시 예는 평면형 및 강성 디스플레이 스크린을 갖는 모바일 장치와 관련하여 설명되었지만, 설명된 기술은 또한 가요성 또는 곡선형 스크린(플렉시블 전자 장치)을 갖는 모바일 장치와 함께 사용될 수 있음을 이해할 수 있을 것이다. 다양한 실시 예들에서, 태블릿 도크는 또한 가요성 또는 곡선형 스크린을 갖는 모바일 장치를 장착하기 위해 곡선형 또는 다른 형상일 수 있다.
설명된 기술은 다음의 실시예를 포함하지만 이에 제한되지 않는 다양한 특징, 실시예 및 구현을 추가로 포함할 수 있다:
실시예 1: 모바일 장치를 장착하기 위한 장치로서, 상기 장치는 제1부재 및 제2부재, 여기서 상기 제2부재는 슬라이딩 가능하게 조정 가능함; 및 제1부재 또는 제2부재를 따라 제1위치로 조정 가능한 커넥터를 포함하고, 여기서 모바일 장치가 장착될 때, 상기 제1위치에서의 상기 커넥터는 모바일 장치의 입력 포트에 연결되고 제2부재는 제1 및 제2부재 사이에서 모바일 장치를 클램핑하도록 슬라이딩 가능하게 조정되는 장치.
실시예 2: 실시예 2에 있어서, 상기 제1부재의 종축(longitudinal axis)은 상기 제2부재의 종축과 평행한 장치.
실시예 3: 실시예1 또는 2에 있어서, 상기 커넥터는 적어도 상기 커넥터에 연결된 수축 가능한(retractable) 케이블 및 제1부재 또는 제2부재 중 하나의 리세스에 의해 제1위치로 조정 가능한 장치.
실시예 4: 실시예 3에 있어서, 상기 제1부재 또는 제2부재 중 하나의 리세스는 각각 제1부재 또는 제2부재의 종축에 평행한 방향으로 연장되는 장치.
실시예 5: 실시예 1 내지 실시예 4 중 어느 하나에 있어서, 제3부재 및 제4부재를 더 포함하고, 상기 모바일 장치가 장착될 때, 상기 제3부재 및 제4부재는 상기 제3부재와 제4부재 사이에서 상기 모바일 장치를 클램핑하도록 슬라이딩 가능하게 조정되는 장치.
실시예 6: 실시예 5에 있어서, 상기 제3부재 또는 제4부재의 종축은 제1부재 또는 제2부재의 종축에 직각인 장치.
실시예 7: 실시예 5 또는 6에 있어서, 상기 제1부재, 제2부재, 제3부재 및 제4부재는 표면 상에 각각 모바일 장치를 클램핑하기 위한 적어도 하나의 고무 패드를 포함하는 장치.
실시예 8: 실시예 1 내지 7 중 어느 하나에 있어서, 상기 커넥터는 다른 유형의 모바일 장치에 연결하기 위해 제2커넥터와 상호 교환 가능한(interchangeable) 장치.
실시예 9: 실시예 1 내지 8 중 어느 하나에 있어서, 상기 장치는 로봇의 외부 쉘에 장착되는 장치.
실시예 10: 실시예 9에 있어서, 상기 장치는 로봇의 외부 쉘상의 가슴 영역에 장착되는 장치.
실시예 11: 실시예1 내지 10 중 어느 하나에 있어서, 상기 모바일 장치에 저장된 명령들은 상기커넥터가 상기 입력 포트에 연결될 때 컨트롤 설정을 업데이트하도록 동작 가능한 장치.
실시예 12: 모바일 장치를 장착하기 위한 방법으로서, 상기 모바일 장치의 입력 포트에 커넥터를 연결하는 단계; 상기 커넥터의 위치를 조정하는 단계; 및 제1부재와 제2부재 사이에서 모바일 장치를 클램핑(clamping)하는 단계를 포함하고; 여기서 상기 모바일 장치가 클램핑될 때, 상기 커넥터는 제1부재 또는 제2부재를 따라 제1위치로 조정되는 방법.
실시예 13: 실시예 12에 있어서, 상기 제1부재의 종축은 상기 제2부재의 종축과 평행인 방법.
실시예 14: 실시예 12 또는 13에 있어서, 상기 커넥터는 적어도 상기 커넥터에 연결된 수축 가능한 케이블 및 상기 제1부재 또는 상기 제2부재 중 하나의 리세스에 의해 상기 제1위치로 조정되는 방법.
실시예 15: 실시예 14에 있어서, 제1부재 또는 제2부재 중 하나의 리세스는 각각 제1부재 또는 제2부재의 종축에 평행한 방향으로 연장되는 방법.
실시예 16: 실시예 12 내지 15 중 어느 하나에 있어서, 제3부재와 제4부재 사이에서 모바일 장치를 클램핑하는 단계를 더 포함하는 방법.
실시예 17: 실시예 16에 있어서, 상기 제3부재 또는 제4부재의 종축은 제1부재 또는 제2부재의 종축에 직각인 방법.
실시예 18: 실시예 16 또는 17에 있어서, 상기 제1부재, 제2부재, 제3부재 및 제4부재는 각각 모바일 장치를 클램핑하기 위해 표면 상에 적어도 하나의 고무 패드를 포함하는 방법.
실시예 19: 실시예 12 내지 18 중 어느 하나에 있어서, 상기 커넥터는 다른 유형의 모바일 장치에 연결하기 위해 제2커넥터와 상호 교환 가능한 방법.
실시예 20: 실시예 12 내지 19 중 어느 하나에 있어서, 상기 장치는 로봇의 외부 쉘에 장착되는 방법.
실시예 21: 실시예 20 중 어느 하나에 있어서, 상기 장치는 로봇의 외부 쉘의 가슴 영역에 장착되는 방법.
실시예 22: 실시예 12 내지 실시예 21 중 어느 하나에 있어서, 상기 커넥터가 입력 포트에 연결될 때 상기 모바일 장치의 소프트웨어에 의해 로봇 컨트롤 시스템 설정을 업데이트하는 단계를 더 포함하는 방법.
참조된 연결 및 관련된 전력 및 신호 시스템에 더하여, 특정 구현에서 설명된 로봇 장치 도킹 시스템은 다수의 태블릿 및 스크린 연결 시스템 및 방법을 가능하게 할 수 있다. 예시적인 로봇 장치 도킹 시스템은 복수의 디스플레이 또는 터치 스크린 연결을 통해 디스플레이 또는 터치 스크린 장치를 연결하는 것을 포함할 수 있다. 이러한 연결 옵션에는 LVDS(Low-voltage Differential Signaling), HDMI(High-Definition Multimedia Interface), DP(Display Port), PCIe(Peripheral Component Interconnect Express) 및 USB(Universal Serial Bus)가 포함될 수 있다.
예시적인 로봇 장치 도킹 시스템은 복수의 네트워킹 연결을 통해 태블릿 또는 모바일 컴퓨팅 장치를 연결하는 것을 포함할 수 있다. 네트워킹 옵션에는 Wi-Fi, Bluetooth, 이더넷, USB 및 독점 연결(proprietary connections)이 포함된다. 전원 연결 옵션에는 고정 전압 및 가변 전압 전원 연결이 모두 포함될 수 있다. 상기 고정 전압 전원 연결 옵션에는 LVDS, HDMI, DP 및 USB 연결에서 사용 가능한 표준 전원 라인(예를 들어 3V, 5V, 12V)이 포함될 수 있다. 이중 전압 전원 연결 옵션에는 표준 5V 충전 전압과 높은 12V 충전 전압을 모두 갖춘 고속-충전 USB 프로토콜이 포함될 수 있다. 전원 연결이 다양한 전원 요구 사항으로 다양한 연결된 장치에 적응할 수 있는 경우 완전 가변 전원 연결(fully variable power connection)을 사용할 수 있다. 무선 네트워킹 및 전력 공급 솔루션(power delivery solutions, 예를 들어 무선 충전)에 의존하여 유선 연결없이 일부 장치를 장착할 수 있다.
로봇 헤드 또는 페이스 마운팅 시스템(예를 들어, 도 7에 도시된 바와 같은)은 다양한 입력 및/또는 출력 요구 사항을 위한 다수의 선택적인 페이스 타입을 포함할 수 있다. 상기 장착 시스템에는 LED 어레이 페이스 및 LCD 패널 페이스에 대한 옵션이 포함될 수 있다. 로봇 제어 시스템은 연결된 페이스 유형에 따라 하나 이상의 화면에 표시되는 오디오/비주얼(AV) 콘텐츠를 변경할 수 있다. 예를 들어, LED 어레이 페이스가 장착되면 A/V 콘텐츠는 Wi-Fi, Bluetooth 또는 인터넷 연결을 통해 연결된 디스플레이 외에 다른 설치된 화면에 표시될 수 있다. 또한, 다른 또는 연결된 디스플레이는 정보, 데이터 또는 다른 형태의 장치 피드백을 표시할 수 있다. 다른 예에서, 페이스 LCD 패널이 장착될 때, 정보, 데이터 및 기타 형태의 장치 피드백은 페이스 LCD 패널에 직접 표시될 수 있다. 상기 페이스 LCD 패널은 로봇 표현을 위한 출력 장치로도 기능할 수 있다.
복수의 이용 가능한 출력 장치 중 하나를 로봇 또는 인간 상호 작용 시스템에 장착한 후, 하나 이상의 파라미터가 인공 지능(AI) 시스템 제어기에 대한 가변 입력(variable inputs)으로서 설정될 수 있다. 시스템 상태 기계(system state machine), A/V 출력 및 상호 작용 제어(A/V output and interaction control)를 기능적으로 조정하도록 파라미터를 설정할 수 있다. 예를 들어, 상태 머신 조정은 장착된 암(mounted arm)의 존재 여부에 따라 달라질 수 있다. 옵션 암 사용에 의존하는 기능은 장착된 암의 가용성에 따라 활성화 또는 비활성화할 수 있다. 경우에 따라 다른 오디오 출력 장치를 장착하면 로봇 음성 컨트롤러에서 생성되는 음성의 품질, 볼륨 및 유형이 달라질 수 있다. 상호 작용 컨트롤러는 사용 가능한 출력 장치와 호환되는 하나 이상의 로봇 표현(robot expression)을 표시하거나 출력하도록 선택할 수 있다.
복수의 이용 가능한 입력 장치 또는 센서 중 하나를 로봇 또는 인간 상호 작용 시스템에 장착한 후, 하나 이상의 파라미터는 AI 시스템 제어기에 대한 가변 입력으로서 설정될 수 있다. 특정 구현에서, 로봇 컨트롤 엔진(124)(도 1에 도시되고 본 명세서에 설명된 바와 같이)은 참조 AI 기능/동작을 구현할 수 있다. 예를 들어, 로봇 컨트롤 엔진(124)은 전력 소비, 품질, 속도 또는 정확도를 포함하는 인자에 기초하여 내부 및 장착된 장치 센서 사이를 자동으로 전환하도록 설명된 로봇 시스템을 구성할 수 있다. 내장 마이크 및 태블릿 마이크, 내장 카메라 및 태블릿 카메라, 내장 관성 측정 장치(EVIU, internal inertial measurement unit) 및 태블릿 EVIU, 내장 및 외장 주변 광센서, 내장 및 태블릿 터치 스크린 또는 내장 또는 태블릿 깊이 카메라이 이에 해당한다.
추가의 예시로서, 상기 설명된 로봇은 카메라, 마이크로폰 등과 같은 다양한 센서를 포함하거나 통합할 수 있음을 이해할 수 있다. 또한, 다른 장치(예를 들어, 스마트폰, 태블릿, 기타 주변 장치)가 상기 참조된 로봇에 장착되는 시나리오에서, 이러한 장치 자체는 자신의 각각의 센서(예를 들어, 스마트폰 내에 통합된 카메라, 마이크 등)를 더 포함할 수 있다. 특정 구현에서, 연결/장착된 장치 내에 통합된 상기 참조 센서는 상기 로봇에 (예를 들어, 다양한 프로토콜을 통해) 추가로 액세스 가능할 수 있다. 따라서, 본 명세서에 기술된 바와 같이, 로봇에 다수의 센서가 이용 가능한 시나리오에서 (예를 들어, 로봇 자체 내에 통합된 하나의 카메라 및 로봇에 장착된 스마트폰 내에 통합된 다른 카메라), 상기 기술된 로봇 컨트롤 엔진은 어떤 센서가 특정 작업에 가장 적합한지를 결정할 수 있다. 예를 들어, 하나의 카메라는 저조도 환경(low light situation)에서 우수한 이미지 품질을 제공하는 반면 다른 카메라는 더 나은 줌 기능을 가질 수 있다. 로봇은 특정 작업에 식별된 센서를 활용할 수 있다.
특정 구현들에서, 상기 설명된 기술은 개인 어시스턴트로부터 유래되거나/또는 개인 어시스턴트에 속하는 로봇의 동작과 관련하여 다양한 센서 (예를 들어, 로봇 내에 통합된 센서 및/또는 로봇에 도킹된 장치 내에 통합된 센서)를 이용하도록 추가로 구성될 수 있다. 예를 들어, 사용자가 로봇의 동작을 제어하기 위해 개인용 어시스턴트를 이용하는 시나리오에서, 그러한 동작/작업의 수행에서 로봇의 특정 센서를 이용하는 것이 유리할 수 있다. 예로서, 한 사용자가 개인 어시스턴트를 이용하여 로봇에 관한 명령을 시작하는 시나리오(예를 들어, 로봇이 "이 책을 지미에게 가져가도록 지시하는 음성 명령")에서, 이러한 작업을 수행할 때 로봇이 다양한 검증 작업을 수행하는 것이 유리할 수 있다. 예를 들어, 상기 로봇은 작업을 완료하기 전에 다양한 센서(예를 들어 카메라, 지문 또는 기타 생체 인식 센서 등)를 사용하여 개인의 신원("지미")을 확인할 수 있다. 따라서, 특정 구현들에서, 설명된 기술들은 통합/이용 가능한 센서들(예를 들어, 로봇 내에 통합된 카메라, 로봇에 도킹된 스마트폰 내에 통합된 지문 센서 등)을 추가로 이용하여 그러한 검증/확인을 수행할 수 있다. 더욱이, 다수의 센서가 이용 가능한 시나리오에서, 설명된 기술들은 작업에 가장 적합한 것으로 결정된 센서를 선택하도록 구성될 수 있다(예를 들어, 고해상도 이미지를 캡처하도록 결정된 도킹된 스마트폰 내에 통합된 카메라를 사용).
또한, 특정 구현에서, 설명된 기술은 사용자가 상기 로봇의 이용 가능한 센서/능력 및/또는 그 도킹된 장치(들)/주변 장치에 기초하여 상기 로봇에 의해 수행되는 특정 작업의 성능을 사용자 정의(customize)할 수 있게 한다. 예를 들어, 위에서 언급한 지시(로봇에게 "이 책을 지미에게 가져가도록 지시하는 음성 명령")를 수신하면, 개인 어시스턴트는 상기 사용자가 작업을 완료하기 위해 어떤 이용 가능한 검증 옵션을 이용하고자 하는지에 대해 사용자에게 추가로 문의할 수 있다(예를 들어, 수신자의 시각적/사진 신원 확인, 생체 인식, 예를 들어 지문 센서 사용 등).
특정 구현들에서, 상기 설명된 기술들은 사용자에게 추가적인 장치/주변 장치를 제공하도록 더 자극할 수 있다. 예를 들어, 사용자가 지문/생체 인증을 사용하기를 원하지만 그러한 센서를 로봇에서 사용할 수 없는 경우, 상기 설명된 기술은 사용자에게 요청된 센서/기능을 포함하는 장치 또는 주변 장치를 부착, 도킹 등을 촉구할 수 있다(예를 들어 개인 어시스턴트가 "죄송합니다. 로봇에는 현재 지문 센서가 없습니다. 이 기능을 사용하려면 스마트폰을 로봇에 도킹하십시오."). 본 명세서에 기술된 시나리오는 예로서 제공되며, 기술된 기술은 임의의 수의 다른 기술과 관련하여 임의의 수의 다른 방식으로 구성 될 수 있음을 이해해야 한다.
로봇이나 사람의 상호 작용 시스템에 장치를 장착할 때 장치에는 내부 전원(예를 들어 리튬 이온 배터리)이 있을 수 있다. 따라서, 상기 설명된 기술은 장착된 장치 배터리를 위한 충전 솔루션을 제공할 수 있다. 예를 들어, 특정 구현에서, 상기 설명된 기술 (예를 들어, 로봇 컨트롤 엔진(124))은 스케줄링 및 목표 배터리 레벨을 포함하는 지능형 충전 제어를 위한 다양한 상태 피드백 동작을 가능하게 할 수 있다. 특정 구현들에서, 상기 설명된 기술은 로봇/시스템을 위한 1차 또는 2차 전원으로서 장착된 장치 내에 통합된 배터리를 이용할 수 있다. 그렇게 함으로써, 상기 로봇은 장착된 장치 내에 저장된 에너지를 이용하여 로봇의 작동에 전력을 공급할 수 있다. 더욱이, 특정 구현에서, 상기 설명된 기술은 내부 및 외부 배터리 상태를 모니터링하도록 구성될 수 있다. 배터리의 전력 소모를 막기 위해 시스템은 가정용 충전 솔루션 또는 무선 충전 솔루션을 사용할 수 있다.
부가적으로, 상기 설명된 로봇 장치 도킹 시스템(robot device docking system)은 (예를 들어, 도 6에 도시되고 여기에 설명된 바와 같이) 다수의 네트워킹 모드 또는 상태에 대해 구현될 수 있다. 특정 구현들에서, 상기 설명된 기술들이 동작하는 방식(예를 들어, 다양한 도킹된 장치들에 대하여)은 장착된 디바이스들의 양상들 또는 능력들에 기초하여 조정되거나 구성될 수 있다. 예를 들어, 네트워크로 연결된 장치(networked devices)(예를 들어 스마트폰, 태블릿 등)가 인터넷 연결을 유지하는 시나리오에서는, 상기 설명된 기술이 다양한 모드(예를 들어 온라인 및 오프라인 네트워킹 모드) 사이를 자동으로 전환할 수 있다. 오프라인 모드에서, 상기 설명된 기술은 키워드 기반 AI 음성 인식(keyword-based AI speech recognition), 로컬로 생성된 텍스트 음성 변환 음성 출력(locally generated text-to-speech voice output), 로컬 처리(local processing), 로컬 데이터 스토리지(local data storage) 및 로컬 사용자 계정 로그인 방법(local user account login method)을 이용할 수 있다. 온라인 모드에서, 상기 설명된 기술은 클라우드로 구현된 AI 음성 인식 및 음성 출력(cloud-implemented AI speech recognition and speech output), 클라우드 및 스마트 홈 연결(cloud and smart home connectivity), 클라우드 기반 스토리지 솔루션(cloud based storage solutions) 및/또는 소셜 네트워크 사용자 계정 로그인 기술(network user account login techniques)을 이용할 수 있다.
또한, 여기에 설명된 기술은 다중 장치 로봇 제어와 관련하여 주로 도시되어 있지만, 설명된 기술은 또한 임의의 수의 추가 또는 대안적인 설정 또는 상황에서 및 임의의 수의 추가 목적으로 구현될 수 있음에 유의해야 한다. 이러한 구현의 결과로서 (여기서 기술되고/되거나 참조된 것들 이외의) 추가적인 기술적 이점, 솔루션 및/또는 개선이 가능하다는 것을 이해해야한다.
특정 구현은 논리 또는 다수의 구성요소, 모듈 또는 메커니즘을 포함하는 것으로 본 명세서에서 설명된다. 모듈은 소프트웨어 모듈(예를 들어, 기계 판독가능 매체 상에서 구현된 코드) 또는 하드웨어 모듈 중 어느 하나를 구성할 수 있다. “하드웨어 모듈”은 특정의 동작을 수행할 수 있는 유형의 유닛이고 특정의 방법으로 구성 또는 배열될 수 있다. 예시된 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립 실행형(standalone) 컴퓨터 시스템, 클라이언트 컴퓨터 시스템 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예를 들어, 프로세서 또는 프로세서 그룹)은 본 명세서에서 설명된 바와 같이 특정의 동작을 수행하기 위해 동작하는 하드웨어 모듈로서 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
일부 구현들에서, 하드웨어 모듈은 기계적으로, 전자적으로, 또는 이들의 임의의 적절한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 작업을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 예를 들어, 하드웨어 모듈은 FPGA(Field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 특수 목적 프로세서일 수 있다. 하드웨어 모듈은 또한 소정의 동작을 수행하기 위해 소프트웨어로 임시로 구성되는 프로그램 가능한 논리 또는 회로도 포함할 수 있다. 예를 들어, 하드웨어 모듈은 범용 프로세서 또는 다른 프로그램 가능 프로세서에 의해 실행되는 소프트웨어를 포함할 수 있다. 그러한 소프트웨어에 의해 일단 구성되면, 하드웨어 모듈은 구성된 기능을 수행하도록 고유하게 맞춤화된 특정 머신(또는 머신의 특정 컴포넌트)이되고 더 이상 범용 프로세서가 아니다. 기계적으로, 전용으로 그리고 영구적으로 구성된 회로 또는 일시적으로 구성된 회로(예를 들어, 소프트웨어에 의해 구성된)에서 하드웨어 모듈을 구현하는 결정은 비용 및 시간 고려 사항에 의해 유발될 수 있음을 이해할 것이다.
따라서, 용어 "하드웨어 모듈"은 소정의 방법으로 동작하거나 본 명세서에서 설명된 소정의 동작을 수행하기 위해 물리적으로 구성되고, 영구히 구성되고(예를 들어, 하드와이어(hardwired)), 또는 임시로 구성되는(예를 들어, 프로그램된) 엔티티(entity)인 유형의 엔티티를 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용했듯이, "하드웨어로 구현된 모듈"은 하드웨어 모듈을 말한다. 하드웨어 모듈을 임시로 구성하는(예를 들어, 프로그램된) 실시예를 고려할 때, 각 하드웨어 모듈은 어느 하나의 예에서 시간에 맞춰 구성 또는 예시할 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어를 사용해서 특수 목적 프로세서가 되도록 구성된 범용 프로세서를 포함하는 경우에, 범용프로세서가 상이한 시간에 각각 상이한 특수 목적 프로세서(예를 들어, 상이한 하드웨어 모듈을 포함)로서 구성될 수 있다. 따라서, 소프트웨어가 예를 들어, 하나의 시간 예에서 특정한 하드웨어 모듈을 구성하고 다른 시간 예에서 다른 하드웨어 모듈을 구성하는 프로세서를 구성할 수 있다.
하드웨어 모듈이 정보를 다른 하드웨어 모듈로 제공할 수 있고 정보를 다른 하드웨어 모듈로부터 수신할 수 있다. 따라서, 그 설명된 하드웨어 모듈은 통신적으로 결합되는 것으로 간주될 수 있다. 다수의 하드웨어 모듈이 동시에 존재하는 경우에, 통신이 하드웨어 모듈을 연결하는 신호 송신(예를 들어, 적합한 회로 및 버스를 통해)을 통해 행해질 수 있다. 다수의 하드웨어 모듈을 상이한 시간에 구성 또는 예시하는 실시예에서, 그 하드웨어 모듈들 간의 통신은 예를 들어, 다수의 하드웨어 모듈을 액세스하는 메모리 구조에서 정보의 저장 및 검색을 통해 행해질 수 있다. 예를 들어, 하나의 하드웨어 모듈은 통신적으로 결합되는 메모리 장치에서 동작을 수행하고 그 동작의 출력을 저장할 수 있다. 그 후, 부가적인 하드웨어 모듈은 그 저장된 출력을 검색하고 처리하기 위해 메모리 장치에, 이후, 액세스할 수 있다. 하드웨어 모듈은 입력 또는 출력 장치와의 통신을 개시할 수 있고, 자원(예를 들어, 정보 수집)에서 동작할 수 있다.
본 명세서에서 설명된 예시된 방법의 다양한 동작은 관련된 동작을 수행하기 위해 임시로 구성되거나(예를 들어, 소프트웨어에 의해) 영구히 구성되는 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 임시로 또는 영구히 구성되든지 간에, 그 프로세서는 본 명세서에 설명된 하나 이상의 동작 또는 기능을 수행하기 위해 동작하는 프로세서로 구현된 모듈을 구성할 수 있다. 본 명세서에서 사용된 “프로세서-구현 모듈”은 일부 예시적인 실시예에서 프로세서로 구현된 모듈을 포함할 수 있다.
유사하게, 본 명세서에 설명된 방법은 프로세서로 적어도 부분적으로 구현될 수 있으며, 특정 프로세서 또는 프로세서들은 하드웨어의 예이다. 예를 들어, 방법의 동작들 중 적어도 일부가 하나 또는 프로세서들 또는 프로세서로 구현된 하드웨어 모듈에 의해 수행될 수 있다. 또한, 하나 이상의 프로세서는 "클라우드 컴퓨팅(cloud computing)" 환경 또는 "SaaS(Software as a Service)"에서 관련 작업의 성능을 지원하도록 동작할 수 있다.
특정의 동작 성능은 단일 기계 내에 상주할 뿐 아니라 다수의 기계에 배치된 하나 이상의 프로세서들 간에 분배될 수 있다. 일부의 실시예에서, 프로세서 또는 프로세서 구현 모듈은 (예를 들어, 가정환경, 사무실 환경 또는 서버 팜 내에서) 단일 위치에 위치될 수 있다. 다른 예시적인 구현에서, 프로세서 또는 프로세서 구현 모듈은 다수의 지리적 위치에 걸쳐 분산 될 수 있다.
본 명세서에 기술된 모듈, 방법, 애플리케이션 등은 기계 및 관련 소프트웨어 아키텍처와 관련하여 일부 구현으로 구현된다. 이하 섹션에서는 개시된 실시 예와 함께 이용하기에 적합한 대표적인 소프트웨어 아키텍처 및 머신(예를 들어, 하드웨어) 아키텍처를 설명한다.
소프트웨어 아키텍처는 하드웨어 아키텍처와 함께 특정 목적에 맞추어진 디바이스 및 머신을 생성하는데 이용된다. 예를 들어, 특정 소프트웨어 아키텍처와 결합된 특정 하드웨어 아키텍처는 휴대 전화, 태블릿 디바이스 등과 같은 모바일 장치를 생성할 것이다. 약간 다른 하드웨어 및 소프트웨어 아키텍처가 "사물 인터넷"에서 사용되는 스마트 장치를 만들어 낼 수 있지만, 또 다른 조합은 클라우드 컴퓨팅 아키텍처에서 이용되는 서버 컴퓨터를 생산한다. 통상의 기술자라면 여기에 포함된 본 개시로부터 다른 맥락에서 본 발명을 구현하는 방법을 쉽게 이해할 수 있으므로, 그러한 소프트웨어 및 하드웨어 아키텍처의 모든 조합이 여기에 제시되는 것은 아니다.
도 14는 일부 예시적인 실시 예에 따라, 머신-판독가능 매체(예를 들어, 머신-판독가능 저장 매체)로부터 명령어를 판독하고 본 명세서에서 논의된 임의의 하나 이상의 방법을 수행할 수 있는 머신(1400)의 컴포넌트를 나타내는 블록도이다. 구체적으로, 도 14는 컴퓨터 시스템의 예시적인 형태의 머신(1400)을 다이어그램으로 도시하는데, 상기 머신(300)으로 하여금 본 명세서에 논의된 임의의 하나 이상의 방법을 수행하게 하는 명령어(1416)(예를 들어, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱 또는 다른 실행 가능한 코드)가 실행될 수 있다. 상기 명령어(1416)는 프로그램되지 않은 일반적인 머신을, 설명되고 도시된 기능을 설명된 방식으로 수행하도록 프로그램된 특정 머신으로 변환한다. 다른 구현 예에서, 상기 머신(1400)은 독립형 장치로서 동작하거나 다른 머신들에 결합(예를 들어, 네트워크화)될 수 있다. 네트워크 배치에서, 상기 머신(1400)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 용량으로 동작할 수 있거나 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 상기 머신(1400)은 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, 셋톱 박스(STB), 개인용 디지털 보조 단말기(PDA), 오락 미디어시스템, 셀룰러 전화기, 스마트폰, 이동 장치, 웨어러블 장치(예를 들어, 스마트 워치), 스마트 홈 장치(예를들어, 스마트 기기), 기타 스마트 장치, 웹 기기, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 머신(1400)이 취해야 할 동작을 지정하는 명령어(1416)를 순차적으로 또는 다른 방법으로 실행할 수 있는 임의의 머신을 포함할 수 있으나, 이에 국한되지는 않는다. 또한, 단지 하나의 머신(1400)가 도시되어 있지만, "머신"이라는 용어는 본 명세서에서 논의된 임의의 하나 이상의 방법을 수행하기 위해 명령어(1416)를 개별적으로 또는 공동으로 실행하는 머신들(1400)의 집합을 포함하는 것으로 이해되어야 한다.
머신(1400)은 버스(1402) 등을 통해 서로 통신하도록 구성될 수 있는 프로세서(1410), 메모리/스토리지(1430)및 I/O 컴포넌트(1450)를 포함할 수 있다. 예시적인 구현 예에서, 상기 프로세서들(1410)(예를 들어 중앙 처리 장치(CPU), RISC(Reduced Instruction Set Computing) 프로세서, CISC(Complex Instruction Set Computing) 프로세서, GPU(Graphics Processing Unit), DSP(Digital SignalProcessor), 주문형 집적 회로(ASIC), 무선 주파수 집적 회로(RFIC) 또는 이들의 임의 조합)은 프로세서(1412)및 명령들(1416)을 실행할 수 있는 프로세서(1414)를 포함할 수 있다. "프로세서"라는 용어는 또한 명령어를 동시에 실행할 수 있는 둘 이상의 독립적인 프로세서(때때로 "코어"라고도 함)를 갖는 멀티 코어 프로세서를 포함하는 것으로 의도된다. 도 14는 다수의 프로세서(1410)를 도시하지만, 상기 머신(1400)은 단일 코어를 갖는 단일 프로세서, 다중 코어(예컨대, 멀티 코어 프로세스)를 갖는 단일 프로세서, 단일 코어를 갖는 다중 프로세서, 다중 코어를 갖는 다중 프로세서, 또는 이들의 임의의 조합을 포함할 수 있다.
메모리/스토리지(1430)는 메인 메모리 또는 다른 메모리 스토리지와 같은 메모리(1432), 및 저장 유닛(1436)을 포함할 수 있는데, 이들은 모두 모두 예컨대 버스(1402)를 통해 프로세서(1410)에 액세스 가능하다. 저장 유닛(1436) 및 메모리(1432)는 여기에서 설명된 방법들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어(1416)를 저장한다. 명령어(1416)는 또한 머신(1000)에 의한 실행 동안, 메모리(1432) 내에, 저장 유닛(1436) 내에, 프로세서들(1410) 중 적어도 하나 내에(예컨대, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 적절한 조합 내에, 전체적으로 또는 부분적으로 상주할 수 있다. 따라서, 메모리(1432), 저장 유닛(1436) 및 프로세서(1410)의 메모리는 머신 판독가능 매체의 예이다.
본 명세서에 사용된 바와 같이, "머신 판독가능 매체"는 명령어 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 디바이스를 의미하며, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 버퍼 메모리, 플래시 메모리, 광학 매체, 자기 매체, 캐시 메모리, 다른 유형의 스토리지(예컨대, 삭제 가능한 프로그램 가능 판독 전용메모리(EEPROM)) 및/또는 이들의 임의의 적절한 조합을 포함하지만 이에 한정되지 않는다. "머신-판독가능 매체"라는 용어는 명령어(1416)를 저장할 수 있는 단일 매체 또는 다중 매체(예컨대, 중앙 집중식 또는 분산형 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. "머신-판독가능 매체"라는 용어는 또한, 명령어가 머신(1400)의 하나 이상의 프로세서(예컨대, 프로세서(1410))에 의해 실행될 때 머신으로 하여금 여기에서 설명된 방법들 중 임의의 하나 이상을 수행하게 하도록, 머신(예컨대, 머신(1400))에 의한 실행을 위한 명령어를 저장할 수 있는 임의의 매체 또는 다중 매체의 조합을 포함하는 것으로 간주되어야 한다. 따라서, "머신-판독가능 매체"는 다수의 저장 장치 또는 디바이스를 포함하는 "클라우드 기반" 저장 시스템 또는 저장 네트워크뿐만 아니라 단일 저장 장치 또는 디바이스를 지칭한다. "머신 판독 가능 매체"라는 용어는 그 자체로는 신호를 배제한다.
I/O 컴포넌트(1450)는 입력을 수신하고, 출력을 제공하고, 출력을 생성하고, 정보를 전송하고, 정보를 교환하고, 측정을 캡처하고, 기타 등을 수행하는 다양한 컴포넌트를 포함할 수 있다. 특정 머신에 포함되는특정 I/O 컴포넌트(1450)는 머신의 유형에 의존할 것이다. 예를 들어, 휴대폰과 같은 휴대용 머신은 터치 입력디바이스 또는 그러한 다른 입력 메커니즘을 포함할 수 있지만, 헤드리스 서버 머신은 그러한 터치 입력 디바이스를 포함하지 않을 것이다. I/O 컴포넌트(1450)는 도 14에 도시되지 않은 많은 다른 컴포넌트를 포함할 수 있음이 인식되어야 한다. I/O 컴포넌트(1450)는 단지 다음의 설명을 단순화하기 위해 기능성에 따라 그룹화되며, 그룹화는 결코 한정적인 것이 아니다. 다양한 예시적 실시 예에서, I/O 컴포넌트(1450)는 출력 컴포넌트(1452)및 입력 컴포넌트(1454)를 포함할 수 있다. 출력 컴포넌트(1452)는 비주얼 컴포넌트(예컨대, 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 액정 디스플레이(LCD), 프로젝터 또는 음극선관(CRT)), 음향 컴포넌트(예컨대, 스피커), 햅틱 컴포넌트(예컨대, 진동 모터, 저항 메커니즘), 기타 신호 발생기 등등을 포함할 수 있다. 상기 입력 컴포넌트(1454)는 영숫자 입력 컴포넌트(예컨대, 키보드, 영숫자 입력을 수신하도록 구성된 터치스크린, 포토-옵티컬 키보드 또는 다른 영숫자 입력 컴포넌트), 포인트 기반 입력 컴포넌트(예컨대, 마우스, 터치패드, 트랙볼, 조이스틱, 움직임 센서, 또는 기타 포인팅 기구), 촉각 입력 컴포넌트(예컨대, 물리적 버튼, 터치 또는 터치 제스처의 위치 및/또는 힘을 제공하는 터치 스크린, 또는 기타 촉각 입력 컴포넌트), 오디오 입력 컴포넌트(예컨대, 마이크로폰) 등을 포함할 수 있다.
또 다른 예시적 실시 예에서, I/O 컴포넌트(1450)는 다수의 다른 컴포넌트 중에서 생체 측정 컴포넌트(1456), 움직임 컴포넌트(1458), 환경 컴포넌트(1460) 또는 포지션 컴포넌트(1462)를 포함할 수 있다. 예를 들어, 생체 측정 컴포넌트(1456)는, 표현(예컨대, 손 표현, 표정, 음성 표현, 몸짓 또는 눈 추적)을 검출하고, 생체 신호(예컨대, 혈압, 심박수, 체온, 땀 또는 뇌파)를 측정하고, 사람을 식별(예컨대, 음성 식별, 망막 식별, 안면 식별, 지문 식별 또는 뇌파 기반 식별)하는 등의 컴포넌트를 포함할 수 있다. 움직임 컴포넌트(1458)는 가속도 센서 컴포넌트(예컨대, 가속도계), 중력 센서 컴포넌트, 회전 센서 컴포넌트(예컨대, 자이로스코프) 등을 포함할 수 있다. 환경 컴포넌트(1460)는 예를 들어, 조명 센서 컴포넌트(예컨대, 광도계), 온도 센서 컴포넌트(예컨대, 주변 온도를 검출하는 하나 이상의 온도계), 습도 센서 컴포넌트, 압력 센서 컴포넌트(예컨대, 기압계), 음향 센서 컴포넌트(예컨대, 배경 잡음을 검출하는 하나 이상의 마이크로폰), 근접 센서 컴포넌트(예컨대, 주변 물체를 검출하는 적외선 센서), 가스 센서(예컨대, 안전을 위해 유해 가스의 농도를 검출하거나 대기 중의 오염 물질을 측정하는 가스 검출 센서), 또는 주변 물리적 환경에 대응하는 표시, 측정 또는 신호를 제공할 수 있는 기타 컴포넌트를 포함할 수 있다. 포지션 컴포넌트(1462)는 위치 센서 컴포넌트(예컨대, GPS 수신기 컴포넌트), 고도 센서 컴포넌트(예컨대, 고도가 유도될 수 있는 기압을 검출하는 고도계 또는 기압계), 방위 센서 컴포넌트 (예컨대, 자력계) 등을 포함할 수 있다.
통신은 다양한 기술을 사용하여 구현될 수 있다. 상기 I/O 컴포넌트(1450)는 머신(1400)을 커플링(1482) 및 커플링(1472)을 통해 각각 네트워크(1480) 또는 디바이스(1470)에 결합시키도록 동작 가능한 통신 컴포넌트(1464)를 포함할 수 있다. 예를 들어, 상기 통신 컴포넌트(1464)는 네트워크(1480)와 인터페이스하는 네트워크 인터페이스 컴포넌트 또는 기타 적절한 디바이스를 포함할 수 있다. 추가 예에서, 상기 통신 컴포넌트(1464)는 유선 통신 컴포넌트, 무선 통신 컴포넌트, 셀룰러 통신 컴포넌트, 근거리 통신(Near Field Communication: NFC) 컴포넌트, 블루투스(Bluetooth)®컴포넌트(예컨대, 블루투스® 저에너지), Wi-Fi®컴포넌트 및 다른 형태를 통해 통신을 제공하는 기타 통신 컴포넌트를 포함할 수 있다. 상기 디바이스(1470)는 다른 머신 또는 임의의 다양한 주변 디바이스(예컨대, USB(Universal Serial Bus)를 통해 결합된 주변 디바이스) 중 임의의 것일 수 있다.
또한, 통신 컴포넌트(1464)는 식별자를 검출할 수 있거나 식별자를 검출하도록 동작할 수 있는 컴포넌트를 포함할 수 있다. 예를 들어, 통신 컴포넌트(1464)는 무선 주파수 식별(RFID) 태그 판독기 컴포넌트, NFC 스마트 태그 검출 컴포넌트, 광학 판독기 컴포넌트(예컨대, 범용 제품 코드(UPC) 바코드와 같은 1차원 바코드, QR(Quick Response) 코드, 아즈텍(Aztec) 코드, 데이터 매트릭스, 데이터글리프(Dataglyph), 맥시코드(MaxiCode), PDF417, 울트라(Ultra) 코드, UCC RSS-2D 바코드와 같은 다차원 바코드 및 기타 광학 코드를 검출하는 광학 센서) 또는 음향 검출 컴포넌트(예컨대, 태깅된 오디오 신호를 식별하는 마이크로폰)를 포함할 수 있다. 또한, 인터넷 프로토콜(IP) 지오로케이션(geo-location)을 통한 위치, Wi-Fi® 신호 삼각 측량을 통한 위치, 특정 위치를 표시할 수 있는 NFC 비콘 신호의 검출을 통한 위치 등과 같은 다양한 정보가 통신 컴포넌트(1464)를 통해 도출될 수 있다.
다양한 예시적인 구현 예에서, 네트워크(1480)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, VPN(virtual private network), LAN(local area network), WLAN(wireless LAN), WAN(wide area network), WWAN(wireless WAN), MAN(metropolitan area network), 인터넷, 인터넷의 일부, PSTN(Public Switched Telephone Network)의 일부, POTS(plain old telephone service) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, Wi-Fi®네트워크, 다른 유형의 네트워크, 또는 2개 이상의 이러한 네트워크의 조합일 수 있다. 예를 들어, 네트워크(1480) 또는 네트워크(1480)의 일부는 무선 또는 셀룰러 네트워크를 포함할 수 있고, 커플링(1482)은 CDMA(Code Division Multiple Access) 접속, GSM(Global System for Mobile communications) 접속, 또는 다른 유형의 셀룰라 또는 무선 커플링을 포함할 수 있다. 이 예에서, 커플링(1482)은, 1xRTT(Single Carrier Radio Transmission Technology), EVDO(Evolution-Data Optimized) 기술, GPRS(General Packet Radio Service) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G를 포함하는 3GPP(third Generation Partnership Project), 4세대 무선(4G) 네트워크, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준, 다양한 표준 설정 기관에 의해 정의된 다른 것, 다른 장거리 프로토콜, 또는 다른 데이터 전송 기술과 같은 다양한 유형의 데이터 전송 기술 중 임의의 것을 구현할 수 있다.
명령어(1416)는, 네트워크 인터페이스 디바이스(예컨대, 통신 컴포넌트(1464)에 포함된 네트워크 인터페이스 컴포넌트)를 통해 전송 매체를 사용하고 다수의 공지된 전송 프로토콜(예컨대, 하이퍼텍스트 전송 프로토콜(HTTP)) 중 임의의 하나를 이용하여 네트워크(1480)를 통해 송신되거나 수신될 수 있다. 유사하게, 명령어(1416)는 디바이스(1470)에 대한 커플링(1472)(예컨대, 피어 투 피어 커플링)을 통해 전송 매체를 사용하여 송신되거나 수신될 수 있다. "전송 매체"라는 용어는 머신(1400)에 의한 실행을 위한 명령어(1416)를 저장, 인코딩 또는 운반할 수 있는 임의의 무형의 매체를 포함하는 것으로 간주되어야 하며, 디지털 또는 아날로그 통신신호 또는 이러한 소프트웨어의 통신을 가능하게 하는 기타 무형의 매체를 포함한다. 전송 매체는 머신 판독가능 매체의 일 실시예이다.
본 명세서에서, 복수의 인스턴스는 단일 인스턴스로 기술된 컴포넌트, 오퍼레이션 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개별적인 동작이 개별적인 동작으로 도시되고 설명되지만, 하나 이상의 개별적인 동작이 동시에 수행될 수 있고, 동작이 도시된 순서대로 수행될 필요는 없다. 구성 예에서 개별 컴포넌트로 표현된 구조 및 기능은 결합된 구조 또는 컴포넌트로 구현될 수 있다. 유사하게, 단일 컴포넌트로서 표현된 구조 및 기능은 개별 컴포넌트로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가, 및 개선은 본 명세서의 주제의 범위 내에 속한다.
본 발명의 주제에 대한 개요가 특정 예시적인 실시 예를 참조하여 설명되었지만, 본 발명의 보다 넓은 범위를 벗어나지 않으면서 이들 실시 예에 대한 다양한 수정 및 변경이 이루어질 수 있다. 이러한 발명의 주제의 예들은 여기서 편의상 및 실제로 하나 이상이 개시되면 임의의 단일 개시 또는 발명 컨셉으로 본원의 범위를 자발적으로 제한하려는 의도 없이 "발명"이라는 용어로써 개별적으로 또는 집합적으로 지칭될 수 있다.
여기서 기술된 실시예는 당업자가 개시된 교시를 실시할 수 있도록 충분히 상세하게 설명된다. 본 개시의 범위를 벗어나지 않고 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록, 다른 실시 예가 사용될 수 있고 이로 부터 유도될 수 있다. 따라서, 상세한 설명은 제한적인 의미로 해석되어서는 안되며, 다양한 실시 예들의 범위는 첨부된 청구 범위와 그러한 청구 범위가 부여되는 등가물의 전체 범위에 의해서만 정의된다.
여기서 사용된 바와 같이, "또는"이라는 용어는 포괄적이거나 또는 배타적인 의미로 해석될 수 있다. 또한, 여기서 단일 인스턴스로서 기술된 리소스, 동작, 또는 구조에 대해 복수의 인스턴스가 제공될 수 있다. 또한, 다양한 리소스, 동작, 모듈, 엔진, 및 데이터 저장소들 사이의 경계는 다소 임의적이고, 특정 동작은 특정 예시적인 구성과 관련하여 설명된다. 기능의 다른 할당이 계획되고 본 개시의 다양한 실시 예의 범위 내에 있을 수 있다. 일반적으로, 구성 예에서 별도의 리소스로 표현된 구조 및 기능은 결합된 구조 또는 리소스로 구현될 수 있다. 유사하게, 단일 리소스로 표현된 구조 및 기능은 별도의 리소스로 구현될 수 있다. 이들 및 다른 변형, 수정, 추가, 및 개선은 첨부된 청구 범위에 의해 대표되는 본 개시의 실시 예들의 범위 내에 있다. 따라서, 명세서 및 도면은 제한적인 의미보다 예시적인 것으로 간주되어야 한다.
Claims (24)
- 시스템에 있어서,
프로세싱 장치(processing device);및
상기 프로세싱 장치에 결합되고 상기 프로세싱 장치에 의해 실행될 때 상기 시스템이 하기의 동작을 수행하게 하는 명령들을 저장하는 메모리를 포함하는 시스템:
하나 이상의 입력을 수신하는 단계;
상기 하나 이상의 입력을 개인 어시스턴트에게 제공하는 단계;
상기 개인 어시스턴트로부터, 외부 장치로 향하는(directed to) 하나 이상의 명령을 수신하는 단계;
상기 하나 이상의 명령에 기초하여, 상기 외부 장치와 관련된 위치와 관련하여 로봇을 기동(maneuvering)하는 단계; 및
상기 로봇으로부터 상기 외부 장치로의 하나 이상의 명령의 전송을 개시하는 단계.
- 제1항에 있어서,
상기 메모리는 상기 시스템이 상기 외부 장치의 연결 상태를 결정하는 단계를 포함하는 동작들을 수행하게 하기 위한 명령들을 추가로 저장하는 시스템.
- 제2항에 있어서,
상기 외부 장치와 관련된 위치와 관련하여 로봇을 기동(maneuvering)하는 단계는 상기 외부 장치의 상기 연결 상태를 기초로 위치와 관련되어 상기 로봇을 기동하는 단계를 포함하는 시스템.
- 제1항에 있어서,
상기 외부 장치와 관련된 위치와 관련하여 로봇을 기동(maneuvering)하는 단계는 상기 외부 장치와의 연결을 설정하는 단계를 포함하는 시스템.
- 제1항에 있어서,
상기 메모리는 상기 시스템이 확인 콘텐츠(confirmation content)를 생성하는 단계를 포함하는 동작들을 수행하게 하기 위한 명령들을 추가로 저장하는 시스템.
- 제5항에 있어서,
상기 확인 콘텐츠는 상기 하나 이상의 명령이 상기 외부 장치에 의하여 실행되었음을 반영하는 시스템.
- 제5항에 있어서,
상기 메모리는 상기 시스템이 상기 확인 콘텐츠를 상기 개인 어시스턴트에게 제공하는 단계를 포함하는 동작들을 수행하게 하기 위한 명령들을 추가로 저장하는 시스템.
- 제1항에 있어서,
하나 이상의 입력을 수신하는 단계는,
하나 이상의 제1입력을 수신하는 단계;
상기 하나 이상의 제1입력과 관련된 하나 이상의 품질 메트릭스(quality metrics)를 계산하기 위해 하나 이상의 제1입력을 처리하는 단계;
상기 계산된 하나 이상의 품질 메트릭스에 기초하여, 상기 로봇에 대한 하나 이상의 조정(adjustment)을 개시하는 단계; 및
하나 이상의 제2입력을 수신하는 단계를 포함하는 시스템.
- 제1항에 있어서,
하나 이상의 명령의 전송을 개시하는 단계는,
상기 로봇을 통해 상기 외부 장치로부터 발생하는 콘텐츠를 요청하는 단계;
상기 외부 장치로부터 콘텐츠를 수신하는 단계;
상기 콘텐츠를 상기 로봇에 저장하는 단계; 및
상기 로봇으로부터 하나 이상의 장치로 콘텐츠를 중계(relaying)하는 단계를 포함하는 시스템.
- 제1항에 있어서,
상기 메모리는 상기 시스템이 하기를 포함하는 동작을 수행하게 하는 명령들을 추가로 저장하는 시스템:
상기 로봇에 액세스 가능한 하나 이상의 컴포넌트(components)를 식별하는 단계;
상기 하나 이상의 명령을 고려하여, 상기 하나 이상의 컴포넌트 중 적어도 하나를 선택하는 단계; 및
상기 하나 이상의 컴포넌트 중 적어도 하나와 관련하여 하나 이상의 동작을 개시하는 단계.
- 제10항에 있어서,
상기 하나 이상의 컴포넌트는 상기 로봇 내에 통합된 하나 이상의 센서, 상기 로봇과 통신하는 장치 내에 통합된 하나 이상의 센서, 또는 상기 로봇 외부의 하나 이상의 센서 중 적어도 하나를 포함하는 시스템.
- 개인 어시스턴트로부터, 외부 장치로 향하는(directed to) 하나 이상의 명령을 수신하는 단계;
상기 하나 이상의 명령에 기초하여, 상기 외부 장치와 관련된 위치와 관련하여 로봇을 기동(maneuvering)하는 단계; 및
상기 로봇으로부터 상기 외부 장치로의 하나 이상의 명령의 전송을 개시하는 단계를 포함하는 방법.
- 제12항에 있어서,
상기 외부 장치의 연결 상태(connectivity status)를 결정하는 단계를 더 포함하는 방법.
- 제13항에 있어서,
상기 외부 장치와 관련된 위치와 관련하여 상기 로봇을 기동(maneuvering)하는 단계는 상기 외부 장치의 상기 연결 상태를 기초로 위치와 관련되어 상기 로봇을 기동하는 단계를 포함하는 방법.
- 제12항에 있어서,
상기 외부 장치와 관련된 위치와 관련하여 로봇을 기동(maneuvering)하는 단계는 상기 외부 장치와의 연결을 설정하는 단계를 포함하는 방법.
- 제12항에 있어서,
확인 콘텐츠(confirmation content)를 생성하는 단계 더 포함하는 방법.
- 제16항에 있어서,
상기 확인 콘텐츠는 상기 하나 이상의 명령이 상기 외부 장치에 의하여 실행되었음을 반영하는 방법.
- 제16항에 있어서,
상기 확인 콘텐츠를 상기 개인 어시스턴트에게 제공하는 단계를 더 포함하는 방법.
- 제12항에 있어서,
하나 이상의 입력을 수신하는 단계는,
하나 이상의 제1입력을 수신하는 단계;
상기 하나 이상의 제1입력과 관련된 하나 이상의 품질 메트릭스(quality metrics)를 계산하기 위해 하나 이상의 제1입력을 처리하는 단계;
상기 계산된 하나 이상의 품질 메트릭스에 기초하여, 상기 로봇에 대한 하나 이상의 조정(adjustment)을 개시하는 단계; 및
하나 이상의 제2입력을 수신하는 단계를 더 포함하는 방법.
- 제12항에 있어서,
하나 이상의 명령의 전송을 개시하는 단계는,
상기 로봇을 통해 상기 외부 장치로부터 발생하는 콘텐츠를 요청하는 단계;
상기 외부 장치로부터 콘텐츠를 수신하는 단계;
상기 콘텐츠를 상기 로봇에 저장하는 단계; 및
상기 로봇으로부터 하나 이상의 장치로 콘텐츠를 중계(relaying)하는 단계를 단계를 포함하는 방법.
- 제12항에 있어서,
상기 로봇에 액세스 가능한 하나 이상의 컴포넌트(components)를 식별하는 단계;
상기 하나 이상의 명령을 고려하여, 상기 하나 이상의 컴포넌트 중 적어도 하나를 선택하는 단계; 및
상기 하나 이상의 컴포넌트 중 적어도 하나와 관련하여 하나 이상의 동작을 개시하는 단계를 더 포함하는 방법.
- 제21항에 있어서,
상기 하나 이상의 컴포넌트는 상기 로봇 내에 통합된 하나 이상의 센서, 상기 로봇과 통신하는 장치 내에 통합된 하나 이상의 센서, 또는 상기 로봇 외부의 하나 이상의 센서 중 적어도 하나를 포함하는 방법.
- 저장된 명령어를 포함하는 비-일시적 컴퓨터 판독가능 매체로서,
프로세싱 장치에 의하여 실행될 때, 상기 프로세서 장치로 하여금,
하나 이상의 입력을 수신하는 단계;
상기 하나 이상의 입력을 개인 어시스턴트에게 제공하는 단계;
상기 개인 어시스턴트로부터, 외부 장치로 향하는(directed to) 하나 이상의 명령을 수신하는 단계;
상기 하나 이상의 명령에 기초하여, 상기 외부 장치와 관련된 위치와 관련하여 로봇을 기동(maneuvering)하는 단계; 및
상기 로봇으로부터 상기 외부 장치로의 하나 이상의 명령의 전송을 개시하는 단계;
상기 로봇에 액세스 가능한 하나 이상의 컴포넌트(components)를 식별하는 단계;
상기 하나 이상의 명령을 고려하여, 상기 하나 이상의 컴포넌트 중 적어도 하나를 선택하는 단계; 및
상기 하나 이상의 컴포넌트 중 적어도 하나와 관련하여 하나 이상의 동작을 개시하는 단계를 포함하는 동작을 수행하게 하는 비-일시적 컴퓨터 판독가능 매체.
- 제23항에 있어서,
상기 하나 이상의 컴포넌트 중 적어도 하나와 관련하여 하나 이상의 동작을 개시하는 단계는 상기 하나 이상의 컴포넌트 중 적어도 하나를 통해 상기 외부 장치에 대하여 하나 이상의 명령을 개시하는 단계를 포함하는 비-일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762535116P | 2017-07-20 | 2017-07-20 | |
US201762535122P | 2017-07-20 | 2017-07-20 | |
US62/535,116 | 2017-07-20 | ||
US62/535,122 | 2017-07-20 | ||
PCT/US2018/043165 WO2019018810A1 (en) | 2017-07-20 | 2018-07-20 | ROBOT CONTROL WITH MULTIPLE DEVICES |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200101321A true KR20200101321A (ko) | 2020-08-27 |
Family
ID=65015310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207004849A KR20200101321A (ko) | 2017-07-20 | 2018-07-20 | 멀티-디바이스 로봇 컨트롤 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10889002B2 (ko) |
EP (1) | EP3655865B1 (ko) |
JP (1) | JP7089301B2 (ko) |
KR (1) | KR20200101321A (ko) |
CN (1) | CN111512255B (ko) |
IL (2) | IL283090B2 (ko) |
WO (1) | WO2019018810A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3059029A1 (en) | 2019-10-17 | 2021-04-17 | The Toronto-Dominion Bank | Maintaining data confidentiality in communications involving voice-enabled devices in a distributed computing environment |
CN111489082A (zh) * | 2020-04-10 | 2020-08-04 | 北京洛必德科技有限公司 | 一种机器人协同工作方法及系统 |
CN111949027B (zh) * | 2020-08-10 | 2024-06-28 | 珠海一维弦机器人有限公司 | 自适应的机器人导航方法和装置 |
CN113238502B (zh) * | 2021-05-11 | 2022-11-29 | 深圳市华腾智能科技有限公司 | 一种基于dsp的智能酒店客房管理装置 |
US12087145B1 (en) | 2021-05-28 | 2024-09-10 | Swamcam LLC | Water safety device, system, and method |
US20230001570A1 (en) * | 2021-06-30 | 2023-01-05 | X-Tend Robotics Inc. | Modular frame for an intelligent robot |
USD970016S1 (en) * | 2021-08-17 | 2022-11-15 | X-Tend Robotics Inc. | Intelligent telemedicine robot |
CN115070789B (zh) * | 2022-06-09 | 2024-09-10 | 博歌科技有限公司 | 一种多机器人智能控制交互平台 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002354139A (ja) * | 2001-05-23 | 2002-12-06 | Toshiba Tec Corp | ロボットの制御システム及びこのシステムに使用するロボット |
JP2003006532A (ja) | 2001-06-27 | 2003-01-10 | Fujitsu Ltd | 移動ロボットとその獲得画像を用いたサーバ経由のサービス提供方式 |
US20140254896A1 (en) * | 2011-07-18 | 2014-09-11 | Tiger T G Zhou | Unmanned drone, robot system for delivering mail, goods, humanoid security, crisis negotiation, mobile payments, smart humanoid mailbox and wearable personal exoskeleton heavy load flying machine |
JPWO2004106009A1 (ja) * | 2003-06-02 | 2006-07-20 | 松下電器産業株式会社 | 物品取扱いシステムおよび物品取扱いサーバ |
KR101142564B1 (ko) * | 2004-06-24 | 2012-05-24 | 아이로보트 코퍼레이션 | 자동 로봇 장치용의 원격 제어 스케줄러 및 방법 |
JP2007221300A (ja) | 2006-02-15 | 2007-08-30 | Fujitsu Ltd | ロボット及びロボットの制御方法 |
WO2009038772A2 (en) * | 2007-09-20 | 2009-03-26 | Evolution Robotics | Transferable intelligent control device |
KR101604752B1 (ko) * | 2009-08-06 | 2016-03-18 | 엘지전자 주식회사 | 이동 냉장고 및 이를 포함한 이동 냉장고 시스템 |
US8798834B2 (en) * | 2010-02-17 | 2014-08-05 | Lg Electronics Inc. | Movable component for a network system |
JP6173657B2 (ja) | 2011-07-14 | 2017-08-02 | キョーラク株式会社 | 樹脂成形品の成形方法 |
JP2013250005A (ja) | 2012-05-31 | 2013-12-12 | Sharp Corp | 自走式電子機器 |
US9569976B2 (en) | 2012-10-02 | 2017-02-14 | Gavriel Yaacov Krauss | Methods circuits, devices and systems for personality interpretation and expression |
JP6158517B2 (ja) * | 2013-01-23 | 2017-07-05 | ホーチキ株式会社 | 警報システム |
KR102093318B1 (ko) * | 2014-01-13 | 2020-03-25 | 한국전자통신연구원 | 끊임없는 통신 연결성을 제공하는 분리 가능한 모듈형 뱀 로봇 및 그 동작 방법 |
US9216508B2 (en) * | 2014-01-14 | 2015-12-22 | Qualcomm Incorporated | Connectivity maintenance using a quality of service-based robot path planning algorithm |
US9630317B2 (en) * | 2014-04-03 | 2017-04-25 | Brain Corporation | Learning apparatus and methods for control of robotic devices via spoofing |
US20160186291A1 (en) | 2014-07-21 | 2016-06-30 | Michael J. Mills | Continuous Ore Process and Apparatus Using Plasma |
DE102014113040A1 (de) * | 2014-09-10 | 2016-03-10 | Miele & Cie. Kg | Verfahren zum Betrieb eines Haushaltsgerätesystems |
KR101620260B1 (ko) * | 2015-01-12 | 2016-05-12 | 엘지전자 주식회사 | 네트워크 시스템 및 그 제어방법 |
KR101659037B1 (ko) | 2015-02-16 | 2016-09-23 | 엘지전자 주식회사 | 로봇 청소기, 이를 포함하는 원격 제어 시스템 및 이의 제어 방법 |
US9494936B2 (en) * | 2015-03-12 | 2016-11-15 | Alarm.Com Incorporated | Robotic assistance in security monitoring |
US10032137B2 (en) * | 2015-08-31 | 2018-07-24 | Avaya Inc. | Communication systems for multi-source robot control |
US9842447B2 (en) * | 2015-09-30 | 2017-12-12 | Ford Global Technologies, Llc | System and method for range-boosted key fob |
US20170129099A1 (en) * | 2015-11-10 | 2017-05-11 | M3N, Inc. | Multipurpose Robotic System |
US20170282362A1 (en) * | 2016-03-31 | 2017-10-05 | Avaya Inc. | Command and control of a user-provided robot by a contact center |
KR102565501B1 (ko) * | 2016-08-01 | 2023-08-11 | 삼성전자주식회사 | 로봇 청소기, 냉장고, 용기 이송 시스템 및 로봇 청소기를 이용한 용기의 이송 및 회수 방법 |
US10112298B2 (en) * | 2016-08-09 | 2018-10-30 | International Business Machines Corporation | Assigning tasks to a robot device for execution |
-
2018
- 2018-07-20 CN CN201880061224.XA patent/CN111512255B/zh active Active
- 2018-07-20 EP EP18834991.4A patent/EP3655865B1/en active Active
- 2018-07-20 IL IL283090A patent/IL283090B2/en unknown
- 2018-07-20 WO PCT/US2018/043165 patent/WO2019018810A1/en unknown
- 2018-07-20 KR KR1020207004849A patent/KR20200101321A/ko not_active Application Discontinuation
- 2018-07-20 JP JP2020524733A patent/JP7089301B2/ja active Active
-
2020
- 2020-01-19 IL IL272122A patent/IL272122B/en active IP Right Grant
- 2020-01-20 US US16/747,525 patent/US10889002B2/en active Active
- 2020-11-25 US US17/104,861 patent/US11472038B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210221006A1 (en) | 2021-07-22 |
EP3655865A4 (en) | 2021-08-25 |
WO2019018810A1 (en) | 2019-01-24 |
US10889002B2 (en) | 2021-01-12 |
US11472038B2 (en) | 2022-10-18 |
JP7089301B2 (ja) | 2022-06-22 |
EP3655865A1 (en) | 2020-05-27 |
IL283090B2 (en) | 2023-10-01 |
IL272122B (en) | 2021-05-31 |
US20200147810A1 (en) | 2020-05-14 |
EP3655865B1 (en) | 2022-07-20 |
IL272122A (en) | 2020-03-31 |
IL283090A (en) | 2021-06-30 |
CN111512255B (zh) | 2023-08-29 |
CN111512255A (zh) | 2020-08-07 |
JP2020528190A (ja) | 2020-09-17 |
IL283090B1 (en) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10889002B2 (en) | Multi-device robot control | |
CN107577229B (zh) | 移动机器人、移动控制系统以及移动控制方法 | |
KR102630452B1 (ko) | 디바이스 연결 설정 방법 및 장치 | |
US11095472B2 (en) | Vision-based object recognition device and method for controlling the same | |
US9393699B1 (en) | Methods and systems for wireless control of a robotic device | |
KR102481486B1 (ko) | 오디오 제공 방법 및 그 장치 | |
KR20180022020A (ko) | 전자 장치 및 그의 동작 방법 | |
KR101618783B1 (ko) | 이동 단말기, 이동 단말기의 제어방법, 그리고, 이동 단말기를 포함하는 제어시스템 | |
US9477302B2 (en) | System and method for programing devices within world space volumes | |
KR102573769B1 (ko) | 전자장치 및 그 거치대 | |
KR102513732B1 (ko) | 전자 장치 및 전자 장치의 무선 전력 송수신 제어 방법 | |
US10556339B2 (en) | Mobile robot, movement control system, and movement control method | |
US10523859B2 (en) | Portable camera and controlling method thereof | |
KR20170100332A (ko) | 화상 통화 방법 및 장치 | |
CN113874828A (zh) | 用于通过外部电子装置提供屏幕共享服务的电子装置、方法和计算机可读介质 | |
US11030996B2 (en) | Electronic device and control method thereof | |
KR101632220B1 (ko) | 이동 단말기, 이동 단말기의 제어방법, 그리고, 제어시스템과 그 제어방법 | |
CN108351681B (zh) | 电子设备及其托架 | |
KR102401641B1 (ko) | 모바일 디바이스 및 모바일 디바이스의 제어방법 | |
EP3687144B1 (en) | Mobile terminal | |
KR101549027B1 (ko) | 이동 단말기 및 이동 단말기의 제어방법 | |
KR102462204B1 (ko) | 진동을 제공하기 위한 장치 및 방법 | |
US20200114514A1 (en) | Systems and methods for dimensionally-restricted robotic teleoperation | |
KR102249116B1 (ko) | 이동 단말기 및 그것의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |