FIELD
[0001] One embodiment is directed to managing or controlling electronic devices, and in
particular to managing wearable electronic devices.
BACKGROUND INFORMATION
[0002] As computer-based systems, such as game consoles, appliances, personal computers
("PCs"), servers, personal digital assistants ("PDAs"), cellular phones, "smart phones",
global positioning systems ("GPS"), etc., have become more prevalent in recent years,
the portability of such systems as well as human-machine interface devices becomes
increasingly important. Wearable electronic devices exist in the form of Bluetooth™
ear pieces and intelligent accessories such as helmets, glasses and bracelets. As
these types of devices increase in variety, users may begin to wear and utilize many
devices on various areas of their body, and these devices need to be controlled and
managed.
SUMMARY
[0003] One embodiment is a system for managing a plurality of wearable devices on a user.
The system receives information to be conveyed and determines an intent of the information.
The system then determines, for each of the plurality of wearable devices, a location
of the wearable device on the user and a capability. The system then maps the information
to one or more of the wearable devices based at least on the determined locations
on the user and the capabilities.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004]
Fig. 1 is a block diagram of a wearable device system in accordance with one embodiment
of the present invention.
Fig. 2 is a block diagram of a system that can implement a wearable device haptic
manager in accordance with one embodiment of the invention.
Fig. 3 is a flow diagram of the functionality of the wearable device manager module
of Fig. 1 when managing wearable haptic devices in accordance with one embodiment.
Fig. 4 is a block diagram illustrating a system that includes a standalone device
manager that can control remote wearable devices via wearable device haptic managers
in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION
[0005] As discussed above, wearable devices are a developing trend in the consumer market,
and these devices can serve to provide haptic feedback to users. "Haptic feedback"
or "haptic effects" or "haptic output" can include kinesthetic feedback (such as active
and resistive force feedback) and/or tactile feedback (such as vibration, texture,
and heat). Examples of wearable devices include wrist bands, headbands, eyeglasses,
rings, leg bands, arrays integrated into clothing, etc., or any other type of device
that a user may wear on a body or can be held by a user. Some wearable devices can
be "haptically enabled", meaning they include mechanisms to generate haptic effects.
[0006] In one embodiment, when several wearable devices are worn by a user and state information
such as incoming calls, navigational cues or messaging is received, a wearable device
haptic manager processes the state information, and determines which one or more of
the wearable devices will generate a haptic output. The determination can be based
on the functionality or capability of each wearable device, the type of haptic output
needed to be generated, and the perceptual limits of the user at the location of each
wearable device.
[0007] Fig. 1 is a block diagram of a wearable device system 100 in accordance with one
embodiment of the present invention. System 100 includes wearable device haptic manager
110, communication lines 115, 125, and remote wearable devices 120, 130. Lines 115,
125 can be any type of data communication means, including wired or wireless. In one
embodiment, wearable device haptic manager 110 functions as a master device while
remote wearable devices 120, 130 function as slave devices. Although two wearable
devices are shown in Fig. 1, in other embodiments any number of wearable devices may
be present and worn by the user.
[0008] A "manager layer", which includes wearable device haptic manager 110, intelligently
selects which remote wearable device 120, 130 (or more than one of the devices), should
generate haptic output to reflect a state or in response to an event. In one embodiment,
a user will carry wearable device haptic manager 110 and will wear, in various places
on the user's body, wearable devices 120, 130. Examples of embodiments of wearable
devices 120, 130 are disclosed in
U.S. Pat. No. 8,031,172, entitled "Method and Apparatus for Wearable Remote Interface Device", the disclosure
of which is herein incorporated by reference.
[0009] In general, wearable device haptic manager 110 is responsible for controlling all
of the wearable devices worn by the user. In another embodiment, instead of a master/slave
arrangement as shown in Fig. 1, the functionality of wearable device haptic manager
110 can be distributed among one or more of the wearable devices. Further, instead
of the user wearing or carrying wearable device haptic manager 110, the functionality
can be provided from a remote location such as a gaming console, a smartphone, or
remotely from a network or "cloud" implementation.
[0010] Fig. 2 is a block diagram of a system 10 that can implement wearable device haptic
manager 110 of Fig. 1 in accordance with one embodiment of the invention. A separate
embodiment of system 10 can implement any of the other elements shown in Fig. 1 (i.e.,
the wearable devices) as well as the standalone device manager disclosed in Fig. 4
below. For any of these implementations, all of the elements shown in Fig. 2 may not
be needed or present. For example, in general, wearable device haptic manager 110
does not generate its own haptic effects, so the actuator shown in Fig. 2 may not
be included when system 10 implements wearable device haptic manager 110. Further,
none of the elements may need or include a display.
[0011] System 10 includes a bus 12 or other communication mechanism for communicating information,
and a processor 22 coupled to bus 12 for processing information. Processor 22 may
be any type of general or specific purpose processor. System 10 further includes a
memory 14 for storing information and instructions to be executed by processor 22.
Memory 14 can be comprised of any combination of random access memory ("RAM"), read
only memory ("ROM"), static storage such as a magnetic or optical disk, or any other
type of computer-readable medium.
[0012] A computer readable medium may be any available medium that can be accessed by processor
22 and may include both a volatile and nonvolatile medium, a removable and non-removable
medium, a communication medium, and a storage medium. A communication medium may include
computer readable instructions, data structures, program modules or other data in
a modulated data signal such as a carrier wave or other transport mechanism, and may
include any other form of an information delivery medium known in the art. A storage
medium may include RAM, flash memory, ROM, erasable programmable read-only memory
("EPROM"), electrically erasable programmable read-only memory ("EEPROM"), registers,
hard disk, a removable disk, a compact disk read-only memory ("CD-ROM"), or any other
form of a storage medium known in the art.
[0013] In one embodiment, memory 14 stores software modules that provide functionality when
executed by processor 22. The modules include an operating system 15 that provides
operating system functionality for system 10. The modules further include a wearable
device manager module 16 that manages wearable devices, as disclosed in more detail
below. System 10 will typically include one or more additional application modules
18 to include additional functionality, such as smartphone related applications (if
system 10 is a smartphone), APIs, etc.
[0014] System 10, in embodiments that transmit and/or receive data from remote sources,
further includes a communication device 20, such as a network interface card, to provide
mobile wireless network communication, such as infrared, radio, Wi-Fi, or cellular
network communication. In other embodiments, communication device 20 provides a wired
network connection, such as an Ethernet connection or a modem. Communication device
20 can implement the needed functionality for communicating over communication lines
115 and 125 of Fig. 1.
[0015] Processor 22 is further coupled via bus 12 to a display 24, such as a Liquid Crystal
Display ("LCD"), for displaying a graphical representation or user interface to a
user. The display 24 may be a touch-sensitive input device, such as a touch screen,
configured to send and receive signals from processor 22, and may be a multi-touch
touch screen.
[0016] System 10 further includes one or more actuators 26. Processor 22 may transmit a
haptic signal associated with a haptic effect to actuator 26, which in turn outputs
haptic effects. Actuator 26 may be, for example, an electric motor, an electro-magnetic
actuator, a voice coil, a linear resonant actuator, a piezoelectric actuator, a shape
memory alloy, an electro-active polymer, a solenoid, an eccentric rotating mass motor
("ERM") or a linear resonant actuator ("LRA").
[0017] System 10 further includes one or more sensors 28. Sensors 28 may include an accelerometer,
a gyroscope, a Global Positioning System ("GPS") sensor, a touch-sensitive input device
(e.g., touch screen, touchpad), a texture stylus, an imaging sensor, or some other
type of sensor. Sensors 28 may be configured to detect changes in acceleration, inclination,
inertia, or location. Sensors 28 may also include a location sensor, rotary velocity
sensor, light sensor, pressure sensor, texture sensor, camera, microphone, or other
type of sensor.
[0018] Fig. 3 is a flow diagram of the functionality of wearable device manager module 16
of Fig. 1 when managing wearable haptic devices in accordance with one embodiment.
In one embodiment, the functionality of the flow diagram of Fig. 3 is implemented
by software stored in memory or other computer readable or tangible medium, and executed
by a processor. In other embodiments, the functionality may be performed by hardware
(e.g., through the use of an application specific integrated circuit ("ASIC"), a programmable
gate array ("PGA"), a field programmable gate array ("FPGA"), etc.), or any combination
of hardware and software. Embodiments may perform all of the functionality disclosed
in Fig. 3, or a subset of the functionality.
[0019] At 310, state or any type of haptic information to be conveyed to the wearable devices
is received by haptic manager 110. For example, this information may include incoming
calls or messages, ambient information, etc. The information may be generated by haptic
manager 110 itself, or received from another device such as a cell phone. The information,
in addition or instead of haptic information, may include audio or video content.
[0020] At 320, the intent of the haptic information or other information to be conveyed
to the wearable devices is determined. For example, the intent may include an alert,
a notification, background information, directional information, etc.
[0021] At 330, all of the wearable devices that have haptic capabilities (or other capabilities
such as being able to play audio or video) and are being worn by a user is determined.
For example, haptic capable wearable devices may include devices such as a ring, bracelet,
headband, gamepads, etc., or any device that can be worn or held by a user.
[0022] At 340, the location on the user of each of the wearable devices is determined. For
example, the location may be a user's right wrist, left ankle, finger, etc.
[0023] At 350, the perceptual human thresholds for each location of the wearable devices
is determined. For example, the determination may recognize that fingertips contain
more nerve endings and thus have a high perceptual human threshold for sensation than
a person's back or arm areas. Therefore, a wearable device worn on a finger will be
associated with a higher perceptual human threshold than a wearable device worn on
an arm.
[0024] At 360, for each wearable haptic device, the types of haptic feedback available,
the number and type of actuators present, and the current status is determined. For
example, available haptic feedback may be vibration, deformability, pressure, etc.
A current status may be recognizing whether a wearable device is currently playing
a haptic effect, etc. Other output capabilities, such as audio and video, may also
be determined each device. Further, for audio or video playback functionality, the
current status may be determinative of where the audio or video is played. For example,
a camera of a smart phone can provide a current status that the user is looking at
a wrist display, in which case haptic manager 110 may determine that video should
be displayed on the wrist display in conjunction with an incoming call, rather than
on some other wearable device.
[0025] At 370, the intent of the haptic information is mapped to the capabilities of the
wearable devices and to specific wearable devices. For example, wearable device haptic
manager 110 can intelligently map the intent of the state information received and
convey such information back to one or more specific wearable devices worn by a user.
Alternatively, the intent may be mapped to multiple users with multiple wearable devices.
Further, audio or video data may also be routed to the appropriate wearable devices,
such as a device located on the user's wrist if the user is determined to be looking
at a wrist display at 360.
[0026] As an example of the functionality of wearable device haptic manager 110, assume
a user has recently purchased a haptic enabled wrist watch and a haptic enabled ring
as remote wearable devices to compliment his augmented reality haptic enabled glasses.
The user, in one embodiment, is also carrying wearable device haptic manager 110.
The user's haptic enabled cell phone/smartphone remains his primary commuting device
and he always keeps it in his backpack. The user is walking down the street and receives
an incoming call. Wearable device haptic manager 110 discerns that it is an urgent
call and outputs the haptic effect to all the remote wearable devices 120, 130 that
the user has available (e.g., smartphone, ring, watch, glasses, etc.).
[0027] In another example, the user is walking down the street and receives an incoming
call. Wearable device haptic manager 110 discerns that it is a friend calling and
outputs the haptic effect to the user's watch using pressure based haptic effects.
[0028] In another example, the user queries for directions and receives turn-by-turn information
wirelessly from a remote location (e.g., the "cloud"). Wearable device haptic manager
110 is aware that the user is wearing his watch on his right hand and his ring on
his left hand. At each turn the user is provided with a left or right vibration to
indicate turn left or right, etc. Either vibrating or no haptic feedback can indicate
that the user should proceed straight ahead.
[0029] In a further example, the user is playing a video soccer game on his mobile device.
Wearable device haptic manager 110 maps the haptic effects generated in the game to
the appropriate remote wearable device 120, 130 according to game events such as kicking
the ball or making a goal. For example, a header may be simulated via haptic effects
generated in the user's glasses.
[0030] In another example, the user is playing a videogame console system and has picked
up a specialty gaming controller. Wearable device haptic manager 110 is aware of the
networked device and routes all received haptic effects from the user's mobile phone
to the gaming controller.
[0031] In another example, the user has a bracelet on his wrist that has a haptic array
of actuators. A complex haptic effect that for example flows from right to left, is
to be output/displayed to the user. For the user's wrist, the appropriate sensitivity
and active element spacing is chosen to best convey this flow based on the perceptual
human threshold. However, if on the next day the same wearable device is worn on the
ankle or any other body area of the user, and the same haptic effect output is desired,
wearable device haptic manager 110 will adjust (i.e., increase) the intensity and
spacing of the active haptic elements so that the ankle or other body area can best
perceive the flow of the haptic effect.
[0032] In another embodiment, a standalone device manager can remotely manage multiple wearable
device haptic managers, which in turn can manage wearable devices worn by a corresponding
user. Fig. 4 is a block diagram illustrating a system 400 that includes a standalone
device manager 420 that can control remote wearable devices 120, 130, 460, 470 via
wearable device haptic managers 110, 450 in accordance with one embodiment of the
present invention. Standalone device manager 420 is coupled to wearable device haptic
managers 110, 450 via a network 410. Network 410 may be any type of wired or wireless
connection.
[0033] In one embodiment, standalone device manager 420 can be considered a standalone device
with no communication to other standalone devices and that requires a local haptic
manager (e.g., haptic manager 110). In another embodiment, standalone device manager
420 is self-aware of the capabilities that it has, and can communicate this to other
devices. In another embodiment, standalone device manager 420 controls peripheral
devices and can communicate and network with other self-aware standalone device and/or
other devices that are in charge of other slave devices.
[0034] When standalone device manager 420 is self-aware, it can determine, for example,
if and where it is being worn on the user (e.g., wrist, ankle, etc.) and depending
on the location can appropriately adjust the flow of information and haptic output.
For example, a cell phone can be considered a standalone device with a wearable manager
and can determine what type of haptic output will be conveyed to the user depending
on whether it is held by the hand or worn around the arm. Further, this cellphone
having a standalone wearable manager and being worn on the left arm can interact with
other standalone devices such as a pedometer-watch worn on the right arm. The cell
phone may also have a navigation program and will display or command haptic effects
on itself or on the watch to signal, for example, left or right turns. The cell phone
can command a haptic effect on the watch and indicate precisely what effect to play,
or the cellphone can command a type of effect that will be further customized by the
watch through the watch's wearable manager.
[0035] As disclosed, in one embodiment a wearable device haptic manager determines the haptic
capabilities of all wearable devices on a user, determines the human perceptual limits
of each device, determines the intent of haptic information, and then selects one
or more of the wearable devices that will output a haptic effect. Therefore, haptic
effects can be coordinated among multiple wearable devices, and the most effective
wearable devices can be selected for outputting the haptic effects. Further, other
information, such as audio or video data, can be similarly routed to one or more wearable
devices.
[0036] Several embodiments are specifically illustrated and/or described herein. However,
it will be appreciated that modifications and variations of the disclosed embodiments
are covered by the above teachings and within the purview of the appended claims without
departing from the spirit and intended scope of the invention.
1. A wearable device manager in communication with one or more wearable devices, the
wearable device manager comprising:
a processor;
a memory storing instructions that when executed by the processor manage the wearable
devices;
wherein the processor, in response to receiving information to be conveyed:
determines an intent of the information;
determines, for each of the wearable devices, a location of the wearable device on
a user and a capability; and
maps the information to one or more of the wearable devices based at least on the
determined locations on the user and the capabilities.
2. The wearable device manager of claim 1, wherein the information is conveyed as a haptic
effect, and the capability of the wearable device is a haptic capability.
3. The wearable device manager of claim 1, the processor further determining, for each
of the locations on the user, a perceptual human threshold, wherein the mapping is
based at least on the perceptual human thresholds.
4. The wearable device manager of claim 2, wherein the haptic capability comprises types
of available haptic effects.
5. The wearable device manager of claim 4, wherein the types of available haptic effects
comprise at least one of: vibration, pressure, texture, temperature changes or deformation.
6. The wearable device manager of claim 2, wherein the haptic capability comprises determining
types of actuators in each wearable device.
7. The wearable device manager of claim 1, the processor further determining a status
of each of the wearable devices.
8. The wearable device manager of claim 1, wherein the intent comprises at least one
of: an alert, a notification, background information or directional information.
9. The wearable device manager of claim 1, wherein the information is conveyed as audio
or video data, the processor routing the audio or video data to the one or more wearable
devices.
10. A computer implemented method for managing a plurality of wearable haptic devices
on a user, the method comprising:
receiving information to be conveyed using haptic effects;
determining an intent of the information;
determining for each of the plurality of wearable haptic devices, a location of the
wearable haptic device on the user and a haptic capability; and
mapping the information as a haptic effect to one or more of the wearable haptic devices
based at least on the determined locations on the user and the haptic capabilities.
11. The computer implemented method of claim 10, further comprising for each of the locations
on the user, determining a perceptual human threshold, wherein the mapping is based
at least on the perceptual human thresholds.
12. The computer implemented method of claim 10, wherein determining the haptic capability
comprises determining types of available haptic effects.
13. The computer implemented method of claim 12, wherein the types of available haptic
effects comprise at least one of: vibration, pressure, texture, temperature changes
or deformation.
14. The computer implemented method of claim 10, wherein determining the haptic capability
comprises determining types of actuators in each wearable haptic device.
15. The computer implemented method of claim 10, further comprising:
determining a status of each of the plurality of wearable haptic devices.
16. The computer implemented method of claim 10, wherein the intent comprises at least
one of: an alert, a notification, background information or directional information.
17. The computer implemented method of claim 10, further comprising:
receiving audio or video data; and
routing the audio or video data to one or more of the wearable haptic devices.
18. A computer-readable medium having instructions stored thereon that, when executed
by a processor, cause the processor to manage a plurality of wearable haptic devices
on a user by performing one or more of the methods of preceding claims 10-17.