Robotic Platform for Interactive Play Using a Telepresence Robot Surrogate
20200398432 ยท 2020-12-24
Assignee
Inventors
- Allen Dodgson Tan (Long Beach, CA, US)
- John A Wright (Phnom Penh, KH)
- Garrett M Clayton (Havertown, PA, US)
- Porhour Ly (Phnom Penh, KH)
Cpc classification
B25J19/00
PERFORMING OPERATIONS; TRANSPORTING
B25J11/001
PERFORMING OPERATIONS; TRANSPORTING
B25J11/003
PERFORMING OPERATIONS; TRANSPORTING
B25J11/0015
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A robotic platform associated with one or more software services enables remote users to interact with an environment and other humans physically and visually through a robotic surrogate over any distance utilizing the internet. The robotic surrogate is controlled through a non-technical user interface which responds to user control inputs made through natural user arm movements which are tracked in three dimensional space.
Claims
1. A computing system, comprising: at least one robotic surrogate; and at least one computing device communicatively coupled to the at least one robotic surrogate, the at least one computing device configured to: track one or more movements of a user via one or more sensors; and issue one or more commands based on the tracked movements to the at least one robotic surrogate via at least one network.
2. The computing system of claim 1, wherein the at least one robotic surrogate comprises one or more elements including: a head; two arms; a torso; and a drive system comprising of one or more drive wheels.
3. The computing system of claim 2, wherein at least one or more of the one or more elements move in response to the one or more commands issued by the at least one computing device.
4. The computing system of claim 1, wherein the at least one robotic surrogate includes a display, wherein the display is configured to display a video captured by a camera of the at least one computing device.
5. The computing system of claim 4, wherein the display is a touchscreen.
6. The computing system of claim 1, wherein the one or more sensors include one or more handheld controllers.
7. The computing system of claim 1, wherein the at least one robotic surrogate comprises of one or more LED lighting arrays.
8. The computing system of claim 7, wherein the one or more LED lighting arrays are configured to display a sequence of lights based on at least one emotion expressed by the user.
9. The computing system of claim 8, wherein the sequence of lights is pre-programmed by the user.
10. The computing system of claim 9, wherein the one or more LED lighting arrays display animations based on sequencing LED assignments.
11. A robotic surrogate, comprising: a head having a pan and tilt mount mechanism, the head including a display, one or more speakers, a microphone, a camera and dual multicolor LED arrays; two arms, each arm having at least one gripper hand; a torso comprising a telescoping midsection; and a three-wheeled drive system; wherein the two arms are mounted on the sides of the torso, the head is mounted on the top of the torso, and the three wheeled drive system is mounted on the bottom of the torso.
12. The robotic surrogate of claim 11, wherein the dual multicolor LED arrays are mounted on either side of the head.
13. The robotic surrogate of claim 11, wherein the telescoping torso is configured to change height based on one or more received commands to raise or lower the arms in relation to the ground.
14. The robotic surrogate of claim 11, wherein the three-wheeled drive system comprises of at least one drive wheel and at least one castor wheel.
15. The robotic surrogate of claim 11, wherein each of the two arms comprises of a compact interlocking mechanism including one or more servos.
16. The robotic surrogate of claim 11, further comprising: at least one communication interface configured to receive one or more commands issued by a remote computing device via a network, wherein the one or more commands are based on movements made by a user and the movements are tracked by one or more sensors of the remote computing device.
17. The robotic surrogate of claim 17, wherein the one or more commands cause the robotic surrogate to mimic the movements made by the user.
18. An LED lighting array configured to express human emotion, the array comprising: expressive lighting consisting of individual multicolor light emitting diodes; a microphone module; memory storage; and a processor.
19. The LED lighting array of claim 18, wherein the light emitting diodes change in color, brightness, or both, based on an emotion expressed by user.
20. The LED lighting array of claim 19, wherein the light emitting diodes are preprogrammed to change to certain color, brightness, or both based on one or more scripts configured to control the LED lighting array.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] This disclosure is illustrated by way of example and not by way of limitation in the accompanying figure(s). The figure(s) may, alone or in combination, illustrate one or more embodiments of the disclosure. Elements illustrated in the figure(s) are not necessarily drawn to scale. Reference labels may be repeated among the figures to indicate corresponding or analogous elements.
[0008] The detailed description makes reference to the accompanying figures in which:
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
DETAILED DESCRIPTION
[0025] The figures and descriptions provided herein may have been simplified to illustrate aspects that are relevant for a clear understanding of the herein described apparatuses, systems, and methods, while eliminating, for the purpose of clarity, other aspects that may be found in typical similar devices, systems, and methods. Those of ordinary skill may thus recognize that other elements and/or operations may be desirable and/or necessary to implement the devices, systems, and methods described herein. But because such elements and operations are known in the art, and because they do not facilitate a better understanding of the present disclosure, for the sake of brevity a discussion of such elements and operations may not be provided herein. However, the present disclosure is deemed to nevertheless include all such elements, variations, and modifications to the described aspects that would be known to those of ordinary skill in the art.
[0026]
[0027] As shown in
[0028] Those of ordinary skill in the art will recognize that many modifications and variations of the present invention may be implemented without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modification and variations of this invention provided they come within the scope of the appended claims and their equivalents.
[0029] The various illustrative logics, logical blocks, modules, and engines, described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0030] Further, the steps and/or actions of a method or algorithm described in connection with the aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium may be coupled to the processor, such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. Further, in some aspects, the processor and the storage medium may reside in an ASIC. Additionally, the ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal. Additionally, in some aspects, the steps and/or actions of a method or algorithm may reside as one or any combination or set of instructions on a machine readable medium and/or computer readable medium.
[0031]
[0032] The computing device of the remote user may comprise of one or more sensors that may track one or more handheld motion tracking controllers, or other types of movement sensors that may track a user's natural movements in space. For example, in one embodiment, user control inputs made through natural user arm movements may be tracked in three dimensional space.
[0033]
[0034] One or more disclosed embodiments provide a robotic platform enabling remote play, such as over a network or from a distance. In one embodiment, a user may control robotic movements via an interface local to the robot, such as in the same room as the robot, or via a local area network. In another embodiment, the user may control the robot from a distance, such as via a wide area network, or via the Internet. The disclosed robotic platform may provide a robotic surrogate having controllable arms with hands, or pincers that can pick up objects, such as toy blocks, or the like. Movements may be tracked of a remote user via a non-technical user interface utilizing virtual reality style natural movement motion tracking devices. An exemplary tracking device could be a Nolo VR device, for example. It is understood that the disclosed is not limited to the usage of a Nolo VR device. The robotic platform may further include an artificial intelligence (AI) user drive and control assistance in combination with one or more movement scripts to make complex movement effortless. The robot itself of the platform may be configured to include appropriate lighting and a body that is specially designed for play or other like activities that are created with safety in mind. Further, the robot platform may utilize lightning fast video feeds and other controls.
[0035] In some embodiments, a robotic surrogate may be placed in a home. A user in a remote location, such as a parent or relative, may initiate a call with the robotic surrogate via a user interface utilizing one or more motion tracking devices. The remote user may then interact with another user, such as a child, via the robotic surrogate.
[0036] The robotics platform may be engineered to be safe around humans, including, but not limited to, young children, or the like. Robotic functions may be controlled by one or more sensor arrays in conjunction with AI to assist users in controlling the robotic functions. Functions may include preset/automated functions that are enacted via single button actuation. A control UI may be integrated with handheld motion tracking controllers, thereby creating an intuitive non-technical UI for all skill levels. Additionally, or alternatively, a low-latency server side software may relay video and control commands sent from a device associated with a remote user to the robotic surrogate. In some embodiments, a kinematic box on a server may enable the movements of the robotic surrogate.
[0037] The robotic surrogate, such as surrogate 200 of
[0038]
[0039] Configuration 500 may further include a telescoping torso 508. The torso 508 may enable the robot to alter the distance between the robot arms 516 and the ground. Arms 516 may each have four degrees freedom and may each have gripper hands 512. The arms 516 may be mounted on the torso 508. The arms may be equipped with pinch free joints. In some embodiments, the configuration 500 may include a drive system so the robot may move around. The drive system may be a three wheeled drive system, for example. The drive system may include two drive wheels 510 and a castor wheel 514. In at least one embodiment, the two drive wheels 510 may be powered and the castor wheel 514 may be a wheel that freely rotates.
[0040] The configurations set forth herein may include a system consisting of multiple software systems that serve to relay video to and from the robot, send commands, or instructions, to the robot that cause the robot to actuate physical movements, and receive feedback about the robot status. The robot status may, in one example, be displayed on the control side to ensure user account management and security. In view of
[0041] As shown in diagram 700 of
[0042] In accordance with the robotic device, the platform may further include a system which allows a user to augment the expression of human emotion using multiple light (e.g., LED) arrays. The arrays may be the arrays 520 of the robotic surrogate shown in
[0043] As illustrated in
[0044]
TABLE-US-00001 TABLE 1 Attribute/ Parent Child Type Possible Values Notes s name text Sequence text name of This is the internal sequence, example reference name of the Power Up sequence. The file name will default to this p n boolean text Pane number, 1-100, This is an attribute which example 5 identifies the pane number p sf text Pane sound file, file name This is the file name of of associated file, example the file that will play laugh.wav when the pane plays l n Integer text 1-85, example 45 This is the LED to which the attributes are assigned. l cr boolean text LED Random Color, If true is selected, the true/false, example player will pick a random t or f color when the script plays. l lc text LED Color, hex color code, This is the color that the example 0xFF9329. Not LED will become when used if the script plays. LED_Color_Random = t l ls text LED State, solid, glowing, This is the behavior of the flashing: s or g or f LED. l lbh integer text LED_BrightnessHigh When using the glow 2-100, not less than or effect, this is the equal to the value of maximum brightness the LED_BrightnessLow, LED will reach. example 55. Only used if LED_State=glow. If LED_State glow then this is set to 0 l lbl integer text LED_BrightnessLow 1-99, When using the glow not more than or effect, this is the equal to the value of minimum brightness the LED_BrightnessHigh, LED will reach. example 45. Only used if LED_State = glow. If LED_State glow then this is set to 0 l lb integer text LED_Brightness When using the flash or 1-100. only used when solid effect, this is the LED_State = s or f. If brightness of the LED. LED_State is set to glow, this is set to 0 l lfd number text LED Flash Delay When using the flash .05-5, example 2.03. effect, this is the time Only used if LED_State = between LED flashes. flash. t f boolean text Transition Fade This determines if the true/false, example t or fade effect is used when f transitioning between panes in the sequence. t d boolean text Transition Delay This determines if there is true/false. example t of a delay between panes in f the sequence. t dt number text Transition Delay Time This determines the delay .05-5. example 2.03. before one pane will transition to another in the sequence.
[0045] A sample one pane script, which is not deemed to be limiting in any way:
TABLE-US-00002 <?xml version=1.0 encoding=UTF-8?> <s name=Power Up> <p n=1 sf=laugh.wav> <l n=1 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=2 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=3 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=4 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=5 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=6 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=7 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=8 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=9 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=10 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=11 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=12 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=13 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=14 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=15 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=16 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=17 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=18 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=19 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=20 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=21 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=22 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=23 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=24 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=25 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=26 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=27 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=28 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=29 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=30 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=31 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=32 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=33 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=34 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=35 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=36 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=37 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=38 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=39 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=40 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=41 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=42 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=43 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=44 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=45 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=46 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=47 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=48 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=49 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=50 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=51 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=52 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=53 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=54 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=55 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=56 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=57 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=58 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=59 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=60 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=61 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=62 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=63 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=64 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=65 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=66 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=67 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=68 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=69 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=70 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=71 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=72 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=73 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=74 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=75 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > <l n=76 cr=f lc=OxFF9329 ls=flash lbh=0 lbl=0 lb=10 lfd=15 > </p> </s>
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052] It is appreciated that exemplary computing system 100 is merely illustrative of a computing environment in which the herein described systems and methods may operate, and thus does not limit the implementation of the herein described systems and methods in computing environments having differing components and configurations. That is, the inventive concepts described herein may be implemented in various computing environments using various components and configurations.
[0053] Those of skill in the art will appreciate that the herein described apparatuses, engines, devices, systems and methods are susceptible to various modifications and alternative constructions. There is no intention to limit the scope of the invention to the specific constructions described herein. Rather, the herein described systems and methods are intended to cover all modifications, alternative constructions, and equivalents falling within the scope and spirit of the disclosure, any appended claims and any equivalents thereto.
[0054] In the foregoing detailed description, it may be that various features are grouped together in individual embodiments for the purpose of brevity in the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that any subsequently claimed embodiments require more features than are expressly recited.
[0055] Further, the descriptions of the disclosure are provided to enable any person skilled in the art to make or use the disclosed embodiments. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein, but rather is to be accorded the widest scope consistent with the principles and novel features disclosed herein.