throbber
Publication Classification
`
`(51)
`
`Int. Cl.
`A63H 30/04
`
`A self-propelled device includes a drive system, a wireless
`communication port, a memory and a processor. The memory
`stores a first set of instructions for mapping individual inputs
`from a first set of recognizable inputs to a corresponding
`command that controls movement of the self-propelled
`device. The processor (or processors) receive one or more
`inputs from the controller device over the wireless commu-
`nication port, map each of the one or more inputs to a com-
`mand based on the set of instructions, and control the drive
`system using the command determined for each of the one or
`more inputs. While the drive system is controlled, the proces-
`sor processes one or more instructions to after the set of
`recognizable inputs and/or the corresponding command that
`is mapped to the individual inputs in the set of recognizable
`inputs.
`
`
`
`(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2012/0168240 A1
`WILSON et al.
`Jul. 5, 2012
`(43) Pub. Date:
`
`US 20120168240A1
`
`(54) SYSTEM AND METHOD FOR
`CONTROLLING A SELF-PROPELLED
`DEVICE USING A DYNAMICALLY
`CONFIGURABLE INSTRUCTION LIBRARY
`
`Inventors:
`
`Adam WILSON, Longmont, CO
`(US); Dan Danknick, Lafayette,
`CO (US)
`
`13/342,892
`
`Jan. 3, 2012
`
`Related US. Application Data
`
`Provisional application No. 61/430,023, filed on Jan.
`5, 2011, provisional application No. 61/430,083, filed
`on Jan. 5, 2011, provisional application No. 61/553,
`923, filed on Oct. 31, 2011.
`
`(2006.01)
`(2006.01)
`G05D 1/02
`(2006.01)
`B62D 63/02
`(52) us. Cl. ........................................... .. 180/167; 701/2
`
`(57)
`
`ABSTRACT
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 1
`
`

`

`Patent Application Publication
`
`
`
`Wigs-gmm
`feéemmy
`igfi
`
`i
`
`5' @333 f
`‘sfimiahia
`
`g
`
`Mammy
`lfié
`
`E
`
`{)Emfik
`{sgfiémzai}
`ggfi
`
`..........imwmmw
`
`w
`,,,,,,,,,.,
`
`Pmmgmr
`
`.......................4
`
`infificfiw Changxsa
`$3M
`
`’
`
`Jul. 5, 2012 Sheet 1 0f 21
`
`US 2012/0168240 A1
`
`‘-‘-wwwaw‘uwwwwwwww‘w‘mavmvu‘f‘-
`
`|PR2017-01272
`
`Wait}
`12%
`3
`
`......................*
`
`.....................'c
`
`,
`
`‘ §
`
`‘
`;
`
`Swag?
`W”.-
`33
`
`I:
`g
`
`IPR2017-01272
`Spin Master EX1010 Page 2
`
`

`

`Patent Application Publication
`
`Jul. 5, 2012 Sheet 2 0f 21
`
`US 2012/0168240 A1
`
`magma
`
`V.
`
`..
`
`Cmmuiifig
`{3mm
`
`22%
`
`
`
`5a:
`170 may mimrk
`
`{£343 iimfizamfiai}
`
`{Auésmmia
`{We}
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 3
`
`

`

`Jul. 5, 2012 Sheet 3 0f 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 4
`
`

`

`Jul. 5, 2012 Sheet 4 0f 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 5
`
`

`

`Patent Application Publication
`
`Jul. 5, 2012 Sheet 5 0f 21
`
`US 2012/0168240 A1
`
`43% “wk
`{Wigwam mark} >.
`.-
`
`_
`
`'
`
`'7 We 4%
`"
`{swim :2? mm;
`
`
`
`‘
`,W i
`fififi
`
`{mam s32"
`
`veciar}
`
`ma 4;;
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 6
`
`

`

`Jul. 5, 2012 Sheet 6 0f 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`
`
`mraczéon {3f
`ffimwmem
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 7
`
`

`

`2'
`ammxm ;
`Rmm
`
`;
`
`mammpa
`
`3:31,, ‘2’, .2}
`
`:3“ng
`,
`: acmmayzammm
`
`€33»
`
`r
`“inHkhhhwh‘n‘n‘n‘w‘w‘w‘n‘n‘nflk‘wh‘w‘n‘n‘k
`g
`

`
`$93205;
`was 3mm
`
`mrmwm
`53mm 2‘
`
`110912911anHommddvmema
`
`
`IZJOL199IISz10z‘s1nr
`
`IV01728910/ZIOZSfl
`
`....
`..
`, Mfiishfiféf E? R
`ix, ‘21.} z}
`§§§
`
`Nifikfi‘fiéE“??? £2
`flag}
`
`C593 EEATELEVSTE
`53%"???5.
`
`23mm:
`Pflfimflmmfi
`
`mamas: {9mg}
`RECEWER
`
`{wmm
`
`IPR2017-01272
`Spin Master EX1010 Page 8
`
`

`

`
`

`H was: '
`7
`ma
`
`N U
`
`)
`5'
`(‘D
`(D4—}
`00
`OW
`—t
`
`Nj
`
`IV01728910/ZIOZSfl
`
`
`
`110912911anHommddvmema
`
`H:.
`
`'_‘
`
`\EII
`
`NOj
`
`—t
`
`.. Cmflw
`Eametem
`332$
`
`fita‘ée Quins:
`
`-
`
`.
`
`.
`
`,
`
`,
`
`23;;4‘
`7"; 1
`
`v
`V
`
`3
`
`3
`
`3’3"}
`
`(Swazi: inieflme 1’26
`
`R?
`
`mm mm
`
`.
`
`Canimi
`
`2mm:
`“3
`
`3P0 Fmgram
`
`§Iaad£2>am§<
`3’38
`
`-
`
`wit-3g}, mg;
`
`Eamme-
`
`‘ffifi
`
`{30mgag?
`
`,
`
`5393:} ’3’“?
`
`HQ. 7
`
`IPR2017-01272
`Spin Master EX1010 Page 9
`
`

`

`USER FQMGWQMS
`
`{ESER {EQQE
`
`
`
`§’.
`
`.,.,.,.,
`
`.,.,.,.,
`
`
`
`:3P:
`
`8&5? FUHCTEIIEM
`STQRRGQ
`
`9% SC}? ifififiifi-Ufififfii
`
`SRQO‘HX
`PRE {3% F 3% E E3
`LGQAL
`{JGNE‘QQL
`£1 1,35% {3‘53
`S
`
`£3 Raflfl 1?:
`PR EBE $3251? ES?
`REM {EYE
`SQW'TfiGL
`§EM$T$QN$
`
`agam‘izx
`
`8Q"?
`
`
`
`110912911anHommddvmema
`
`
`IZJO6199IISz10z‘s1nr
`IV01728910/ZIOZSfl
`
`QRQG‘WX
`
`3kg?
`
`OREG'E'EX R‘fififli’? {22$ H§¥?E RVE-ffiilfi
`
`{EREQWX fiOfiQ‘E" $44M“ 3“ fifi‘gmfi amwm
`
`may;
`5‘gr;
`
`Mi} RX.“
`
`agmaas
`
`magmzw mmmam
`
`EX?A?&$3{}R
`
`£13
`
`IPR2017-01272
`Spin Master EX1010 Page 10
`
`

`

`SWWSLLER
`figi‘PS
`
`m
`
`CQM'E‘RQLLER
`AF?$
`
`
`
`110912911anHommddvmema
`
`
`IZJO01musz10z‘s1nr
`IV01728910/ZIOZSfl
`
`{3 RSQWX. {if} fiTRfiLLER‘
`ngfi
`35%
`
`{ZERBQTIX €3€§fi¥§2€3£LEZ§E
`fiéifi
`
`A93 ? 3&8:
`
`@fififlfix Rpifiiiififififmf E3£X$EE
`2
`
`fifi‘xfifig AW
`
`QSER WWERFfiCE
`
`HARQWAR‘E
`
`IPR2017-01272
`Spin Master EX1010 Page 11
`
`

`

`Patent Application Publication
`
`Jul. 5, 2012 Sheet 11 of 21
`
`US 2012/0168240 A1
`
`{Egvm Mfléififi?
`
`gags: gtwg
`$3;
`
`{MW @3224an
`m
`
`pafigfiism $0M 13%;“sz maxim
`W
`
`
`
`was213mg fiQégfii’ifimfii mam:
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 12
`
`

`

`Jul. 5, 2012 Sheet 12 of 21
`
`US 2012/0168240 A1
`
`fizfiiflfi 3&8
`
`{2mm
`
`382
`
`Patent Application Publication
`
`
`
`mm. 8%35;
`1 h
`.
`
`-------------.- wag; $333156
`
`2% mam 33;;in 823$
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 13
`
`

`

`Jul. 5, 2012 Sheet 13 of 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 14
`
`

`

`Jul. 5, 2012 Sheet 14 of 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 15
`
`

`

`Jul. 5, 2012 Sheet 15 of 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`Bavizze
`
`«Seifwmogmifiw
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 16
`
`

`

`Patent Application Publication
`
`Jul. 5, 2012 Sheet 16 of 21
`
`US 2012/0168240 A1
`
`%§éf»fimmiim mvim Batarmimg iiiirs {Mémfiafiim Mam
`warm? fimma a? Rakmma
`
`tfififi
`
`Saififimméiw fiawimfiigmk wmmiéwflfimfiafim
`iiizfmfimafim
`
`fifi‘i}
`
`3
`
`:
`
`‘
`
`:
`
`
`
`wwwm mnmw me ymgmm ix G-aiiiéhramfi 3°22:
`Rafiefi firimiafim 453$ fie ifwi’mgmiiw fiwiw
`"i 3252‘}
`
`Cammfier {Emmiwzg §W§mm "is: {2mm -S$¥§«Pm§=afiém
`WWW
`
`1 m3
`
`112 D
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 17
`
`

`

`Jul. 5, 2012 Sheet 17 of 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 18
`
`

`

`Patent Application Publication
`
`Jul. 5, 2012 Sheet 18 of 21
`
`US 2012/0168240 A1
`
`I
`
`I
`
`Q3
`
`‘3
`
`‘Wfi’fi
`
`. 3:32 /
`
`‘ if
`
`-
`
`.f.
`V
`’1 3-88
`
`s
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 19
`
`

`

`Jul. 5, 2012 Sheet 19 of 21
`
`US 2012/0168240 A1
`
`Ma “3435
`
`,-.‘<.a.~.w.~f‘
`
`fiafié’mgafi d
`
`Patent Application Publication
`
`
`
`Y
`
`32:32 Wm m
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 20
`
`

`

`Jul. 5, 2012 Sheet 20 of 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 21
`
`

`

`Jul. 5, 2012 Sheet 21 of 21
`
`US 2012/0168240 A1
`
`Patent Application Publication
`
`
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 22
`
`

`

`
`
`In an embodiment, a self-propelled device is pro-
`[0027]
`vided, which includes a dive system, a spherical housing, and
`a biasing mechanism. The drive system includes one or more
`motors that are contained within the spherical housing. The
`biasing mechanism actively forces the drive system to con-
`tinuously engage an interior ofthe spherical housing in order
`to cause the spherical housing to move.
`[0028] According to another embodiment, a self-controlled
`device maintains a frame of reference about an X-, Y— and
`Z-axis. The self-controlled device processes an input to con-
`trol the self-propelled device, the input being based on the X-
`and Y—axis. The self-propelled device is controlled in its
`movement, including about each of the X-, Y— and Z-axes,
`based on the input.
`
`SYSTEM AND METHOD FOR
`CONTROLLING A SELF-PROPELLED
`DEVICE USING A DYNAMICALLY
`CONFIGURABLE INSTRUCTION LIBRARY
`
`RELATED APPLICATIONS
`
`[0001] This application claims priority to (i) U.S. Provi-
`sional Patent Application Ser. No. 61/430,023, entitled
`“Method and System for Controlling a Robotic Device,” filed
`Jan. 5, 201 1; (ii) U.S. Provisional PatentApplication Ser. No.
`61/430,083, entitled “Method and System for Establishing
`2-Way Communication for Controlling a Robotic Device,”
`filed Jan. 5, 2011; and (iii) U.S. Provisional Patent Applica-
`tion Ser. No. 61/553,923, entitled “A Self-propelled Device
`and System and Method for Controlling Same,” filed Oct. 31,
`2011; all of the aforementioned priority applications are
`hereby incorporated by reference in their respective entirety.
`
`FIELD OF THE INVENTION
`
`[0002] Embodiments described herein generally relate to a
`self-propelled device, and a system and method for control-
`ling a self-propelled device using a dynamically configurable
`instruction library.
`
`BACKGROUND
`
`[0003] Early in human history, the wheel was discovered
`and human fascination with circular and spherical objects
`began. Humans were intrigued by devices based on these
`shapes: as practical transportation and propulsion, and as toys
`and amusements. Self-propelled spherical objects were ini-
`tially powered by inertia or mechanical energy storage in
`devices such as coiled springs. As technology has evolved,
`new ways ofapplying and controlling these devices have been
`invented. Today, technology is available from robotics, high
`energy-density battery systems, sophisticated wireless com-
`munication links, micro sensors for magnetism, orientation
`and acceleration, and widely available communication
`devices with displays and multiple sensors for input.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`F G. 1 is a schematic depiction of a self-propelled
`[0004]
`device, according to one or more embodiments.
`[0005]
`F G. 2A is a schematic depiction of an embodiment
`comprising a self-propelled device and a computing device,
`under an embodiment.
`
`F G. 2B depicts a system comprising computing
`[0006]
`devices and self-propelled devices, according to another
`embodiment.
`
`F G. 2C is a schematic that illustrates a system
`[0007]
`comprising a computing device and multiple self-propelled
`devices, under another embodiment.
`[0008]
`F G. 3 is a block diagram illustrating the compo-
`nents of a self-propelled device that is in the form of a robotic,
`spherical ball, in accordance with an embodiment.
`[0009]
`F GS. 4A, 4B, and 4C illustrate a technique for
`causing controlled movement of a spherical self-propelled
`device, in accordance with one or more embodiments.
`[0010]
`F G. 5 further illustrates a technique for causing
`motion of a self-propelled spherical device, according to an
`embodiment.
`
`
`
`F G. 6 is a block diagram depicting a sensor array
`[0011]
`and data flow, according to an embodiment.
`
`US 2012/0168240 A1
`
`Jul. 5, 2012
`
`FIG. 7 illustrates a system including a self-propelled
`[0012]
`device, and a controller computing device that controls and
`interacts with the self-propelled device, according to one or
`more embodiments.
`
`FIG. 8A illustrates a more detailed system architec-
`[0013]
`ture for a self-propelled device and system, according to an
`embodiment.
`
`FIG. 8B illustrates the system architecture ofa com-
`[0014]
`puting device, according to an embodiment.
`[0015]
`FIG. 8C illustrates a particular feature of code
`execution, according to an embodiment.
`[0016]
`FIG. 8D illustrates an embodiment in which a self-
`propelled device 800 implements control using a three-di-
`mensional reference frame and control input that is received
`from another device that utilizes a two-dimensional reference
`
`frame, under an embodiment.
`[0017]
`FIG. 9 illustrates a method for operating a self-
`propelled device using a computing device, according to one
`or more embodiments.
`
`FIG. 10 illustrates a method for operating a comput-
`[0018]
`ing device in controlling a self-propelled device, according to
`one or more embodiments.
`
`FIG. 11A through FIG. 11C illustrate an embodi-
`[0019]
`ment in which a user interface of a controller is oriented to
`
`adopt an orientation of a self-propelled device, according to
`one or more embodiments.
`
`FIG. 11D illustrates a method for calibrating a user-
`[0020]
`interface for orientation based on an orientation of the self-
`
`propelled device, according to an embodiment.
`[0021]
`FIG. 12A and FIG. 12B illustrate different inter-
`faces that can be implemented on a controller computing
`device.
`
`FIG. 13A through FIG. 13C illustrate a variety of
`[0022]
`inputs that can be entered 011 a controller computing device to
`operate a self-propelled device, according to an embodiment.
`[0023]
`FIG. 14A illustrates a system in which a self-pro-
`pelled device is represented in a virtual environment while the
`self-propelled device operates in a real-world environment,
`under an embodiment.
`
`FIG. 14B and FIG. 14C illustrate an application in
`[0024]
`which a self-propelled device acts as a fiducial marker,
`according to an embodiment.
`[0025]
`FIG. 15 illustrates an interactive application that can
`be implemented for use with multiple self-propelled devices,
`depicted as spherical or robotic balls, under an embodiment.
`[0026]
`FIGS. 16A and 16B illustrate a method of collision
`detection, according to an embodiment.
`
`DETAILED DESCRIPTION
`
`
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 23
`
`

`

`US 2012/0168240 A1
`
`Jul. 5, 2012
`
`Still further, another embodiment provides a system
`[0029]
`that includes a controller device and a self-propelled device.
`The self-propelled device is operable to move under control
`of the controller device, and maintains a frame of reference
`about an X-, Y— and Z-axis. The controller device provides an
`interface to enable a user to enter two-dimensional control
`
`input about the X- and Y-axes. The self-propelled device
`processes the control input from the controller device in order
`to maintain control relative to the X-, Y— and Z-axes.
`
`[0030] According to another embodiment, a self-propelled
`device determines an orientation for its movement based on a
`
`pre-determined reference frame. A controller device is oper-
`able by a user to control the self-propelled device. The con-
`troller device includes a user interface for controlling at least
`a direction of movement of the self-propelled device. The
`self-propelled device is configured to signal the controller
`device information that indicates the orientation of the self-
`
`
`
`
`
`propelled device. The controller device is configured to orient
`the user interface, based on the information signaled from the
`self-propelled device, to reflect the orientation of the self-
`propelled device.
`[0031] According to another embodiment, a controller
`device is provided for a self-propelled device. The controller
`device includes one or more processors, a display screen, a
`wireless communication port and a memory. The processor
`operates to generate a user interface for controlling at least a
`directional movement of the self-propelled device, receive
`information from the self-propelled device over the wireless
`communication port indicating an orientation of the self-
`oropelled device, and configure the user interface to reflect
`he orientation of the self-propelled device.
`[0032]
`In still another embodiment, a self-propelled device
`includes a drive system, a wireless communication port, a
`nemory and a processor. The memory stores a first set of
`instructions for mapping individual inputs from a first set of
`‘ecognizable inputs to a corresponding command that con-
`rols movement of the self-propelled device. The processor
`or processors) receive one or more inputs from the controller
`device over the wireless communicationport, map each ofthe
`one or more inputs to a command based on the set of instruc-
`ions, and control the drive system using the command deter-
`nined for each of the one or more inputs. While the drive
`system is controlled, the processor processes one or more
`instructions to alter the set of recognizable inputs and/or the
`corresponding command that is mapped to the individual
`inputs in the set of recognizable inputs.
`[0033]
`Still
`further, embodiments enable a controller
`device to include an object or virtual representation of the
`self-propelled device.
`Terms
`[0034]
`[0035] As used herein, the temi “substantially” means at
`least almost entirely. In quantitative terms, “substantially”
`means at least 80% of a stated reference (e.g., quantity of
`shape).
`In similar regard, “spherical” or “sphere” means
`[0036]
`“substantially spherical.” An object is spherical if it appears
`as such as to an ordinary user, recognizing that, for example,
`manufacturing processes may create tolerances in the shape
`or design where the object is slightly elliptical or not perfectly
`symmetrical, or that the object may include surface features
`or mechanisms for which the exterior is not perfectly smooth
`or symmetrical.
`
`[0037] Overview
`[0038] Referring now to the drawings, FIG. 1 is a schematic
`depiction of a self-propelled device, according to one or more
`embodiments. As described by various embodiments, self-
`propelled device 100 can be operated to move under control
`of another device, such as a computing device operated by a
`user. In some embodiments, self-propelled device 100 is con-
`figured with resources that enable one or more of the follow-
`ing: (i) maintain self-awareness of orientation and/or position
`relative to an initial reference frame after the device initiates
`
`movement; (ii) process control input programmatically, so as
`to enable a diverse range of program-specific responses to
`different control inputs; (iii) enable another device to control
`its movement using software or programming logic that is
`communicative with programming logic on the self-pro-
`pelled device; and/or (iv) generate an output response for its
`movement and state that it is software interpretable by the
`control device.
`
`self-propelled device 100
`In an embodiment,
`[0039]
`includes several interconnected subsystems and modules.
`Processor 114 executes programmatic instructions from pro-
`gram memory 104. The instructions stored in program
`memory 104 can be changed, for example to add features,
`correct flaws, or modify behavior. In some embodiments,
`program memory 104 stores programming instructions that
`are communicative or otherwise operable with software
`executing on a computing device. The processor 114 is con-
`figured to execute different programs of programming
`instructions, in order to after the manner in which the self-
`propelled device 100 interprets or otherwise responds to con-
`trol input from another computing device.
`[0040] Wireless communication 110, in conjunction with
`communication transducer 102, serves to exchange data
`between processor 114 and other external devices. The data
`exchanges, for example, provide communications, provide
`control, provide logical instructions, state information, and/
`or provide updates for program memory 104. In some
`embodiments, processor 114 generates output corresponding
`to state andjor position information, that is communicated to
`the controller device via the wireless communication port.
`The mobility of the device makes wired connections undesir-
`able; the term “connection” should be understood to mean a
`logical connection made without a physical attachment to
`self-propelled device 100.
`[0041]
`In one embodiment, wireless communication 110
`implements the BLUETOOTH communications protocol and
`transducer 602 is an antenna suitable for transmission and
`
`reception of BLUETOOTH radio signals. Other wireless
`communication mediums and protocols may also be used in
`alternative implementations.
`[0042]
`Sensors 112 provide information about the sur-
`rounding enviromnent and condition to processor 114. In one
`embodiment,
`sensors 112 include inertial measurement
`devices, including a 3-axis gyroscope, a 3-axis accelerometer,
`and a 3-axis magnetometer. According to some embodiments,
`the sensors 114 provide input to enable processor 114 to
`maintain awareness of the device’s orientation and/or posi-
`tion relative to the initial reference frame after the device
`
`initiates movement. In various embodiments, sensors 112
`include instruments for detecting light, temperature, humid-
`ity, or measuring chemical concentrations or radioactivity.
`[0043]
`State/variable memory 106 stores information about
`the present state of the system, including, for example, posi-
`tion, orientation, rates ofrotation and translation in each axis.
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 24
`
`

`

`US 2012/0168240 A1
`
`Jul. 5, 20l2
`
`Power 124 stores energy for operating the electron-
`[0051]
`ics and electromechanical components of device 100. In one
`embodiment, power 124 is a rechargeable battery. Inductive
`charge port 128 allows for recharging power 124 without a
`wired electrical connection. In one embodiment, inductive
`charge port 128 accepts magnetic energy and converts it to
`electrical energy to recharge the batteries. In one embodi-
`ment, charge port 128 provides a wireless communication
`interface with an external charging device.
`[0052] Deep sleep sensor 122 puts the self-propelled device
`1 00 into a verylow power or “deep sleep” mode where most of
`the electronic devices use no battery power. This is useful for
`long-term storage or shipping.
`[0053]
`In one embodiment, sensor 122 is non-contact in
`that it senses through the enclosing envelope of device 100
`without a wired connection. In one embodiment, deep sleep
`
`sensor 122 is a Hall Effect sensor mounted so that an external
`
`
`
`magnet can be applied at a pre—determined location on device
`100 to activate deep sleep mode.
`energy into
`[0054] Actuators 126 convert electrical
`mechanical energy for various uses. A primary use of actua-
`tors 126 is to propel and steer self-propelled device 100.
`Movement and steering actuators are also referred to as a
`drive system or traction system. The drive system moves
`device 100 in rotation and translation, under control of pro-
`cessor 114. Examples of actuators 126 include, without limi-
`tation, wheels, motors, solenoids, propellers, paddle wheels
`and pendulurns.
`[0055]
`In one embodiment, drive system actuators 126
`include two parallel wheels, each mounted to an axle con-
`nected to an independently variable-speed motor through a
`reduction gear system. In such an embodiment, the speeds of
`the two drive motors are controlled by processor 114.
`[0056] However,
`it should be appreciated that actuators
`126, in various embodiments, produce a variety of move-
`ments in addition to merely rotating and translating device
`100. In one embodiment, actuators 126 cause device 100 to
`execute communicative or emotionally evocative move-
`ments, including emulation of human gestures, for example,
`head nodding, shaking, trembling, spinning or flipping. In
`some embodiments, processor coordinates actuators 126 with
`display 118. For example, in one embodiment, processor 114
`provides signals to actuators 126 and display 118 to cause
`device 100 to spin or tremble and simultaneously emit pat-
`terns of colored light. In one embodiment, device 100 emits
`light or sound patterns synchronized with movements.
`[0057]
`In one embodiment, self-propelled device 100 is
`used as a controller for other network-connected devices.
`Device 100 contains sensors and wireless communication
`
`The state/variable memory 106 also stores information cor-
`responding to an initial reference frame of the device upon,
`for example, the devicebeing put inuse (e.g., the device being
`switched on), as well as position and orientation information
`once the device is in use. In this way, some embodiments
`provide for the device 100 to utilize information of the state/
`variable memory 106 in order to maintain position and ori-
`entation information of the device 100 once the device starts
`
`moving.
`[0044] Clock 108 provides timing information to processor
`114. In one embodiment, clock 108 provides a timebase for
`measuring intervals and rates of change. In another embodi-
`ment, clock 108 provides day, date, year, time, and alarm
`functions. In one embodiment clock 108 allows device 100 to
`
`provide an alarm or alert at pre-set times.
`[0045] Expansion port 120 provides a connection for addi-
`
`tion of accessories or devices. Expansion port 120 provides
`for future expansion, as well as flexibility to add options or
`enhancements. For example, expansion port 120 is used to
`add peripherals, sensors, processing hardware, storage, dis-
`plays, or actuators to the basic self-propelled device 100.
`[0046]
`In one embodiment, expansion port 120 provides an
`interface capable of communicating with a suitably config-
`ured component using analog or digital signals. In various
`embodiments, expansion port 120 provides electrical inter-
`faces and protocols that are standard or well-known. In one
`embodiment, expansion port 120 implements an optical inter-
`
`face. Exemplary interfaces appropriate for expansion port
`120 include the Universal Serial Bus (USB), Inter-Integrated
`Circuit Bus (12C), Serial Peripheral Interface (SP1), or ETH-
`ERNET.
`
`[0047] Display 118 presents information to outside devices
`or persons. Display 118 can present information in a variety
`of forms. In various embodiments, display 118 can produce
`light in colors and patterns, sound, vibration, music, or com-
`binations of sensory stimuli. In one embodiment, display 118
`operates in conjunction with actuators 126 to communicate
`information by physical movements of device 100. For
`example, device 100 can be made to emulate a human head
`nod or shake to communicate “yes” or “no .”
`[0048]
`In one embodiment, display 118 is an emitter of
`light, either in the visible or invisible range. Invisible light in
`the infrared or ultraviolet range is useful, for example to send
`information invisible to human senses but available to spe-
`cialized detectors. In one embodiment, display 118 includes
`an array of Light Emitting Diodes (LEDs) emitting various
`light frequencies, arranged such that their relative intensity is
`variable and the light emitted is blended to form color mix-
`tures.
`
`In one embodiment, display 118 includes an LED
`[0049]
`array comprising several LEDs, each emitting a human-vis-
`ible primary color. Processor 114 varies the relative intensity
`
`of each of the LEDs to produce a wide range of colors.
`Primary colors of light are those wherein a few colors can be
`blended in different amounts to produce a wide gamut of
`apparent colors. Many sets of primary colors of light are
`known,
`including for example red/green/blue, red/green/
`blue/white, and red/green/blue/amber. For example, red,
`green and blue LEDs together comprise a usable set of three
`available primary-color devices comprising a display 118 in
`one embodiment. In other embodiments, other sets ofprimary
`colors and white LEDs are used.
`
`In one embodiment, display 118 includes an LED
`[0050]
`used to indicate areferencepoint on device 100 for alignment.
`
`capability, and so it can perform a controller role for other
`devices. For example, self-propelled device 100 can be held
`in the hand and used to sense gestures, movements, rotations,
`combination inputs and the like.
`[0058]
`FIG. 2A is a schematic depiction of an embodiment
`comprising a self-propelled device and a computing device,
`under an embodiment. More specifically, a self-propelled
`device 214 is controlled in its movement by programming
`logic and/or controls that can originate from a controller
`device 208. The self-propelled device 214 is capable ofmove-
`ment under control of the computing device 208, which can
`be operated by a user 202. The computing device 208 can
`wirelessly communicate control data to the self-propelled
`device 214 using a standard or proprietary wireless commu-
`nication protocol. In variations, the self-propelled device 214
`
`|PR2017-01272
`
`IPR2017-01272
`Spin Master EX1010 Page 25
`
`

`

`US 2012/0168240 A1
`
`Jul. 5, 2012
`
`fers data from device 208 to device 214. Link 212 transfers
`data from device 214 to device 208. Links 210 and 212 are
`
`shown as separate unidirectional links for illustration; in
`some embodiments a single bi-directional communication
`link performs communication in both directions. It should be
`appreciated that link 210 and link 212 are not necessarily
`identical in type, bandwidth or capability. For example, com-
`munication link 210 from computing device 208 to elf-pro-
`pelled device 214 is often capable of a higher communication
`rate and bandwidth compared to link 212. In some situations,
`only one link 210 or 212 is established. In such an embodi-
`ment, communication is unidirectional.
`[0065] The computing device 208 can correspond to any
`device comprising at least a processor and communication
`capability suitable for establishing at least uni-directional
`communications with self-propelled device 214. Examples of
`such devices include, without limitation: mobile computing
`devices (e.g., multifunctional messaging/voice communica-
`tion devices such as smart phones), tablet computers, portable
`communication devices and personal computers. In one
`embodiment, device 208 is an IPHONE available from
`APPLE COMPUTER, INC. of Cupertino, Calif. In another
`embodiment, device 208 is an IPAD tablet computer, also
`from APPLE COMPUTER. In another embodiment, device
`208 is any of the handheld computing and communication
`appliances executing the ANDROID operating system from
`
`GOOGLE, INC.
`[0066]
`In another embodiment, device 208 is a personal
`computer, in either a laptop or desktop configuration. For
`example, device 208 is a mufti-purpose computing platform
`running the MICROSOFT WINDOWS operating system, or
`the LINUX operating system, or the APPLE OS/X operating
`system, configured with an appropriate application program
`to communicate with self-propelled device 214.
`[0067]
`In variations, the computing device 208 can be a
`specialized device, dedicated for enabling the user 202 to
`control and interact with the self-propelled device 214.
`[0068]
`In one embodiment, multiple types of computing
`device 208 can be used interchangeably to communicate with
`the self-propelled device 214. In one embodiment, self-pro-
`pelled device 214 is capable of communicating and/or being
`controlled by multiple devices (e. g., concurrently or one at a
`time). For example, device 214 can link with an IPHONE in
`one session and with anANDROID device in a later session,
`without modification of device 214.
`
`
`
`may be at least partially self-controlled, utilizing sensors and
`internal programming logic to control the parameters of its
`movement (e.g., velocity, direction, etc.). Still further, the
`self-propelled device 214 can communicate data relating to
`the device’s position and/or movement parameters for the
`purpose ofgenerating or alternating content on the computing
`device 208. In additional variations, self-propelled device
`214 can control aspects of the computing device 208 by way
`of its movements andlor internal programming logic.
`[0059] As described herein, the self-propelled device 214
`may have multiple modes of operation, including those of
`operation in which the device is controlled by the computing
`device 208, is a controller for another device (e.g., another
`self-propelled device or the computing device 208), and/or is
`partially or wholly self-autonomous.
`[0060] Additionally, embodiments enable the self-pro-
`pelled device 214 and the computing device 208 to share a
`computing platform on which programming logic is shared,
`in order to enable, among other features, functionality that
`includes: (i) enabling the user 202 to operate the computing
`device 208 to generate multiple kinds of input, including
`simple directional
`input, command input, gesture input,
`motion or other sensory input, voice input or combinations
`thereof; (ii) enabling the self-propelled device 214 to interpret
`input received from the computing device 208 as a command
`or set of commands; and/0r (iii) enabling the self-propelled
`device 214 to communicate data regarding that device’s posi-
`tion, movement and/or state in order to effect a state on the
`computing device 208 (e.g., display state, such as content
`corresponding to a controller-user interface). Embodiments
`further provide that the self-propelled device 214 includes a
`programmatic interface that facilitates additional program-
`ming logic and/or instructions to use the device. The comput-
`ing device 208 can execute programming that is communica-
`tive with the programming logic on the self-propelled device
`214.
`
`the self-propelled
`[0061] According to embodiments,
`device 214 includes an actuator or drive mechanism causing
`motion or directional movement. The self-propelled device
`214 may be referred to by a number of related terms and
`phrases, including controlled device, robot, robotic device,
`remote device, autonomous device, and remote-controlled
`device. In some embodiments, the self-propelled devic

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket