`
`SYSTEM
`
`RELATED APPLICATIONS
`
`[001]
`
`This application claims priority to (i) U.S Provisional Patent
`
`Application Serial No. 61/430,023, entitled “Method and System for
`
`Controlling a Robotic Device,” filed January 5, 2011; (ii) U.S Provisional
`
`Patent Application Serial No. 61/430,083, entitled “Method and System for
`
`Establishing 2-Way Communication for Controlling a Robotic Device,” filed
`
`January 5, 2011; and (iii) U.S. Provisional Patent Application Serial No.
`
`61/553,923, entitled "A Self-propelled Device and System and Method for
`
`Controlling Same,” filed October 31, 2011; all of the aforementioned
`
`priority applications are hereby incorporated by reference in their
`
`respective entirety.
`
`FIELD OF THE INVENTION
`
`[002]
`
`Embodiments described herein generally relate to a self-
`
`propelled device, and more specifically, a self-propelled device with an
`
`actively engaged drive system.
`
`BACKGROUND
`
`[003]
`
`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 initially powered by inertia or mechanical energy storage in
`
`devices such as coiled springs. As technology has evolved, new ways of
`
`applying and controlling these devices have been invented.
`
`
`
`OTIX.P003
`
`Page 1
`
`lPR2017-01272
`
`Spin Master EX1005 Page 1
`
`IPR2017-01272
`Spin Master EX1005 Page 1
`
`
`
`Today, technology is available from robotics, high energy-density battery
`
`systems, sophisticated wireless communication 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
`
`[004]
`
`FIG. 1 is a schematic depiction of a self-propelled device,
`
`according to one or more embodiments.
`
`[005]
`
`FIG. 2A is a schematic depiction of an embodiment comprising
`
`a self-propelled device and a computing device, under an embodiment.
`
`[006]
`
`FIG. ZB depicts a system comprising computing devices and
`
`self-propelled devices, according to another embodiment.
`
`[007]
`
`FIG. 2C is a schematic that illustrates a system comprising a
`
`computing device and multiple self-propelled devices, under another
`
`embodiment.
`
`[008]
`
`FIG. 3 is a block diagram illustrating the components of a self-
`
`propelled device that is in the form of a robotic, spherical ball, in
`
`accordance with an embodiment.
`
`[009]
`
`FIG. 4A, 4B, and 4C illustrate a technique for causing
`
`controlled movement of a spherical self-propelled device, in accordance
`
`with one or more embodiments.
`
`[010]
`
`FIG. 5 further illustrates a technique for causing motion of a
`
`self-propelled spherical device, according to an embodiment.
`
`[011]
`
`FIG. 6 is a block diagram depicting a sensor array and data
`
`flow, according to an embodiment.
`
`[012]
`
`FIG. 7 illustrates a system including a self-propelled device,
`
`and a controller computing device that controls and interacts with the self-
`
`propelled device, according to one or more embodiments.
`
`
`
`OTIX.POO3
`
`Page 2
`
`lPR2017-01272
`
`Spin Master EX1005 Page 2
`
`IPR2017-01272
`Spin Master EX1005 Page 2
`
`
`
`[013]
`
`FIG. 8A illustrates a more detailed system architecture for a
`
`self-propelled device and system, according to an embodiment.
`
`[014]
`
`FIG. BB illustrates the system architecture of a computing
`
`device, according to an embodiment.
`
`[015]
`
`FIG. 8C illustrates a particular feature of code execution,
`
`according to an embodiment.
`
`[016]
`
`FIG. 8D illustrates an embodiment in which a self—propelled
`
`device 800 implements control using a three-dimensional reference frame
`
`and control input that is received from another device that utilizes a two-
`
`dimensional reference frame, under an embodiment.
`
`[017]
`
`FIG. 9 illustrates a method for operating a self-propelled
`
`device using a computing device, according to one or more embodiments.
`
`[018]
`
`FIG. 10 illustrates a method for operating a computing device
`
`in controlling a self-propelled device, according to one or more
`
`embodiments.
`
`[019]
`
`FIG. 11A through FIG. 11C illustrate an embodiment 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.
`
`[020]
`
`FIG. 11D illustrates a method for calibrating a user-interface
`
`for orientation based on an orientation of the self-propelled device,
`
`according to an embodiment.
`
`[021]
`
`FIG. 12A and FIG. 128 illustrate different interfaces that can
`
`be implemented on a controller computing device.
`
`[022]
`
`FIG. 13A through FIG. 13C illustrate a variety of inputs that
`
`can be entered on a controller computing device to operate a self-
`
`propelled device, according to an embodiment.
`
`[023]
`
`FIG. 14A illustrates a system in which a self-propelled device
`
`is represented in a virtual environment while the self-propelled device
`
`operates in a real-world environment, under an embodiment.
`
`
`
`OTIX.POO3
`
`Page 3
`
`lPR2017-01272
`
`Spin Master EX1005 Page 3
`
`IPR2017-01272
`Spin Master EX1005 Page 3
`
`
`
`[024]
`
`FIG. 14B and FIG. 14C illustrate an application in which a self—
`
`propelled device acts as a fiducial marker, according to an embodiment.
`
`[025]
`
`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.
`
`[026]
`
`FIG. 16A and 16B illustrate a method of collision detection,
`
`according to an embodiment.
`
`DETAILED DESCRIPTION
`
`[027]
`
`In an embodiment, a self-propelled device is provided, which
`
`includes a drive 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 continuously engage an interior of the spherical housing in
`
`order to cause the spherical housing to move.
`
`[028]
`
`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 control 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.
`
`[029]
`
`Still further, another embodiment provides a system 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.
`
`
`
`OTIX.POO3
`
`Page 4
`
`lPR2017-01272
`
`Spin Master EX1005 Page 4
`
`IPR2017-01272
`Spin Master EX1005 Page 4
`
`
`
`[030]
`
`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 operable by a user to control the
`
`self-propelled device. The controller 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.
`
`[031]
`
`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-propelled device,
`
`and configure the user interface to reflect the orientation of the self-
`
`propelled device.
`
`[032]
`
`In still another embodiment, 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 communication port, map each of the one or more inputs to a
`
`command 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 processor processes one or more
`
`
`
`OTIX.POO3
`
`Page 5
`
`|PR2017-01272
`
`Spin Master EX1005 Page 5
`
`IPR2017-01272
`Spin Master EX1005 Page 5
`
`
`
`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.
`
`[033]
`
`Still further, embodiments enable a controller device to include
`
`an object or virtual representation of the self-propelled device.
`
`[034]
`
`TERMS
`
`[035]
`
`As used herein, the term “substantially” means at least almost
`
`entirely. In quantitative terms, “substantially” means at least 80% of a
`
`stated reference (e.g., quantity of shape).
`
`[036]
`
`In similar regard, “spherical” or “sphere” means “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.
`
`[037]
`
`OVERVIEW
`
`[038]
`
`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 configured with resources that enable one or more of the following:
`
`(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-propelled device;
`
`
`
`OTIX.POO3
`
`Page 6
`
`|PR2017-01272
`
`Spin Master EX1005 Page 6
`
`IPR2017-01272
`Spin Master EX1005 Page 6
`
`
`
`and/or (iv) generate an output response for its movement and state that
`
`it is software interpretable by the control device.
`
`[039]
`
`In an embodiment, self-propelled device 100 includes several
`
`interconnected subsystems and modules. Processor 114 executes
`
`programmatic instructions from program 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 configured to execute different
`
`programs of programming instructions, in order to alter the manner in
`
`which the self—propelled device 100 interprets or otherwise responds to
`
`control input from another computing device.
`
`[040]
`
`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 and/or position information, that is communicated
`
`to the controller device via the wireless communication port. The mobility
`
`of the device makes wired connections undesirable;the term “connection”
`
`should be understood to mean a logical connection made without a
`
`physical attachment to self-propelled device 100.
`
`[041]
`
`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.
`
`
`
`OTIX.P003
`
`Page 7
`
`|PR2017-01272
`
`Spin Master EX1005 Page 7
`
`IPR2017-01272
`Spin Master EX1005 Page 7
`
`
`
`[042]
`
`Sensors 112 provide information about the surrounding
`
`environment 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 position relative to
`
`the initial reference frame after the device initiates movement. In various
`
`embodiments, sensors 112 include instruments for detecting light,
`
`temperature, humidity, or measuring chemical concentrations or
`
`radioactivity.
`
`[043]
`
`State/variable memory 106 stores information about the
`
`present state of the system, including, for example, position, orientation,
`
`rates of rotation and translation in each axis. The state/variable memory
`
`106 also stores information corresponding to an initial reference frame of
`
`the device upon, for example, the device being put in use (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 orientation information of the device 100
`
`once the device starts moving.
`
`[044]
`
`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 embodiment, 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.
`
`[045]
`
`Expansion port 120 provides a connection for addition 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
`
`
`
`OTIX.POO3
`
`Page 8
`
`|PR2017-01272
`
`Spin Master EX1005 Page 8
`
`IPR2017-01272
`Spin Master EX1005 Page 8
`
`
`
`hardware, storage, displays, or actuators to the basic self-propelled device
`
`100.
`
`[046]
`
`In one embodiment, expansion port 120 provides an interface
`
`capable of communicating with a suitably configured component using
`
`analog or digital signals. In various embodiments, expansion port 120
`
`provides electrical interfaces and protocols that are standard or well-
`
`known. In one embodiment, expansion port 120 implements an optical
`
`interface. Exemplary interfaces appropriate for expansion port 120 include
`
`the Universal Serial Bus (USB), Inter-Integrated Circuit Bus (IZC), Serial
`
`Peripheral Interface (SP1), or ETHERNET.
`
`[047]
`
`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 combinations 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.”
`
`[048]
`
`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 specialized 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 mixtures.
`
`[049]
`
`In one embodiment, display 118 includes an LED array
`
`comprising several LEDs, each emitting a human—visible 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
`
`
`
`OTIX.POO3
`
`Page 9
`
`|PR2017-01272
`
`Spin Master EX1005 Page 9
`
`IPR2017-01272
`Spin Master EX1005 Page 9
`
`
`
`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 of
`
`primary colors and white LEDs are used.
`
`[050]
`
`In one embodiment, display 118 includes an LED used to
`
`indicate a reference point on device 100 for alignment.
`
`[051]
`
`Power 124 stores energy for operating the electronics 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
`
`embodiment, charge port 128 provides a wireless communication interface
`
`with an external charging device.
`
`[052]
`
`Deep sleep sensor 122 puts the self-propelled device 100 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.
`
`[053]
`
`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.
`
`[054]
`
`Actuators 126 convert electrical energy into mechanical
`
`energy for various uses. A primary use of actuators 126 is to propel and
`
`steer self-propelled device 100. Movement and steering actuators are also
`
`
`
`OTIX.POO3
`
`Page 10
`
`lPR2017-01272
`
`Spin Master EX1005 Page 10
`
`IPR2017-01272
`Spin Master EX1005 Page 10
`
`
`
`referred to as a drive system or traction system. The drive system moves
`
`device 100 in rotation and translation, under control of processor 114.
`
`Examples of actuators 126 include, without limitation, wheels, motors,
`
`solenoids, propellers, paddle wheels and pendulums.
`
`[055]
`
`In one embodiment, drive system actuators 126 include two
`
`parallel wheels, each mounted to an axle connected 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.
`
`[056]
`
`However, it should be appreciated that actuators 126, in
`
`various embodiments, produce a variety of movements in addition to
`
`merely rotating and translating device 100. In one embodiment, actuators
`
`126 cause device 100 to execute communicative or emotionally evocative
`
`movements, 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
`
`patterns of colored light. In one embodiment, device 100 emits light or
`
`sound patterns synchronized with movements.
`
`[057]
`
`In one embodiment, self-propelled device 100 is used as a
`
`controller for other network-connected devices. Device 100 contains
`
`sensors and wireless communication 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.
`
`[058]
`
`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
`
`
`
`OTIX.POO3
`
`Page 11
`
`|PR2017-O1272
`
`Spin Master EX1005 Page 11
`
`IPR2017-01272
`Spin Master EX1005 Page 11
`
`
`
`by programming logic and/or controls that can originate from a controller
`
`device 208. The self-propelled device 214 is capable of movement 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
`
`communication protocol. In variations, the self-propelled 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 of generating 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
`
`and/or internal programming logic.
`
`[059]
`
`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.
`
`[060]
`
`Additionally, embodiments enable the self-propelled 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/or (iii) enabling the
`
`self-propelled device 214 to communicate data regarding that device’s
`
`
`
`OTIX.P003
`
`Page 12
`
`|PR2017-O1272
`
`Spin Master EX1005 Page 12
`
`IPR2017-01272
`Spin Master EX1005 Page 12
`
`
`
`position, 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 programming logic and/or instructions to use the device. The
`
`computing device 208 can execute programming that is communicative
`
`with the programming logic on the self-propelled device 214.
`
`[061]
`
`According to embodiments, the self-propelled 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 device 214 can be structured to
`
`move and be controlled in various media. For example, self-propelled
`
`device 214 can be configured for movement in media such as on flat
`
`surfaces, sandy surfaces or rocky surfaces.
`
`[062]
`
`The self-propelled device 214 may be implemented in various
`
`forms. As described below and with an embodiment of FIG. 3, the self-
`
`propelled device 214 may correspond to a spherical object that can roll
`
`and/or perform other movements such as spinning. In variations, device
`
`214 can correspond to a radio-controlled aircraft, such as an airplane,
`
`helicopter, hovercraft or balloon. In other variations, device 214 can
`
`correspond to a radio controlled watercraft, such as a boat or submarine.
`
`Numerous other variations may also be implemented, such as those in
`
`which the device 214 is a robot.
`
`[063]
`
`In one embodiment, device 214 includes a sealed hollow
`
`envelope, roughly spherical in shape, capable of directional movement by
`
`action of actuators inside the enclosing envelope.
`
`
`
`OTIX.POO3
`
`Page 13
`
`lPR2017-01272
`
`Spin Master EX1005 Page 13
`
`IPR2017-01272
`Spin Master EX1005 Page 13
`
`
`
`[064]
`
`Continuing to refer to FIG. 2A, device 214 is configured to
`
`communicate with computing device 208 using network communication
`
`links 210 and 212. Link 210 transfers 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, communication link 210 from computing device 208 to elf-
`
`propelled 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 embodiment, communication is
`
`unidirectional.
`
`[065]
`
`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 communication
`
`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, California. 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.
`
`[066]
`
`In another embodiment, device 208 is a personal computer, in
`
`either a laptop or desktop configuration. For example, device 208 is a
`
`multi-purpose computing platform running the MICROSOFT WINDOWS
`
`operating system, or the LINUX operating system, or the APPLE OS/X
`
`
`
`OTIX.POO3
`
`Page 14
`
`|PR2017-O1272
`
`Spin Master EX1005 Page 14
`
`IPR2017-01272
`Spin Master EX1005 Page 14
`
`
`
`operating system, configured with an appropriate application program to
`
`communicate with self—propelled device 214 .
`
`[067]
`
`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.
`
`[068]
`
`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-propelled 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 an ANDROID device in a later session,
`
`without modification of device 214.
`
`[069]
`
`According to embodiments, the user 202 can interact with the
`
`self-propelled device 214 via the computing device 208, in order to control
`
`the self-propelled device and/or to receive feedback or interaction on the
`
`computing device 208 from the self-propelled device 214. According to
`
`embodiments, the user 202 is enabled to specify input 204 through
`
`various mechanisms that are provided with the computing device 208.
`
`Examples of such inputs include text entry, voice command, touching a
`
`sensing surface or screen, physical manipulations, gestures, taps, shaking
`
`and combinations of the above.
`
`[070]
`
`The user 202 may interact with the computing device 208 in
`
`order to receive feedback 206. The feedback 206 may be generated on
`
`the computing device 208 in response to user input. As an alternative or
`
`addition, the feedback 206 may also be based on data communicated
`
`from the self—propelled device 214 to the computing device 208,
`
`regarding, for example, the self-propelled device’s position or state.
`
`Without limitation, examples of feedback 206 include text display,
`
`graphical display, sound, music, tonal patterns, modulation of color or
`
`
`
`OTIX.POO3
`
`Page 15
`
`lPR2017-01272
`
`Spin Master EX1005 Page 15
`
`IPR2017-01272
`Spin Master EX1005 Page 15
`
`
`
`intensity of light, haptic, vibrational or tactile stimulation. The feedback
`
`206 may be combined with input that is generated on the computing
`
`device 208. For example, the computing device 208 may output content
`
`that is modified to reflect position or state information communicated from
`
`the self-propelled device 214.
`
`[071]
`
`In some embodiments, the computing device 208 and/or the
`
`self-propelled device 214 are configured such that user input 204 and
`
`feedback 206 maximize usability and accessibility for a user 202, who has
`
`limited sensing, thinking, perception, motor or other abilities. This allows
`
`users with handicaps or special needs to operate system 200 as described.
`
`[072]
`
`It should be appreciated that the configuration illustrated in
`
`the embodiment of FIG. 2A is only one of an almost unlimited number of
`
`possible configurations of networks including a self-propelled device with
`
`communication connections. Furthermore, while numerous embodiments
`
`described herein provide for a user to operate or otherwise directly
`
`interface with the computing device in order to control and/or interact
`
`with a self—propelled device, variations to embodiments described
`
`encompass enabling the user to directly control or interact with the self—
`
`propelled device 214 without use of an intermediary device such as
`
`computing device 208.
`
`[073]
`
`FIG. 2B depicts a system 218 comprising computing devices
`
`and self-propelled devices, according to another embodiment. In the
`
`example provided by FIG. 2B, system 218 includes two computing devices
`
`220 and 228, four self—propelled devices 224, 232, 236, and 238, and
`
`communication links 222, 226, 230, 234 and 239. The communication of
`
`computing device 220 with self—propelled device 224 using link 222 is
`
`similar to the embodiment depicted in network 200 of FIG. 2A; however,
`
`embodiments such as those shown enable additional communication to be
`
`
`
`OTIX.P003
`
`Page 16
`
`|PR2017-01272
`
`Spin Master EX1005 Page 16
`
`IPR2017-01272
`Spin Master EX1005 Page 16
`
`
`
`established between two computing devices 220 and 228, via network link
`
`226.
`
`[074]
`
`According to an embodiment such as provided with system
`
`218, the computing devices 220, 228 may optionally control more than
`
`one self-propelled device. Furthermore, each self-propelled device 224,
`
`232, 236, 238 may be controlled by more than one computing device 220,
`
`228. For example, embodiments provide that computing device 228 can
`
`establish multiple communications links, including with self—propelled
`
`devices 232 and 236, and computing device 220.
`
`[075]
`
`In variations, the computing devices 220, 228 can also
`
`communicate with one or more self-propelled devices using a network
`
`such as the Internet, or a local wireless network (e.g., a home network).
`
`For example, the computing device 228 is shown to have a
`
`communications link 239, which can connect the computing device to an
`
`Internet server, a web site, or to another computing device at a remote
`
`location. In some embodiments, the computing device 228 can serve as
`
`an intermediary between the network source and a self-propelled device.
`
`For example, the computing device 228 may access programming from
`
`the Internet and communicate that programming to one of the self