Wearable haptic feedback

A computer includes a processor that is programmed to receive input specifying a component in a vehicle and data specifying a location of a wearable device in the vehicle. The processor is programmed to determine a distance of the wearable device from a location of the component and actuate the wearable device to provide haptic output based on the determined distance.

BACKGROUND

Vehicle components and systems have become more functionally complex over the years. A number and complexity of human machine interface (HMI) devices that are available to vehicle users have increased. Vehicles instrument panel, etc. are often uncomfortably crowded with buttons, knobs, touch screens, etc. Under present arrangements, users often have difficulty locating desired HMI elements, and/or can be dangerously distracted in attempting to access such elements.

DETAILED DESCRIPTION

Introduction

Disclosed herein is a computer including a processor that is programmed to receive input specifying a component in a vehicle and data specifying a location of a wearable device in the vehicle. The processor is further programmed to determine a distance of the wearable device from a location of the component and actuate the wearable device to provide haptic output based on the determined distance.

The computer may be further programmed to determine the location of the wearable device in a vehicle coordinate system based on a wireless signal received from a vehicle wireless transceiver.

The computer may be further programmed to specify a variation in the haptic output according to a detected change in the determined distance of the wearable device from the location of the component.

The computer may be further programmed to stop providing haptic output upon determining that the determined distance is less than a first distance threshold, and actuate the wearable device to provide haptic output with a first frequency upon determining that the determined distance is greater than the first distance threshold and less than a second distance threshold. The computer may be further programmed to actuate the wearable device to provide haptic output with a second frequency upon determining that the determined distance is greater than the second distance threshold and less than a third distance threshold, and stop providing haptic output upon determining that the determined distance is greater than the third distance threshold, wherein the third distance threshold is greater than the second distance threshold.

The computer may be further programmed to determine whether the wearable device is within a predetermined area associated with the component, based on a wireless signal received from a vehicle wireless transceiver, and actuate the wearable device to provide haptic output with a first frequency upon determining that the device is within the predetermined area.

The computer may be further programmed to actuate the wearable device to provide haptic output with a second frequency upon determining that the device is outside the predetermined area.

The area may be cylindrically shaped and may have a longitudinal axis perpendicular to an exterior surface of a vehicle instrument panel.

The area may be bell-shaped and may encompass the component, and the bell-shaped area may have a flat bottom touching a vehicle instrument panel.

The area may have a solid rectangle shape with a bottom surface touching a vehicle instrument panel.

The computer may be further programmed to provide haptic output with an intensity that is at least in part based on the determined distance.

The computer may be further programmed to provide haptic output with an activation duty cycle that is at least in part based on the determined distance, wherein the activation duty cycle is a ratio of an active time duration to an activation time period.

Further disclosed herein is a method including receiving input specifying a component in a vehicle and data specifying a location of a wearable device in the vehicle, determining a distance of the wearable device from a location of the component, and actuating the wearable device to provide haptic output based on the determined distance.

The method may further include determining the location of the wearable device in a vehicle coordinate system based on a wireless signal received from a vehicle wireless transceiver.

The method may further include specifying a variation in the haptic output according to a detected change in the determined distance of the wearable device from the location of the component.

The method may further include stopping providing haptic output upon determining that the determined distance is less than a first distance threshold, actuating the wearable device to provide haptic output with a first frequency upon determining that the determined distance is greater than the first distance threshold and less than a second distance threshold, and actuating the wearable device to provide haptic output with a second frequency upon determining that the determined distance is greater than the second distance threshold and less than a third distance threshold, stopping providing haptic output upon determining that the determined distance is greater than the third distance threshold, wherein the third distance threshold is greater than the second distance threshold.

The method may further include determining whether the wearable device is within a predetermined area associated with the component, based on a wireless signal received from a vehicle wireless transceiver, and actuating the wearable device to provide haptic output with a first frequency upon determining that the device is within the predetermined area.

The method may further include actuating the wearable device to provide haptic output with a second frequency upon determining that the device is outside the predetermined area.

The area may have a solid rectangle shape with a bottom surface touching a vehicle instrument panel.

The method may further include providing haptic output with an intensity that is at least in part based on the determined distance.

The method may further include providing haptic output with an activation duty cycle that is at least in part based on the determined distance, wherein the activation duty cycle is a ratio of an active time duration to an activation time period.

Further disclosed is a computing device programmed to execute the any of the above method steps. Yet further disclosed is a vehicle comprising the computing device.

Yet further disclosed is a computer program product, comprising a computer readable medium storing instructions executable by a computer processor, to execute any of the above method steps.

Exemplary System Elements

FIG. 1show an example wearable device150and a vehicle100passenger compartment105(or interior). The vehicle100may be powered in a variety of known ways, e.g., with an electric motor and/or an internal combustion engine. The vehicle100may be a land vehicle such as a car, truck, etc. A vehicle100may include a computer110, actuator(s)120, and sensor(s)130, wireless transceiver(s)170, and an instrument panel115with multiple HMIs140. The vehicle100may have a specified center point180. The center point180may be a point at which longitudinal and lateral axes of the vehicle100intersect. As another example, the center point180may be a center of gravity of the vehicle100.

The vehicle100may include a vehicle100body defining the vehicle100passenger compartment105. The vehicle100body may include a roof, a floor, and a plurality of pillars. The passenger compartment105may include an instrument panel115with multiple HMIs140, one or more seats, etc. The instrument panel115may be formed of composite material, plastic, etc. The HMIs140may be configured to receive information from a user, such as a human operator, during operation of the vehicle100. For example, a user may touch, slide, rotate, pull, push, etc. a knob160to select activate, configure, etc. a vehicle100component. The vehicle100computer110may output information to the HMIs140such as displays, speakers, etc.

The computer110includes a processor and a memory such as are known. The memory includes one or more forms of computer-readable media, and stores instructions executable by the computer110for performing various operations, including as disclosed herein.

The computer110may include programming to operate one or more of land vehicle brakes, propulsion (e.g., control of acceleration in the vehicle by controlling one or more of an internal combustion engine, electric motor, hybrid engine, etc.), steering, climate control, passenger compartment and/or exterior lights, etc.

The computer110may include or be communicatively coupled to, e.g., via a vehicle100communications bus as described further below, more than one processor, e.g., controllers or the like included in the vehicle for monitoring and/or controlling various vehicle controllers, e.g., a powertrain controller, a brake controller, a steering controller, etc. The computer110is generally arranged for communications on a vehicle communication network that can include a bus in the vehicle such as a controller area network (CAN) or the like, and/or other wired and/or wireless mechanisms.

Via the vehicle100network, the computer110may transmit messages to various devices in the vehicle and/or receive messages from the various devices, e.g., an actuator120, an HMI140, etc. Alternatively or additionally, in cases where the computer110actually comprises multiple devices, the vehicle100communication network may be used for communications between devices represented as the computer110in this disclosure. Further, as mentioned below, various controllers and/or sensors may provide data to the computer110via the vehicle communication network.

In addition, the computer110may be configured for communicating through a vehicle-to-infrastructure (V-to-I) interface with other vehicles, and/or a remote computer185via a network190. The network190represents one or more mechanisms by which the computer110and the remote computer185may communicate with each other, and may be one or more of various wired or wireless communication mechanisms, including any desired combination of wired (e.g., cable and fiber) and/or wireless (e.g., cellular, wireless, satellite, microwave and radio frequency) communication mechanisms and any desired network topology (or topologies when multiple communication mechanisms are utilized). Exemplary communication networks include wireless communication networks (e.g., using one or more of cellular, Bluetooth, IEEE 802.11, etc.), dedicated short range communications (DSRC), local area networks (LAN) and/or wide area networks (WAN), including the Internet, providing data communication services.

The vehicle100actuators120are implemented via circuits, chips, or other electronic and or mechanical components that can actuate various vehicle subsystems in accordance with appropriate control signals as is known. The actuators120may be used to control braking, acceleration, and steering of the vehicles100.

Vehicle100sensors130may include a variety of devices known to provide data via the vehicle communications bus. For example, the sensors may include one or more cameras, radars, and/or Light Detection and Ranging (LIDAR) sensors130disposed in and/or on the vehicle100providing data encompassing at least some of the vehicle100passenger compartment105and/or exterior. A vehicle100computer110may receive data from the sensors130and operate the vehicle100based at least in part on the received data.

The vehicle100includes one or more wireless transceivers170. The wireless transceiver(s)170may include known electronic circuitry such as a wireless (or radio frequency) signal transmitter, a wireless (or radio frequency) signal receiver, and an amplifier circuit to boost an outgoing and incoming radio frequency signal. The vehicle100computer110may be programmed to receive a wireless signal, via the signal receiver of the wireless transceiver170. The computer110may be programmed to identify an identifier of a device such as the wearable device150transmitting wireless signals based on the received wireless signal. The wireless signal receiver may be configured to receive wireless transceivers170based on various wireless communication protocols, e.g., LTE, Bluetooth™, WAN, etc.

The wearable device150may be a watch, a ring, glasses, a pendant or necklace, etc. that can be worn by a vehicle100user. The device150may include a wireless signal transceiver capable of communicating with the vehicle100wireless transceivers170via a wireless signal. The device150includes a processor and a haptic actuator. A haptic actuator may be actuated to apply force, vibration, and/or movement to a user body, e.g., wrist, finger, etc. The device150processor may be programmed to actuate the haptic component to provide haptic output. The device150processor may actuate the haptic actuator based on a command received from the vehicle100computer110. For example, the received command may include haptic parameters such as a haptic intensity value and/or a turn on or off request. When a user wears the device150, the user will typically feel the haptic output when the computer110actuates the device150haptic actuator. Further, the user may distinguish various frequencies, intensities, and/or pulse duration, etc. of the provided haptic output.

As discussed above, a vehicle100user may enter user requests to the vehicle100computer110via the vehicle100HMI140. Typically, a vehicle100HMI140is associated with one or more specific operations, e.g., a knob160for adjusting a vehicle100cabin temperature. With increasing number of electronic and electrical components in the vehicles100, a vehicle100user may have difficulty locating a vehicle100HMI140associated with an intended user request. As another example, looking for the respective HMI140may distract the vehicle100user from, e.g., steering the vehicle100.

With reference toFIG. 1, the computer110may be programmed to receive input specifying a component in the vehicle100and data specifying a location of the wearable device150in the vehicle10. The computer110may be programmed to determine a distance d1of the wearable device150from a location of the component, e.g., the knob160. The computer110may be further programmed to actuate the wearable device150to provide haptic output based on the determined distance d1. Thus, advantageously, the provided haptic output may assist a vehicle100user in locating the intended HMI140such as a knob160.

In one example, the computer110may be programmed to receive the input specifying the component via, e.g., audio data received from a vehicle100microphone, a user gesture data received from a camera sensor130, etc. The computer110may be programmed using signal processing techniques to determine a user request such as the received audio data. For example, the vehicle100user may receive audio data including a user request “how to change interior temperature?” The computer110may be programmed to determine that the knob160is associated with the received request, i.e., a user can adjust an interior temperature by actuating, e.g., rotating, the knob160.

In the context of present disclosure, location data of a vehicle100component, e.g., the knob160, refers to the location of the device150relative to the vehicle100. Thus, the location data is determined in a vehicle100coordinate system, e.g., a reference multi-dimensional Cartesian coordinate system having a predetermined origin point included in the vehicle100. For example, the location coordinates may include X, Y, Z coordinates of the device150with an origin at the vehicle100center point180. X, Y, and Z may represent, respectively, longitudinal, lateral, and height coordinates of the device150location. Additionally or alternatively, a vehicle100coordinate system may include a spherical coordinate system having a predetermined origin point included in the vehicle100, e.g., the center point180. In a spherical coordinate system, the location coordinates may include a distance and an angle from the origin point. For example, the angle data may include a first angle relative to a horizontal plane, e.g., vehicle100floor, and a vertical plane perpendicular to the ground surface and passing through the vehicle100center point180.

The computer110may be programmed to determine a location of the wearable device150in the vehicle100coordinate system based on a wireless signal received from a vehicle100wireless transceiver(s)170. For example, the computer110may be programmed to receive, via the vehicle100wireless transceiver(s)170, a wireless signal from the wearable device150, and determine distances from the transceivers170to the device150based on the received wireless signals. The computer110may be programmed to determine two or more distances such as distances d2, d3, of the device150to the wireless transceivers170, e.g., using techniques such as Free Space Path Loss (FSPL). The computer110may be programmed to determine a strength of a wireless signal of the device150based on data received from the wireless transceivers170. Based on FSPL, a loss (weakening) of an electromagnetic signal over a straight path between a transmitter, e.g., the device150, and a receiver, e.g., the wireless transceiver170, may be proportional to the square of the distances d2, d3, and also proportional to the square of a frequency of the radio signal. Additionally or alternatively, the computer110may be programmed to determine an angle of wireless signal arrival. In other words, the computer110may be programmed to receive data including a direction of the device150relative to a wireless transceiver170. In one example, the computer110may be programmed to determine location coordinates of the device150based on received data including distance and direction of the device150relative to the transceiver(s)170.

The computer110may be programmed to determine a loss of the received signal based on determining the output power of the device150and the signal strength of the received signal based on data received from the wireless transceiver170. The computer110may then determine the location coordinates of the device150based on the determined distances d2, d3, e.g., using triangulation techniques.

As discussed above, the vehicle100may include one or more sensors130such as LIDAR, a camera, etc., that have fields of view including the vehicle100passenger compartment105. The computer110may be programmed to determine location coordinates of the device150using image processing techniques. Thus, additionally or alternatively, the computer110may be programmed to determine location coordinates of the device150and/or user's hand based on the received sensor130data.

The computer110may be programmed to specify a variation in the haptic output according to a detected change in the determined distance d1of the wearable device150from the location of the HMI component, e.g., the knob160. The computer110may be programmed to actuate the wearable device150to provide haptic output based on one or more distance thresholds. For example, as shown inFIG. 2, the computer110may be programmed to actuate the device150to stop providing a haptic output when the device150is within a first distance threshold L1, e.g., 5 cm, from the knob160. The computer110may be programmed to actuate the device150to provide haptic output with a first frequency F1upon determining that the distance d1is greater than the first distance threshold L1, e.g., 5 cm, and less than a second distance threshold L2, e.g., 30 cm. The computer110may be further programmed to actuate the device150to provide a haptic output with a second frequency F2upon determining that the distance d1is greater than the second distance threshold L2and less than a third threshold, e.g., 50 cm. The computer110may be programmed to stop providing a haptic output upon determining that the distance d1exceeds the third threshold. Thus, advantageously, such example changes of haptic output frequency and/or intensity as the users' hand approaches the vehicle component may assist the user to locate the HMI component.

The computer110may be programmed to provide haptic output with an intensity that is at least in part based on the determined distance d1. A haptic intensity, in the context of this disclosure, refers to an amount of force, pressure, etc. applied by the haptic actuator. For example, a change of force applied by the haptic component to, e.g., a user's hand, may assist the user in locating the requested vehicle100component, e.g., the knob160. In the context of this disclosure, the intensity, frequency, activation duty cycle, etc. of a haptic output are referred to as haptic output parameters. Thus, the computer110may be programmed to determine haptic output parameters and to actuate the device150to provide haptic output based on the determined haptic output parameters.

With reference toFIGS. 3-4, the computer110may be programmed to determine whether the wearable device150is within a predetermined area (e.g., an area210,220,230) associated with the component (e.g., the knob160), based on a wireless signal received from the vehicle100wireless transceiver(s)170. “Associated with the component,” in the context of the present disclosure means that the area is defined (as discussed below) based on a location of the respective component, e.g., a spherical radius around the component. The computer110may be further programmed to actuate the wearable device150to provide haptic output with a first frequency F1upon determining that the device150is within the predetermined area (e.g., the area210).

An area, in the context of present disclosure, is a volume, i.e., it is three-dimensional. An area such as areas210,220,230may have various shapes such as rectangular solid, bell-shaped, cylindrical, etc. The area may be defined in relation to the vehicle100HMIs140. For example, the area210may have a solid rectangle shape with a bottom250at a vehicle100instrument panel115. The area210top260may be spaced away from the instrument panel115.

The area220may be bell-shaped and may encompass the HMI component, e.g., the knob160. The bell-shaped area220may have a flat bottom265at a vehicle100instrument panel115. As another example, the area230may be cylindrically shaped and may have a longitudinal axis A1perpendicular to an exterior surface of the vehicle100instrument panel115.

The computer110may be programmed to determine areas210,220,230based on information such as CAD (Computer-aided design) data stored in a computer110memory. The stored information may define shape, size, corners, surfaces, etc., of each of the areas210,220,230. The stored data may define the area210,220,230relative to a reference point in the vehicle100, e.g., a center point180. The areas210,220,230may be determined in part based on a shape, size, etc., of vehicle100body, instrument panel115, HMIs140, etc.

In one example, the computer110may be programmed to receive CAD information of the vehicle100including body, instrument panel115, HMIs140, etc., from a remote computer185, e.g., a service center computer. The computer110may be programmed to determine the areas210,220,230based on the received information and a user request. For example, the computer110may determine based on the user request that the knob160should be turned. The computer110may be programmed to transmit a request for CAD information of the vehicle100including the knob160location to the remote computer185. The computer110may be then programmed to determine the areas210,220,230based on coordinates of the instrument panel115, and/or location coordinates of the knob160.

The computer110may be programmed to actuate the wearable device150to provide haptic output with a second frequency F2upon determining that the device150is outside a predetermined area such as the area220. The computer110may be programmed to determine whether the device150is inside or outside an area based on location coordinates of the device150and coordinates of a surface of the area220(e.g., determined based on the stored CAD information of the area220).

In one example, the computer110may be programmed to actuate the device150based on a presence of the device150in each of areas210,220,230. The areas may have overlap and/or one area may be completely within another area, e.g., the area230is within the area220. For example, as shown in Table 1, the computer110may be programmed to actuate the device150to provide haptic output based on whether the device150is located inside (IN) or outside (OUT) of a respective area210,220,230. The computer110may be programmed to stop providing haptic output when the device is outside the area210or inside the area230. The computer110may be programmed to actuate the device150to provide haptic output with the second frequency F2upon determining that the device150is located inside the area210but outside the areas220,230. The computer110may be programmed to actuate the device150to provide haptic output with the first frequency F1upon determining that the device150is inside the areas210,220but outside the area230.

As discussed above, the computer110may be programmed to vary a frequency of the provided haptic output based on the location of the device150. Additionally or alternatively, the computer110may be programmed to provide haptic output with an activation duty cycle that is at least in part based on the determined distance d1. The activation duty cycle, in the context of present disclosure, is a ratio of an active time duration, e.g., 200 millisecond (ms), to an activation time period, e.g., 600 ms. Thus, a change of an activation duty cycle based on the distance d1may assist the user in locating a vehicle100component such as the knob160. Additionally or alternatively, the computer110may be programmed to change a frequency of haptic output during the active time duration as discussed above, i.e., the computer110may be programmed to adjust the duty cycle and frequency of haptic output simultaneously.

Additionally or alternatively, the computer110may be programmed to change an intensity of haptic output based on the distance d1of the device150to the vehicle100component and/or presence of the device150in an area210,220,230.

Processing

FIG. 5is a flowchart of an exemplary process500for providing haptic output via the wearable device. The vehicle100computer110may be programmed to execute blocks of the process500.

The process500begins in a block510, in which the computer110receives data from, e.g., the wearable device150, the vehicle100sensors130, the remote computer185, etc. The computer110may be programmed to receive user request, e.g., an audio message requesting access to change vehicle100temperature. The computer110may be programmed to receive a wireless signal, e.g., a Bluetooth™ signal, from the device150. The computer110may be programmed to receive data from vehicle100sensors130, e.g., location coordinates of the wearable device150based on camera sensor130data. The computer110may be programmed to receive data including areas210,220,230shape, size, location, etc. and/or CAD information of vehicle100body, instrument panel115, etc. from the remote computer185, e.g., specified according to the vehicle100coordinate system.

Next, in a block520, the computer110determines a location of the device150. For example, the computer110may be programmed to determine location coordinates of the device150relative to a coordinate system with a point of origin at a reference point at the vehicle100, such as the vehicle100center point180. The computer110may be programmed to determine the location coordinates based on devices150wireless signal(s) received via the vehicle100wireless transceivers170.

Next, in a decision block530, the computer110determines to actuate a haptic output. For example, the computer110may be programmed to determine to actuate haptic output based on the determined location coordinates of the device and predetermined distance thresholds, e.g., the first distance threshold L1, and/or areas, e.g., the area210. If the computer110determines that a haptic output is warranted, then the process500proceeds to a block540; otherwise the process500proceeds to a block560.

In the block540, the computer110determines haptic parameters (i.e., parameters for haptic output). In one example, the computer110may be programmed to determine the intensity, frequency, and/or activation duty cycle of the haptic output based on the determined location coordinates of the device150and the distance thresholds L1, L2, L3, as shown inFIG. 2. In another example, the computer110determines the parameters of haptic output based on the determined location coordinates of the device150, the areas210,220,230, and thresholds described in Table 1.

Next, in a block550, the computer110actuates the wearable device150to provide haptic output. For example, the computer110may be programmed to actuate the wearable device150, e.g., by sending a wireless Bluetooth™ signal to the device150including the determined haptic parameters. Following the block550, the process500ends, or alternatively returns to the block510, although not shown inFIG. 5.

In the block560, the computer110stops a haptic out. For example, the computer110may be programmed to send a deactivation message to the wearable device150via, e.g., Bluetooth™. As another example, the computer110may be programmed to send haptic parameters including an intensity of 0 (zero). Following the block560, the process500ends, or alternatively returns to the block510, although not shown inFIG. 5.

The article “a” modifying a noun should be understood as meaning one or more unless stated otherwise, or context requires otherwise. The phrase “based on” encompasses being partly or entirely based on.

With regard to the media, processes, systems, methods, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of systems and/or processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the disclosed subject matter.