Patent Description:
Haptic technology can be used to provide contact or non-contact feedback to a user. For example, the application of motions and vibrations to a user can be used in order to recreate the sense of touch, which may be used to communicate with the user in response to some action performed or to be performed for example. Patent publication <CIT> describes a self-calibrating motion capture system. Patent publication <CIT> Al describes a method and apparatus for producing an acoustic field.

According to an example, there is provided a system as set out in the accompanying claims. The third signal can be generated at the second frequency. The first piezoelectric transducer array can be provided on or as part of an item of clothing. The first frequency can be a frequency in the range <NUM>-<NUM>. The second frequency can be a frequency in the range <NUM>-<NUM>. A control module can be provided to receive raw data from respective piezoelectric transducers of the second piezoelectric transducer array, and, using the raw data, generate position data representing the relative position of the multiple piezoelectric transducers of the first piezoelectric transducer array. The control module can map the position data to a predetermined haptic response profile, and generate haptic response data representing the haptic response profile. A selected piezoelectric transducer of the second piezoelectric transducer array can transmit the haptic response data as part of the third signal. The control module can use respective time stamps from the raw data representing the times of transmission of second signals from respective piezoelectric transducers of the second piezoelectric transducer array to determine a time of flight of the second signals. A low energy radio-frequency communication module to receive a data signal from a command transducer of the second piezoelectric transducer array can be provided. The third signal can be generated by the low energy radio-frequency communication module of the command transducer. The command transducer can transmit data to selected ones of the low energy radio-frequency communication modules of the piezoelectric transducers of the first piezoelectric transducer array whereby to cause the corresponding piezoelectric transducers of the first piezoelectric transducer array to generate the first signal.

According to an example, there is provided a method as set out in the accompanying claims.

According to an example, there is provided a non-transitory machine-readable storage medium encoded with instructions executable by a processor for providing haptic feedback to a user, the machine-readable storage medium as set out in the accompanying claims.

Example embodiments are described below in sufficient detail to enable those of ordinary skill in the art to embody and implement the systems and processes herein described.

Accordingly, while embodiments can be modified in various ways and take on various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples. There is no intent to limit to the particular forms disclosed. On the contrary, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. Elements of the example embodiments are consistently denoted by the same reference numerals throughout the drawings and detailed description where appropriate.

For numerous reasons, it may prove difficult for individuals to exercise or otherwise move their body in certain ways. For example, due to time constraints or other pressures, individuals may forget to exercise. In another context, individuals may experience difficulty moving their body, or parts thereof, in certain ways, such as when playing or learning to play certain sports, when exercising, gaming, taking part in the performing arts, and so on. That is, certain activities can require an individual to perform certain movements in a specific way, either to gain the optimum benefit or because the activity demands that the individual places their body into a certain pose, posture or position. Without either motivation or the correct experience and/or training, individuals may struggle to do this.

According to an example, there is provided a (user) wearable system which provides a human body movement guidance control system and method. In an example, multiple piezoelectric transducers (vibrators/emitters/receivers) can be distributed on an individual (e.g. on one or more items of clothing, or directly to the user using suitable adhesive or by strapping etc.) and/or the surrounding environment (rooms/walls/callings/cars etc.). At least some of the transducers can operate in a Dual Frequency Mix (DFM) mode of operation targeting two operating bands: a low frequency band (from between <NUM>-<NUM>, and ideally around <NUM>), which band being well-suited for haptic feedback, and a higher frequency band, such as one operating at ultrasonic frequencies (from around <NUM>-<NUM>, and ideally around <NUM>), which higher band being suitable for enabling transducer localisation, as will be described below in more detail.

In an example, the relative position of transducers that are disposed on an individual can be determined by calculating distance information (e.g. using time of flight (TOF), time of delay of arrival (TDOA) and/or angle of arrival (AOA) measurements) from signals transmitted and received between transducers in the ultrasonic band. This distance data can then be used to calculate the relative positions of the transducers using, for example, trilateration, triangulation and/or multilateration.

According to an example, DFM enables tandem operation of the same physical module (e.g. a transducer fabricated from piezoelectric material) to work as a haptic vibrator-actuator and/or ultrasonic emitter/receiver sequentially. The low frequency component mentioned above enables well-perceived haptic skin stimulations (via energy transferred to human body) while an ultrasonic frequency enables TOF distance measurement in the real time.

Human skin is not sensitive to ultrasonic frequencies, which therefore makes the DFM technique suitable for the real time TOF measurements with no risks of interfering with haptic feedback. Accordingly, the same piezoelectric transducer can be used for dual functionality; i.e. providing a system with haptic feedback guided by TOF measurements (i.e. distances between transducers) by using the same modules.

In an example, distribution of transducers on an individual (e.g. by way of distribution on a garment of clothing to be worn by that individual) can be provided in such a way that TOF measurements are obtained as relative distances between the transducers. Accordingly, transducers placed on an individual can be used to determine posture information for the individual by exploiting localisation techniques. More particularly, in an example, relative positions of body parts (limbs, hands, legs, head, stomach, fingers, torso and so on), and overall body shapes can be tracked/monitored in real time. That is, positions of transducers relative to one another can provide an indication of body position/posture.

According to an example, an internal clock for TOF measurements and synchronisation between multiple transducers can be transmitted between transducers using embedded Bluetooth signal modules. The modules can include a clock in order to generate a clock signal for transmission. When the clock signal between transducers is synchronised, and by exploiting triangulation for example, a system according to an example can be used to enable determination of the positions of the limbs, legs and other postures.

In an example, the position of transducers relative to one another can be optimised to ensure that dilution of precision is minimised, which is a source of uncertainty in localisation algorithms related to the relative positions of sources and receivers. Since, in an example, each transducer can act as both source and receiver, there is also redundancy in the localisation system (more distance information than is necessary to implement triangulation, for example). This redundancy can help ensure robustness in the face of measurement errors e.g. due to multipath propagation from source to receiver.

Once a position of a body part or a posture of an individual is determined, the system can issue haptic feedback. For example, in accordance with pre-determined patterns (patterns can be static and/or dynamic modalities i.e. time dependant and in accordance with previously achieved moving patterns for example). In this way, real-time haptic feedback can provide guidance of dynamic motion of a person wishing to achieve some of moving patterns.

For example, when a certain posture or position of a body part or body as a whole is determined by way of the spatial location of limbs/legs/torso etc. relative to one another, haptic feedback can be issued to the user. In an example, the feedback can be geared towards enabling the user to recognise and learn (via low cognitive effort haptic feedback) how to perform certain movements and what is the right posture for a particular moment for example. This may be used dynamically by providing, in real time, haptic feedback about appropriate movements in, for example, exercising, yoga, ballet, sports or athletic applications and so on. For example, haptic feedback can be provided by one or more transducers that provide a physical recreation of the sense of touch for a user that can prompt them to engage in some predetermined movement or positional adjustment. For example, haptic feedback provided on one transducer of an arm can be a signal to prompt the user in question to move that arm in a particular way/direction and so on. In an example, haptic feedback can persist until the user has moved or changed a position to that desired, or can be transient. Various types of haptic feedback can be provided. For example, a transducer can be configured to vibrate at a selected frequency, with a selected intensity, periodically and so on in order to provide different haptic feedback signals that can be used to signify different things or instructions. For example, a periodic haptic feedback signal provided to a user (e.g. every <NUM>) can be a prompt for the user to move a body part in question upwards. Conversely, a continuous haptic feedback signal provided to a user can be a prompt for the user to move a body part in question downwards. Other alternatives are possible. That is, it will be apparent that various haptic signals can be mapped to various different positional requirements or movement prompts.

In an example, a system as described herein can be used by a single or multiple users. In the latter case, users can be connected by a Bluetooth radio module to exchange the signals and share the same clock time. In multiple user case, the system might guide the second, third, etc. user to mimic movements of the first (guide) one and in accordance with his guidance and lead (like "dance with me" or "please follow my body moments").

<FIG> is a schematic representation of a system, according to an example. In the example of <FIG>, the system is depicted in situ on a user <NUM>. The user <NUM> is supplied with the piezoelectric modules (transducers) distributed on the body parts where the measurements and haptic feedback will be provided. In an example, there is provided a first piezoelectric transducer array comprising multiple piezoelectric transducers <NUM>, respective ones of which configured to generate a first signal at a first frequency, which can be a haptic feedback frequency as described above, and a second signal at a second frequency, which can be an ultrasonic frequency as described above. A second piezoelectric transducer array comprising multiple piezoelectric transducers <NUM> is provided, respective ones of which configured to receive the second signal, and at least one of which is configured to generate a third signal at the second frequency. Although two transducers for the second array are depicted in <FIG>, it will be appreciated that more can be provided. Transducers of the first and/or second array may be provided on clothing, or directly attached to a user or a combination.

In an example, transducers <NUM> of the first array can send and receive signals at the second frequency to/from transducers <NUM> of the second array. This enables time of flight measurements to be determined as the time of flight of a second signal to and/or from a transducer <NUM> from/to a transducer <NUM> can be obtained with reference to common clock signal that can be provided to transducers in the first and second arrays. In an example, each transducer in the first and second arrays includes a low energy radio frequency module, such as a Bluetooth low energy (or similar) module (BLE) for example. One of the transducers <NUM> in the second array can provide central clock information using a communication channel initiated between transducers using the BLE module. That is, in an example, one of the transducers in the second array can provide a clock signal, and other control information, to respective other ones of the transducers in the first and/or second arrays.

In an example, respective second signals can be time stamped with a time of transmission, and/or with a unique identifier that enables the originating transducer to be determined (i.e. each transducer can have a unique identifier associated with it). Accordingly, upon receipt of a time stamped second signal from a transducer of the first array by a transducer of the second array (or vice versa), the time of receipt of a second signal can be used to calculate the time of flight or time of arrival of that signal, thereby enabling, for example, the distance of the transducer of the first array, as identified by the embedded identifier, from a receiving transducer of the second array to be determined. Since the same signal can be received by multiple transducers of the second array, a set of time of flight data can be generated that enables the position of the originating transducer (of the first array) to be determined using one of the techniques noted above (tri- or multilateration etc.). In this connection, in an example, the second array can comprise at least three transducers. In an example, in order to find the position of a transducer in n dimensions (e.g. n = <NUM>), at least n + <NUM> time of arrival signals must be measured.

<FIG> is a schematic representation of a system according to an example. In the example of <FIG>, the distribution of transducers of the second array can be extended out to the surrounding environment where some or all of the transducers of the second array, used for triangularisation and TOF generation, can be located. <FIG> depicts all such transducers extended out, although one or more may still be provided in situ on user <NUM>. Transducers <NUM> (five in the example of <FIG> and <FIG>) that are used to provide haptic feedback to user <NUM> remain on the user body. This can therefore minimise the number of the modules on the user and simplify the hardware on the body.

<FIG> is a schematic representation of a system according to an example, which is similar to that shown in <FIG>, although the position of the transducers <NUM> od the second array are depicted in a different location (e.g. ceiling mounted, as opposed to wall mounted in the example of <FIG>).

<FIG> is a schematic representation of a system according to an example. In the example of <FIG>, multiple users can communicate their moving patterns in real time. One participant (e.g. <NUM>) can take the lead and another one (<NUM>) can be the follower enabling real time instruction so as to enable the follower <NUM> to follow the movements of leader <NUM>. The moving pattern can be shared with more participants thereby enabling multiple followers in real time. As can be seen from <FIG>, time of flight measurements from transducers of first arrays of users <NUM>, <NUM> can be determined using transducers of the second arrays that are present on the users <NUM>, <NUM>. That is, time of flight from a transducer of a first array on user <NUM> is determined by way of reception of a second signal at a transducer <NUM> of the second user <NUM>, and vice versa. If the position of transducers of the first array are not as expected, i.e. the posture of a user is not as expected, haptic feedback can thus be provided to that user to indicate to them how they should adjust their posture to conform to that expected or desired.

<FIG> is a schematic representation of a system according to an example. In the example of <FIG>, information about a user's (<NUM>) surrounding environment can be determined. The example of <FIG> is described with reference to an indoor environment, although an outdoor implementation is equally possible. A transducer of a first array (which, in the example of <FIG> may comprises only transducer) emits ultrasonic pulses as outlined previously, which are transmitted into the surrounding area. The propagation from source <NUM> to a receiver <NUM> is multipath, with multiple reflections from objects <NUM> in the room. The secondary pulses that have been received by the sensors <NUM> contain information about the locations of these reflective surfaces, which in turn contain information regarding the layout of the room such as the locations of furniture and walls. This could be useful for users with poor eyesight to ensure they do not interfere with obstacles during a performance, for example. It could also be used to inform users of potential obstacles in a VR application with haptics where the user would not be able to see potential hazards, akin to a reverse sensor in a car. This could be applied in VR systems such as a room-scale set-up, where users move around a space as part of the VR experience. The secondary pulse data may also be used to estimate the acoustic reverberation characterisations of the room, which can be communicated to an audio system to optimise a multichannel system, for example.

Thus, in response to a distance determination, a system according to an example can be used to provide haptic feedback to a user using transducers of the first array at the first frequency. In order to initiate haptic feedback, a transducer of the second array can transmit a third signal to a selected piezoelectric transducer of the first piezoelectric transducer array, whereby to cause the said selected piezoelectric transducer of the first piezoelectric transducer array to initiate generation of the first signal at at least one piezoelectric transducer of the first piezoelectric transducer array.

<FIG> is a schematic representation of a method according to the invention. A first transducer array <NUM> comprises multiple transducers <NUM>, each of which includes a low energy radio frequency module, such as a Bluetooth low energy (or similar) module (BLE) for example, <NUM>. A second transducer array <NUM> comprises multiple transducers <NUM>, each of which includes a low energy radio frequency module, such as a Bluetooth low energy (or similar) module (BLE) for example, <NUM>. In the invention, transducers <NUM> generate a first signal at a first frequency, which is a haptic feedback frequency as described above, and a second signal at a second frequency, which can be an ultrasonic frequency as described above. Transducers <NUM> generate a third signal, at the second frequency for example, and receive a second signal. In <FIG>, transducer <NUM> can provide a clock signal <NUM> using BLE <NUM>, which is received by BLE <NUM> of transducers <NUM> in the first array <NUM> in order to provide a synchronisation for the system. The clock signal <NUM> may be received by all transducers in the first array <NUM> by way of their associated BLEs <NUM>.

According to the invention, transducer <NUM> emits a second signal <NUM> at the second (e.g. ultrasonic) frequency. This may be emitted periodically, such as every <NUM>-<NUM> for example. Alternatively, the signal <NUM> may be emitted in response to a command received at BLE <NUM> from BLE <NUM> (i.e. on demand), or a combination of periodically and on-demand. The second signal <NUM> is received by transducer <NUM>. The second signal <NUM> includes data representing a time at which the signal was emitted by transducer <NUM>, which time is determined using signal <NUM>. In an example, the second signal <NUM> further encodes data representing a unique identifier associated with transducer <NUM>.

The time of arrival of signal <NUM> at transducer <NUM> can be determined. The time of arrival can be compared to the time of emission in order to determine a time of flight of signal <NUM>. As the speed of the second signal is known, as is the time taken to travel from one transducer to another, the distance between the originating and receiving transducers can be calculated. Multiple such time of flight data, as a result of receipt of signal <NUM> at multiple ones of the transducers <NUM> of the second array <NUM> can therefore be used to determine the position of the transducer <NUM> using trilateration, multilateration and so on based on the relative distance of an originating transducer from multiple receiving transducers.

In an example, the determined position of the transducer <NUM> can be compared against an expected or desired position for the transducer <NUM>. For example, if transducer <NUM> is associated with a particular and predetermined position on a user, such as the wrist for example, the actual position of the transducer <NUM> and hence the user's wrist can be compared to a desired position therefor. In a similar way, a set of positions relating to multiple transducers in the first array <NUM> that are disposed on predetermined positions on a user are used to determine posture and compare instantaneous (or actual) to posture to a desired posture. Thus, for example, if the relative positions of transducers indicates a certain posture that is not a desired posture, a user can be provided with haptic feedback that prompts them to adjust their posture and/or the position of one or more of their arms. legs and so on, as described above.

That is, in response to the comparison, if desired, haptic feedback can be provided to user <NUM>. In the invention, transducer <NUM> emits a third signal <NUM> at the second frequency. The third signal is received at transducer <NUM> of the first piezoelectric transducer array <NUM>. In the invention, the third signal <NUM> is configured to cause the said selected piezoelectric transducer <NUM> of the first piezoelectric transducer array to initiate generation of the first signal <NUM> at at least one piezoelectric transducer of the first piezoelectric transducer array <NUM>. In the invention, said at least one piezoelectric transducer of the first piezoelectric transducer array <NUM> includes transducer <NUM>. Thus, at least one piezoelectric transducer of the first piezoelectric transducer array <NUM> provides a signal <NUM> for user <NUM>, whereby to provide haptic feedback to the user <NUM>. A transducer that is selected to provide a haptic feedback can be identified using its unique identifier. Thus, in an example, a third signal can encode data representing one or more identifiers of transducers in the first array that are to provide haptic feedback. The third signal can further encode data representing the type of haptic feedback signal to be provided by a transducer, as described above for example.

Alternatively, in another example, BLE <NUM> can emit a signal <NUM> received at BLE <NUM> to initiate generation of the first signal <NUM> at at least one piezoelectric transducer of the first piezoelectric transducer array <NUM>. That is, the third signal can be provided by BLE <NUM> and received by BLE <NUM> for further transmission to other such BLEs of the transducers of the first array <NUM>. In the example of <FIG>, transducer <NUM> acts as a transducer of the first array <NUM> configured to initiate generation of the first signal for one or more other transducers of the first array <NUM>.

According to an example, at least one transducer of the first and/or second arrays <NUM>, <NUM> can further comprise a memory configured to store machine-readable instructions, and a processor configured to execute the said machine-readable instructions. The memory can also store data representing one or more haptic feedback signal profiles.

<FIG> is a schematic representation of a transducer according to an example. Transducer <NUM> can be a transducer of the first and/or second arrays of <FIG> for example. A piezoelectric material <NUM> can be used to generate the first and second signals. For example, application of electric field from power source <NUM> across the element <NUM> can cause the element to mechanically deform. Controlling the applied electrical field from source <NUM> enables the mechanical strain experienced by element <NUM> to be varied, thus enabling generation of signals at the first or second frequency. Power source <NUM> can also power BLE <NUM> and the processor <NUM> and so on of the transducer <NUM>.

Upon exposure to a signal at the second frequency, element <NUM> will mechanically stress leading to generation of an electric charge resulting in a detectable voltage across the element <NUM> that can be detected by a detector (not shown), and which represents a second signal. The detected signal can be decoded by processor <NUM> to determine, for example, a time stamp and/or identifier, as described above.

Memory <NUM> can store data representing one or more haptic profiles. For example, a profile can represent a time duration, periodicity, frequency, strength and so on of a haptic feedback signal, with different profiles comprising respective different values for one or more of these signal parameters. Respective haptic feedback profiles can be mapped to desired user movements. For example, as described above, one profile can be used to prompt a user to move an arm up, whilst another can be used to prompt a user to move an arm down, and so on.

Instructions <NUM> can include instructions to, for example, generate one of the first, second or third signals (either by way of element <NUM> or BLE <NUM>).

<FIG> is a schematic representation of a method according to an example. In the example of <FIG>, N transducers <NUM> act as both haptic actuators and ultrasonic transceivers, as described above. In the example of <FIG>, each transducer <NUM> keeps the same system time via NTP (network time protocol), RF-based clock synchonisation (Bluetooth, WiFi, ZigBee pulses) or are directly wired to a central board such as a microntroller.

In the illustrated example, one device emits an ultrasonic chirp outside the audible frequency range (above <NUM>). The other N-I devices receive this pulse at different times depending on their positions. Note that each device can act as both source and receiver at any given time, and only one device is shown as the source for simplicity. In fact, in an example, the devices could emit pulses simultaneously provided their respective pulses have different carrier frequencies, or operate sequentially if they do not.

The received data at each device is sent to a central processing unit <NUM>, <NUM> (e.g. microcontroller), either by being wired directly or connected as wireless devices. There may be an ADC at each channel input. By comparing the source waveform with the received data using techniques such as cross-correlation in the ultrasonic band, the TOA <NUM> can be assessed. This information is then fed into a localisation algorithm <NUM>. For TOA data, lateration-based localisation would be used. The locations of the devices in 3D Cartesian space are now known and could be compared with data of where the transducers should be located <NUM>. Depending on how these locations compare, a haptic signal <NUM> may be sent to one or more of the devices to communicate a desired response in the user.

The present invention can be embodied in other specific apparatus and/or methods. The described embodiments are to be considered in all respects as illustrative and not restrictive.

Claim 1:
A system for providing haptic feedback to a user, the system comprising:
a first piezoelectric transducer array (<NUM>) comprising multiple piezoelectric transducers (<NUM>), respective ones of which being configured to be disposed on predetermined positions on the user and being configured to generate and transmit a second signal (<NUM>) at a second frequency, and at least one of which also being configured to generate a first signal (<NUM>) at a first frequency; and
a second piezoelectric transducer array (<NUM>) comprising multiple piezoelectric transducers (<NUM>), respective ones of which configured to receive the second signal (<NUM>) transmitted from the first piezoelectric transducer array, and at least one of which configured to:
generate and transmit a third signal (<NUM>) to at least one piezoelectric transducer (<NUM>) of the first piezoelectric transducer array (<NUM>), whereby to cause the at least one piezoelectric transducer of the first piezoelectric transducer array (<NUM>) to initiate generation of the first signal (<NUM>) at said at least one piezoelectric transducer of the first piezoelectric transducer array (<NUM>), the first signal (<NUM>) at the first frequency suitable for providing a haptic feedback signal for a user (<NUM>), wherein the second signal (<NUM>) is configured to locate the position of a transducer (<NUM>) of the first piezoelectric transducer array (<NUM>) using transducers (<NUM>) of the second transducer array (<NUM>).