Role-based HMI context dynamic update

A vehicle occupant messaging system includes a communication tag located in a buckle of a vehicle seatbelt assembly and configured to wirelessly transmit signals, to a mobile device, representing a location of a passenger using the mobile device in a host vehicle. The system further includes a communication transceiver programmed to transmit messages to the mobile device and a system processor programmed to generate the messages to the mobile device, the messages identifying the location of the passenger.

BACKGROUND

Mobile devices are ubiquitous. Vehicle passengers often bring their cell phone, tablet computer, laptop computer, smartwatch, etc. into a vehicle. Many times, one or more passenger connect the mobile device to the vehicle computer.

DETAILED DESCRIPTION

Some mobile devices can present a contextual user interface that allows an occupant to control features of a host vehicle from the mobile device. Such features may include climate controls, infotainment system controls, door locks, etc. Moreover, the mobile device may present messages, such as advanced driver-assistance system (ADAS) alerts, concerning the operation of the host vehicle. Not all occupants may wish to receive all messages. Further, the vehicle owner may not wish for all occupants to have access to all controls via the occupant's mobile device.

One solution involves a vehicle occupant messaging system that includes a communication tag located in a buckle of a vehicle seatbelt assembly and configured to wirelessly transmit signals, to a mobile device, representing a location of a passenger using the mobile device in a host vehicle. The system further includes a communication transceiver programmed to transmit messages to the mobile device and a system processor programmed to generate the messages to the mobile device, the messages identifying the location of the passenger.

In one possible approach, the buckle may be configured to block the signals transmitted by the communication tag when the seatbelt assembly is unfastened. For example, the buckle may include a metal shield that at least partially encapsulates the communication tag when the seatbelt assembly is unfastened. The vehicle seatbelt assembly may include a latch that moves the metal shield away from the communication tag when the seatbelt assembly is fastened. The system processor may be programmed to receive the location of the passenger from the mobile device. In some possible implementations, the system processor may be programmed to select a contextual user interface based on the location of the passenger. The system processor may be programmed to command the mobile device to present the contextual user interface. The communication transceiver may be programmed to receive commands from the mobile device. In that instance, the system processor may be programmed to process the commands received from the mobile device. Messages generated by the system processor may include at least one of driver-assistance system alerts, messages associated with a vehicle infotainment system, and messages associated with a climate control system. The mobile device may be programmed to filter messages according to the location represented by the signal transmitted from the communication tag and only display filtered messages.

An example method may include determining a location of a mobile device in a host vehicle based on signals received from a communication tag located in a buckle of a seatbelt assembly, displaying, via the mobile device, a contextual user interface associated with the location of the mobile device in the host vehicle, receiving messages transmitted from an occupant messaging system, filtering the messages according to the location of the mobile device in the host vehicle, and displaying the filtered messages on the mobile device.

The method may further include transmitting the location of the mobile device in the host vehicle to the occupant messaging system. The method may also include receiving the contextual user interface from the occupant messaging system. In some instances, receiving the contextual user interface from the occupant messaging system may occur after transmitting the location of the mobile device in the host vehicle to the occupant messaging system. In the method, displaying the contextual user interface may include presenting prompts for commands for a passenger to control at least one vehicle subsystem via the mobile device. The method may also include receiving a user input representing a command to control at least one vehicle subsystem as a result of presenting prompts for the passenger to control at least one vehicle subsystem. In this possible implementation, the method may further include transmitting the command to the occupant messaging system. In some instances, the prompts presented on the contextual user interface are based at least in part on the location of the mobile device in the host vehicle.

The elements shown may take many different forms and include multiple and/or alternate components and facilities. The example components illustrated are not intended to be limiting. Indeed, additional or alternative components and/or implementations may be used. Further, the elements shown are not necessarily drawn to scale unless explicitly stated as such.

As illustrated inFIG.1, the host vehicle100includes an occupant messaging system105in communication with any number of mobile devices110carried by the passengers of the host vehicle100. Although illustrated as a sedan, the host vehicle100is any passenger or commercial automobile such as a car, a truck, a sport utility vehicle, a crossover vehicle, a van, a minivan, a taxi, a bus, etc. The host vehicle100may be an autonomous vehicle that can operate in an autonomous (e.g., driverless) mode, a partially autonomous mode, and/or a non-autonomous mode.

The occupant messaging system105, which may be integrated into the host vehicle100, is programmed to identify passengers in different seats, identify the mobile device110carried by each passenger, and communicate with each mobile device110. The occupant messaging system105may send messages such as advanced driver-assistance system (ADAS) alerts, messages associated with the infotainment system, messages associated with cabin information, etc. Moreover, the occupant messaging system105may receive communications from the mobile devices110. Examples of such communications may include infotainment system controls and cabin information and controls. The communications may be different for different passengers. That is, the front passengers may have access to different infotainment and cabin controls than the rear passengers.

Each mobile device110determines where the passenger carrying the mobile device110is located in the host vehicle100. The mobile device110receives messages from the occupant messaging system105and filters the messages according to where the passenger carrying the mobile device110is located. Thus, while the mobile device110receives all messages, only those relevant to the passenger are presented on the mobile device110. The mobile device110further displays a context-specific user interface based on passenger location. Thus, the mobile device110may present infotainment and cabin controls for the passenger based on where the passenger is seated. For example, a rear passenger may only have access to cabin controls for the rear vehicle seats via the mobile device110while a front passenger may have access to cabin controls for only the front vehicle seats. The controls may be even more granular. A mobile device110of a rear seat passenger may only allow the passenger to control the blower, vents, and temperature associated with his or her seat via his or her mobile device110.

Referring now toFIG.2, components of the occupant messaging system105may communicate with components of the mobile device110. As shown inFIG.2, the occupant messaging system105includes a communication tag115, a communication transceiver120, a system memory125, and a system processor130. The communication transceiver120, the system memory125, and the system processor130may be in communication over a vehicle communication bus135, which may include a Controller Area Network (CAN) bus, Ethernet, or the like. The mobile device110includes at least one communication chip140, a device interface145, a device memory150, and a device processor155.

The communication tag115is implemented via circuits, chips, or other electronic components that can wirelessly communicate with the mobile device110over a short communication range. For instance, the communication tag115may implement near-field communication (NFC) technology. As shown inFIGS.3A and3B, the communication tag115may be located in the seatbelt buckle160. When the seatbelt is buckle160d, the communication tag115may wirelessly communicate with a corresponding communication chip140in the mobile device110. The communication tag115may transmit the location of the passenger to the communication chip140in the mobile device110. The communication tag115may have a short communication range, on the order of 20 cm. Therefore, each passenger's mobile device110may only be able to receive messages from the communication tag115incorporated into the seatbelt used by that passenger. Therefore, the mobile device110can determine where the passenger is located based on the message received from the communication tag115.

The communication transceiver120is implemented via an antenna, circuits, chips, or other electronic components that facilitate wireless communication between the occupant messaging system105and the mobile device110. The communication transceiver120may be programmed to communicate in accordance with any number of wired or wireless communication protocols. For instance, the communication transceiver120may be programmed to communicate in accordance with a satellite-communication protocol, a cellular-based communication protocol (LTE, 3G, etc.), Bluetooth®, Bluetooth® Low Energy, Ethernet, the Controller Area Network (CAN) protocol, WiFi, the Local Interconnect Network (LIN) protocol, etc. In some instances, the communication transceiver120is incorporated into a vehicle telematics unit.

The system memory125is implemented via circuits, chips or other electronic components and can include one or more of read only memory (ROM), random access memory (RAM), flash memory, electrically programmable memory (EPROM), electrically programmable and erasable memory (EEPROM), embedded MultiMediaCard (eMMC), a hard drive, or any volatile or non-volatile media etc. The system memory125may store instructions executable by the system processor130and data such as messages or other messages generated or received by the occupant messaging system105. The instructions and data stored in the system memory125may be accessible to the system processor130and possibly other components of the occupant messaging system105, the host vehicle100, or both.

The system processor130, which is part of a vehicle computer, is implemented via circuits, chips, or other electronic component and may include one or more microcontrollers, one or more field programmable gate arrays (FPGAs), one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more customer specific integrated circuits, etc. The system processor130may be programmed to process messages received from the mobile device110. The messages from the mobile device110may include instructions for controlling various vehicle systems such as, e.g., the infotainment system, the climate control system, door locks, windows, etc. The system processor130may also be programmed to determine which seat is associated with each mobile device110from the messages received from each mobile device110. The system processor130may be programmed to generate messages to the occupants. The messages may include ADAS alerts, infotainment system messages, or the like. Other messages may include information about the infotainment system, the climate control system, or other systems of the host vehicle100. The system processor130may command the communication transceiver120to transmit the messages and messages to the mobile device110. As discussed above, the mobile device110may filter the messages and messages so that the occupant using the mobile device110will only see the messages and messages appropriate for where the occupant is seated (e.g., rear seat passengers will only see messages and messages intended for the rear seat passengers, front passengers will only see messages and messages intended for front seat passengers, only the driver will receive ADAS alerts, etc.).

The communication chip140is implemented via an antenna, circuits, chips, or other electronic components that facilitate wireless communication between the mobile device110and the occupant messaging system105. The communication chip140may be programmed to communicate in accordance with any number of wireless communication protocols. For instance, the communication chip140may be programmed to communicate in accordance with a satellite-communication protocol, a cellular-based communication protocol (LTE, 3G, etc.), a near field communication (NFC) protocol, Bluetooth®, Bluetooth® Low Energy, etc. In some instances, the communication chip140is programmed to receive communications transmitted from the communication tag115of the occupant messaging system105. The communication chip140may also be programmed to communicate with the communication transceiver120of the occupant messaging system105.

The device interface145is implemented via a display screen, input device, circuits, chips, or other electronic components that receive user inputs from the user of the mobile device110. The device interface145may include a touchscreen, a keyboard, mouse, etc. The display screen may present a contextual user interface to the user and may receive user inputs. Messages and messages transmitted from the occupant messaging system105may be presented via the display screen. User inputs received by the device interface145may include control selections for the infotainment system, the climate control system, doors, windows, or other components or systems of the host vehicle100.

The device memory150is implemented via circuits, chips or other electronic components and can include one or more of read only memory (ROM), random access memory (RAM), flash memory, electrically programmable memory (EPROM), electrically programmable and erasable memory (EEPROM), embedded MultiMediaCard (eMMC), a hard drive, or any volatile or non-volatile media etc. The device memory150may store instructions executable by the device processor155and data such as messages or other messages received at the mobile device110from the occupant messaging system105. The instructions and data stored in the device memory150may be accessible to the device processor155and possibly other components of the mobile device110.

The device processor155is implemented via circuits, chips, or other electronic component and may include one or more microcontrollers, one or more field programmable gate arrays (FPGAs), one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more customer specific integrated circuits, etc. The device processor155may be programmed to determine where the user of the mobile device110is located in the vehicle. The device processor155may determine where the user of the mobile device110is located based on the communications with the communication tag115of the occupant messaging system105. The device processor155may be further programmed to receive messages transmitted by the occupant messaging system105, filter the message according to where the user is located in the host vehicle100, and command the device interface145to present the messages remaining after filtering the messages. The device processor155may be programmed to filter the messages and messages based on the location of the user. That is, each message may identify an intended recipient location. The device processor155may command the device interface145to only display the messages and messages where the intended recipient location includes the location of the user. That way, the mobile device110will only display the messages and messages intended for someone seated where the user is seated in the host vehicle100. The device processor155may be further programmed to command the device interface145to update the contextual user interface presented on the device interface145to display context-specific messages, messages, and controls. For instance, the device processor155may be programmed to command the device interface145to display controls for the infotainment system, cabin control system, etc., appropriate for where the user of the mobile device110is seated in the host vehicle100.

Referring now toFIGS.3A and3B, the communication tag115is embedded in a seatbelt buckle160of a seatbelt assembly165. A metal shield170at least partially encapsulates the communication tag115when the buckle160is unfastened (e.g., the latch175is not in the buckle160). The metal shield170prevents any mobile devices110from communicating with the communication tag115. The act of fastening the seatbelt causes the metal shield170to move to an area that unblocks the communication tag115.FIG.3Ashows the metal shield170blocking the communication tag115.FIG.3Bshows the metal shield170moved away from the communication tag115by the part of the latch175that enters the buckle160. Moving the metal shield170away from the communication tag115exposes the communication tag115, and allows signals transmitted by the communication tag115to reach the mobile device110so long as the mobile device110is within communication range of the mobile device110. As such, the communication chip140of the mobile device110can only receive signals transmitted by the communication tag115when the seatbelt is buckle160d. Otherwise, the metal shield170blocks signals transmitted by the communication tag115.

FIG.4is a flowchart of an example process400that may be executed by the occupant messaging system105. The process400may begin at any time while the host vehicle100is operating. The process400may continue to execute while the host vehicle100is running.

At block405, the occupant messaging system105pairs with the mobile devices110in the host vehicle100. The communication transceiver120may facilitate the pairing with the mobile devices110. Further, the system processor130may determine which mobile devices110are paired based on communications between the system processor130and the communication transceiver120.

At block410, the occupant messaging system105transmits the passenger location to each mobile device110. That is, when the passenger fastens his or her seatbelt by, e.g., inserting the latch175into the buckle160, the latch175may move the metal shield170away from the communication tag115in the buckle160. The communication tag115may transmit the passenger location to the closest mobile device110when the metal shield170is no longer blocking the communication tag115.

At block415, the occupant messaging system105identifies the contextual user interface for each location with a passenger. That is, the system processor130may be programmed to select each contextual user interface based on the location associated with the contextual user interface. The system processor130may be programmed to select the contextual user interface by querying a lookup table or other database, stored in the system memory125, that relates the location to the contextual user interface.

At block,420, the occupant messaging system105commands the mobile device110to present the contextual user interface associated with the location of the mobile device110. That is, the system processor130may communicate to the mobile device110which messages are appropriate for the passenger using the mobile device110based on where the passenger is sitting in the host vehicle100. In some instances, the mobile device110may be programmed to select the contextual user interface based on the location received at block410. Thus, blocks415and420could be omitted if the mobile device110can determine which contextual user interface to present without additional information from the system processor130.

At block425, the occupant messaging system105sends messages to, and receives commands from, the mobile devices110. The system processor130commands the communication transceiver120to transmit messages to the mobile devices110. In turn, each mobile device110determines which messages to present to the user of the respective mobile device110based on where the user is seated in the host vehicle100. The system processor130also receives and processes commands sent from the mobile devices110. As discussed above, the mobile devices110only present commands appropriate for where the user of the mobile device110is located. Upon receipt of a command, the system processor130is programmed to process the command or forward the command to the appropriate vehicle sub system.

The process400, specifically block425, may continue to execute until the host vehicle100is shut down.

FIG.5is a flowchart of an example process500that may be executed by the mobile device110. The process500may begin at any time the mobile device110is located in the host vehicle100and the host vehicle100is operating such that the occupant messaging system105can communicate with the mobile device110.

At block505, the mobile device110pairs with the occupant messaging system105. For instance, the device processor155may command the communication chip140to pair with the communication transceiver120of the occupant messaging system105. Pairing with the occupant messaging system105may include the mobile device110identifying itself to the occupant messaging system105. That way, the occupant messaging system105may distinguish between mobile devices110located in the host vehicle100.

At block510, the mobile device110receives the location of the passenger carrying the mobile device110from the communication tag115. The communication tag115may send the location of the passenger to the communication chip140in the mobile device110via, e.g., the near-field communication protocol. As discussed above, the communication tag115may be blocked by the metal shield170until the person carrying the mobile device110fastens his or her seatbelt. Fastening the seatbelt may cause the latch175to move the metal shield170away from the communication tag115located in the buckle160. The communication tag115may transmit the passenger location to the communication chip140of the mobile device110when the metal shield170is no longer blocking the communication tag115.

At block515, the mobile device110transmits the location, in the host vehicle100, of the passenger using the mobile device110to the occupant messaging system105. That is, the device processor155may command the communication chip140to transmit the location determined from the communication tag115to the communication transceiver120of the host vehicle100. That way, the occupant messaging system105can learn which seats are occupied with users of mobile devices110and which mobile device110in the host vehicle100is associated with which seat.

At block520, the mobile device110receives the contextual user interface from the occupant messaging system105. As discussed above, the system processor130may communicate to the mobile device110which messages are appropriate for the passenger using the mobile device110based on where the passenger is sitting in the host vehicle100. Thus, block520may include the communication chip140receiving the contextual user interface appropriate for where the passenger carrying the mobile device110is sitting in the host vehicle100. Receiving the contextual user interface may include receiving a list of message types (e.g., ADAS messages, climate controls, infotainment system controls, etc.) that are appropriate for the passenger carrying the mobile device110given that passenger's location in the host vehicle100. In some instances, the mobile device110may be programmed to select the contextual user interface based on the location received at block510. Thus, the device processor155may, at block520, determine which contextual user interface to present without additional information from the system processor130.

At block525, the mobile device110presents the contextual user interface. The device processor155may present the contextual user interface via the device interface145, which as discussed above could be a touchscreen display, incorporated into the mobile device110. Presenting the contextual user interface may include presenting messages for the passenger using the mobile device110and present prompts for the passenger to provide user inputs controlling various vehicle subsystems such as the infotainment system, climate control system, door locks, windows, etc.

At block530, the mobile device110receives messages and messages from the occupant messaging system105. For instance, the messages and messages may be transmitted from the occupant messaging system105as a result of the system processor130commanding the communication transceiver120to transmit the message to all mobile devices110located in the host vehicle100. The device processor155of each mobile device110in the host vehicle100may receive the messages and messages transmitted by the communication transceiver120via, e.g., the communication chip140of the respective mobile device110.

At block535, the mobile device110filters the messages or messages. That is, the device processor155determines whether the message is intended for the passenger using the mobile device110based on the location determined at block510. Each message may identify the intended recipient by location in the host vehicle100. The device processor155may filter messages or messages by excluding those intended for mobile devices110used by passengers at other locations than the passenger using the mobile device110. Excluding the message may include deleting the message from the mobile device110or simply refraining from displaying the message on the device interface145of the mobile device110.

At block540, the mobile device110displays the message via the contextual user interface. That is, the device processor155may command the device interface145to present the messages remaining after the filter is applied at block535. Presenting the messages may include presenting the ADAS alerts, cabin control messages, infotainment system messages, or other messages appropriate for the passenger using the mobile device110given the passenger's location in the host vehicle100.

At block545, the mobile device110receives commands for controlling various vehicle subsystems such as the infotainment system, climate control system, door locks, windows, etc. Prompts to provide such commands may be incorporated into the user interface presented at block525. In some instances, the commands made available to the passenger may also be based on the filter applied at block535. Thus, the commands may be presented via the contextual user interface according to where the passenger is seated in the host vehicle100.

At block550, the mobile device110sends commands received at block540to the occupant messaging system105. For instance, the contextual user interface may present various messages and prompts for commands to the user of the mobile device110. The device interface145may receive commands via, e.g., the touchscreen, keyboard, mouse, etc. The commands may be controls for various vehicle systems such as the climate control system, infotainment system, door locks, windows, etc. The device processor155may command the communication chip140to transmit received commands to the occupant messaging system105. The communication transceiver120may receive the commands, and the system processor130may process the commands. Processing the commands may include the system processor130forwarding the commands to the appropriate vehicle sub system.

The process500may continue to execute blocks530-550for as long as the host vehicle100and mobile device110are operating and the mobile device110remains paired with the occupant messaging system105.