PROFILE BUILDING USING OCCUPANT STRESS EVALUATION AND PROFILE MATCHING FOR VEHICLE ENVIRONMENT TUNING DURING RIDE SHARING

A system for generating and matching profiles of people for ride sharing comprises a processor to process physiological data of users collected by sensors in the vehicles, driving data collected by sensors in the vehicles, and lifestyle data of the users. The processor generates user profiles based on the physiological, driving, and lifestyle data. The user profiles include correlations between the data and stress levels of the users during the use of the vehicles. A network interface receives the physiological, driving, and lifestyle data from the vehicles; receives a request from a first user to share a ride in a vehicle; receives information from the processor about a second user having a user profile compatible to the first user; and sends a response to the first user including the information about the second user to allow the first user to share the ride in the vehicle with the second user.

INTRODUCTION

The present disclosure relates generally to ride sharing and more particularly to generating and matching profiles of people for ride sharing.

Sharing a ride, where two or more persons share a vehicle to go from place A to place B, is becoming increasingly common in major cities where vehicular traffic is problematic. Indeed, some cities provide separate lanes for vehicles with two or more occupants during rush hours to encourage people to share a ride so as to alleviate traffic congestion.

Occupants sharing a ride in a vehicle can have different temperaments and may react differently to stress inducing events such as a traffic jam. These stresses can lead to aggressive behavior sometimes known as road rage, which can further escalate or aggravate stress levels of the occupants. These stresses can occur whether an occupant is driving the vehicle or is simply riding the vehicle. These stresses can also occur when people share a ride in autonomous vehicles, which are on the horizon.

SUMMARY

A system for generating and matching profiles of people for ride sharing comprises a processor and memory storing instructions for the processor. The processor is configured to execute the instructions to process physiological data of users of vehicles collected by sensors in the vehicles, the physiological data comprising data indicating heart rate, breathing rate, and body movements of the users during use of the vehicles. The processor is configured to execute the instructions to process driving data collected by sensors in the vehicles, the driving data comprising data indicating speed, acceleration, braking, and navigation used during the use of the vehicles. The processor is configured to execute the instructions to process lifestyle data comprising age and gender of the users, infotainment preferences and vehicle environment preferences of the users, and health data indicating health status and exercise habits of the users. The processor is configured to execute the instructions to generate user profiles based on the physiological, driving, and lifestyle data, the user profiles including correlations between the physiological, driving, and lifestyle data and stress levels of the users during the use of the vehicles. The system further comprises a network interface configured to receive the physiological, driving, and lifestyle data from the vehicles; receive a request from a first user to share a ride in a vehicle; receive information from the processor about a second user having a user profile compatible to the first user; and send a response to the first user including the information about the second user to allow the first user to share the ride in the vehicle with the second user.

In other features, the processor is further configured to execute the instructions to select the second user having the user profile compatible to the first user and to send the information about the second user to the network interface.

In other features, the processor is further configured to execute the instructions to generate driving profiles of the users based on the driving data, the driving profiles indicating driving styles of the users; and to select the second user having a driving profile compatible to the first user.

In other features, the processor is further configured to execute the instructions to identify, based on the physiological, driving, and lifestyle data, one or more vehicle parameters that alleviate the stress levels of the users; and to include the one or more vehicle parameters in the user profiles.

In other features, the one or more vehicle parameters comprise settings for infotainment and vehicle environment, navigation, and driving style.

In other features, the infotainment settings comprise settings for one or more of a type of music and a radio station; the vehicle environment settings comprise settings for one or more of interior lighting, ringtones, temperature, fan speed, humidity, and windows/sunroof; the navigation settings comprise alternate routes based on traffic conditions; and the driving style settings comprise one or more of selecting a different route according to speed preferences, using less than preferred speed, and using fewer than preferred lane changes.

In other features, the vehicle in which the first and second users share the ride includes an autonomous vehicle. The processor is further configured to execute the instructions to select, based on the user profiles of the first and second users, a driving configuration comprising one or more of a route for the ride, infotainment and vehicle environment preferences of the first and second users, and driving styles of the first and second users. The network interface is further configured to send the driving configuration to the vehicle.

In other features, one or more subsystems of the vehicle are configured to operate according to the driving configuration when the first and second users share the ride in the vehicle.

In other features, the vehicle in which the first and second users share the ride includes an autonomous vehicle. One or more subsystems of the vehicle are configured to operate according to the user profiles of the first and second users when the first and second users share the ride in the vehicle.

In other features, when the first and second users share the ride in the vehicle, the processor is further configured to execute the instructions to process additional physiological, driving, and lifestyle data received from the vehicle during the ride; and to update the user profiles of the first and second users based on the additional physiological, driving, and lifestyle data.

In other features, when the first and second users share the ride in the vehicle, the processor is further configured to execute the instructions to process additional driving data received from the vehicle during the ride; and to update the driving profiles of the first and second users based on the additional driving data.

In other features, the network interface is configured to receive the request from the first user from a handheld computing device of the first user and to send the information about the second user to the handheld computing device of the first user.

In other features, the network interface is further configured to wirelessly communicate with the vehicles and the first and second users.

In other features, a server includes the processor, the memory, and the network interface; and the server is implemented in a cloud-based computing environment.

In other features, the processor is further configured to execute the instructions to monitor the physiological data of a user for a predetermined period of time during the use of the vehicle; to determine, based on the lifestyle data and the monitored data of the user, values of the physiological data for indicating a baseline stress level and a threshold stress level of the user; and to determine, by monitoring the physiological data of the user, whether a current stress level of the user is greater than or equal to the threshold stress level. When the current stress level of the user is greater than or equal to the threshold stress level, one or more vehicle parameters are changed based on the user profile of the user to reduce the stress level of the user.

In still other features, a method for generating and matching profiles of people for ride sharing, performed by a processor by executing instructions stored in memory, comprises processing, using the processor, physiological data of users of vehicles collected by sensors in the vehicles, the physiological data comprising data indicating heart rate, breathing rate, and body movements of the users during use of the vehicles. The method further comprises processing, using the processor, driving data collected by sensors in the vehicles, the driving data comprising data indicating speed, acceleration, braking, and navigation used during the use of the vehicles. The method further comprises processing, using the processor, lifestyle data comprising age and gender of the users, infotainment preferences and vehicle environment preferences of the users, and health data indicating health status and exercise habits of the users. The method further comprises generating, using the processor, user profiles based on the physiological, driving, and lifestyle data, the user profiles including correlations between the physiological, driving, and lifestyle data and stress levels of the users during the use of the vehicles. The method further comprises receiving a request from a first user to share a ride in a vehicle. The method further comprises identifying a second user having a user profile compatible to the first user. The method further comprises sending information about the second user to allow the first user to share the ride in the vehicle with the second user.

In other features, the method further comprises generating, using the processor, driving profiles of the users based on the driving data, the driving profiles indicating driving styles of the users. The method further comprises selecting the second user having a driving profile compatible to the first user.

In other features, the method further comprises identifying, based on the physiological, driving, and lifestyle data, one or more vehicle parameters that alleviate the stress levels of the users. The method further comprises including the one or more vehicle parameters in the user profiles. The one or more vehicle parameters comprise settings for infotainment and vehicle environment, navigation, and driving style.

In other features, the method further comprises, when the vehicle in which the first and second users share the ride includes an autonomous vehicle, selecting, based on the user profiles of the first and second users, a driving configuration comprising one or more of a route for the ride, infotainment and vehicle environment preferences of the first and second users, and driving styles of the first and second users; sending the driving configuration to the vehicle; and configuring one or more subsystems of the vehicle to operate according to the driving configuration when the first and second users share the ride in the vehicle.

In other features, the method further comprises monitoring the physiological data of a user for a predetermined period of time during the use of the vehicle. The method further comprises determining, based on the lifestyle data and the monitored data of the user, values of the physiological data for indicating a baseline stress level and a threshold stress level of the user. The method further comprises determining, by monitoring the physiological data of the user, whether a current stress level of the user is greater than or equal to the threshold stress level. The method further comprises when the current stress level of the user is greater than or equal to the threshold stress level, changing one or more vehicle parameters based on the user profile of the user to reduce the stress level of the user.

DETAILED DESCRIPTION

The present disclosure relates to systems and methods that collect various types of data about users of vehicles and that generate various profiles of the users. For example, vehicles can be equipped with sensors to sense physiological data (e.g., heart rate, breathing rate, etc.) of users while the users ride in a vehicle. Such sensors can be arranged in seats or elsewhere in the vehicle. The vehicles can be further equipped with sensors that sense driving data (e.g., speed, acceleration, braking, and navigation) of the vehicle. The systems and methods can collect the physiological data and the driving data for each user of the vehicle.

The systems and methods can also collect lifestyle data of the user. The lifestyle data may include age and gender of the user. The lifestyle data may further include infotainment preferences (e.g., preferred music, radio stations, etc.) of the user while riding a vehicle. The lifestyle data may additionally include vehicle environment preferences (e.g., preferred temperature, fan speed, interior lighting, etc.) of the user while riding a vehicle. The lifestyle data may also include health data indicating health status and exercise habits of the user.

Based on the physiological, driving, and lifestyle data of users collected from vehicles and users, the systems and methods can generate user profiles of the users. The user profiles can indicate correlations between the physiological, driving, and lifestyle data of users and stress levels of users. For example, a user profile of a user can indicate stress levels of the user in response to different stress stimuli (e.g., driving conditions, behavior of other users in the vehicle, etc.) during a ride in a vehicle. The user profile can also indicate actions that can reduce the stress level of the user during the ride in the vehicle. The user profile can also indicate stress level thresholds or values of the physiological data of the user at which to perform the stress reducing actions during the ride in the vehicle.

Non-limiting examples of the stress reducing actions that may be performed during a ride in a vehicle include playing a particular music or radio station, selecting an alternate route, using or not using cruise control, using or not using an onboard navigation system, setting preferred interior lighting and/or temperature, turning off ringtones or lowering volumes of ringtones of devices, opening or closing windows/sunroof, etc.

Based on the driving data of users collected from the vehicles, the systems and methods can also generate driving profiles of the users. A driving profile of a user can indicate a driving style of the user. For example, the driving profile can indicate whether the user is aggressive (e.g., tendencies for frequent lane changes, speeding, etc.). The driving profile can also indicate whether the user frequently accelerates and brakes or maintains steady speed. The driving profile can provide further indicia of the driving style including preferences regarding using freeways versus surface roads, avoiding route going through crowded areas such as downtowns, distance maintained from other vehicles, accelerating through intersections when the traffic signals are changing, turning on a red signal, etc.

Based on the user profiles and the driving profiles of the users, the systems and methods of the present disclosure can provide suitable matches to a user for sharing a ride. When sharing a ride in autonomous vehicles, only the user profiles and route need to be matched, and a driving configuration can be downloaded to the vehicle. When sharing a ride in non-autonomous vehicles, the user profiles, the driving profiles, and the route need to be matched. These and other aspects of the present disclosure are described below in detail.

For example, when a request to share a ride with others is received from a first user, the systems and methods can compare the user profile of the first user to user profiles of other users and identify users having user profiles that are compatible with the user profile of the first user. For example, a second user may have a user profile similar to the user profile of the first user (e.g., both users may have similar stress profiles and similar preferences regarding actions that can alleviate stress). Alternatively, the second user may have a user profile that is complementary to the user profile of the first user (e.g., the second user may be less susceptible to stress than the first user and therefore may have a calming impact on the first user if the two users ride together). The systems and methods can send the information about the second user with a similar user profile to the first user. The first user can then share a ride with the second user.

In addition to matching the user profiles, if sharing a ride in a non-autonomous vehicle, the systems and methods can additionally compare the driving profile of the first user to driving profiles of other users and identify users having driving profiles that are also compatible with the driving profile of the first user. For example, the second user having a similar user profile to the first user may also have a driving profile that is similar to the driving profile of the first user (e.g., both users may have similar driving styles). The systems and methods can send information about the second user with a similar driving profile and a similar user profile to the first user. The first user can then share a ride with the second user.

The systems and methods can be implemented using one or more servers as explained below in detail. For example, the systems and methods can be implemented in a cloud computing environment. The various data can be collected from the users and vehicles via distributed communication systems such as the Internet and cellular and other wireless networks. The users can communicate with the servers using computing devices (e.g., smartphones). The vehicles can communicate with the servers using onboard computing devices. These and other features of the systems and methods of the present disclosure are now described in further detail.

The present disclosure is organized as follows.FIG. 1shows a computing device and various subsystems of a vehicle connected to each other using a Controlled Area Network (CAN) bus.FIGS. 2-4show simplistic examples of a distributed computing environment in which the systems and methods of the present disclosure can be implemented.FIGS. 5-7show the systems and methods of the present disclosure in detail.

Throughout the present disclosure, references to terms such as servers, client devices, applications, and so on are for illustrative purposes only. The terms servers and client devices are to be understood broadly as representing computing devices comprising one or more processors and memory configured to execute machine readable instructions. The terms applications and computer programs are to be understood broadly as representing machine readable instructions executable by the computing devices.

Automotive electronic control systems are typically implemented as Electronic Control Units (ECU's) that are connected to each other by a Controller Area Network (CAN) bus. Each ECU controls a specific subsystem (e.g., engine, transmission, heating and cooling, infotainment, navigation, and so on) of the vehicle. Each ECU includes a microcontroller, a CAN controller, and a transceiver. In each ECU, the microcontroller includes a processor, memory, and other circuits to control the specific subsystem. Each ECU can communicate with other ECU's via the CAN bus through the CAN controller and the transceiver.

FIG. 1shows an example of a vehicle10comprising a computing device11and a plurality of ECU's connected to each other by a CAN bus. The computing device11is similar to a client device120shown inFIG. 3and is therefore not described here. In addition to including the components of the client device120shown inFIG. 3, the computing device11includes one or more components of an ECU12described below. Accordingly, the computing device11can communicate with the CAN bus and can interface (i.e., exchange data) with the ECU's12via the CAN bus.

The plurality of ECU's includes ECU-112-1, ECU-212-2, . . . , and ECU-N12-N (collectively, ECU's12), where N is an integer greater than one. Hereinafter, ECU12refers to any of the plurality of ECU's12. WhileFIG. 1shows a detailed functional block diagram of only the ECU-N12-N, it will be understood that other ECUs12can have structure similar to the ECU-N12-N. Each ECU12or any portion thereof may be implemented as one or more modules.

Each ECU12controls a respective subsystem of the vehicle10. For example, the ECU-112-1controls a subsystem14-1, the ECU-212-2controls a subsystem14-2, . . . , and the ECU-N12-N controls a subsystem14-N. Collectively the subsystems14-1,14-2, . . . , and14-N are referred to as subsystems14. Non-limiting examples of the subsystems14include an infotainment subsystem, a navigation subsystem, a physiological data acquisition subsystem, a driving data acquisition subsystem, an engine control subsystem, a transmission control subsystem, a brake control subsystem, an exhaust control subsystem, a traction control subsystem, a suspension control subsystem, a climate control subsystem, a safety subsystem, and so on.

Each subsystem14may include one or more sensors to sense data from one or more components of the subsystem14. For example, the physiological data acquisition subsystem may include biometric or biological sensors and cameras to collect physiological data from occupants of the vehicle10; the driving data acquisition subsystem may include sensors to collect driving data such as speed, acceleration, braking, and navigation data of the vehicle10; the safety subsystem may include cameras; and so on. Each subsystem14may include one or more actuators to actuate one or more components of the subsystem14.

An ECU12may receive data from one or more sensors of a corresponding subsystem14. Depending on the type of ECU, the ECU12may also receive one or more inputs from an occupant of the vehicle10. The ECU12may control one or more actuators of the corresponding subsystem14based on the data received from the one or more sensors and/or the one or more inputs from an occupant of the vehicle10.

The ECUs12are connected to a CAN bus16. The ECUs12can communicate with each other and with the computing device11via the CAN bus16. The ECUs12can communicate with other devices connected to the CAN bus16(e.g., test equipment, a communication gateway, etc.). Each ECU12includes a microcontroller20and a CAN transceiver22. The microcontroller20communicates with the subsystem14controlled by the ECU12. The CAN transceiver22communicates with the CAN bus16.

The microcontroller20includes a processor30, a memory32, a CAN controller34, and a power supply36. The memory32includes volatile memory (RAM) and may additionally include nonvolatile memory (e.g., flash memory) and/or other type of data storage device(s). The processor30and the memory32communicate with each other via a bus38. The processor30executes code stored in the memory32to control the subsystem14. The power supply36supplies power to all of the components of the microcontroller20and the ECU12. The CAN controller34communicates with the CAN transceiver22.

The computing device11can collect the physiological and driving data from the ECU's12controlling the respective subsystems14. The computing device11can send the collected physiological and driving data to a remote server (e.g., a server130shown inFIGS. 2-4) for analysis and profile building as described below. The computing device11can receive data from a remote server (e.g., a server130shown inFIGS. 2-4). For example, the computing device11can receive autonomous vehicle configuration and profiles of users riding the vehicle10. The computing device11can send the data (e.g., the autonomous vehicle configuration and profiles of users) received from a remote server (e.g., a server130shown inFIGS. 2-4) to the ECU's12controlling the respective subsystems14. Accordingly, the computing device11can configure one or more subsystems14of the vehicle10to operate according to the autonomous vehicle configuration (when the vehicle10includes an autonomous vehicle) and according to the profiles of users riding the vehicle10.

In addition, the computing device11can store user profiles received from a remote server (e.g., a server130shown inFIGS. 2-4). One or more ECU's12(e.g., the infotainment ECU, the navigation ECU, and so on) can control respective subsystems14according to the user profiles. For example, when users share a ride in the vehicle10, one or more vehicle parameters (e.g., music, radio station, interior lighting, temperature, fan speed, navigation, speed, acceleration, braking, etc.) are controlled by respective subsystems14according to the user profiles of the users stored in the computing device11. The computing device11interacts with the subsystems14via the respective ECU's12to coordinate the control of one or more vehicle parameters according to the user profiles of the users stored in the computing device11. These aspects of the present disclosure are described below in further detail.

FIG. 2shows a simplified example of a distributed network system100. The distributed network system100includes a network110(e.g., a distributed communication system). The distributed network system100includes one or more client devices120-1,120-2, . . . , and120-M (collectively client devices120); one or more servers130-1,130-2, . . . , and130-N (collectively servers130); and one or more vehicles140-1,140-2, . . . , and140-P (collectively vehicles140), where M is an integer greater than 1, and where N and P are integers greater than or equal to 1.

The network110may include a local area network (LAN), a wide area network (WAN) such as the Internet, a cellular network, or other type of network (collectively shown as the network110). The client devices120may include computing devices (e.g., smartphones) and may communicate with the servers130via the network110. The client devices120and the servers130may connect to the network110using wireless and/or wired connections to the network110. Throughout the present disclosure, references to the client devices120are to be understood as references to respective users of the client devices120.

Each vehicle140comprises the computing device11(that is similar to the client device120), the ECU's12, and the subsystems14shown inFIG. 1. Throughout the present disclosure, communications with and by the vehicles140are to be understood as communications with the computing devices11in the vehicles140. The computing device11in each vehicle140may execute applications that communicate with various sensors in the vehicle140that sense the physiological data and the driving data of users riding the vehicle140. The computing device11in each vehicle140may also execute applications that communicate with various subsystems14of the vehicle140. Non-limiting examples of the various subsystems of the vehicle140includes infotainment system, navigation system, HVAC system, and other control systems that control various operations of the vehicle140. The computing devices11in the vehicles140may communicate with the servers130via the network110. The vehicles140(i.e., the computing devices of the vehicles140) may communicate the network110using wireless connections to the network110.

The servers130may provide multiple services to the client devices120and to the computing devices11in the vehicles140(i.e., to the vehicles140). For example, the servers130may execute a plurality of software applications. The servers130may host multiple databases that are utilized by the plurality of software applications and that are used by the client devices120and the vehicles140. In addition, the servers130, the client devices120, and the computing devices in the vehicles140may execute applications that implement at least some portions of the methods described below with reference toFIGS. 5-7.

FIG. 3shows a simplified example of the client devices120(e.g., the client device120-1). The client device120-1may typically include a central processing unit (CPU) or processor150, one or more input devices152(e.g., a keypad, touchpad, mouse, and so on), a display subsystem154including a display156, a network interface158, a memory160, and a bulk storage162.

The network interface158connects the client device120-1to the distributed network system100via the network110. For example, the network interface158may include a wired interface (e.g., an Ethernet interface) and/or a wireless interface (e.g., a Wi-Fi, Bluetooth, near field communication (NFC), cellular, or other wireless interface). The memory160may include volatile or nonvolatile memory, cache, or other type of memory. The bulk storage162may include flash memory, a hard disk drive (HDD), or other bulk storage device.

The processor150of the client device120-1may execute an operating system (OS)164and one or more client applications166. The client applications166may include an application to connect the client device120-1to the servers130via the network110. The client device120-1may access one or more applications executed by the servers130via the network110. The client applications166may also include an application that implements one or more portions of the methods described below with reference toFIGS. 5-7.

For example, a client application166on a smartphone of a user (i.e., on a client device120) may send a request for sharing a ride to one of the servers130and may receive information from one of the servers130regarding one or more users suitable for sharing the ride. A client application166on a computing device11of a vehicle140may send the physiological data and the driving data to one of the servers130. In case of autonomous vehicles, the client application166on a computing device11of a vehicle140may receive a driving configuration from one of the servers130when two or more users decide to share a ride in the vehicle140.

FIG. 4shows a simplified example of the servers130(e.g., the server130-1). The server130-1typically includes one or more CPUs or processors170, one or more input devices172(e.g., a keypad, touchpad, mouse, and so on), a display subsystem174including a display172, a network interface178, a memory180, and a bulk storage182.

The network interface178connects the server130-1to the distributed network system100via the network110. For example, the network interface178may include a wired interface (e.g., an Ethernet interface) and/or a wireless interface (e.g., a Wi-Fi, Bluetooth, near field communication (NFC), cellular, or other wireless interface). The memory180may include volatile or nonvolatile memory, cache, or other type of memory. The bulk storage182may include flash memory, one or more hard disk drives (HDDs), or other bulk storage device.

The processor170of the server130-1may execute an operating system (OS)184and one or more server applications186. The server applications186may include an application that implements the methods described below with reference toFIGS. 5-7. The bulk storage182may store one or more databases188that store data structures used by the server applications186to perform respective functions.

InFIGS. 5-7, various methods for generating and matching profiles of people for ride sharing are shown. These methods are implemented by the applications executed by the servers130, the vehicles140(i.e., the computing devices11in the vehicles140), and the client devices120. In the following description, the term control represents code or instructions executed by one or more components of the servers130, the vehicles140(i.e., the computing devices11in the vehicles140), and the client devices120shown inFIGS. 1-3. The term control refers to one or more of the server applications186, client applications166, and the applications executed by the computing devices11in the vehicles140that are described above with reference toFIGS. 2-4.

FIG. 5shows a method200for generating profiles of people for sharing a ride in a vehicle according to the present disclosure. The method200can be executed on one or more of the servers130(e.g., by the applications186) and one or more of the vehicles140(e.g., by the applications executed on the computing devices11in one or more of the vehicles140). For example, sensing the various types of data as described below can be performed by the applications executed on the computing devices11in one or more of the vehicles140. The processing of the sensed data and the generation of the profiles as described below can be performed by the applications186executed on one or more of the servers130.

At202, control (e.g., a server130) receives the physiological data of the users from the vehicles140(i.e., from the computing devices11in the vehicles140) through the network110(e.g., via the network interface178). The physiological data comprises data indicating heart rate, breathing rate, and body movements of the users during the use of the vehicles140. Non-limiting examples of body movements can include fidgeting, eye gaze, percentage of eye enclosure, eye blinking, head tilt, facial expressions, facial color, perspiration, and so on. The physiological data is sensed by various sensors including one or more cameras located throughout the vehicles140. The physiological data is wirelessly transmitted from the vehicles140(i.e., from the computing devices11in the vehicles140) to the servers130through the network110.

At204, control (e.g., a server130) receives the driving data of the users from the vehicles140(i.e., from the computing devices11in the vehicles140) through the network110(e.g., via the network interface178). The driving data comprises data indicating speed, acceleration, braking, and navigation used during the use of the vehicles140. The driving data is sensed by various sensors including one or more cameras located throughout the vehicles140. The driving data is wirelessly transmitted from the vehicles140(i.e., from the computing devices11in the vehicles140) to the servers130through the network110.

At206, control (e.g., a server130) receives the lifestyle data of the users from the client devices120of the users through the network110(e.g., via the network interface178). The lifestyle data comprises data indicating age and gender of the users, infotainment preferences and vehicle environment preferences of the users, and health data indicating health status and exercise habits of the users. The lifestyle data is wirelessly transmitted from the client devices120of the users to the servers130through the network110.

Non-limiting examples of infotainment preferences include preferred music and/or radio stations. Non-limiting examples of vehicle environment preferences include preferred interior lighting in the vehicles140, ring tone volume of devices being used in the vehicles140; temperature, fan speed, and humidity in the vehicles140; whether windows/sunroof of the vehicles140should be open or shut; etc.

Non-limiting examples of health data include any heart and/or lung conditions that could affect baseline values of the corresponding physiological data (e.g., heart rate, breathing rate, and so on). Exercise habits can affect baseline values of the corresponding physiological data (e.g., heart rate, breathing rate, and so on). The exercise habits can also reduce stress levels of the users, which can change their stress level thresholds that initiate or trigger countermeasures or actions needed to alleviate the stress levels.

At208, control (e.g., a processor170of a server130) processes the physiological, driving, and lifestyle data of the users and generates user profiles based on the analysis of the physiological, driving, and lifestyle data of the users. The user profiles include correlations between the physiological, driving, and lifestyle data of the users and stress levels of the users during the use of the vehicles140. The user profiles include a correspondence between values of the physiological data and stress levels of the users in response to different stress stimuli. The user profiles include stress level thresholds that can be used to trigger or initiate actions that reduce the stress levels. Control also continues to update these user profiles during the use of the vehicles140(i.e., during ride sharing) to refine the user profiles through a continued learning process.

At210, control (e.g., a processor170of a server130) processes the driving data of the users and generates driving profiles based on the analysis of the driving data of the users. The driving profiles indicate driving styles and habits of the users. Control also continues to update the driving profiles during the use of the vehicles140(i.e., during ride sharing) to refine the driving profiles through a continued learning process. The user profiles and the driving profiles can be stored in one or more databases (e.g., the databases188) of the servers170.

FIG. 6shows a method250for matching profiles of people for sharing a ride in a vehicle according to the present disclosure. The method250can be executed on one or more of the servers130(e.g., by the applications186) and one or more of the client devices120of the users (e.g., by the applications166). For example, the applications166executed on one or more of the client devices120of the users can send ride share requests and can receive information about users with whom a ride can be shared. The applications186executed on one or more of the servers130can receive ride share requests, identify matching profiles, send information about users with matching profiles, and download a driving configuration to one of the vehicles140in which the identified users can share the ride.

At252, control (e.g., a server130) receives a request to share a ride from a first user (e.g., from one of the client devices120) through the network110(e.g., via the network interface178). The request may include a start time, a start location, and a destination for the ride. At254, control (e.g., a processor170of a server130) identifies one or more users with a matching rout (i.e., users interested in traveling the same route as the first user). At256, control (e.g., a processor170of a server130) identifies users with user profiles (stored in one or more databases (e.g., the databases188) of the servers170) compatible with the user profile of the first user.

At258, control determines whether the vehicle140being shared is an autonomous vehicle. At260, if the vehicle140being shared is not an autonomous vehicle, control (e.g., a processor170of a server130) identifies users with driving profiles (stored in one or more databases (e.g., the databases188) of the servers170) compatible with the driving profile of the first user. That is, from the users that are already identified at256as having user profiles compatible with the user profile of the first user, control further identifies one or more of these users that additionally have driving profiles compatible with the driving profile of the first user. Accordingly, control identifies one or more users having user profiles and driving profiles that are compatible with the user profile and the driving profile of the first user.

At262, if the vehicle140being shared is an autonomous vehicle, control (e.g., a processor170of a server130) determines a driving configuration to be sent to the autonomous vehicle. Control determines the driving configuration based on the route and the user profiles of the users identified as having compatible user profiles to share the ride in the autonomous vehicle. The driving configuration comprises the route for the ride and the infotainment and vehicle environment preferences and driving styles of the users identified as having compatible user profiles to share the ride in the autonomous vehicle.

At264, control (e.g., a server130) sends information about the users having compatible profiles to the first user (e.g., to the client device120that requested ride sharing at252) through the network110(e.g., via the network interface178). If the vehicle140being shared is not an autonomous vehicle, control sends information about the users having compatible user profiles and compatible driving profiles to the first user. If the vehicle140being shared is an autonomous vehicle, control sends information about the users having compatible user profiles to the first user.

Based on the information received, the first user can communicate with the users (e.g., client devices120of the users) identified as having user profiles and optionally also driving profiles compatible with the first user, and the first user can share the ride with these users in one of the vehicles140. During the shared ride, one or more vehicle parameters can be changed depending on the stress levels of the users according to the user profiles and optionally also according to the driving profiles of the users sharing the ride.

The vehicle parameters comprise settings for infotainment and vehicle environment, navigation, and driving style to be used during the ride. Non-limiting examples of the infotainment settings include choice of music and or radio station in the vehicle140being shared by the users. Non-limiting examples of the vehicle environment settings include settings for interior lighting, ring tones, temperature, fan speed, humidity, and windows/sunroof in the vehicle140being shared by the users. Non-limiting examples of the navigation settings comprise settings for selecting alternate routes based on traffic conditions during the ride. Non-limiting examples of the driving style settings include using less than preferred speed and/or acceleration for the vehicle140, and fewer than preferred lane changes during the ride.

FIG. 7shows a method300for determining baseline stress levels and stress level thresholds of users when generating and updating user profiles of people for ride sharing according to the present disclosure. The method300also determines when to change vehicle parameters based on the user profiles. The method300can be executed on one or more of the servers130(e.g., by the applications186), one or more of the client devices120of the users (e.g., by the applications166), and one or more of the vehicles140(e.g., by the applications executed by the computing devices11in the vehicles140).

For example, users can send their lifestyle data using the applications166executed on one or more of the client devices120of the users. The vehicles140can sense the physiological data of the users during a ride and send the sensed physiological data to one or more of the servers130using the applications executed by the computing devices11in the vehicles140. The applications186executed on one or more of the servers130can monitor (i.e., receive physiological data), analyze the physiological data, determine baseline stress levels and threshold stress levels of the users, and determine if a current stress level exceeds a threshold stress level. The applications186executed on one or more of the servers130and the applications executed by the computing devices11in the vehicles140can initiate changes in one or more vehicle parameters to reduce the current stress level according to the user profile of the user.

At302, control receives the lifestyle data of a user. For example, the user may provide the lifestyle data including age, gender, infotainment and vehicle environment preferences, and health data indicating health status and exercise habits of the user.

At304, control monitors the physiological data of the user for a predetermined period of time during initial use of the vehicle. Examples of the physiological data are already provided above and are therefore not repeated for brevity. Control may select one or more types of the physiological data (e.g., heart rate and breathing rate) instead of considering all types of the physiological data.

At306, based on the lifestyle data and the monitored physiological data, control determines values of the physiological data as indicating a baseline stress level of the user. Control also determines values of the physiological data as indicating a threshold stress level for the user based on the lifestyle data and the monitored physiological data.

At308, after determining the baseline stress level and the threshold stress level for the user, control continues to monitor the physiological data of the user during the use of the vehicle. At310, control determines a current stress level of the user based on the current physiological data of the user. At312, control determines whether the current stress level of the user is greater than or equal to the threshold stress level of the user. Control returns to308if the current stress level of the user is less than the threshold stress level of the user. At314, if the current stress level of the user is greater than or equal to the threshold stress level of the user, control changes one or more vehicle parameters according to the user profile of the user to reduce the current stress level of the user, and control returns to308. A similar method may be used during generation and updating of the user profiles.