FIELD
[0001] The embodiments discussed in the present disclosure are related to a construction
toy with programmable connectors.
BACKGROUND
[0002] Construction toys have been available in relatively the same state for a number of
years. Example construction toys may include LegosĀ® and Lincoln LogsĀ®. Construction
toys may be used for enjoyment as well as for learning and teaching.
[0003] The subject matter claimed in the present disclosure is not limited to embodiments
that solve any disadvantages or that operate only in environments such as those described
above. Rather, this background is only provided to illustrate one example technology
area where some embodiments described may be practiced. Furthermore, unless otherwise
indicated, the materials described in the background section are not prior art to
the claims in the present application and are not admitted to be prior art by inclusion
in this section.
SUMMARY
[0004] According to an embodiment, a construction toy may include a housing and a connector
coupled to the housing. The connector may be configured to selectively couple the
construction toy to a second construction toy. The connector may be adjustable between
at least two connectivity states. The construction toy may also include an operating
assembly configured to adjust the connector between the at least two connectivity
states. The construction toy may further include a power source configured to supply
power to at least the operating assembly.
[0005] The advantages of the implementations will be realized and achieved at least by the
elements, features, and combinations particularly pointed out in the claims.
[0006] It is to be understood that both the foregoing general description and the following
detailed description are given as examples and explanatory and are not restrictive
of the invention, as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Example embodiments will be described and explained with additional specificity and
detail through the use of the accompanying drawings in which:
Figure 1 illustrates an example construction toy with one or more controllable connectors;
Figure 2 illustrates a block diagram of an example operating environment in which
some embodiments may be implemented;
Figure 3 illustrates an example operating assembly;
Figures 4A, 4B and 4C illustrate three different connectivity states of the operating
assembly of Figure 3;
Figure 5 illustrates another embodiment of a construction toy that includes a housing
and at least one electromagnetic connector;
Figure 6 illustrates another example operating assembly;
Figure 7 illustrates a flow diagram of an example method to control one or more connectors
of one or more construction toys;
Figure 8 illustrates a flow diagram of an example method to send sensor data to a
host computer device;
Figure 9 illustrates a flow diagram of an example method to execute instructions on
a construction toy;
Figure 10 illustrates a flow diagram of an example method to manage connections of
a construction toy with alien connectors of an adjacent construction toy;
Figure 11 illustrates a flow diagram of an example method 1100 to detect whether an
alien connector has been disconnected from a construction toy;
Figure 12 illustrates a flow diagram of an example method to assist a player to play
with a set of construction toys; and
Figure 13 illustrates a diagrammatic representation of a machine in the example form
of a computing device within which a set of instructions, for causing the machine
to perform any one or more of the methods discussed herein, may be executed.
DESCRIPTION OF EMBODIMENTS
[0008] Often, construction toys include blocks with connectors. These connectors allow multiple
toy blocks to be joined structurally and/or electrically, in order to form a larger
structure and sometimes to transfer electrical power and/or electronic signals. Most
connectors include solid, non-movable components, which may include a protruding stud
(male connector) and a recessed opening seat (female connector) for snugly holding
the male connector. Some construction toys may include embedded mechanical and electrical
features, such as batteries, switches, sensors, motors, lights, speakers, etc. Further,
construction toys may also include programmable processors and communication chips
to, for example, connect to a nearby computing device (e.g., a computer), accept commands
from the computer, execute a preconfigured computer program, activate function elements
(e.g., driving a motor, turning on lights, making sound, etc.), and send sensor data
back to the computer. Conventional construction toys, however, may not include connectors
with multiple predefined transformable states. Further, conventional construction
toys may not include connectors that may be controlled or programmed to redirect a
person (e.g., a "player") using the construction toys to use a different connection,
which may assist and/or add play value to the player.
[0009] Embodiments of the present disclosure pertain to a construction toy with one or more
controllable connectors for connecting multiple blocks structurally and/or electrically.
The connectors may be controlled remotely and/or programmatically. In at least one
embodiment, the one or more connectors may be controlled and/or programmed in order
to provide assistance and to add play value. Further, the construction toy described
may include autonomous construction modeling, assessment, and intervention system
in the form of a building set of construction toys in which a remote helper, without
being present, may model the construction being made from the construction toys, assess
the variability of the constructions a player has made, provide assistance or add
challenge to the player. The helper is not limited to a human helper and may include
a computer program. In at least one embodiment, the disclosed construction toy may
be used to help teach children to follow directions or avoid repetitive plays.
[0010] In one embodiment, a method may include establishing, by a construction toy, a connection
to a host computer device via a wireless network. The construction toy includes a
sensor to detect a location characteristic and a first connector being configured
to selectively couple the construction toy to a second construction toy. The first
connector may be adjustable between at least two connectivity states. The method may
also include sending the location characteristic to the host computer device. The
method may further include receiving, by the construction toy, an instruction from
the host computer device to change a connectivity state of the first connector to
a first connectivity state. The instruction may be based on the location characteristic.
The method may also include causing the connectivity state of the first connector
to change to the first connectivity state.
[0011] Figure 1 illustrates an example construction toy 100 with one or more controllable
connectors. The one or more controllable connectors may be adjustable between at least
two connectivity states so as to allow, encourage, discourage or prevent connection
of the construction toy 100 to an adjacent construction toy. In at least one embodiment,
the connectivity states include male, female, and neutral states. In at least one
alternative embodiment, the connectivity states may include enabled and disabled states.
[0012] The construction toy 100 may include a housing 105 of any shape or size. The housing
105 may include any number of sides or walls. The housing 105 may include a solid
piece of material and may also include one or more cavities for various components,
such as a sensor, operating assembly, etc., as described below. As illustrated, the
housing 105 includes a cube with six external walls to form six sides. The housing
105 may include any number of sides.
[0013] The construction toy 100 may also include one or more controllable connectors 110.
As illustrated, the construction toy 100 includes three connectors- a male state connector
110a, a neutral state connector 110b, and a female state connector 110c. As illustrated,
the connectors 110a, 110b, 110c may include a shape with a square profile. The connectors
110a, 110b, 110c may be any shape or size. The construction toy 100 may include any
number of connectors 110 and any number of connectors 110 may be positioned on a particular
side on the construction toy 100.
[0014] The housing 105 may also include one or more cavities or voids through which the
one or more connectors 110 may be coupled. As illustrated, the cavities in the housing
are substantially the same shape as the connectors 110 with the square profile. The
male state connector 110a may extend through a first cavity and outward with respect
to the housing 105. The male state connector 110a may be configured to fit within
a female state connector of an adjacent construction toy (not illustrated). The female
state connector 110c may be recessed in a second cavity with respect to an outer surface
of the housing of the adjacent construction toy. The neutral state connector 110b
may be substantially parallel with an outer surface of the housing 105 such that the
neutral state connector 110b may be flush with the outer surface of the housing 105.
[0015] The construction toy 100 may be part of a set of construction toys that may be connected
to and decoupled from each other. Each construction toy in the set be associated with
a block identifier. Similarly, each connector on each construction toy in the set
may be associated with a connector identifier. In at least one embodiment, the connector
identifier may be associated with a respective construction toy. For example, a construction
toy may include a block identifier "ABC123" and a first connector of the construction
toy may include a first connector identifier "ABC123:001", a second connector of the
construction toy may include a second connector identifier "ABC 123:002", a third
connector of the construction toy may include a third connector identifier "ABC123:003",
and so on. The connector identifiers may also be associated with a block map that
identifies the location of each of the connector with respect to each other. For example,
a cube-shaped construction toy 100 may have six connectors with one connector on each
face. The block map may include the six faces as locations for the six connectors.
The block identifiers may be integrated into the block map, such that the first connector
identifier "ABC 123:001" is indicative of the first connector being on a first of
the six faces, the second connector identifier "ABC 123:002" being indicative of the
second connector being on a second of the six faces, and so on. In at least one alternative
embodiment, the location of the connector with respect to the construction toy 100
is separate from the block identifier and the connector identifier. The block identifier,
the block map, and the connector identifier may be stored on another device, such
as on another construction toy or a host computer device.
[0016] Each construction toy in the set may include at least one location sensor capable
of reading its location relative to adjacent construction toys that are near or connected
to the construction toy. The location sensor may also be capable of reading a location
of an adjacent construction toy relative to the construction toy. Each construction
toy in the set may selectively control its respective connectors in response to predefined
rules and its location relative to adjacent blocks that are near or connected to the
construction toy. For example, each construction toy in the set may selectively control
its respective connectors to retract a connector to prevent repetitive behavior, to
guide a player to build the construction toys in a new directions, or to detect and
manage repetitive patterns, as further described below.
[0017] Figure 2 illustrates a block diagram of an example operating environment in which
some embodiments may be implemented. The operating environment 200 may include a construction
toy 205 and a host computer device 210. The construction toy 205 may be the same as
or similar to the construction toy 100 of Figure 1. The host computer device 210 may
monitor construction of a set of construction toys and may determine transformations
to be performed on connectors of the construction toys. The construction toy 205 may
detect and send location data to the host computer device 210 and execute received
commands. The construction toy 205 may include an energy storage element 220, one
or more sensors 225, a computing control element 230, an operating assembly 235, and
a communication element 240.
[0018] The construction toy 205 may be part of a set of construction toys that may be coupled
to and decoupled from each other. Each construction toy in the set may include at
least one sensor 225 capable of reading its location relative to adjacent blocks that
are near or connected to the construction toy. The at least one sensor 225 may also
be capable of reading a location of an adjacent construction toy relative to the construction
toy 205. Each construction toy may also include a programmable computing control element
to execute computer programs and to operate the connectors.
[0019] The energy storage element 220 may supply electrical power to the one or more sensors
225 computing control element 230, operating assembly 235, and communication element
240. The energy storage element 220 may include a charging device and/or an energy
conversion component that may transform power in real time. The energy storage element
220 may include a battery or other similar device configured to store energy.
[0020] The one or more sensors 225 may be configured to detect a characteristic of an adjacent
construction toy. The characteristic of the adjacent construction toy may include
proximity, location, motion, position, orientation, temperature, emitted or reflected
light, radio frequency identification (RFID), etc. The one or more sensors 225 may
include a proximity sensor, NFC sensor, sonar sensor, infrared sensor, temperature
sensor, light sensor, motion sensor, accelerometer, gyroscope, orientation sensor,
etc. to detect the characteristic of the adjacent construction toy. The one or more
sensors 225 may be operatively connected to the computing control element 230 and
the one or more sensors 225 may send data to the computing control element 230. For
example, a sensor 225 may detect that the construction toy 100 has been operatively
coupled to an adjacent construction toy. The sensor 225 may send data indicative of
the coupling - including a block identifier of the construction toy 205, a connector
identifier of the construction toy 205 that was coupled to the adjacent construction
toy, a block identifier of the adjacent construction toy, a connector identifier of
the adjacent construction toy, etc. Alternatively, each construction toy may gather
and report data for itself and not for other construction toys. For example, the sensor
225 may send data indicative of the coupling - including a block identifier of the
construction toy 205, a connector identifier of the construction toy 205 that was
coupled to the adjacent construction toy, etc. The adjacent construction toy may send
a respective a block identifier of the adjacent construction toy, a connector identifier
of the adjacent construction toy, etc. The sensor data may be sent to the computer
control element 230, to the communication element 240 and/or to the host computer
device 210. Using these and other techniques, data pertaining to the coupling of construction
toys may be collected and sent to the host computer device 210.
[0021] The computing control element 230 may include a processor to execute instructions
and operate the operating assembly 235. The computing control element 230 may include
processing logic to control the operating assembly 235 to change state of one or more
connectors. The computing control element 230 may include a programmable computer
element. The computing control element 230 may receive instructions from the host
computer device 210 pertaining to the control of the one or more connectors. The instructions
may relate to changing a state of one or more connectors to encourage or discourage
certain behavior of the player of the construction toy 205, as further described below.
[0022] The operating assembly 235 may include a connector and a mechanism to change the
state of the connector. An example operating assembly 235 may include an actuator
and a shaft coupled to the connector to actuate the connector to different connectivity
states, as further described in conjunction with Figures 3, 4A, 4B and 4C. Another
example operating assembly 235 may include a magnetic or electromagnetic connector
that may be selectively powered to change the connectivity state of the connector,
as further described in conjunction with Figures 5 and 6.
[0023] The communication element 240 may be attached to the computing control element 230
to communicate with a paired host computer device 210. The communication element 240
may connect to any other device, such as the host computer device 210, using any form
of wireless communication capability. In some embodiments, the communication element
240 may include a radio frequency (RF) antenna. By way of example and not limitation,
the communication element 240 may be configured to provide, via wireless mechanisms,
LAN connectivity, Bluetooth connectivity, Wi-Fi connectivity, NFC connectivity, M2M
connectivity, D2D connectivity, GSM connectivity, 3G connectivity, 4G connectivity,
LTE connectivity, any other suitable communication capability, or any suitable combination
thereof. The construction toy 205 may include any number of communication elements
240. The construction toy 205 may connect to any network, such as wide area networks
(WANs) and/or local area networks (LANs). For example, secured and/or encrypted data
may be exchanged between the construction toy 205 and the host computer device 210.
In some embodiments, the network includes the Internet, including a global internetwork
formed by logical and physical connections between multiple WANs and/or LANs. Alternately
or additionally, the network may include one or more cellular RF networks and/or one
or more wired and/or wireless networks such as, but not limited to, 802.xx networks,
Bluetooth access points, wireless access points, IP-based networks, meshed devices,
or the like. The network may also include one or more servers that enable one type
of network to interface with another type of network.
[0024] The host computer device 210 may include one or more client or server computing devices,
(such as a personal computer (PC), game console, set top box, laptop, mobile phone,
smart phone, tablet computer, netbook computer, e-reader, personal digital assistant
(PDA), or cellular phone, wearable device, electronic wristwatch, arm band, chest
strap, head band, bracelet, wristband, rackmount server, a router computer, a server
computer, a personal computer, a mainframe computer, a laptop computer, a web server,
a proxy server, a desktop computer, etc.), data stores (e.g., hard disks, memories,
databases), networks, software components, and/or hardware components. The host computer
device 210 may include a play assistance manager 245.
[0025] The play assistance manager 245 may generate instructions to control various the
connectivity state of connectors in a set of construction toys, including the construction
toy 205. The play assistance manager 245 may receive data from the one or more sensors
225 via the communication element 240. The play assistance manager 245 may use the
received data to determine when to change a state of one or more connectors. The play
assistance manager 245 may include a set of predetermined rules that indicate when
to change a state of one or more connectors. The predetermined rules may include one
or more conditions for a change of state of a connector. When the play assistance
manager 245 determines (based on sensor data) that a player is engaging in repetitive
behavior when playing with the construction toys, for example, the play assistance
manager 245 may generate an instruction to change the connectivity state of one or
more connectors to encourage the player to engage in different techniques to play
with the construction toys. In some embodiments, the play assistance manager 245 may
include a stand-alone application ("app") that may be downloadable either directly
from a host or from an application store.
[0026] The play assistance manager 245 may also generate and/or manage a construction model
that may include a set of instructions for building a particular object. The construction
model may also include a set of guided instructions to encourage learning and/or a
particular behavior. The construction model may also include a digital (e.g., graphical)
representation of a current configuration of the set of construction toys. For example,
when the player builds a house out of the set of construction toys, the construction
model may be a digital representation of the house. The construction model may also
guide the player on how to build a particular object. The construction model may include
the current configuration of the set of construction toys and one or more locations
for where to place the next construction toy to build the particular object. A helper
may observe the digital representation of the set of construction toys and may define
an instruction to be sent to the construction toy 205. For example, when the helper
identifies a particular undesired behavior of the player, the helper may define an
instruction to discourage or prevent the particular undesired behavior of the player.
The instruction may include an instruction to disable connections between some or
all of construction toys.
[0027] Figure 3 illustrates an example operating assembly 300. The operating assembly 300
may be the same as or similar to the operating assembly 235 described in conjunction
with Figure 2. As illustrated, the operating assembly 300 includes a connector 110,
a shaft 310, and an actuator 315. The connector 110 may be coupled to the shaft 310
which may be coupled to the actuator 315 such that movement of the actuator 315 and/or
the shaft 310 may cause translational movement of the connector 110 with respect to
an outer surface of the housing 105. In at least one embodiment, the actuator 315
may cause rotational movement of the shaft 310. The shaft 310 may be coupled to the
actuator on a first end and may have threads on a second end. The connector 110 may
include threads that may be coupled to the shaft 310 at the threaded end of the shaft
310. The connector 110 may be rotationally fixed such that rotational movement of
the connector 110 may be restricted. In this configuration, rotational movement of
the shaft 310 may cause the connector 110 to laterally translate out of and into the
housing 105.
[0028] The operating assembly 300 may also include a sensor 320 near the connector, which
may be used to detect coupling to an adjacent connector. The sensor 320 may be the
same as or similar to the sensor 225 of Figure 2. The sensor 320 may detect a proximity
and/or state of a connector on an adjacent construction toy (i.e., an alien connector),
the presence of which may be used to transform the connector to a compatible state
with the alien connector. For example, if the alien connector is in a female state,
the connector on the construction toy may be changed to a male state so as to enable
coupling of the construction toy to the adjacent construction toy. In another example,
in response to detecting the alien connector or the adjacent construction toy, the
connector on the construction toy may be changed to a neutral state to disable coupling
of the construction toy to the adjacent construction toy.
[0029] Figures 4A, 4B and 4C illustrate three different connectivity states 400, 420, 440
of the operating assembly 300 of Figure 3. As illustrated in Figure 4A, the connector
110 is in a male configuration such that the connector 110 extends outward from the
housing. As illustrated in Figure 4B, the connector 110 is in a neutral configuration
such that the connector 110 is substantially flush with an outside surface of the
housing. As illustrated in Figure 4C, the connector 110 is in a female configuration
such that the connector 110 is recessed within the housing.
[0030] Figure 5 illustrates another embodiment of a construction toy 500 that includes a
housing 505 and at least one electromagnetic connector 510. The housing 505 may be
the same as or similar to the housing 105 of Figure 1. As illustrated, the construction
toy 500 includes three electromagnetic connectors. The electromagnetic connectors
may be selectively powered on or off to enable or disable coupling to the particular
connector. Additionally, the polarity of electromagnetic connectors may be selectively
flipped to enable or disable coupling to the particular connector.
[0031] Figure 6 illustrates another example operating assembly 600. The operating assembly
600 may be the same as or similar to the operating assembly 235 described in conjunction
with Figure 2. As illustrated, the operating assembly 600 includes an electromagnetic
connector 610 and an actuator 615. The electromagnetic connector 610 may be coupled
to the actuator 315 such that movement of the actuator 315 may cause the electromagnetic
connector 610 to power on or off. In a powered on state, the electromagnetic connector
610 may be operable to be coupled to an adjacent construction toy. Specifically, the
electromagnetic connector 610 may be coupled to an electromagnetic connector of the
adjacent construction toy.
[0032] The operating assembly 600 may also include a sensor 620 near the electromagnetic
connector 610, which may be used to detect coupling to an adjacent electromagnetic
connector. The sensor 620 may be the same as or similar to the sensor 225 of Figure
2. The sensor 620 may detect a proximity and/or state of a connector on an adjacent
construction toy (i.e., an alien connector), the presence of which may be used to
transform the connector to a compatible state with the alien connector. For example,
if the alien connector is in a powered on state, the connector on the construction
toy may be changed to a powered on state so as to enable coupling of the construction
toy to the adjacent construction toy. In another example, in response to detecting
the alien connector or the adjacent construction toy, the connector on the construction
toy may be changed to a powered off state to disable coupling of the construction
toy to the adjacent construction toy.
[0033] The operating assembly 600 may also include a polarity indicator 625. The polarity
indicator 625 may indicate a current state of the electromagnetic connector 610 (north
or south, positive or negative). The actuator 615 may flip the polarity of electromagnetic
connector 610, such as in response to receiving a polarity instruction from a host
computer. To flip the polarity of the electromagnetic connector 610, the actuator
615 may alternate a direction of electric current. In at least one embodiment, the
polarity indicator 625 includes a light (e.g., LED light) that may be adjacent to
the electromagnetic connector 610. In at least one embodiment, the polarity indicator
625 includes a light that is attached to the electromagnetic connector 610. In at
least one embodiment, a first state of the polarity is indicated by a first wavelength
(or range) or color of light and a second state of the polarity is indicated by a
second wavelength (or range) or color of light. In at least one alternative embodiment,
a first state of the polarity is indicated by a first blinking pattern of the light
and a second state of the polarity is indicated by a second blinking pattern of the
light.
[0034] Figures 7-12 illustrate flow diagrams of example methods to control one or more connectors
of one or more construction toys that may be implemented, for example, in the operating
environment of Figure 2, arranged in accordance with at least one embodiment described
in the present disclosure. The methods may be performed by processing logic that may
include hardware (circuitry, dedicated logic, etc.), software (such as is run on a
general purpose computer system or a dedicated machine), or a combination of both,
which processing logic may be included in the construction toy 205 of Figure2. For
simplicity of explanation, methods described herein are depicted and described as
a series of acts. However, acts in accordance with this disclosure may occur in various
orders and/or concurrently, and with other acts not presented and described herein.
Further, not all illustrated acts may be required to implement the methods in accordance
with the disclosed subject matter. In addition, those skilled in the art will understand
and appreciate that the methods may alternatively be represented as a series of interrelated
states via a state diagram or events. Additionally, the methods disclosed in this
specification are capable of being stored on an article of manufacture, such as a
non-transitory computer-readable medium, to facilitate transporting and transferring
such methods to computing devices. The term article of manufacture, as used herein,
is intended to encompass a computer program accessible from any computer-readable
device or storage media. Although illustrated as discrete blocks, various blocks may
be divided into additional blocks, combined into fewer blocks, or eliminated, depending
on the desired implementation.
[0035] Figure 7 illustrates a flow diagram of an example method 700 to control one or more
connectors of one or more construction toys. The method 700 may begin at block 405,
where the processing logic may establish communication with a host computer device
(e.g., the host computer device 210 of Figure 2). The processing logic may establish
communication with the host computer device, for example, in response to the construction
toy being turned on or in response to receiving a pairing request from a player of
the construction toy. For as long as the processing logic is not in communication
with the host computer device (e.g., "NO" at block 710), the processing logic may
periodically attempt to establish communication with the host computer device until
communication has been established with the host computer device (e.g., "YES" at block
710).
[0036] Once a communication has been established with the host computer device, the processing
logic may send sensor data to the host computer device at block 715, execute instructions
(such as instructions received from the host computer device) at block 720, and manage
connections with alien connectors at block 725, as further described in conjunction
with Figures 8, 9 and 10, respectively.
[0037] Figure 8 illustrates a flow diagram of an example method 800 to send sensor data
to a host computer device. At block 805, the processing logic may read one or more
sensors, such as sensors 225 of Figure 2. At block 810, the processing logic may determine
whether any sensor data is available from the one or more sensors. The data may include,
for example, data indicative of a nearby adjacent construction toy or of a nearby
alien connector. The data may also include, for example, data indicative of a connectivity
state of a connector of the construction toy and/or a connectivity state of a nearby
alien connector. Other data may include acceleration data and/or orientation data
of the construction toy. When the processing logic determines that sensor data is
available from the one or more sensors ("YES" at block 810), the processing logic
may send the sensor data to the host computer device at block 815. When the processing
logic determines that sensor data is not available from the one or more sensors ("NO"
at block 810), the processing logic may loop to block 805. At block 815, the processing
logic may send the sensor data to the host computer device.
[0038] Figure 9 illustrates a flow diagram of an example method 900 to execute instructions
on a construction toy. The instructions may relate to controlling one or more connectors
of the construction toy. At block 905, the processing logic may receive instructions
from a host computer device (e.g., the host computer device 210 of Figure 2). The
host computer device may have generated the instructions based on sensor data, such
as sensor data further described in conjunction with Figures 2 or 8. The processing
logic may also receive a block identifier (ID) that identifies a particular construction
toy that is to execute the instructions. The processing logic may also receive a connector
ID that identifies a particular connector of the construction toy that is to change
connectivity state.
[0039] At block 910, the processing logic may determine whether the received block ID matches
a local block ID that is associated with the construction toy. The local block ID
may be stored in a local data storage. The processing logic may compare the received
block ID with the local block ID. When the received block ID and the local block ID
match ("YES" at block 910), the processing logic may determine whether the received
connector ID is valid. When a match is not found ("NO" at block 910), the processing
logic may ignore the instructions and loop to block 905.
[0040] In at least one embodiment, to check whether the received connector ID is valid at
block 915, the processing logic may determine whether the construction toy includes
a local connector that corresponds to the received connector ID. For example, a local
connector ID may be stored in a local data storage. The processing logic may check
the received connector ID against any local connector IDs store in the local data
storage. When a match is found ("YES" at block 915), the processing logic may determine
that the construction toy includes a connector to be driven. When a match is not found
("NO" at block 915), the processing logic may ignore the instructions and loop to
block 905.
[0041] At block 920, the processing logic may drive the connector to a state designated
by the instructions. The state may be one of multiple potential states. For example,
for the mechanical connector and actuator as illustrated in Figures 1, 3 and 4, the
states may include "male", "neutral", and "female". In another example, for the electromagnetic
connector and actuator as illustrated in Figures 5 and 6, the states may be "powered
on" or "powered off".
[0042] Figure 10 illustrates a flow diagram of an example method 1000 to manage connections
of a construction toy with alien connectors of an adjacent construction toy. The construction
toy may include any construction toy described in this document (e.g., with the same
type of connectors).
[0043] At block 1005, the processing logic may sense a proximity of an alien connector.
The proximity of the alien connector may be detecting via a sensor, such as the one
or more sensors 225 of Figure 2. The sensor may be positioned near a local connector
(e.g., connector 110) of the construction toy. The sensor may periodically detect
the proximity of an approaching alien connector. The alien connector may be approaching
the local connector. At block 1010, the processing logic may determine whether the
alien connector is disconnected from the construction toy. An example method to detect
whether the alien connector is disconnected from the construction toy is described
in conjunction with Figure 11. When the alien connector is not disconnected from (i.e.,
connected to) the construction toy ("NO" at block 1010), the processing logic may
loop to block 1005.
[0044] When the alien connector is disconnected from the construction toy ("YES" at block
1010), the processing logic may determine whether a transformation of a local connector
is allowed. The processing logic may access instructions received from a host computer
device (e.g., host computer device 210) that may indicate whether the transformation
of the local connector is allowed. Alternatively, the processing logic may query the
host computer device to determine whether the transformation of the local connector
is allowed.
[0045] When the transformation of the local connector is allowed ("YES" at block 1015),
the processing logic may determine whether the local connector is compatible with
the alien connector at block 1020. When the transformation of the local connector
is not allowed ("NO" at block 1015), the processing logic may continue to block 1030.
[0046] At block 1020, the processing logic may determine whether the local connector connectivity
state is compatible with the alien connector. The processing logic may identify a
local connector connectivity state, which may include male, female, neutral, on, off,
or another state. The processing logic may detect the connector connectivity state
for the alien connector, such as via a sensor. For example, the alien connector may
broadcast its connectivity state and the sensor may detect the same from the broadcast.
The processing logic may compare the connectivity state of the local connector with
the connectivity state of the alien connector. For example, the processing logic may
identify the local connector as being in a "male" connectivity state and the alien
connector as being in a "female" state. Because these two connectivity states are
able to couple with each other, these states may be referred to as compatible connectivity
states. The same may hold for electromagnetic connectors with opposite polarities,
among others. When the two connector types are incompatible ("NO" at block 1020),
the processing logic may transform the local connector to a connectivity state that
is compatible with the alien connector at block 1025. Transforming the connectivity
state of the local connector may include driving an actuator to reverse polarity,
to change a physical position of the connector from a "male" position to a "female"
position, to change a physical position of the connector from a "female" position
to a "male" position, among others.
[0047] When the two connector types are compatible ("YES" at block 1020), the processing
logic may detect whether the local connector and the alien connector have coupled
at block 1030. When the local connector and the alien connector have coupled ("YES"
at block 1030), the processing logic may send a host computer device (e.g., host computer
device 210 of Figure 2) a notification of the connection event between the local connector
and the alien connector at block 1035. The notification may include an identification
of one or more of the construction toy, the adjacent construction toy, the local connector,
the alien connector, etc. When the local connector and the alien connector have not
coupled ("NO" at block 1030), the processing logic may loop to block 1005.
[0048] Figure 11 illustrates a flow diagram of an example method 1100 to detect whether
an alien connector has been disconnected from a construction toy. At block 1105, processing
logic may sense connectivity of an alien connector that may be connected to a local
connector of the construction toy. In at least one embodiment, the processing logic
may sense connectivity of an alien connector using techniques described in conjunction
with Figure 10. When the local connector and the alien connector have disconnected
("YES" at block 1110), the processing logic may send a host computer device (e.g.,
host computer device 210 of Figure 2) a notification of the disconnection event between
the local connector and the alien connector at block 1115. The notification may include
an identification of one or more of the construction toy, the adjacent construction
toy, the local connector, the alien connector, etc. When the local connector and the
alien connector have not disconnected ("NO" at block 1110), the processing logic may
loop to block 1105.
[0049] Figure 12 illustrates a flow diagram of an example method 1200 to assist a player
to play with a set of construction toys. The player may use a construction model when
playing with the set of construction toys. The construction model may suggest a particular
configuration of construction toys to create a particular object or to facilitate
teaching and construction variability. The construction model may be a digital (e.g.,
graphical) representation of a current configuration of the set of construction toys.
For example, when the player builds a house out of the set of construction toys, the
construction model may be a digital representation of the house. The construction
model may also guide the player on how to build a particular object. The construction
model may include the current configuration of the set of construction toys and one
or more locations for where to place the next construction toy to build the particular
object.
[0050] At block 1205, the processing logic may read sensor data, which may be generated
by one or more sensors, such as the one or more sensors 225 of Figure 2. The sensor
data may include connections between construction toys, locations of construction
toys, orientation of construction toys and/or accelerations of construction toys.
The sensor data may indicate how the player is using and connecting the construction
toys.
[0051] At block 1210, the processing logic may update the construction model based on the
sensor data. In reading the sensor data, the processing logic may monitor how the
player interacts with the set of construction toys and may record every connection
made between construction toys. The processing logic may group structurally similar
constructions. The processing logic may also measure behavioral variability and the
variability and complexity of the constructions. For example, as a player builds a
house, the processing logic uses the sensor data from block 1205 to determine the
player's progress on building the house. As the player adds construction toys, the
processing logic may update the digital representation of the house to reflect the
physical progress of the house. In at least one embodiment, the processing logic may
model the player's behavior according the techniques described in U.S. Application
No.:
15/075,125.
[0052] At block 1215, the processing logic may generate an assistive instruction based on
the updated construction model. The assistive instruction may instruct the player
on where to connect another construction toy. The assistive instruction may also include
an instruction to a construction toy to change a connectivity state of a connector.
The processing logic may, for example, analyze the construction model to identify
a behavior of the player (e.g., a repetitive pattern) and the processing logic may
generate the assistive instruction to encourage or alter the identified behavior.
For example, when the construction model indicates that the player has connected a
series of construction toys in an identical manner, the assistive instruction may
include an instruction to connect the construction toys in a different manner. In
another example, the assistive instruction may include an instruction to the construction
toy to disable any connectors that would allow the player to continue to connect more
construction toys in the identical manner. At block 1220, the processing logic may
send the assistive instruction to the player and/or to one or more construction toys.
In at least one embodiment, the processing logic may generate an assistive instruction
according the techniques described in U.S. Application No.:
15/076,602.
[0053] Figure 13 illustrates a diagrammatic representation of a machine in the example form
of a computing device 1300 within which a set of instructions, for causing the machine
to perform any one or more of the methods discussed herein, may be executed. The computing
device 1300 may include a mobile phone, a smart phone, a netbook computer, a rackmount
server, a router computer, a server computer, a personal computer, a mainframe computer,
a laptop computer, a tablet computer, a desktop computer etc., within which a set
of instructions, for causing the machine to perform any one or more of the methods
discussed herein, may be executed. In alternative embodiments, the machine may be
connected (e.g., networked) to other machines in a LAN, an intranet, an extranet,
or the Internet. The machine may operate in the capacity of a server machine in client-server
network environment. The machine may be a personal computer (PC), a set-top box (STB),
a server, a network router, switch or bridge, or any machine capable of executing
a set of instructions (sequential or otherwise) that specify actions to be taken by
that machine. Further, while only a single machine is illustrated, the term "machine"
may also include any collection of machines that individually or jointly execute a
set (or multiple sets) of instructions to perform any one or more of the methods discussed
herein.
[0054] The example computing device 1300 includes a processing device (e.g., a processor)
1302, a main memory 1304 (e.g., read-only memory (ROM), flash memory, dynamic random
access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 1306 (e.g.,
flash memory, static random access memory (SRAM)) and a data storage device 1316,
which communicate with each other via a bus 1308.
[0055] Processing device 1302 represents one or more general-purpose processing devices
such as a microprocessor, central processing unit, or the like. More particularly,
the processing device 1302 may be a complex instruction set computing (CISC) microprocessor,
reduced instruction set computing (RISC) microprocessor, very long instruction word
(VLIW) microprocessor, or a processor implementing other instruction sets or processors
implementing a combination of instruction sets. The processing device 1302 may also
be one or more special-purpose processing devices such as an application specific
integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal
processor (DSP), network processor, or the like. The processing device 1302 is configured
to execute instructions 1326 for performing the operations and steps discussed herein.
[0056] The computing device 1300 may further include a network interface device 1322 which
may communicate with a network 1318. The computing device 1300 also may include a
display device 1310 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)),
an alphanumeric input device 1312 (e.g., a keyboard), a cursor control device 1314
(e.g., a mouse) and a signal generation device 1320 (e.g., a speaker). In one implementation,
the display device 1310, the alphanumeric input device 1312, and the cursor control
device 1314 may be combined into a single component or device (e.g., an LCD touch
screen).
[0057] The data storage device 1316 may include a computer-readable storage medium 1324
on which is stored one or more sets of instructions 1326 embodying any one or more
of the methods or functions described herein. The instructions 1326 may also reside,
completely or at least partially, within the main memory 1304 and/or within the processing
device 1302 during execution thereof by the computing device 1300, the main memory
1304 and the processing device 1302 also constituting computer-readable media. The
instructions may further be transmitted or received over a network 1318 via the network
interface device 1322.
[0058] While the computer-readable storage medium 1326 is shown in an example embodiment
to be a single medium, the term "computer-readable storage medium" may include a single
medium or multiple media (e.g., a centralized or distributed database and/or associated
caches and servers) that store the one or more sets of instructions. The term "computer-readable
storage medium" may also include any medium that is capable of storing, encoding or
carrying a set of instructions for execution by the machine and that cause the machine
to perform any one or more of the methods of the present disclosure. The term "computer-readable
storage medium" may accordingly be taken to include, but not be limited to, solid-state
memories, optical media and magnetic media.
[0059] Terms used herein and especially in the appended claims (e.g., bodies of the appended
claims) are generally intended as "open" terms (
e.
g., the term "including" may be interpreted as "including, but not limited to," the
term "having" may be interpreted as "having at least," the term "includes" may be
interpreted as "includes, but is not limited to," etc.).
[0060] Additionally, if a specific number of an introduced claim recitation is intended,
such an intent will be explicitly recited in the claim, and in the absence of such
recitation no such intent is present. For example, as an aid to understanding, the
following appended claims may contain usage of the introductory phrases "at least
one" and "one or more" to introduce claim recitations. However, the use of such phrases
may not be construed to imply that the introduction of a claim recitation by the indefinite
articles "a" or "an" limits any particular claim containing such introduced claim
recitation to embodiments containing only one such recitation, even when the same
claim includes the introductory phrases "one or more" or "at least one" and indefinite
articles such as "a" or "an" (
e.g., "a" and/or "an" may be interpreted to mean "at least one" or "one or more"); the
same holds true for the use of definite articles used to introduce claim recitations.
[0061] In addition, even if a specific number of an introduced claim recitation is explicitly
recited, those skilled in the art will recognize that such recitation may be interpreted
to mean at least the recited number (
e.
g., the bare recitation of "two recitations," without other modifiers, means at least
two recitations, or two or more recitations). Further, in those instances where a
convention analogous to "at least one of A, B, and C, etc." or "one or more of A,
B, and C, etc." is used, in general such a construction is intended to include A alone,
B alone, C alone, A and B together, A and C together, B and C together, or A, B, and
C together, etc. For example, the use of the term "and/or" is intended to be construed
in this manner.
[0062] Further, any disjunctive word or phrase presenting two or more alternative terms,
whether in the description, claims, or drawings, may be understood to contemplate
the possibilities of including one of the terms, either of the terms, or both terms.
For example, the phrase "A or B" may be understood to include the possibilities of
"A" or "B" or "A and B."
[0063] Embodiments described herein may be implemented using computer-readable media for
carrying or having computer-executable instructions or data structures stored thereon.
Such computer-readable media may be any available media that may be accessed by a
general purpose or special purpose computer. By way of example, and not limitation,
such computer-readable media may include non-transitory computer-readable storage
media including Random Access Memory (RAM), Read-Only Memory (ROM), Electrically Erasable
Programmable Read-Only Memory (EEPROM), Compact Disc Read-Only Memory (CD-ROM) or
other optical disk storage, magnetic disk storage or other magnetic storage devices,
flash memory devices (e.g., solid state memory devices), transitory computer-readable
storage media including electric signals, optical signals, and electromagnetic waves,
that can be transmitted via a wired communication line (e.g. electric wires, and optical
fibers) or a wireless communication line, or any other storage medium which may be
used to carry or store desired program code in the form of computer-executable instructions
or data structures and which may be accessed by a general purpose or special purpose
computer. Combinations of the above may also be included within the scope of computer-readable
media.
[0064] Computer-executable instructions may include, for example, instructions and data
which cause a general purpose computer, special purpose computer, or special purpose
processing device (e.g., one or more processors) to perform a certain function or
group of functions. Although the subject matter has been described in language specific
to structural features and/or methodological acts, it is to be understood that the
subject matter defined in the appended claims is not necessarily limited to the specific
features or acts described above. Rather, the specific features and acts described
above are disclosed as example forms of implementing the claims.
[0065] As used herein, the terms "module" or "component" may refer to specific hardware
implementations configured to perform the operations of the module or component and/or
software objects or software routines that may be stored on and/or executed by general
purpose hardware (e.g., computer-readable media, processing devices, etc.) of the
computing system. In some embodiments, the different components, modules, engines,
and services described herein may be implemented as objects or processes that execute
on the computing system (e.g., as separate threads). While some of the system and
methods described herein are generally described as being implemented in software
(stored on and/or executed by general purpose hardware), specific hardware implementations
or a combination of software and specific hardware implementations are also possible
and contemplated. In this description, a "computing entity" may be any computing system
as previously defined herein, or any module or combination of modulates running on
a computing system.
[0066] All examples and conditional language recited herein are intended for pedagogical
objects to aid the reader in understanding the invention and the concepts contributed
by the inventor to furthering the art, and are to be construed as being without limitation
to such specifically recited examples and conditions. Although embodiments of the
present disclosure have been described in detail, it may be understood that the various
changes, substitutions, and alterations may be made hereto.
[0067] The term "substantially" means within 5% or 10% of the value referred to or within
manufacturing tolerances.
[0068] Various embodiments are disclosed. The various embodiments may be partially or completely
combined to produce other embodiments.
[0069] Numerous specific details are set forth herein to provide a thorough understanding
of the claimed subject matter. However, those skilled in the art will understand that
the claimed subject matter may be practiced without these specific details. In other
instances, methods, apparatuses, or systems that would be known by one of ordinary
skill have not been described in detail so as not to obscure claimed subject matter.
[0070] Some portions are presented in terms of algorithms or symbolic representations of
operations on data bits or binary digital signals stored within a computing system
memory, such as a computer memory. These algorithmic descriptions or representations
are examples of techniques used by those of ordinary skill in the data processing
art to convey the substance of their work to others skilled in the art. An algorithm
is a self-consistent sequence of operations or similar processing leading to a desired
result. In this context, operations or processing involves physical manipulation of
physical quantities. Typically, although not necessarily, such quantities may take
the form of electrical or magnetic signals capable of being stored, transferred, combined,
compared, or otherwise manipulated. It has proven convenient at times, principally
for reasons of common usage, to refer to such signals as bits, data, values, elements,
symbols, characters, terms, numbers, numerals, or the like. It should be understood,
however, that all of these and similar terms are to be associated with appropriate
physical quantities and are merely convenient labels. Unless specifically stated otherwise,
it is appreciated that throughout this specification discussions utilizing terms such
as "processing," "computing," "calculating," "determining," and "identifying" or the
like refer to actions or processes of a computing device, such as one or more computers
or a similar electronic computing device or devices, that manipulate or transform
data represented as physical, electronic, or magnetic quantities within memories,
registers, or other information storage devices, transmission devices, or display
devices of the computing platform.
[0071] The system or systems discussed herein are not limited to any particular hardware
architecture or configuration. A computing device can include any suitable arrangement
of components that provides a result conditioned on one or more inputs. Suitable computing
devices include multipurpose microprocessor-based computer systems accessing stored
software that programs or configures the computing system from a general-purpose computing
apparatus to a specialized computing apparatus implementing one or more embodiments
of the present subject matter. Any suitable programming, scripting, or other type
of language or combinations of languages may be used to implement the teachings contained
herein in software to be used in programming or configuring a computing device.
[0072] Embodiments of the methods disclosed herein may be performed in the operation of
such computing devices. The order of the blocks presented in the examples above can
be varied-for example, blocks can be re-ordered, combined, and/or broken into sub-blocks.
Certain blocks or processes can be performed in parallel.
[0073] The use of "adapted to" or "configured to" herein is meant as open and inclusive
language that does not foreclose devices adapted to or configured to perform additional
tasks or steps. Additionally, the use of "based on" is meant to be open and inclusive,
in that a process, step, calculation, or other action "based on" one or more recited
conditions or values may, in practice, be based on additional conditions or values
beyond those recited. Headings, lists, and numbering included herein are for ease
of explanation only and are not meant to be limiting.
[0074] While the present subject matter has been described in detail with respect to specific
embodiments thereof, it will be appreciated that those skilled in the art, upon attaining
an understanding of the foregoing, may readily produce alterations to, variations
of, and equivalents to such embodiments. Accordingly, it should be understood that
the present disclosure has been presented for-purposes of example rather than limitation,
and does not preclude inclusion of such modifications, variations, and/or additions
to the present subject matter as would be readily apparent to one of ordinary skill
in the art.
1. A construction toy comprising:
a housing;
a connector coupled to the housing, the connector being configured to selectively
couple the construction toy to a second construction toy, the connector being adjustable
between at least two connectivity states;
an operating assembly configured to adjust the connector between the at least two
connectivity states; and
a power source configured to supply power to at least the operating assembly.
2. The construction toy of claim 1, wherein the operating assembly comprises:
a programmable computer element;
a communication element to communicate between the construction toy and a host computer;
and
a sensing element configured to detect an input value.
3. The construction toy of claim 2, wherein the operating assembly comprises an actuator
coupled to the connector, the actuator being configured to change a connectivity state
of the connector between the at least two connectivity states of the connector.
4. The construction toy of claim 3, wherein the at least two connectivity states comprise:
a first connectivity state that includes the actuator physically being in a male configuration;
and
a second connectivity state that includes the actuator or the housing physically being
in a female configuration.
5. The construction toy of claim 4, wherein the at least two connectivity states further
comprise a third connectivity state that includes the actuator physically being in
a neutral configuration.
6. The construction toy of claim 2, wherein the operating assembly comprises an electromagnet
coupled to the connector, the electromagnet being configured to change the state of
the connector.
7. The construction toy of claim 6, wherein the at least two connectivity states comprise:
a first connectivity state that includes the electromagnet being in powered-off configuration;
and
a second connectivity state that includes the electromagnet being in powered-on configuration.
8. The construction toy of claim 2, wherein the programmable computer element includes
instructions to cause the state of the connector to change in response to receiving
an indication from the sensing element that the second construction toy is within
a predetermined distance from the construction toy.
9. The construction toy of claim 2, wherein the programmable computer element includes
instructions to cause the state of the connector to change in response to receiving
an indication of the sensing element that a player has engaged in a threshold number
of repetitive actions.
10. A method comprising:
establishing, by a construction toy, a connection to a host computer device via a
wireless network, wherein the construction toy includes:
a sensor to detect a location characteristic; and
a first connector being configured to selectively couple the construction toy to a
second construction toy, the first connector being adjustable between at least two
connectivity states;
sending the location characteristic to the host computer device;
receiving, by the construction toy, an instruction from the host computer device to
change a connectivity state of the first connector to a first connectivity state,
wherein the instruction is based on the location characteristic; and
causing the connectivity state of the first connector to change to the first connectivity
state.
11. The method of claim 10, wherein the instruction includes an instruction to disable
a predetermined connection event.
12. A computer readable medium having stored therein executable code that, when executed
by a processor, cause the processor to perform operations comprising:
establishing a connection between a construction toy and a host computer device via
a wireless network, wherein the construction toy includes:
a sensor to detect a location characteristic; and
a first connector being configured to selectively couple the construction toy to a
second construction toy, the first connector being adjustable between at least two
connectivity states;
sending the location characteristic to the host computer device;
receiving, by the construction toy, an instruction from the host computer device to
change a connectivity state of the first connector to a first connectivity state,
wherein the instruction is based on the location characteristic; and
causing the connectivity state of the first connector to change to the first connectivity
state.
13. The method of claim 10 or the computer readable medium of claim 12, wherein the instruction
includes a block identifier (ID), the method or the operations further comprising
determining whether the block ID corresponds to the construction toy, wherein the
construction toy is to cause the connectivity state of the first connector to change
to the first connectivity state when the block ID corresponds to the construction
toy.
14. The method of claim 10 or the computer readable medium of claim 12, the method or
the operations further comprising detecting the location characteristic, wherein the
location characteristic includes a proximity of a second construction toy.
15. The method of claim 10 or the computer readable medium of claim 14, wherein the second
construction toy includes a second connector being adjustable between the at least
two connectivity states, the method or the operations further comprising:
identifying a state of the second connector as being in a second connectivity state,
wherein the first connectivity state and the second connectivity state are an opposing
pair to be selectively coupled.
16. The method of claim 10 or the computer readable medium of claim 15, the method or
the operations further comprising:
detecting a connection or disconnection event between the first connector on the construction
toy and the second connector on the second construction toy; and
sending an indication of the connection or disconnection event to the host computer
device.