English:
[0001] Vehicles such as passenger cars and the like typically include a human machine interface (HMI) via which occupants can monitor and/or control various vehicle operations. For example, a vehicle HMI typically includes a fixed screen mounted to a vehicle instrument panel and/or center console. Operations monitored or controlled by a vehicle HMI can include climate control, infotainment system control, indicating a destination, obtaining a route, and, in the case of an autonomous or semi-autonomous vehicle providing input to cause the vehicle to travel to a destination without, or with reduced, user input. However, current HMIs can be difficult to access and/or provide input to.
[0002] Figure 1 is a block diagram of an example system for operating a wearable device.
[0003] Figure 2 illustrates an example wearable device with a plurality of icons.
[0004] Figure 3 illustrates the wearable device of Figure 2 with the plurality of icons rotated based on data from a vehicle sensor.
[0005] Figure 4 is a block diagram of an example process for displaying the icons on a wearable device.
[0008] Figure 1 illustrates a system 100 including a wearable device 140 communicatively coupled to a computing device 105 in a vehicle 101. The computing device 105 is programmed to receive collected data 115 from one or more sensors 110, e.g., vehicle 101 sensors, concerning various metrics related to the vehicle 101. For example, the metrics may include a velocity of the vehicle 101, vehicle 101 acceleration and/or deceleration, data related to vehicle 101 path or steering including lateral acceleration, curvature of the road, biometric data related to a vehicle 101 operator, e.g., heart rate, respiration, pupil dilation, body temperature, state of consciousness, etc. Further examples of such metrics may include measurements of vehicle systems and components (e.g. a steering system, a powertrain system, a brake system, internal sensing, external sensing, etc.). The computing device 105 may be programmed to collect data 115 from the vehicle 101 in which it is installed, sometimes referred to as a host vehicle 101, and/or may be programmed to collect data 115 about a second vehicle 101, e.g., a target vehicle.
[0009] The computing device 105 is generally programmed for communications on a controller area network (CAN) bus or the like. The computing device 105 may also have a connection to an onboard diagnostics connector (OBD II). Via the CAN bus, OBD II, and/or other wired or wireless mechanisms, the computing device 105 may transmit messages to various devices in a vehicle and/or receive messages from the various devices, e.g., controllers, actuators, sensors, etc., including sensors 110. Alternatively or additionally, in cases where the computing device 105 actually comprises multiple devices, the CAN bus or the like may be used for communications between devices represented as the computing device 105 in this disclosure. In addition, the computing device 105 may be programmed for communicating with the network 120, which, as described below, may include various wired and/or wireless networking technologies, e.g., cellular, Bluetooth®, wired and/or wireless packet networks, etc.
[0010] The data store 106 may be of any known type, e.g., hard disk drives, solid state drives, servers, or any volatile or non volatile media. The data store 106 may store the collected data 115 sent from the sensors 110.
[0011] Sensors 110 may include a variety of devices. For example, various controllers in a vehicle may operate as sensors 110 to provide data 115 via the CAN bus, e.g., data 115 relating to vehicle speed, acceleration, system and/or component functionality, etc., of any number of vehicles 101, including the host vehicle and/or the target vehicle. Further, sensors or the like, global positioning system (GPS) equipment, etc., could be included in a vehicle and configured as sensors 110 to provide data directly to the computer 105, e.g., via a wired or wireless connection. Sensors 110 could include mechanisms such as RADAR, LIDAR, sonar, etc. sensors that could be deployed to measure a distance between the vehicle 101 and other vehicles or objects. Yet other sensors 110 could include cameras, breathalyzers, motion detectors, etc., i.e., sensors 110 to provide data 115 for evaluating a condition or state of a vehicle 101 operator.
[0012] Collected data 115 may include a variety of data collected in a vehicle 101. Examples of collected data 115 are provided above, and moreover, data 115 is generally collected using one or more sensors 110, and may additionally include data calculated therefrom in the computer 105, and/or at the server 130. In general, collected data 115 may include any data that may be gathered by the sensors 110 and/or computed from such data.
[0013] The system 100 may further include a network 125 connected to a server 130 and a data store 135. The computing device 105 may further be programmed to communicate with one or more remote sites such as the server 130, via a network 125, such remote site possibly including a data store 135. The network 125 represents one or more mechanisms by which a vehicle computer 105 may communicate with a remote server 130. Accordingly, the network 125 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 Bluetooth®, IEEE 802.11 , etc.), local area networks (LAN) and/or wide area networks (WAN), including the Internet, providing data communication services.
[0014] The system 100 may include a wearable device 140. As used herein, a "wearable device" is a portable, computing device including a structure so as to be wearable on a person's body (e.g., as a watch or bracelet, as a pendant, etc.) that includes a memory, a processor, a display, and one or more input mechanisms, such as a touchscreen, buttons, etc., as well as hardware and software for wireless communications such as described herein. A wearable device 140 typically will be of a size and shape to be fitted to or worn on a person's body, e.g., a watch-like structure including bracelet straps, etc., and as such typically will have a smaller display than a user device 150, e.g., 1/3 or 1⁄4 of the area. For example, the wearable device 140 may be a watch, a smart watch, a vibrating apparatus, etc. that includes capabilities for wireless communications using IEEE 802.11, Bluetooth®, and/or cellular communications protocols. Further, the wearable device 140 may use such communications capabilities to communicate via the network 125 and also directly with a vehicle computer 105, e.g., using Bluetooth®. The wearable device 140 includes a wearable device processor 145. The wearable device 140 can include one or more sensors 110 to collect data 115. For example, the wearable device 140 can include a sensor 110 to collect biometric data 115, e.g., a heart rate, a skin galvanic response, etc. The wearable device processor 145 can send the data 115 to the computing device 105 and/or the user device processor 155 over the network 125. The wearable device processor 145 can use the collected data 115 to, e.g., adjust icons on a display of the wearable device 140.
[0015] The system 100 may include a user device 150. As used herein, a "user device" is a portable, non-wearable computing device that includes a memory, a processor, a display, and one or more input mechanisms, such as a touchscreen, buttons, etc., as well as hardware and software for wireless communications such as described herein. That the user device 150 is "non- wearable" means that it is not provided with any structure to be worn on a person's body; for example, a smart phone user device 150 is not of a size or shape to be fitted to a person's body and typically must be carried in a pocket or handbag, and could be worn on a person's body only if it were fitted with a special case, e.g., having an attachment to loop through a person's belt, and hence the smart phone user device 150 is non-wearable. Accordingly, the user device 150 may be any one of a variety of computing devices including a processor and a memory, e.g., a smartphone, a tablet, a personal digital assistant, etc. the user device 150 may use the network 125 to communicate with the vehicle computer 105 and the wearable device 140. For example, the user device 150 and wearable device 140 can be communicatively coupled to each other and/or to the vehicle computer 105 with wireless technologies such as described above. The user device 150 includes a user device processor 155. The user device 150 can include one or more sensors 110 to collect data 115. The user device processor 155 can send the data 115 to the computing device 105 and/or the wearable device processor 145 over the network 125. The user device processor 155 can use the collected data 115 to, e.g., adjust icons on a user device 150 display.
[0016] The wearable device processor 145 and the user device processor 155 can instruct the computing device 105 to actuate the components 120. A user can provide an input to an icon on a wearable device display 160. Based on the user input, the wearable device processor 145 can instruct the user device processor 155 and/or the computing device 105 to actuate the components 120 associated with the input.
[0017] The user device processor 155 can use data 115 from one or more sensors 110 in the vehicle 101 and/or the wearable device 140 to determine an operation that the user is about to perform. In this context, to "determine" an operation means to predict, based on data 115, an operation. Further, as used herein, an "operation" is an action or a plurality of actions that a vehicle 101 and/or one or more components 120 thereof could perform based on input from the user device 150 and/or wearable device 140. A predicted operation is on that the user is likely to select based on the data 115. Example operations include, but are not limited to, purchase fuel, purchasing food and beverages, adjusting an entertainment system, moving to a specific destination, adjusting a climate control system, etc. For example, data 115 regarding locations of the vehicle 101, location of the user, status of vehicle 101 components 120, and the times corresponding to the locations can indicate what the user did at the locations. The user device processor 155 can determine the operation performed at the locations, e.g., if the data 115 from a fuel level sensor 110 indicates that the fuel level of the vehicle 101 rises at a certain time, the user device processor 155 can determine that the operation is purchasing fuel and filling the fuel tank. The user device processor 155 can, based on the operation, instruct the wearable device processor 145 to provide a notification on the wearable device display 160 related to the operation, e.g., providing directions to a fuel station when the fuel level sensor 110 determines that the fuel level drops below a threshold. The threshold can be determined by comparing the fuel level data 115 from previous times when the fuel level rose, i.e., determining the fuel level prior to the user purchasing fuel. The user device processor 155 can identify a plurality of user operations based on the data 115.
[0018] In addition to actuating one or more components 120, the user device processor 155 and/or the wearable device processor 145 can, based on the user operation, actuate one or more components in the user device 150 and/or the wearable device 140. For example, the wearable device processor 145 can change an arrangement of icons on the wearable device display 160. In another example, the user device processor 155 can send a notification over the network 125 to another person indicating the location of the vehicle 101 and the user. In another example, the user device processor 155 can select one or more notifications to be displayed on the wearable device display 160 and select one or more notifications to be hidden when the user device processor 155 determines that the vehicle 101 is in motion to, e.g., reduce a likelihood of distraction of the user from the notifications.
[0019] Figure 2 illustrates an example wearable device 140. The wearable device 140 has a wearable device display 160. The wearable device display 160 can be a touchscreen display that can receive inputs from the user, e.g., a tactile input. The wearable device display 160 can display images and text for the user.
[0020] The wearable device processor 145 can be programmed to display a plurality of icons 200 on the wearable device display 160. The icons 200 are images that indicate locations on the wearable device display 160 for the user to provide input. Upon providing input to one of the icons 200, the wearable device processor 145 can be programmed to, e.g., run a software application. Figure 2 illustrates 8 icons 200a, 200b, 200c, 200d, 200e, 200f, 200g, 200h, and each of the icons 200a- 200h is associated with a specific software application. For example, the icon 200a can be associated with a navigation application. In another example, the icon 200c can be associated with a parking application. In another example, the icon 200f can be associated with a text messaging application.
[0021] The user device processor 155 can instruct the wearable device processor 145 to present one or more icons 200 on the wearable device display 160 based on one or more identified operations. As used herein, the wearable device processor 145 "presents" the icon 200 when the wearable device processor 145 displays the icon 200 on the wearable device display 160. For example, if the user device processor 155 determines that the operation is purchasing fuel, the user device processor 155 can instruct the wearable device processor 145 to display an icon 200 for a fuel station rewards application, a fuel price aggregator, a navigation application with predetermined locations of nearby fuel stations, etc. In another example, the user device processor 155 can compare the collected data 115 to a predetermined route selected by the user (e.g., in a navigation application), and to present additional icons 200 on the wearable device display 160 based on the predetermined route, e.g., an icon 200 for a fuel station near the route (i.e., a fuel station notification), an icon 200 for a coffee shop near the route, etc. The user device processor
[0022] Based on the operation, the user device processor 155 can instruct the wearable device processor 145 to present one of the icons 200 on the wearable device display 160 for the user. For example, if the identified operation is navigating the vehicle 101, the user device processor 155 can instruct the wearable device processor 145 to display the icon 200a near a top of the wearable device display 160 and/or to increase a size of the icon 200a. By moving the icon 200a near the top of the wearable device display 160 and increasing the size of the icon 200a, the user is more likely to notice the icon 200a and provide input to the icon 200a.
[0023] Based on the data 115, the user device processor 155 can determine that one of the previously determined operations is complete, i.e., is no longer an operation. For example, if the operation is purchasing fuel, the user device processor 155 can determine the operation is complete upon receiving data 115 from a fuel sensor 110 indicating that the fuel level is above a fuel level threshold. Upon determining that one of the operations is complete, the user device processor 155 can instruct the wearable device processor 145 to remove the respective icon 200 for the completed operation.
[0024] Figure 3 illustrates the wearable device processor 145 having adjusted the wearable device display 160 to show a different arrangement of icons 200 from the arrangement shown in Figure 2. As the user device processor 155 collects data 115 from the sensors 110 in the vehicle 101, the user device processor 155 can determine that the user's desired operation has changed. For example, if the data 115 from a fuel level sensor 110 indicates that the fuel level has increased, the user device processor 155 can determine that purchasing fuel is no longer the current operation and can determine a new operation for the user.
[0025] In the example of Figure 3, the user device processor 155 instructs the wearable device processor 145 to rotate the icons 200a-200h so that the parking icon 200c (which was at the three o'clock position in Figure 2) is near the top of the wearable device display 160, e.g., at the twelve o'clock position. The user device processor 155 can, additionally or alternatively, increase the size of the icon 200c and decrease the size of the icon 200a, as shown in Figure 3. That is, in the example of Figure 3, the user device processor 155 determines that the user operation is parking the vehicle 101, and instructs the wearable device processor 145 to present the icon 200c on the wearable device display 160. As the user device processor 155 collects more data 115, the user device processor 155 can update the determined operation and instruct the wearable device processor 145 to present other icons 200 according to the determined operation.
[0026] The user device processor 155 and/or the wearable device processor 145 can be programmed to determine a display item for the determined user operation. In the examples provided below, the system 100 is described such that the user device processor 155 is programmed to determine the display item for the determined user operation. Alternatively or additionally, the wearable device processor 145 can be programmed to perform at least some steps in addition to or in lieu of the user device processor 155. A "display item" in the context of this disclosure is an icon representing a software application and/or process (collectively, software application), or is a message or set of data displayed to a user, e.g., "fuel station in 1 mile," etc. Icon 200 display items represent software applications or the like to which the user device processor 155 can direct the user to complete the identified user operation. For example, if the user operation is purchasing fuel, the software application can be a gas station price aggregator. The user device processor 155 can identify the software application based on a user history. That is, the user device processor 155 can identify software applications used by the user during previous operations to identify one or more software applications for the current operation. For example, the user device processor 155 can identify that, in prior instances of the fuel purchasing operation, the user used the wearable device 140 to use a navigation application to locate a gas station. Based on the user history, the user device processor 155 can identify, for the fuel purchasing operation, to present the icon 200 for the navigation software application on the wearable device display 160. Alternatively or additionally, the user device processor 155 can identify the display item based on, e.g., a predetermined display item from the data store 106 and/or the server 130.
[0027] The user device processor 155 can be programmed to instruct the wearable device processor 145 to display a notification on the wearable device display 160 based on the operation. The notification can provide information to the user associated with the operation and/or the solution to the operation. For example, if the user device processor 155 identifies the operation as purchasing fuel, the user device processor 155 can instruct the wearable device processor 145 to display a text notification indicating a current fuel level, a location of a nearby fuel station, and an estimated price of fuel at the fuel station. In another example, the user device processor 155 can instruct the wearable device processor 145 to display a calendar entry indicating an appointment on the wearable device display 160.
[0028] The user device processor 155 can use the data 115 from the sensors 110 (e.g., sensors 110 in the vehicle 101 and/or sensors 110 in the wearable device 140 and/or sensors in the user device 150) to select the display items presented on the wearable device display 160. For example, the user device processor 155 can receive information from the server 130 regarding traffic data to estimate an arrival time from a current location of the vehicle 101 to a destination. The user device processor 155 then determines a walking time from the user's current location and the current location of the vehicle 101 and adds the walking time to the arrival time. The user device processor 155 then receives data 115 from a fuel level sensor 110 in the vehicle 101. If the data 115 indicate that the vehicle 101 will not reach the destination at the current fuel level, the user device processor 155 can display a notification on the wearable device display 160 indicating that the fuel level is low and/or could display an icon 200 for locating a gas station. The user device processor 155 can instruct the wearable device processor 145 to present a list of nearby gas stations on the wearable device display and/or the vehicle 101 display. The list of nearby gas stations can include gas stations previously visited by the vehicle 101 and stored on the server 130. The user device processor 155 can then receive weather information from the server 130 and adjust the arrival time to the destination according to the weather information.
[0029] In another example, the user device processor 155 identifies a person attending the meeting, i.e., a meeting attendant, from a contact list from a meeting listed in a calendar. The user device processor 155 can prepare a notification to the meeting attendant with an arrival time of the user based on the traffic data, the fuel sensor data, etc. The user device processor 155 can adjust the arrival time and send a notification to the meeting attendant with an updated arrival time based on information from the vehicle sensors 110. The user device processor 155 can present a display item to send the notification to the meeting attendant as an icon 200 on the wearable device display 160. When the user provides an input to the wearable device display 160, the user device processor 155 can send the notification to the meeting attendant over the network 125.
[0030] In another example, the user device processor 155 can predict an upcoming destination and plot a route to the predicted destination. The user device processor 155 can compare destinations and times of day associated with the destinations in a user drive history. Based on the destinations and times of day, the user device processor 155 can prepare a route to a predicted destination based on the time of day. The user device processor 155 can further use a calendar date, traffic data 115, and weather data 115 to predict the destination. The user device processor 155 can present a display item on the wearable device display 160 with navigation instructions to the destination. Upon receiving input to the wearable device display 160, the user device processor 155 can instruct the computing device 105 to actuate components 120 to present the navigation instructions on, e.g., a vehicle 101 display.
[0031] In another example, the user device processor 155 can add icons 200 to the wearable device display 160 while the user is on the route. The user device processor 155 can identify locations along the route and applications associated with the locations, e.g., coffee shops, car repair, gas stations, etc. When the vehicle 101 approaches the locations, the user device processor 155 can add one or more icons 200, and when the vehicle 101 passes the locations, the wearable device 145 can remove one or more icons 200. The user device processor 155 can measure biometric data 115 of the user, e.g., heart rate, perspiration, etc. Based on the biometric data 115, the user device processor 155 can add one or more icons 200. For example, if the heart rate of the user slows, the user may be tired, and the user device processor 155 can add icons 200 related to entertainment selection.
[0032] In another example, the user device processor 155 can provide walking directions to the user based on location data 115 of the user, the parked vehicle 101, and the destination. Upon determining the route, prior to embarking on the route, the user device processor 155 can compare the location of the user and the location of the vehicle 101 and generate walking directions from the location of the user to the vehicle 101. Then, upon reaching the vehicle 101, the user device processor 155 can determine driving directions and present them on the vehicle 101 HMI. Then, upon parking the vehicle 101, the user device processor 155 can determine walking directions from the vehicle 101 to the destination.
[0033] In another example, the user device processor 155 selectively present notifications on the wearable device display 160 to reduce the number of notifications for the user to address. The user device processor 155 can develop a user history of notifications that are dismissed by the user and notification that are read by the user. Furthermore, the user device processor 155 can record a time indicating when the user read the notification, i.e., a timestamp. The user device processor 155 can use the recorded timestamps and the current time to present notifications that have timestamps within a time threshold of the current time. The user device processor 155 can hide notifications that are dismissed by the user and/or have timestamps that are not within the time threshold of the current time.
[0034] Figure 4 illustrates an example process 400 for selecting icons 200 to display on a wearable device display 160. The process 400 starts in a block 405, in which the user device processor 155 collects data 115 from sensors 110 in the vehicle 101 and/or the wearable device 140. The user device processor 155 can request the data 115 from the computing device 105. Alternatively or additionally, the wearable device processor 145 can collect the data 115 from the vehicle 101 sensors 110. Furthermore, while the process 400 is described below as performed by the user device processor 155, the process 400 can be performed at least partly by the wearable device processor 145. That is, the steps of the process 400 can be performed in one or both of the user device processor 155 and/or the wearable device processor 145.
[0035] Next, in a block 410, the user device processor 155 determines a user operation based on the data 115. As described above, the data 115 can indicate that the user is performing one or more operations, and the user device processor 155 can determine the current user operation based on the most recently collected data 115.
[0036] Next, in a block 415, the user device processor 155 identifies a display item for the determined operation. The display item can be determined based on a user history. That is, based on data 115 collected from prior instances of the current operation, the user device processor 155 can develop a user history for the operation. Based on the user history, the user device processor 155 can identify solution software application or the like and/or data for the operation. For example, if the operation is moving to a destination, the user device processor 155 can identify a navigation application with directions to the destination for the determined operation. Alternatively, the user device processor 155 can identify the display item without the user history and on some other basis. For example, the user device processor 155 can be programmed to identify the display item for the determined operation based on a predetermined display item associated with the operation stored in the data store 106 and/or the server 130.
[0037] Next, in a block 420, the user device processor 155 instructs the wearable device processor 145 to present a display item, i.e., an icon 200 (i.e., representing a software application or the like for user selection) and/or data on the wearable device display 160 based on the determined operation. For example, the user device processor 155 can instruct the wearable device processor 145 to present the icon 200 for the navigation application on the wearable device display 160.
[0038] Next, in a block 425, the user device processor 155 detects an input from the user on the wearable device display 160. The input can indicate that the user wants to actuate the software application and/or the vehicle component 120 associated with one of the icons 200 on the wearable device display 160. For example, the user can provide input to the wearable device display 160 on the icon 200 for the navigation application with directions to the destination.
[0039] Next, in a block 430, the user device processor 155 instructs the computing device 105 to actuate one or more vehicle components 120 based on the icon 200 selected on the wearable device display 160. For example, if the user provided input on the navigation application icon 200, the user device processor 155 can instruct the computing device 105 to actuate the propulsion 120, the steering wheel 120, and the brake 120 to move the vehicle 101 to the destination. Following the block 430, the process 400 ends.
[0041] Computing devices 105 generally each include instructions executable by one or more computing devices such as those identified above, and for carrying out blocks or steps of processes described above. Computer executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies, including, without limitation, and either alone or in combination, JavaTM, C, C++, Visual Basic, Java Script, Perl, HTML, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of computer readable media. A file in the computing device 105 is generally a collection of data stored on a computer readable medium, such as a storage medium, a random access memory, etc.
[0042] A computer readable medium includes any medium that participates in providing data (e.g., instructions), which may be read by a computer. Such a medium may take many forms, including, but not limited to, non volatile media, volatile media, etc. Non volatile media include, for example, optical or magnetic disks and other persistent memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes a main memory. Common forms of computer readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
[0043] 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. For example, in the process 400, one or more of the steps could be omitted, or the steps could be executed in a different order than shown in Figure 4. 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.
[0044] Accordingly, it is to be understood that the present disclosure, including the above description and the accompanying figures and below claims, is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent to those of skill in the art upon reading the above description. The scope of the invention should be determined, not with reference to the above description, but should instead be determined with reference to claims appended hereto and/or included in a non provisional patent application based hereon, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the arts discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the disclosed subject matter is capable of modification and variation.

中文:
[0001]诸如乘用车等的车辆典型地包括人机界面(HMI),乘员可以经由该HMI监测和/或控制各种车辆操作。例如,车辆HMI典型地包括安装到车辆仪表板和/或中央控制台的固定屏幕。由车辆HMI监测或控制的操作可以包括气候控制、信息娱乐系统控制、指示目的地、获得路线,以及在自主或半自主车辆的情况下提供输入以致使车辆在没有或减少用户输入的情况下行驶到目的地。然而,可能难以访问当前的HMI和/或向其提供输入。
[0002]图1是用于操作可穿戴装置的示例系统的框图。
[0003]图2示出了具有多个图标的示例可穿戴装置。
[0004]图3示出了图2的可穿戴装置,其中多个图标基于来自车辆传感器的数据而旋转。
[0005]图4是用于在可穿戴装置上显示图标的示例过程的框图。
[0008]图1示出了系统100,所述系统包括通信地耦合到车辆101中的计算装置105的可穿戴装置140。计算装置105被编程为从一个或多个传感器110(例如,车辆101传感器)接收采集的数据115,所述采集的数据涉及与车辆101相关的各种度量。例如,度量可以包括车辆101的速度、车辆101加速度和/或减速度、与车辆101路径或转向相关的数据(包括横向加速度)、道路曲率、与车辆101驾驶员相关的生物特征数据(例如,心率、呼吸、瞳孔扩张、体温、意识状态等)。此类度量的其他示例可以包括对车辆系统和部件(例如,转向系统、动力传动系统、制动系统、内部感测、外部感测等)的测量。计算装置105可以被编程为从安装有计算装置105的车辆101(有时被称为主车辆101)采集数据115,和/或可以被编程为采集关于第二车辆101(例如,目标车辆)的数据115。
[0009]计算装置105一般被编程为用于在控制器局域网(CAN)总线等上进行通信。计算装置105还可以具有与车载诊断连接器(OBD II)的连接。经由CAN总线、OBD II和/或其他有线或无线机制,计算装置105可以向车辆中的各种装置(例如,控制器、致动器、传感器等,包括传感器110)传输消息和/或从这些装置接收消息。可选地或另外地,在计算装置105实际上包括多个装置的情况下,CAN总线等可以用于本公开中被表示为计算装置105的装置之间的通信。另外,计算装置105可以被编程为用于与网络120进行通信,网络120如下所述可以包括各种有线和/或无线网络技术,例如,蜂窝、有线和/或无线分组网络等。
[0010]数据存储106可以是任何已知的类型,例如硬盘驱动器、固态驱动器、服务器或任何易失性或非易失性介质。数据存储106可以存储从传感器110发送的采集的数据115。
[0011]传感器110可以包括多种装置。例如,车辆中的各种控制器可以作为传感器110操作以经由CAN总线提供数据115,例如,与任何数量的车辆101(包括主车辆和/或目标车辆)的车辆速度、加速度、系统和/或部件功能等有关的数据115。此外,传感器等、全球定位系统(GPS)设备等可以包括在车辆中并被配置为传感器110以例如经由有线或无线连接将数据直接地提供给计算机105。传感器110可以包括诸如雷达、激光雷达、声纳等传感器的机构,其可以被部署以测量车辆101与其他车辆或物体之间的距离。其他传感器110可以包括相机、呼气测醉器、运动检测器等,即,提供用于评估车辆101驾驶员的状况或状态的数据115的传感器110。
[0012]采集的数据115可以包括在车辆101中采集的多种数据。以上提供采集的数据115的示例,并且此外,数据115一般使用一个或多个传感器110进行采集,并且可以另外地包括在计算机105中和/或在服务器130处从所述数据计算出的数据。一般来说,采集的数据115可以包括可由传感器110采集和/或从这种数据计算出的任何数据。
[0013]系统100还可以包括连接到服务器130和数据存储135的网络125。计算装置105还可以被编程为经由网络125与诸如服务器130的一个或多个远程站点进行通信,这样的远程站点可能包括数据存储135。网络125表示车辆计算机105可以凭其与远程服务器130进行通信的一种或多种机制。因此,网络125可以是各种有线或无线通信机制中的一种或多种,包括有线(例如,电缆和光纤)和/或无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望组合,以及任何期望的网络拓扑(或当使用多个通信机制时的拓扑)。示例性通信网络包括无线通信网络(例如,使用IEEE 802.11等)、局域网(LAN)和/或广域网(WAN)(包括互联网),以提供数据通信服务。
[0014]系统100可以包括可穿戴装置140。如本文所使用,“可穿戴装置”是便携式计算装置,其包括可穿戴在人体上的结构(例如,作为手表或手镯、作为吊坠等),该结构包括存储器、处理器、显示器以及一个或多个输入机构(例如,触摸屏、按钮等),还有用于诸如本文描述的无线通信的硬件和软件。可穿戴装置140典型地将具有装配到或佩戴在人体上的尺寸和形状,例如包括手镯带等的手表状结构,并且因此典型地将具有比用户装置150更小的显示器,例如面积的1/3或1/4。例如,可穿戴装置140可以是手表、智能手表、振动设备等,其包括使用IEEE 802.11、和/或蜂窝通信协议进行无线通信的能力。此外,可穿戴装置140可以使用这种通信能力经由网络125进行通信以及与车辆计算机105直接地通信(例如,使用)。可穿戴装置140包括可穿戴装置处理器145。可穿戴装置140可以包括一个或多个传感器110以采集数据115。例如,可穿戴装置140可以包括传感器110以采集生物特征数据115,例如心率、皮肤电响应等。可穿戴装置处理器145可以通过网络125将数据115发送到计算装置105和/或用户装置处理器155。可穿戴装置处理器145可以使用采集的数据115来例如调整可穿戴装置140的显示器上的图标。
[0015]系统100可以包括用户装置150。如本文所使用,“用户装置”是便携式不可穿戴计算装置,其包括存储器、处理器、显示器以及一个或多个输入机构(诸如触摸屏、按钮等),还有用于诸如本文描述的无线通信的硬件和软件。用户装置150是“不可穿戴的”意味着它未设有将供穿戴在人体上的任何结构;例如,智能电话用户装置150的尺寸或形状不适合装配到人体并典型地必须携带在口袋或手提包中,并且只有在特殊情况(例如,具有用于穿过人的皮带的附接件)下装配时才能穿戴在人体上,并且因此智能电话用户装置150是不可穿戴的。因此,用户装置150可以是包括处理器和存储器的多种计算装置中的任一个,例如智能电话、平板电脑、个人数字助理等,用户装置150可以使用网络125与车辆计算机105和可穿戴装置140通信。例如,用户装置150和可穿戴装置140可以用诸如上文所述的无线技术来彼此通信地耦合和/或通信地耦合到车辆计算机105。用户装置150包括用户装置处理器155。用户装置150可以包括一个或多个传感器110以采集数据115。用户装置处理器155可以通过网络125将数据115发送到计算装置105和/或可穿戴装置处理器145。用户装置处理器155可以使用采集的数据115来例如调整用户装置150显示器上的图标。
[0016]可穿戴装置处理器145和用户装置处理器155可以指示计算装置105致动部件120。用户可以向可穿戴装置显示器160上的图标提供输入。基于用户输入,可穿戴装置处理器145可以指示用户装置处理器155和/或计算装置105致动与输入相关联的部件120。
[0017]用户装置处理器155可以使用来自车辆101和/或可穿戴装置140中的一个或多个传感器110的数据115来确定用户将要执行的操作。在这个背景下,“确定”操作意指基于数据115而预测操作。此外,如本文所使用,“操作”是车辆101和/或其一个或多个部件120可以基于来自用户装置150和/或可穿戴装置140的输入而执行的一个动作或多个动作。预测的操作是基于用户基于数据115而可能选择的操作。示例操作包括但不限于购买燃料、购买食物和饮料、调整娱乐系统、移动到特定目的地、调整气候控制系统等。例如,关于车辆101的位置、用户的位置、车辆101部件120的状态以及对应于位置的时间的数据115可以指示用户在该位置处做了什么。用户装置处理器155可以确定在该位置处执行的操作,例如,如果来自燃料水平传感器110的数据115指示车辆101的燃料水平在特定时间上升,那么用户装置处理器155可以确定操作是购买燃料并填充燃料箱。用户装置处理器155可以基于该操作而指示可穿戴装置处理器145在可穿戴装置显示器160上提供与操作有关的通知,例如,当燃料水平传感器110确定燃料水平下降到低于阈值时提供到加油站的指示。可以通过将在燃料水平上升时的先前时间的燃料水平数据115进行对比(即,确定在用户购买燃料之前的燃料水平)来确定阈值。用户装置处理器155可以基于数据115而识别多个用户操作。
[0018]除了致动一个或多个部件120之外,用户装置处理器155和/或可穿戴装置处理器145可以基于用户操作而致动用户装置150和/或可穿戴装置140中的一个或多个部件。例如,可穿戴装置处理器145可以改变可穿戴装置显示器160上的图标的布置。在另一个示例中,用户装置处理器155可以通过网络125向另一个人发送指示车辆101和用户的位置的通知。在另一个示例中,用户装置处理器155可以选择要显示在可穿戴装置显示器160上的一个或多个通知,并且选择要在用户装置处理器155确定车辆101处于运动中时隐藏的一个或多个通知,例如,以降低通知使用户分心的可能性。
[0019]图2示出了示例可穿戴装置140。可穿戴装置140具有可穿戴装置显示器160。可穿戴装置显示器160可以是可以从用户接收输入(例如,触觉输入)的触摸屏显示器。可穿戴装置显示器160可以向用户显示图像和文本。
[0020]可穿戴装置处理器145可以被编程为在可穿戴装置显示器160上显示多个图标200。图标200是指示在可穿戴装置显示器160上的供用户提供输入的位置的图像。在向图标200中的一个提供输入时,可穿戴装置处理器145可以被编程为例如运行软件应用程序。图2示出了8个图标200a、200b、200c、200d、200e、200f、200g、200h,并且图标200a至200h中的每个与具体软件应用程序相关联。例如,图标200a可以与导航应用程序相关联。在另一个示例中,图标200c可以与停车应用程序相关联。在另一个示例中,图标200f可以与文本消息收发应用程序相关联。
[0021]用户装置处理器155可以指示可穿戴装置处理器145基于一个或多个识别的操作而在可穿戴装置显示器160上呈现一个或多个图标200。如本文所使用,当可穿戴装置处理器145在可穿戴装置显示器160上显示图标200时,可穿戴装置处理器145“呈现”图标200。例如,如果用户装置处理器155确定操作是购买燃料,那么用户装置处理器155可以指示可穿戴装置处理器145显示加油站奖励应用程序、燃料价格汇集器、具有附近的加油站的预定位置的导航应用程序等的图标200。在另一个示例中,用户装置处理器155可以将采集的数据115与用户选择的预定路线进行对比(例如,在导航应用程序中),以及基于预定路线而在可穿戴装置显示器160上呈现附加的图标200,例如,在路线附近的加油站的图标200(即,加油站通知)、在路线附近的咖啡店的图标200等。用户装置处理器155可以被编程为识别多个操作以及指示可穿戴装置处理器145针对用户操作中的每个呈现相应的图标200。
[0022]基于操作,用户装置处理器155可以指示可穿戴装置处理器145在可穿戴装置显示器160上向用户呈现图标200中的一个。例如,如果识别的操作是导航车辆101,那么用户装置处理器155可以指示可穿戴装置处理器145在可穿戴装置显示器160的顶部附近显示图标200a和/或增大图标200a的尺寸。通过在可穿戴装置显示器160的顶部附近移动图标200a并增大图标200a的尺寸,用户更可能注意到图标200a并向图标200a提供输入。
[0023]基于数据115,用户装置处理器155可以确定先前确定的操作中的一个完成,即,不再是操作。例如,如果操作是购买燃料,那么用户装置处理器155可以在从燃料传感器110接收到指示燃料水平高于燃料水平阈值的数据115时确定操作完成。在确定操作中的一个完成后,用户装置处理器155可以指示可穿戴装置处理器145移除已完成操作的相应的图标200。
[0024]图3示出了可穿戴装置处理器145已经调整可穿戴装置显示器160以展示与图2中所示的布置不同的图标200布置。当用户装置处理器155从车辆101中的传感器110采集数据115时,用户装置处理器155可以确定用户期望的操作已经改变。例如,如果来自燃料水平传感器110的数据115指示燃料水平已经增加,那么用户装置处理器155可以确定购买燃料不再是当前操作并可以确定用户的新操作。
[0025]在图3的示例中,用户装置处理器155指示可穿戴装置处理器145旋转图标200a至200h,使得停车图标200c(其在图2中的3点钟位置处)在可穿戴装置显示器160的顶部附近,例如,在12点钟位置处。另外地或可选地,用户装置处理器155可以增大图标200c的尺寸并减小图标200a的尺寸,如图3所示。也就是说,在图3的示例中,用户装置处理器155确定用户操作是停放车辆101并指示可穿戴装置处理器145在可穿戴装置显示器160上呈现图标200c。随着用户装置处理器155采集更多数据115,用户装置处理器155可以更新所确定的操作并指示可穿戴装置处理器145根据所确定的操作来呈现其他图标200。
[0026]用户装置处理器155和/或可穿戴装置处理器145可以被编程为确定所确定的用户操作的显示项。在以下提供的示例中,描述了系统100,使得用户装置处理器155被编程为确定所确定的用户操作的显示项。可选地或另外地,可穿戴装置处理器145可以被编程为除了用户装置处理器155之外或代替用户装置处理器155执行至少一些步骤。在本公开的上下文中的“显示项”是表示软件应用程序和/或过程(被统称为软件应用程序)的图标,或是向用户显示的消息或数据集,例如,“在1英里内的加油站”等。图标200显示项表示用户装置处理器155可以指示用户完成识别的用户操作的软件应用程序等。例如,如果用户操作是购买燃料,那么软件应用程序可以是加油站价格汇集器。用户装置处理器155可以基于用户历史而识别软件应用程序。也就是说,用户装置处理器155可以识别用户在先前操作期间使用的软件应用程序,以识别用于当前操作的一个或多个软件应用程序。例如,用户装置处理器155可以识别出在燃料购买操作的先前实例中,用户使用可穿戴装置140来使用导航应用定位加油站。基于用户历史,用户装置处理器155可以针对燃料购买操作进行识别以在可穿戴装置显示器160上呈现导航软件应用程序的图标200。可选地或另外地,用户装置处理器155可以基于例如来自数据存储106和/或服务器130的预定显示项而识别显示项。
[0027]用户装置处理器155可以被编程为指示可穿戴装置处理器145基于操作而在可穿戴装置显示器160上显示通知。通知可以向用户提供与操作相关联的信息和/或操作的解决方案。例如,如果用户装置处理器155将操作识别为购买燃料,那么用户装置处理器155可以指示可穿戴装置处理器145显示指示当前燃料水平、附近的加油站的位置和加油站处的估计的燃料价格的文本通知。在另一个示例中,用户装置处理器155可以指示可穿戴装置处理器145在可穿戴装置显示器160上显示指示约会的日历条目。
[0028]用户装置处理器155可以使用来自传感器110(例如,车辆101中的传感器110和/或可穿戴装置140中的传感器110和/或用户装置150中的传感器)的数据115来选择在可穿戴装置显示器160上呈现的显示项。例如,用户装置处理器155可以从服务器130接收关于交通数据的信息,以估计从车辆101的当前位置到目的地的到达时间。然后,用户装置处理器155根据用户的当前位置和车辆101的当前位置来确定步行时间并将步行时间添加到到达时间。然后,用户装置处理器155从车辆101中的燃料水平传感器110接收数据115。如果数据115指示车辆101将无法以当前燃料水平到达目的地,那么用户装置处理器155可以在可穿戴装置显示器160上显示指示燃料水平低的通知和/或可以显示图标200以定位加油站。用户装置处理器155可以指示可穿戴装置处理器145在可穿戴装置显示器和/或车辆101显示器上呈现附近的加油站的列表。附近的加油站的列表可以包括车辆101先前去过并存储在服务器130上的加油站。然后,用户装置处理器155可以从服务器130接收天气信息并根据天气信息来调整到达目的地的到达时间。
[0029]在另一个示例中,用户装置处理器155从来自日历中列出的会议的联系人列表识别出席会议的人,即,与会者。用户装置处理器155可以基于交通数据、燃料传感器数据等而准备发给与会者的具有用户的到达时间的通知。用户装置处理器155可以基于来自车辆传感器110的信息而调整到达时间并向与会者发送具有更新的到达时间的通知。用户装置处理器155可以将向与会者发送通知的显示项呈现为可穿戴装置显示器160上的图标200。当用户向可穿戴装置显示器160提供输入时,用户装置处理器155可以通过网络125将通知发送给与会者。
[0030]在另一个示例中,用户装置处理器155可以预测即将到来的目的地并绘制到预测的目的地的路线。用户装置处理器155可以将用户驾驶历史中的目的地和与目的地相关联的当日时间进行对比。基于目的地和当日时间,用户装置处理器155可以基于当日时间而准备到预测的目的地的路线。用户装置处理器155还可以使用日历日期、交通数据115和天气数据115来预测目的地。用户装置处理器155可以在可穿戴装置显示器160上呈现具有到目的地的导航指令的显示项。在接收到对可穿戴装置显示器160的输入后,用户装置处理器155可以指示计算装置105致动部件120以在例如车辆101显示器上呈现导航指令。
[0031]在另一个示例中,用户装置处理器155可以在用户在路线上时将图标200添加到可穿戴装置显示器160。用户装置处理器155可以识别沿着路线的位置和与位置(例如,咖啡店、汽修店、加油站等)相关联的应用程序。当车辆101接近该位置时,用户装置处理器155可以添加一个或多个图标200,并且当车辆101经过该位置时,可穿戴装置145可以移除一个或多个图标200。用户装置处理器155可以测量用户的生物特征数据115,例如,心率、汗水等。基于生物特征数据115,用户装置处理器155可以添加一个或多个图标200。例如,如果用户的心率减慢,那么用户可能是疲倦的,并且用户装置处理器155可以添加与娱乐选择相关的图标200。
[0032]在另一个示例中,用户装置处理器155可以基于用户、停放的车辆101和目的地的位置数据115而向用户提供步行指示。在确定路线后,在进入路线之前,用户装置处理器155可以将用户的位置与车辆101的位置进行对比并生成从用户的位置到车辆101的步行方向。然后,在到达车辆101后,用户装置处理器155可以确定驾驶方向并将其呈现在车辆101HMI上。然后,在停放车辆101后,用户装置处理器155可以确定从车辆101到目的地的步行方向。
[0033]在另一个示例中,用户装置处理器155在可穿戴装置显示器160上选择性地呈现通知以减少用户要处理的通知的数量。用户装置处理器155可以产生用户未理会的通知和被用户读取的通知的用户历史。此外,用户装置处理器155可以记录指示用户何时读取通知的时间,即,时间戳。用户装置处理器155可以使用记录的时间戳和当前时间来呈现具有在当前时间的时间阈值内的时间戳的通知。用户装置处理器155可以隐藏用户未理会的和/或具有不在当前时间的时间阈值内的时间戳的通知。
[0034]图4示出了用于选择要在可穿戴装置显示器160上显示的图标200的示例过程400。过程400在框405中开始,其中用户装置处理器155从车辆101和/或可穿戴装置140中的传感器110采集数据115。用户装置处理器155可以从计算装置105请求数据115。可选地或另外地,可穿戴装置处理器145可以从车辆101传感器110采集数据115。此外,虽然以下将过程400描述为由用户装置处理器155执行,但是过程400可以至少部分地由可穿戴装置处理器145执行。也就是说,可以在用户装置处理器155和/或可穿戴装置处理器145中的一个或两个中执行过程400的步骤。
[0035]接着,在框410中,用户装置处理器155基于数据115而确定用户操作。如上所述,数据115可以指示用户正在执行一个或多个操作,并且用户装置处理器155可以基于最近采集的数据115而确定当前用户操作。
[0036]接着,在框415中,用户装置处理器155识别所确定的操作的显示项。可以基于用户历史而确定显示项。也就是说,基于从当前操作的先前实例采集的数据115,用户装置处理器155可以产生用于该操作的用户历史。基于用户历史,用户装置处理器155可以识别用于该操作的解决方案软件应用程序等和/或数据。例如,如果操作是移动到目的地,那么用户装置处理器155可以针对所确定的操作而识别具有到目的地的方向的导航应用程序。或者,用户装置处理器155可以在没有用户历史的情况下并基于某些其他方面而识别显示项。例如,用户装置处理器155可以被编程为基于存储在数据存储106和/或服务器130中的与操作相关联的预定显示项而识别所确定的操作的显示项。
[0037]接着,在框420中,用户装置处理器155基于所确定的操作而指示可穿戴装置处理器145在可穿戴装置显示器160上呈现显示项,即,图标200(即,表示用于用户选择的软件应用程序等)和/或数据。例如,用户装置处理器155可以指示可穿戴装置处理器145在可穿戴装置显示器160上呈现导航应用程序的图标200。
[0038]接着,在框425中,用户装置处理器155检测可穿戴装置显示器160上的来自用户的输入。输入可以指示用户想要致动与可穿戴装置显示器160上的图标200中的一个相关联的软件应用程序和/或车辆部件120。例如,用户可以在具有到目的地的方向的导航应用程序的图标200上向可穿戴装置显示器160提供输入。
[0039]接着,在框430中,用户装置处理器155基于在可穿戴装置显示器160上选择的图标200而指示计算装置105致动一个或多个车辆部件120。例如,如果用户在导航应用程序图标200上提供输入,那么用户装置处理器155可以指示计算装置105致动推进器120、方向盘120和制动器120以将车辆101移动到目的地。在框430之后,过程400结束。
[0041]计算装置105一般各自包括指令,该指令可由诸如上文指出的那些的一个或多个计算装置执行并用于执行上文描述的过程的框或步骤。计算机可执行指令可以由使用多种编程语言和/或技术创建的计算机程序来编译或解译,多种编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Visual Basic、Java Script、Perl、HTML等。一般来说,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的指令,并且执行这些指令,从而执行一个或多个过程,包括本文描述的过程中的一个或多个。可以使用多种计算机可读介质来存储和传输此类指令和其他数据。计算装置105中的文件一般是存储在计算机可读介质(诸如存储介质、随机存取存储器等)上的数据集合。
[0042]计算机可读介质包括参与提供可以由计算机读取的数据(例如,指令)的任何介质。这种介质可以采用许多形式,包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘或磁盘和其他持久性存储器。易失性介质包括典型地构成主存储器的动态随机存取存储器(DRAM)。常见形式的计算机可读介质包括(例如)软磁盘、软盘、硬盘、磁带、任何其他磁性介质、CD ROM、DVD、任何其他光学介质、穿孔卡、纸带、带有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH EEPROM、任何其他存储器芯片或磁带盒,或计算机可以读取的任何其他介质。
[0043]就本文描述的介质、过程、系统、方法等而言,应当理解,虽然此类过程的步骤等已经被描述为按照特定次序发生,但是可以在按照本文描述的次序以外的次序执行所述的步骤的情况下实践此类过程。还应当理解,可以同时地执行某些步骤,可以添加其他步骤,或者可以省略本文描述的某些步骤。例如,在过程400中,可以省略步骤中的一个或多个,或者可以按照不同于图4中所示的次序执行步骤。换句话说,本文对系统和/或过程的描述是出于说明某些实施例的目的而提供的,并且绝不应当被解释为限制所公开的主题。
[0044]因此,应当理解,包括以上描述和附图以及以下权利要求的本公开旨在是说明性的而不是限制性的。在阅读以上描述后,除了所提供的示例之外的许多实施例和应用对于本领域的技术人员而言将是显而易见的。不应当参考以上描述来确定本发明的范围,而应当参考附于本发明和/或包括在基于本发明的非临时专利申请中的权利要求以及此类权利要求所赋予的等效物的全部范围来确定。预期并期望在本文讨论的领域中未来将有所发展,并且所公开的系统和方法将并入此类未来的实施例中。总之,应当理解,所公开的主题能够进行修改和变化。