Occupant health screening and monitoring

By installing sensors and processors in vehicles, user health can be monitored in real time and corresponding functional adjustments can be made, which solves the shortcomings of health screening and monitoring in vehicles and improves user health and safety as well as the adaptability of vehicles.

CN114005533BActive Publication Date: 2026-03-27MOTIONAL AD LLC
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-11
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In existing technologies, vehicles lack effective health screening and monitoring methods, making it impossible to respond promptly to changes in users' health status, resulting in potential health risks not being addressed in a timely manner.

Method used

The vehicle is equipped with sensors and processors to monitor the user's health status by processing sensor data and to adjust the vehicle's functions accordingly based on the monitoring results, such as alerting the user to their health status, changing routes, or disinfecting the vehicle.

Benefits of technology

It enables real-time monitoring and response to users' health conditions by the vehicle, improving user health safety and the adaptability of the vehicle, and reducing the spread of health risks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114005533B_ABST
    Figure CN114005533B_ABST
Patent Text Reader

Abstract

Techniques, including receiving sensor data generated by sensors at a vehicle, processing the sensor data to determine at least one health condition of a user of the vehicle, and responsive to determining the at least one health condition, performing a vehicle function selected from a plurality of vehicle functions based on the at least one health condition, are described for screening and monitoring health of a vehicle user.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] This specification relates to screening and monitoring health of users of vehicles. BACKGROUND

[0002] A vehicle, such as an autonomous vehicle, can include sensors that generate data related to objects or people within or proximate to the vehicle. SUMMARY

[0003] A vehicle is provided that includes a sensor configured to generate sensor data related to a user of the vehicle, a computer-readable medium to store computer- executable instructions, and a processor communicatively coupled to the sensor and the computer-readable medium, the processor configured to execute the computer-executable instructions to perform operations including receiving sensor data generated by the sensor, processing the sensor data to determine at least one health condition of the user, and in response to determining the at least one health condition, performing a vehicle function selected from a plurality of vehicle functions based on the at least one health condition.

[0004] A method is provided that includes receiving sensor data generated by a sensor at a vehicle, processing the sensor data to determine at least one health condition of a user of the vehicle, and in response to determining the at least one health condition, performing a vehicle function selected from a plurality of vehicle functions based on the at least one health condition.

[0005] A non-transitory computer-readable storage medium is provided that includes one or more programs for execution by one or more processors of an apparatus, the one or more programs including instructions that, when executed by the one or more processors, cause the apparatus to perform the above method. BRIEF DESCRIPTION OF DRAWINGS

[0006] FIG. 1 An example of an autonomous vehicle with autonomous capabilities is shown.

[0007] FIG. 2 An example "cloud" computing environment is shown.

[0008] FIG. 3 An example computer system is shown.

[0009] FIG. 4 An example architecture of an autonomous vehicle is shown.

[0010] FIG. 5 An example of inputs and outputs that a perception module can use is shown.

[0011] FIG. 6 A block diagram showing the relationship between the inputs and outputs of the planning module.

[0012] FIG. 7 A directed graph used in path planning is shown.

[0013] FIG. 8 A block diagram showing the inputs and outputs of the control module.

[0014] FIG. 9 A block diagram showing the inputs, outputs, and components of the controller.

[0015] FIG. 10 A block diagram showing the inputs, outputs, and components of the health screening and monitoring module.

[0016] FIG. 11 A flowchart showing an example process for screening and monitoring the health of a vehicle user. DETAILED DESCRIPTION

[0017] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present application. It will be apparent, however, that the present application can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present application.

[0018] In the drawings, for purposes of clarity, specific arrangements or orders of elements are shown, for example, those representing devices, modules, instruction blocks, and data elements. However, it will be appreciated that the specific order or arrangement of elements as shown in the drawings is illustrative only and should not be construed as requiring such particular order or sequence or limiting the scope of the present application. Furthermore, the illustrated elements in the drawings are not necessarily drawn to scale.

[0019] Furthermore, in the drawings, connection elements, such as lines or arrows or the like, are used to illustrate connections, relationships or associations between two or more other illustrative elements, and the absence of such connection elements does not mean that connections, relationships or associations between elements cannot exist. In other words, some connections, relationships or associations between elements are not shown in the drawings to not obscure the disclosure. Moreover, the use of a single connection element to represent multiple connections, relationships or associations between elements is not meant to limit the scope of the present application to only such representations.

[0020] Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments described. However, it will be apparent to one skilled in the art that the various embodiments described can be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

[0021] Several features described below can be used independently of one another or with any combination of other features. However, any individual feature can not address any or all of the problems described above, or can address only one of the problems described above. Some of the problems discussed above can not be fully addressed by any one feature described herein. Although a heading is provided, information related to a heading can also be found elsewhere in the specification. Embodiments are described herein according to the following outline:

[0022] 1. OVERALL SUMMARY

[0023] 2. SYSTEM SUMMARY

[0024] 3. AUTONOMOUS VEHICLE ARCHITECTURE

[0025] 4. AUTONOMOUS VEHICLE INPUT

[0026] 5. AUTONOMOUS VEHICLE PLANNING

[0027] 6. AUTONOMOUS VEHICLE CONTROL

[0028] 7. PASSENGER HEALTH MONITORING AND SCREENING

[0029] OVERALL SUMMARY

[0030] A vehicle, such as an autonomous vehicle, can process data from one or more sensors to monitor one or more health conditions of a user, for example, as the user approaches the vehicle or moves within the vehicle. For example, processing audio data from an audio sensor (e.g., a microphone) at the vehicle to detect and characterize a cough of the user, which can then be used to diagnose the user as having a particular health condition. As another example, processing data from a temperature sensor to determine a body temperature of the user and to infer whether the user exhibits signs of fever or other illness. In response to determining that the user likely has a particular health condition, the vehicle can perform one or more vehicle functions based on the health condition, such as alerting the user of the health condition, rerouting the vehicle to a nearest emergency service, or applying a disinfectant within the vehicle as the user exits the vehicle, among others.

[0031] Some of the advantages of these techniques include using vehicle sensors to monitor the health of a vehicle user or potential user. This health information can then be used by the vehicle to adjust vehicle functionality to accommodate the user's health condition, prevent the user's health from deteriorating, or transport the user to a hospital or other emergency service for care if necessary. The vehicle can also use the health information to inform the user of potential health conditions that they can not be aware of. In some examples, the vehicle uses the health information to perform an appropriate cleaning procedure after the user has left the vehicle to prevent transmission to subsequent users.

[0032] SYSTEM SUMMARY

[0033] FIG. 1 An example of an autonomous vehicle 100 with autonomous capabilities is shown.

[0034] As used herein, the term "autonomous capabilities" refers to a function, feature, or facility that enables a vehicle to operate, in part or in whole, without real-time human intervention, including but not limited to fully autonomous vehicles, highly autonomous vehicles, partially autonomous vehicles, and conditionally autonomous vehicles.

[0035] As used herein, an autonomous vehicle (AV) is a vehicle with autonomous capabilities.

[0036] As used herein, a "vehicle" includes a means of transporting goods or people. For example, a car, bus, train, airplane, drone, truck, boat, ship, submersible, spacecraft, etc. A self-driving car is an example of a vehicle.

[0037] As used herein, a "trajectory" refers to a path or route that navigates an AV from a first spatiotemporal location to a second spatiotemporal location. In embodiments, the first spatiotemporal location is referred to as an initial or starting location, and the second spatiotemporal location is referred to as a destination, final location, target, target location, or target location. In some examples, a trajectory is composed of one or more segments (e.g., sections of a road), and each segment is composed of one or more blocks (e.g., a portion of a lane or intersection). In embodiments, spatiotemporal locations correspond to real-world locations. For example, a spatiotemporal location is a pickup or drop-off location for a person or cargo to board or disembark.

[0038] As used herein, a "sensor(s)" includes one or more hardware components for detecting information related to the sensor's surrounding environment. Some hardware components can include sensing components (e.g., image sensors, biometric sensors), transmitting and / or receiving components (e.g., laser or radio frequency wave emitters and receivers), electronic components (e.g., analog-to-digital converters), data storage devices (e.g., RAM and / or non-volatile memory), software or firmware components, and data processing components (e.g., application specific integrated circuits), microprocessors, and / or microcontrollers.

[0039] As used herein, a "scene description" is a data structure (e.g., a list) or data stream that includes one or more classified or labeled objects detected by one or more sensors on an AV or one or more classified or labeled objects provided by a source external to the AV.

[0040] As used herein, a "roadway" is a physical area that can be traversed by a vehicle, and can correspond to a named thoroughfare (e.g., a city street, an interstate highway, etc.) or can correspond to an unnamed thoroughfare (e.g., a driveway within a house or office building, a section of a parking lot, a section of an empty parking lot, a dirt path in a rural area, etc.). Because some vehicles (e.g., four-wheel drive pickup trucks, sport utility vehicles (SUVs), etc.) are capable of traversing a variety of physical areas that are not particularly well-suited for vehicle travel, a "roadway" can be any physical area that has not been formally defined as a thoroughfare by a municipality or other governmental or administrative body.

[0041] As used herein, a "lane" is a portion of a roadway that can be traversed by a vehicle. Sometimes a lane is identified based on lane markings. For example, a lane can correspond to most or all of the space between lane markings, or only a portion of the space (e.g., less than 50%) between lane markings. For example, a roadway with lane markings far apart can accommodate two or more vehicles such that one vehicle can pass another without crossing a lane marking, and thus can be interpreted as a lane being narrower than the space between lane markings, or as two lanes between lanes. Lanes can also be interpreted in the absence of lane markings. For example, a lane can be defined based on physical features of the environment (e.g., rocks in a rural area and trees along a boulevard, or natural obstacles that should be avoided such as in underdeveloped areas). Lanes can also be interpreted independent of lane markings or physical features. For example, a lane can be interpreted based on an arbitrary path in an area that lacks obstacles that would otherwise lack features to be interpreted as lane boundaries. In an example scenario, an AV can interpret a lane through an unobstructed portion of a field or open space. In another example scenario, an AV can interpret a lane through a wide (e.g., wide enough for two or more lanes) roadway without lane markings. In this scenario, the AV can communicate information about the lane to other AVs so that the other AVs can use the same lane information to coordinate path planning between AVs.

[0042] The term "over-the-air (OTA) client" includes any AV, or any electronic device (e.g., computer, controller, IoT device, electronic control unit (ECU)) embedded in, coupled to, or in communication with an AV.

[0043] The term "over-the-air (OTA) update" means any update, change, deletion, or addition to software, firmware, data, or configuration settings, or any combination thereof, delivered to an OTA client using proprietary and / or standardized wireless communication technologies, including but not limited to: cellular mobile communication (e.g., 2G, 3G, 4G, 5G), wireless radio area networks (e.g., WiFi), and / or satellite internet.

[0044] The term "edge node" refers to one or more edge devices coupled to a network that provide a portal for communication with AVs and can communicate with other edge nodes and cloud-based computing platforms to schedule and deliver OTA updates to OTA clients.

[0045] The term "edge device" refers to a device that implements an edge node and provides a physical wireless access point (AP) to a core network of an enterprise or service provider (e.g., VERIZON, AT&T). Examples of edge devices include, but are not limited to, a computer, a controller, a transmitter, a router, a routing switch, an integrated access device (IAD), a multiplexer, a metropolitan area network (MAN) and a wide area network (WAN) access device.

[0046] "one or more" includes a function performed by one element, a function performed by more than one element, for example in a distributed manner, several functions performed by one element, several functions performed by several elements, or any combination of the above.

[0047] It will also be understood that, although the terms "first," "second," etc. can be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact without departing from the scope of the various described embodiments. The first contact and the second contact are both contacts, but they are not the same contact.

[0048] The terminology used in the description of the various described embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "comprises," "comprising," "includes," "including," "has," "having," "has" and / or "having," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0049] As used herein, the term "if' can be construed to mean "when" or "in response to a determination" or "in response to the occurrence of a condition" or "in response to a determination that" or "in response to the occurrence of a condition" depending on the context.

[0050] As used herein, an AV system refers to an AV and real-time generated hardware, software, stored data, and real-time generated data supporting operation of the AV. In embodiments, an AV system is incorporated within an AV. In embodiments, an AV system is distributed across multiple locations. For example, some software of an AV system is in a cloud computing environment similar to the cloud computing environment 300 described below in connection with FIG. 3 implemented in a cloud computing environment described below in connection with

[0051] In general, this document describes techniques applicable to any vehicle with one or more levels of autonomy, including fully autonomous vehicles, highly autonomous vehicles, and conditional autonomous vehicles, such as Level 5, Level 4, and Level 3 vehicles (see SAE International Standard J3016: Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles, incorporated by reference in its entirety for additional details on levels of vehicle autonomy). The techniques described in this document are also applicable to partially autonomous vehicles and driver-assisted vehicles, such as Level 2 and Level 1 vehicles (see SAE International Standard J3016: Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles). In embodiments, one or more Level 1, Level 2, Level 3, Level 4, and Level 5 vehicle systems can automatically perform certain vehicle operations (e.g., steering, braking, and use of a map) under certain operating conditions based on processing of sensor inputs. The techniques described in this document can benefit vehicles at each level from fully autonomous vehicles to vehicles operated by humans.

[0052] Autonomous vehicles have advantages over vehicles that require a human driver. One advantage is safety. For example, in 2016, the United States experienced 6 million motor vehicle crashes, 2.4 million people injured, 40,000 people killed, and 13 million vehicle crash incidents, with an estimated societal cost of $910 billion. From 1965 to 2015, the number of traffic fatalities per 100 million miles traveled in the United States has decreased from about 6 to about 1, in part due to additional safety measures deployed in vehicles. For example, warnings of an additional half-second associated with an impending collision are believed to mitigate 60% of rear-end collisions. However, passive safety features (e.g., seat belts, airbags) can have reached their limit in improving this number. Thus, active safety measures such as automated control of a vehicle are a possible next step in improving these statistics. Since a human driver is believed to be the cause of a serious pre-crash event in 95% of crashes, automated driving systems can achieve better safety outcomes by, for example, reliably identifying and avoiding emergency situations better than a human, making better decisions than a human, better complying with traffic laws than a human, and better predicting future events than a human, and reliably controlling a vehicle better than a human.

[0053] Referring FIG. 1 , the AV system 120 causes the AV 100 to operate along a trajectory 198 through the environment 190 to a destination 199 (sometimes referred to as a final location) while avoiding objects (e.g., natural obstacles 191, vehicles 193, pedestrians 192, cyclists, and other obstacles) and obeying road rules (e.g., operating rules or driving preferences).

[0054] In embodiments, the AV system 120 includes a device 101 for receiving and operating on operational commands from the computer processor 146. The term "operational command" is used to denote an executable instruction (or set of instructions) that causes the vehicle to take an action (e.g., a driving maneuver). Operational commands can include, without limitation, instructions for causing the vehicle to start moving forward, stop moving forward, start moving backward, stop moving backward, accelerate, decelerate, make a left turn, and make a right turn. In embodiments, the computer processor 146 is similar to the processor 304 described below with reference to FIG. 3. Examples of the device 101 include a steering controller 102, a brake 103, a gear, an accelerator pedal or other acceleration control mechanism, a windshield wiper, a side door lock, a window control, and a turn indicator. FIG. 3

[0055] In embodiments, the AV system 120 includes sensors 121 for measuring or inferring attributes of the state or condition of the AV 100, such as the AV's position, linear and angular velocity and acceleration, and heading (e.g., the direction of the front end of the AV 100). Examples of the sensors 121 are GPS, and inertial measurement units (IMUs) that measure the vehicle's linear acceleration and angular rate, wheel rate sensors for measuring or estimating wheel slip, wheel brake pressure or brake torque sensors, engine torque or wheel torque sensors, and steering angle and angular rate sensors.

[0056] In embodiments, the sensors 121 also include sensors for sensing or measuring attributes of the AV's environment. For example, monocular or stereo video cameras 122 in the visible, infrared, or thermal (or both) light spectrum, LiDAR 123, RADAR, ultrasonic sensors, time-of-flight (TOF) depth sensors, speed sensors, temperature sensors, humidity sensors, and precipitation sensors.

[0057] In embodiments, the AV system 120 includes a data storage unit 142 and a memory 144 for storing machine instructions related to the data collected by the computer processor 146 or the sensors 121. In embodiments, the data storage unit 142 is similar to the data storage unit 342 described below with reference to FIG. 3. FIG. 3 ​The described ROM 308 or storage 310 are similar. In embodiments, the memory 144 is similar to the main memory 306 described below. In embodiments, the data storage unit 142 and the memory 144 store historical, real-time, and / or predictive information about the environment 190. In embodiments, the stored information includes maps, driving performance, traffic congestion updates, or weather conditions. In embodiments, data related to the environment 190 is transmitted to the AV 100 through a communication channel from the remote database 134.

[0058] In embodiments, the AV system 120 includes communication devices 140 for transmitting measured or inferred properties of the state and conditions of other vehicles, such as position, linear and angular velocity, linear and angular acceleration, and linear and angular heading, to the AV 100. These devices include vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communication devices and devices for wireless communication through point-to-point or ad hoc networks or both. In embodiments, the communication devices 140 communicate across the electromagnetic spectrum, including radio and optical communications, or other media (e.g., air and acoustic media). The combination of vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I) communication (and, in some embodiments, one or more other types of communication) is sometimes referred to as vehicle-to-everything (V2X) communication. V2X communication is generally in compliance with one or more communication standards for communication with and between autonomous vehicles.

[0059] In embodiments, the communication devices 140 include a communication interface. For example, a wired, wireless, WiMAX, Wi-Fi, Bluetooth, satellite, cellular, optical, near field, infrared, or radio interface. The communication interface transmits data from the remote database 134 to the AV system 120. In embodiments, the remote database 134 is embedded in the cloud computing environment 200, as described in FIG. 2 In embodiments, the communication interface 140 transmits data collected from the sensors 121 or other data related to the operation of the AV 100 to the remote database 134. In embodiments, the communication interface 140 transmits information related to remote operation to the AV 100. In some embodiments, the AV 100 communicates with other remote (e.g., “cloud”) servers 136.

[0060] In embodiments, the remote database 134 also stores and transmits digital data (e.g., data storing road and street locations, etc.). This data is stored in the memory 144 on the AV 100 or transmitted from the remote database 134 to the AV 100 through a communication channel.

[0061] In embodiments, the remote database 134 stores and transmits historical information (e.g., speed and acceleration rate distributions) related to driving attributes of vehicles that have previously traveled along the trajectory 198 at similar times of day. In one implementation, such data can be stored in the memory 144 on the AV 100, or transmitted from the remote database 134 to the AV 100 over a communication channel.

[0062] The computing device 146 located on the AV 100 generates control actions algorithmically based on real-time sensor data and a priori information, enabling the AV system 120 to perform its autonomous driving capabilities.

[0063] In embodiments, the AV system 120 includes computer peripherals 132 connected to the computing device 146 for providing information and reminders to a user (e.g., a passenger or a remote user) of the AV 100 and receiving input from the user. In embodiments, the peripherals 132 are similar to the display 312, input device 314, and cursor control 316 discussed below with reference to FIG. 3. The connections are wireless or wired. Any two or more of the interface devices can be integrated into a single device. FIG. 3

[0064] In embodiments, the AV system 120 receives and enforces a privacy level of the passenger, for example, specified by the passenger or stored in a profile associated with the passenger. The privacy level of the passenger determines how certain information associated with the passenger (e.g., passenger comfort data, biometric data, etc.) stored in the passenger profile and / or stored on the cloud server 136 and associated with the passenger profile is permitted to be used. In embodiments, the privacy level specifies certain information associated with the passenger that is deleted upon completion of the ride. In embodiments, the privacy level specifies certain information associated with the passenger and identifies one or more entities that are authorized to access the information. Examples of the specified entities that are authorized to access the information can include other AVs, third-party AV systems, or any entity that can potentially have access to the information.

[0065] The privacy level of the passenger can be specified at one or more levels of granularity. In embodiments, the privacy level identifies specific information to be stored or shared. In embodiments, the privacy level applies to all information associated with the passenger, such that the passenger can specify that her personal information is not stored or shared. The specification of entities that are permitted to access specific information can also be specified at various levels of granularity. Various sets of entities that are permitted to access specific information can include, for example, other AVs, the cloud server 136, specific third-party AV systems, etc.

[0066] ​In embodiments, the AV system 120 or the cloud server 136 determines whether the AV 100 or another entity has access to certain information associated with the passenger. For example, a third-party AV system attempting to access passenger input related to a particular spatiotemporal location must obtain authorization, e.g., from the AV system 120 or the cloud server 136, to access information associated with the passenger. For example, the AV system 120 uses the passenger’s specified privacy level to determine whether the passenger input related to the spatiotemporal location can be presented to the third-party AV system, the AV 100, or another AV. This enables the passenger’s privacy level to specify which other entities are allowed to receive data related to the passenger’s actions or other data associated with the passenger.

[0067] FIG. 2 An example “cloud” computing environment is illustrated. Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model can be implemented at a provider’s site, as hosted by the provider, or delivered as a service over the Internet. In some examples, the cloud computing environment is a hybrid cloud environment. FIG. 2 The cloud computing environment 200 includes cloud data centers 204a, 204b, and 204c interconnected by a cloud 202. The data centers 204a, 204b, and 204c provide cloud computing services for computer systems 206a, 206b, 206c, 206d, 206e, and 206f connected to the cloud 202.

[0068] The cloud computing environment 200 includes one or more cloud data centers. Generally, a cloud data center (e.g., the cloud data center 204a shown in FIG. 2 refers to the physical arrangement of servers that make up a cloud (e.g., the cloud 202 shown in FIG. 2 For example, servers are physically arranged in rooms, groups, rows, and racks in a cloud data center. A cloud data center has one or more areas that include one or more server rooms. Each room has one or more rows of servers, and each row includes one or more racks. Each rack includes one or more individual server nodes. In some implementations, servers in an area, room, rack, and / or row are divided into groups according to the physical infrastructure requirements of the data center facility, including power, energy, heat, heat sources, and / or other requirements. In embodiments, a server node is similar to the computer system described in FIG. 3 The data center 204a has many computer systems distributed across multiple racks.

[0069] The cloud 202 includes cloud data centers 204a, 204b, and 204c and networks and network resources (e.g., network equipment, nodes, routers, switches, and network cables) used to connect and facilitate access by the computing systems 206a-f to cloud computing services. In embodiments, the network represents any combination of one or more local networks, wide-area networks, or internetworks connected through the use of landlines or wireless links deployed using terrestrial or satellite connections. Data exchanged over the network is transmitted using a variety of network layer protocols, such as Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, and the like. Moreover, in embodiments where the network represents a combination of multiple sub-networks, different network layer protocols are used on each underlying sub-network. In some embodiments, the network represents one or more internetworks (e.g., the public Internet, and the like).

[0070] The computing systems 206a-f or cloud computing service consumers are connected to the cloud 202 through network links and network adapters. In embodiments, the computing systems 206a-f are implemented as various computing devices, such as servers, desktops, laptops, tablets, smartphones, Internet of Things (IoT) devices, autonomous vehicles (including cars, drones, spacecraft, trains, buses, and the like), and consumer electronics. In embodiments, the computing systems 206a-f are implemented in or as part of other systems.

[0071] FIG. 3 An example computer system 300 is illustrated. In implementations, the computer system 300 is a special-purpose computing device. The special-purpose computing device is either hard-wired to perform the techniques, or includes digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination. Such special-purpose computing devices can also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. In the embodiments, the special-purpose computing device is a

[0072] In embodiments, the computer system 300 includes a bus 302 or other communication mechanism for communicating information, and a hardware processor 304 coupled with bus 302 for processing information. The hardware processor 304 is, for example, a general-purpose microprocessor. The computer system 300 also includes a main memory 306, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 302 for storing information and instructions to be executed by processor 304. In one implementation, the main memory 306 is used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 304. Such instructions can be stored or implemented in non-transitory storage media accessible to processor 304, such as storage media 310, when such instructions are stored in non-transitory storage media that is accessible to the processor 304, causing the computer system 300 to become a special purpose machine that is specially configured to perform the operations specified in the instructions.

[0073] In embodiments, the computer system 300 also includes a read only memory (ROM) 308 or other static storage device coupled to bus 302 for storing static information and instructions for processor 304. A storage device 310, such as a magnetic disk, optical disk, solid-state drive, or three-dimensional cross-point memory, is provided and coupled to bus 302 for storing information and instructions.

[0074] In embodiments, the computer system 300 is coupled via bus 302 to a display 312, such as a cathode ray tube (CRT), liquid crystal display (LCD), plasma display, light emitting diode (LED) display, or organic light emitting diode (OLED) display, for displaying information to a computer user. An input device 314, including alphanumeric and other keys, is coupled to bus 302 for communicating information and command selections to processor 304. Another type of user input device is cursor control 316, such as a mouse, a trackball, a touch display, or cursor direction keys for communicating direction information and command selections to processor 304 and for

[0075] According to one embodiment, the techniques described herein are performed by computer system 300 in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306. Such instructions can be read into main memory 306 from another storage medium, such as storage device 310. Execution of the sequences of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry can be used in place of or in combination with software instructions.

[0076] The term "storage media" as used herein refers to any non-transitory media that store data and / or instructions that cause a machine to operate in a specific fashion. Such storage media include non-volatile media and / or volatile media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 310. Volatile media include dynamic memory, such as main memory 306. Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, or any other memory chip or cartridge.

[0077] Storage media are distinct from, but can be used in combination with, transmission media. Transmission media participate in transferring information between storage media. For example, transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 302. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency and infrared data communications.

[0078] In embodiments, various forms of media are involved in carrying one or more sequences of instructions for execution. For example, the instructions can initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer loads the instructions into its dynamic memory and sends the instructions over a telephone line using a modem. A local modem in the computer system 300 receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal. An infrared detector receives the data carried in the infrared signal and appropriate circuitry places the data on bus 302. Bus 302 carries the data to main memory 306, from which processor 304 retrieves and executes the instructions. The instructions received by main memory 306 can optionally be stored on storage device 310 either before or after execution by processor 304.

[0079] Computer system 300 also includes a communication interface 318 coupled to bus 302. Communication interface 318 provides a two-way data communication coupling to a network link 320 that is connected to a local network 322. For example, communication interface 318 is a integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 318 is a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links are also implemented in some implementations. In any such implementation, communication interface 318 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

[0080] Network link 320 typically provides data communication to other data devices via one or more networks. For example, network link 320 provides connectivity to host computer 324 or to a cloud data center or device operated by Internet Service Provider (ISP) 326 via local network 322. ISP 326, in turn, provides data communication services via a worldwide packet data communication network now commonly referred to as the "Internet". Both local network 322 and Internet 328 use electrical, electromagnetic, or optical signals carrying digital data streams. Signals through various networks and signals on network link 320 via communication interface 318 are example forms of transmission media, where communication interface 318 carries digital data entering and leaving computer system 300. In embodiments, network 320 includes the aforementioned cloud 202 or a portion of cloud 202.

[0081] Computer system 300 sends messages and receives data including program code through one or more networks, network links 320, and communication interfaces 318. In an embodiment, computer system 300 receives code for processing. The received code is executed by processor 304 upon receipt and / or stored in storage device 310, or in other non-volatile storage devices for later execution.

[0082] AUTONOMOUS VEHICLE ARCHITECTURE

[0083] FIG. 4 This illustrates the use of autonomous vehicles (e.g., FIG. 1 The example architecture 400 of the AV 100 shown is illustrated. Architecture 400 includes a sensing module 402 (sometimes called a sensing circuit), a planning module 404 (sometimes called a planning circuit), a control module 406 (sometimes called a control circuit), a positioning module 408 (sometimes called a positioning circuit), and a database module 410 (sometimes called a database circuit). Each module plays a role in the operation of the AV 100. Commonly, modules 402, 404, 406, 408, and 410 can be... FIG. 1 This is part of the AV system 120 shown. In some embodiments, any of modules 402, 404, 406, 408, and 410 is a combination of computer software (e.g., executable code stored on a computer-readable medium) and computer hardware (e.g., one or more microprocessors, microcontrollers, application-specific integrated circuits (ASICs), hardware memory devices, other types of integrated circuits, other types of computer hardware, or any or all combinations of these hardware). Modules 402, 404, 406, 408, and 410 are each sometimes referred to as processing circuitry (e.g., computer hardware, computer software, or a combination of both). Any or all combinations of modules 402, 404, 406, 408, and 410 are also examples of processing circuitry.

[0084] In use, the planning module 404 receives data representing the destination 412 and determines data representing the trajectory 414 (sometimes called the route) that the AV 100 can travel to reach (e.g., arrive at) the destination 412. In order for the planning module 404 to determine the data representing the trajectory 414, the planning module 404 receives data from the sensing module 402, the positioning module 408, and the database module 410.

[0085] The sensing module 402 is used, for example, as follows FIG. 1 One or more sensors 121 are shown to identify nearby physical objects. The objects are classified (e.g., grouped into types such as pedestrians, bicycles, cars, traffic signs, etc.), and a scene description including the classified objects 416 is provided to the planning module 404.

[0086] The planning module 404 also receives data representing the location 418 of the AV from the positioning module 408. The positioning module 408 determines the location of the AV by using data from sensor 121 and data (e.g., geographic data) from database module 410. For example, the positioning module 408 uses data from GNSS (Global Navigation Satellite System) sensors and geographic data to calculate the longitude and latitude of the AV. In embodiments, the data used by the positioning module 408 includes a high-precision map with lane geometry properties, a map describing road network connectivity properties, a map describing lane physical properties (such as traffic speed, traffic volume, number of vehicle and bicycle lanes, lane width, lane traffic direction, or lane marking type and location, or combinations thereof), and a map describing the spatial locations of road features (such as pedestrian crossings, traffic signs, or various types of other traffic signals). In embodiments, the high-precision map is constructed by adding data to a low-precision map via automatic or manual annotation.

[0087] The control module 406 receives data representing trajectory 414 and data representing AV position 418, and operates the AV's control functions 420a-420c (e.g., steering, throttle, braking, ignition) in a manner that will cause the AV 100 to travel along trajectory 414 to reach destination 412. For example, if trajectory 414 includes a left turn, the control module 406 will operate the control functions 420a-420c in such a way that the steering angle of the steering function will cause the AV 100 to turn left, and the throttle and brake will cause the AV 100 to pause before turning and wait for passing pedestrians or vehicles.

[0088] AUTONOMOUS VEHICLE INPUT

[0089] FIG. 5 The sensing module 402 is shown. FIG. 4) used input 502a-502d (e.g., FIG. 1 The input 502a is a LiDAR (light detection and ranging) system (e.g., FIG. 1 LiDAR 123) as shown in FIG. 1. LiDAR is a technology that uses light (e.g., a beam of light such as infrared light) to obtain data about physical objects in its line of sight. The LiDAR system produces LiDAR data as output 504a. For example, the LiDAR data is a collection of 3D or 2D points (also known as a point cloud) used to construct a representation of the environment 190.

[0090] Another input 502b is a RADAR (RAdio Detection And Ranging) system. RADAR is a technology that uses radio waves to obtain data about physical objects in the vicinity. RADAR can obtain data about objects that are not in the line of sight of the LiDAR system. The RADAR system 502b produces RADAR data as output 504b. For example, the RADAR data is one or more radio frequency electromagnetic signals used to construct a representation of the environment 190.

[0091] Another input 502c is a camera system. The camera system uses one or more cameras (e.g., a digital camera using a photosensor such as a charge-coupled device [CCD]) to acquire information about physical objects in the vicinity. The camera system produces camera data as output 504c. The camera data is typically in the form of image data (e.g., data in an image data format such as RAW, JPEG, PNG, etc.). In some examples, the camera system has multiple independent cameras, e.g., for the purpose of stereoscopic imagery (stereo vision), which enables the camera system to perceive depth. Although the objects perceived by the camera system are described here as being in the “vicinity,” this is relative to the AV. In use, the camera system can be configured to “see” objects that are far away (e.g., up to 1 kilometer or more in front of the AV). Thus, the camera system can have features such as sensors and lenses that are optimized for perceiving distant objects.

[0092] Another input 502d is the Traffic Light Detection (TLD) system. The TLD system uses one or more cameras to acquire information related to traffic lights, street signs, and other physical objects that provide visual navigation information. The TLD system produces TLD data as output 504d. TLD data is often in the form of image data (e.g., image data formats such as RAW, JPEG, PNG, etc.). The TLD system differs from systems that include cameras in that it uses cameras with a wide field of view (e.g., using a wide-angle lens or fisheye lens) to acquire information related to as many physical objects as possible that provide visual navigation information, giving AV 100 access to all relevant navigation information provided by these objects. For example, the field of view of a TLD system can be approximately 120 degrees or more.

[0093] In some embodiments, sensor fusion technology is used to combine outputs 504a-504d. Thus, individual outputs 504a-504d are provided to other systems of AV 100 (e.g., provided to systems such as...). FIG. 4 The planning module 404 shown can provide combined outputs to other systems, either as a single or multiple combined outputs of the same type (e.g., using the same combination technique or combining the same outputs, or both) or different types (e.g., using different individual combination techniques or combining different individual outputs, or both). In some embodiments, early fusion techniques are used. Early fusion techniques are characterized by combining the outputs and then applying one or more data processing steps to the combined outputs. In some embodiments, late fusion techniques are used. Late fusion techniques are characterized by combining the outputs after applying one or more data processing steps to individual outputs.

[0094] PATH PLANNING

[0095] FIG. 6 Show (for example, as) FIG. 4 The diagram 600 illustrates the relationship between the inputs and outputs of the planning module 404. Typically, the output of the planning module 404 is a route 602 from a starting point 604 (e.g., a source location or initial location) to an ending point 606 (e.g., a destination or final location). Route 602 is typically defined by one or more road segments. For example, a road segment refers to a distance traveled through at least a portion of a street, road, highway, driveway, or other physical area suitable for vehicle travel. In some examples, such as if the AV 100 is an off-road vehicle such as a four-wheel drive (4WD) or all-wheel drive (AWD) car, SUV, or mini-truck, route 602 includes “off-road” segments such as unpaved roads or open fields.

[0096] In addition to route 602, the planning module also outputs lane-level route planning data 608. Lane-level route planning data 608 is used to navigate segments of route 602 at specific times based on conditions. For example, if route 602 includes a multi-lane highway, lane-level route planning data 608 includes trajectory planning data 610, which AV 100 can use to select a lane from the multiple lanes, for example, based on factors such as whether an exit is nearby, whether other vehicles are present in one or more lanes, or other factors that change over a period of minutes or less. Similarly, in some implementations, lane-level route planning data 608 includes a speed constraint 612 specific to a segment of route 602. For example, if the segment includes pedestrians or unexpected traffic, speed constraint 612 can limit AV 100 to a slower speed than expected, such as a speed based on the speed limit data for that segment.

[0097] In this embodiment, the input to the planning module 404 includes (e.g., from...) FIG. 4 The database module 410 shown contains database data 614 and current location data 616 (for example, ...). FIG. 4 The AV position shown is 418), (for example, for use with FIG. 4 The destination data 618 and object data 620 shown for destination 412 (e.g., as shown) FIG. 4 The perception module 402 shown perceives classified objects 416. In some embodiments, database data 614 includes rules used during planning. Rules are specified using a formal language (e.g., Boolean logic). In any given situation encountered by AV 100, at least some of these rules will apply to that situation. A rule applies to a given situation if it has conditions satisfied based on information available to AV 100 (e.g., information related to the surrounding environment). Rules can have priorities. For example, a rule "move to the leftmost lane if the road is a highway" can have a lower priority than "move to the rightmost lane if the exit is within one mile."

[0098] FIG. 7 This is illustrated in path planning (e.g., by planning module 404). FIG. 4 The directed graph used is 700. Typically, such as... FIG. 7 The directed graph 700 shown is used to determine any path between a starting point 702 and an ending point 704. In the real world, the distance separating the starting point 702 and the ending point 704 may be relatively large (e.g., in two different urban areas) or relatively small (e.g., two intersections adjacent to a city block or two lanes of a multi-lane road).

[0099] In embodiments, the directed graph 700 has nodes 706a-706d representing different locations between the start 702 and the end 704 that the AV 100 can occupy. In some examples, the nodes 706a-706d represent road segments, e.g., when the start 702 and the end 704 represent different metropolitan areas. In some examples, the nodes 706a-706d represent different positions on a road, e.g., when the start 702 and the end 704 represent different locations on the same road. In this way, the directed graph 700 includes information at different levels of granularity. In embodiments, a directed graph with high granularity is also a subgraph of another directed graph with greater scale. For example, much of the information of a directed graph with a start 702 and an end 704 that are far apart (e.g., many miles apart) is at a low granularity, and the directed graph is based on stored data, but the directed graph also includes some high granularity information for a portion of the physical locations in the field of view of the AV 100 represented in the directed graph.

[0100] The nodes 706a-706d are different from the objects 708a-708b, which cannot be overlaid with nodes. In embodiments, at low granularity, the objects 708a-708b represent areas that a car cannot drive through, e.g., areas without streets or roads. At high granularity, the objects 708a-708b represent physical objects in the field of view of the AV 100, e.g., other cars, pedestrians, or other entities with which the AV 100 cannot share physical space. In embodiments, some or all of the objects 708a-708b are static objects (e.g., objects that do not change position, such as streetlights or utility poles) or dynamic objects (e.g., objects that can change position, such as pedestrians or other cars).

[0101] The nodes 706a-706d are connected by edges 710a-710c. If two nodes 706a-706b are connected by an edge 710a, then the AV 100 can drive between one node 706a and the other node 706b, e.g., without having to drive to an intermediate node before reaching the other node 706b. (When referring to the AV 100 driving between nodes, it means that the AV 100 drives between two physical locations represented by the respective nodes.) The edges 710a-710c are typically bidirectional, in the sense that the AV 100 can drive from a first node to a second node, or from the second node to the first node. In embodiments, the edges 710a-710c are unidirectional, in the sense that the AV 100 can drive from a first node to a second node, but the AV 100 cannot drive from the second node to the first node. The edges 710a-710c are unidirectional in cases where, e.g., the edge 710a-710c represents a one-way street, a separate lane of a street, road, or highway, or other feature that can only be driven through in one direction due to legal or physical constraints.

[0102] In an embodiment, the planning module 404 uses a directed graph 700 to identify a path 712 consisting of nodes and edges between the start point 702 and the end point 704.

[0103] Edges 710a-710c have associated costs 714a-714b. Costs 714a-714b represent the resources that would be spent if AV 100 selected that edge. A typical resource is time. For example, if the physical distance represented by one edge 710a is twice the physical distance represented by another edge 710b, then the associated cost 714a of the first edge 710a could be twice the associated cost 714b of the second edge 710b. Other factors affecting time include anticipated traffic, the number of intersections, speed limits, etc. Another typical resource is fuel economy. The two edges 710a-710b may represent the same physical distance, but due to factors such as road conditions and anticipated weather, one edge 710a may require more fuel than the other edge 710b.

[0104] When the planning module 404 identifies the path 712 between the starting point 702 and the ending point 704, the planning module 404 typically selects a path that is optimized for cost, such as the path that has the minimum total cost when the individual costs of the edges are added together.

[0105] AUTONOMOUS VEHICLE CONTROL

[0106] FIG. 8 Show (for example, as) FIG. 4 The block diagram 800 shows the inputs and outputs of the control module 406. The control module operates according to a controller 802, which includes, for example, one or more processors similar to processor 304 (e.g., one or more computer processors such as a microprocessor or microcontroller or both); short-term and / or long-term data storage devices similar to main memory 306, ROM 308 and storage device 310 (e.g., memory random access memory or flash memory or both); and instructions stored in the memory that, when executed (e.g., by one or more processors), perform the operation of controller 802.

[0107] In one embodiment, controller 802 receives data representing a desired output 804. The desired output 804 typically includes speed, such as rate and heading. The desired output 804 may be based, for example, from (e.g., as...) FIG. 4The planning module 404 receives data from the sensors 402 and the map module 406 (shown). From the desired output 804, the controller 802 produces data that can be used as a throttle input 806 and a steering input 808. The throttle input 806 represents, for example, engaging the throttle (e.g., acceleration control) of the AV 100 by engaging a throttle pedal or engaging another throttle control to achieve the magnitude of the desired output 804. In some examples, the throttle input 806 also includes data that can be used to engage the brakes (e.g., deceleration control) of the AV 100. The steering input 808 represents the steering angle that, for example, the steering control (e.g., steering wheel, steering angle actuator, or other functionality for controlling steering angle) of the AV should be positioned to achieve the desired output 804.

[0108] In embodiments, the controller 802 receives feedback that is used in adjusting the inputs provided to the throttle and steering. For example, if the AV 100 encounters an interference 810, such as a hill, the measured velocity 812 of the AV 100 drops below the desired output velocity. In embodiments, any measured outputs 814 are provided to the controller 802 so that the required adjustments are made, for example, based on the difference 813 between the measured velocity and the desired output. The measured outputs 814 include measured position 816, measured velocity 818 (including both speed and heading), measured acceleration 820, and other outputs that are measurable by sensors of the AV 100.

[0109] In embodiments, information about the interference 810 is detected in advance, for example, by sensors such as cameras or LiDAR sensors, and the information is provided to a predictive feedback module 822. The predictive feedback module 822 then provides information to the controller 802 that the controller 802 can use to adjust accordingly. For example, if a sensor of the AV 100 detects (“sees”) a hill, the controller 802 can use that information to prepare to engage the throttle at the appropriate time to avoid a significant deceleration.

[0110] FIG. 9 A block diagram 900 showing the inputs, outputs, and components of the controller 802. The controller 802 has a velocity analyzer 902 that influences the operation of a throttle / brake controller 904. For example, the velocity analyzer 902 instructs the throttle / brake controller 904 to use a throttle / brake 906 to accelerate or to decelerate, based on feedback, for example, received by the controller 802 and processed by the velocity analyzer 902.

[0111] The controller 802 also has a lateral tracking controller 908 that influences the operation of a steering wheel controller 910. For example, the lateral tracking controller 908 instructs the steering wheel controller 910 to adjust the position of a steering angle actuator 912, based on feedback, for example, received by the controller 802 and processed by the lateral tracking controller 908.

[0112] The controller 802 receives a number of inputs used to determine how to control the throttle / brake 906 and steering angle actuator 912. The planning module 404 provides information used by the controller 802, for example, to select a course for the AV 100 to follow when the AV 100 begins operation and to determine which road segment to drive through when the AV 100 reaches an intersection. The localization module 408 provides information describing the current location of the AV 100 to the controller 802, for example, so that the controller 802 can determine whether the AV 100 is at a location that is expected based on the manner in which the throttle / brake 906 and steering angle actuator 912 are being controlled. In embodiments, the controller 802 receives information from other inputs 914, for example, information received from a database, a computer network, and the like.

[0113] PASSNGER HEALTH MONITORING AND SCREENING

[0114] FIG. 10 A block diagram 1000 showing inputs, outputs, and components of a health monitoring and screening module 1002. The health monitoring and screening module 1002 (sometimes referred to herein as the “health module 1002”) includes a health condition detector 1004 to detect a health condition of a user of a vehicle and a vehicle function controller 1006 to perform a vehicle function in response to the detected health condition. The health module 1002, the health condition detector 1004, and the vehicle function controller 1006 can each be part of a vehicle system (e.g., the AV system 120) and can be implemented, for example, by one or more processors (e.g., one or more computer processors such as a microprocessor or microcontroller or both) similar to the processor 304; short- and / or long-term data storage (e.g., memory random access memory or flash memory or both) similar to the main memory 306, the ROM 308, and the storage 310; and instructions stored in memory that, when executed (e.g., by the one or more processors), perform the operations of the respective components.

[0115] Generally, the health condition detector 1004 processes data received from the sensors 1008, the database 1010, and / or other data sources to detect one or more health conditions of a user of the vehicle (e.g., the AV 100). In some embodiments, the sensors 1008 include sensors disposed on or within the vehicle (e.g., the sensors 121), sensors included in a user device (e.g., a smartphone, a wearable device, a tablet, etc.) in communication with the vehicle, or other sensors configured to generate sensor data related to a user as the user approaches the vehicle or moves within the vehicle. In embodiments, the database 1010 includes local and / or remote storage that stores information related to symptoms or other identifying characteristics of health conditions. In embodiments, the database 1010 stores health information related to a user of the vehicle including historical health data detected by the vehicle or another vehicle, and the user can opt in or otherwise accept disclosure of the health information to the health condition detector 1004 for the purpose of detecting health conditions.

[0116] The health condition detector 1004 is configured to detect a wide variety of health conditions of the user that can be updated over time. The term "health condition" is used broadly to refer to any actual or potential illness, injury, impairment, or physical or mental condition that affects or can affect a person's health. The following illustration provides various examples of health conditions that the health condition detector 1004 can detect. However, the following examples should not be interpreted as limiting, as the health condition detector 1004 can be configured to detect alternative or additional health conditions in some embodiments.

[0117] In embodiments, the sensors 1008 include a temperature sensor (e.g., a temporal artery thermometer or a forehead infrared scanning thermometer) configured to generate data related to the user's body temperature, for example, as the user approaches the vehicle or moves within the vehicle. The health condition detector 1004 compares the data received from the temperature sensor to an average or expected human body temperature received, for example, from the database 1010. If the user exhibits an abnormal body temperature (e.g., a body temperature that is more than a threshold above or below the average human body temperature), the health condition detector 1004 determines that the user has a health condition such as a fever or hypothermia.

[0118] In embodiments, the sensors 1008 include an audio sensor (e.g., a microphone) configured to produce audio data related to the user. The health condition detector 1004 processes the audio data to identify, for example, a cough or other audible symptom of the user. The health condition detector 1004 analyzes characteristics of the cough or other audible symptom to diagnose that the user has a particular health condition. In embodiments, the health condition detector 1004 receives labeled audio data of coughs or other audible symptoms from a database 1010 and applies pattern recognition or machine learning techniques to classify coughs or other audible symptoms in the sensor data. The health condition detector 1004 then determines a likely health condition of the user based on the classification of the cough or other audible symptom. For example, the health condition detector 1004 employs a learning algorithm, such as a classification, regression, feature learning, or another supervised or unsupervised learning algorithm, to create a model, such as an artificial neural network, decision tree, support vector machine, or regression analysis. The model is trained using training data (e.g., labeled audio data of coughs or other audible symptoms from the database 1010) to make predictions or decisions related to a likely health condition of the user based on audio data received from the sensors 1008.

[0119] In embodiments, the sensors 1008 include an image sensor (e.g., a camera or another optical sensor such as a pupil dilation sensor) configured to produce image or video data related to the user. The health condition detector 1004 processes the image data to identify, for example, physical symptoms exhibited by the user. For example, using the image data, the health condition detector 1004 analyzes the user’s motion as the user approaches or moves within the vehicle to identify characteristics of the user’s motion (such as characteristics of the user’s gait) that can be indicative of a health condition. As another example, the health condition detector 1004 analyzes the image data using image classification techniques (e.g., machine learning techniques) to identify physical features of the user (such as other facial or physical features of sweating, blood, runny nose, pupil dilation, or facial drooping) that can be indicative of a health condition. As yet another example, the health condition detector 1004 analyzes image data over time (e.g., as the user moves within the vehicle) using machine learning techniques to detect the onset of a motion-induced health condition (such as motion sickness).

[0120] In embodiments, the health condition detector 1004 processes image data to identify the presence of insects (e.g., fleas, ticks, etc.) or animals within the vehicle or in an area proximate to the vehicle or both. For example, the health condition detector 1004 uses image classification techniques to analyze image data to identify features in the image data that are indicative of the presence of insects or animals in the vehicle. In embodiments, the health condition detector 1004 uses data from other sensors (e.g., allergen sensors) to detect the presence of insects or animals at the vehicle. Information about insects or animals at the vehicle can be used to inform the detection of a user’s health condition. For example, if a user starts sneezing or has another reaction to the presence of insects or animals at the vehicle, it can be determined that the user is allergic to the insects or animals. As another example, if a user is known to have a particular allergic reaction and is reacting to the presence of insects or animals, it can be determined that the user’s reaction is due to an allergy (rather than, for example, another illness or condition). In embodiments, if insects or animals are detected at the vehicle, the vehicle takes actions such as driving to a service station for cleaning, taking the vehicle out of commission from the ride-share network to stop taking on more passengers (or passengers allergic to the detected insects or animals), sending a warning message to passengers in the AV, or a combination thereof. Other actions that can be taken in response to detecting animals or insects within the vehicle are described below with reference to the vehicle function controller 1006.

[0121] In embodiments, the sensors 1008 include pathogen sensors (e.g., biological sensors) configured to generate data related to the presence of pathogens (e.g., bacteria or viruses in the air, body odor, etc.) within the vehicle or in an area proximate to the vehicle, or both. In some embodiments, the pathogen sensor(s) are disposed within an air filtration or cooling system of the vehicle, within a cabin of the vehicle, or outside of the vehicle, or a combination of these locations, etc. The health condition detector 1004 processes data received from the pathogen sensors and pathogen data (e.g., pathogen genomic data) received from the database 1010 to determine a health condition of the user. For example, if a pathogen is detected at the vehicle after the user approaches or enters the vehicle, the health condition detector 1004 determines that the user has a health condition associated with the pathogen. In embodiments, if the density of pathogens per unit volume of air circulating within the vehicle (e.g., AV 100) exceeds a predetermined threshold, the vehicle takes actions such as driving to a service station for cleaning, deactivating the vehicle from the ride-share network to stop admitting more passengers, sending a warning message to passengers within the AV, or a combination thereof, etc. In embodiments, the actions taken by the vehicle are selected from a set of possible actions based in part on the level (e.g., density) of pathogens within the vehicle. Other actions that can be taken in response to detecting a pathogen or level of pathogens within the vehicle are described below with reference to the vehicle function controller 1006.

[0122] In embodiments, the sensors 1008 include mass or weight sensors (e.g., disposed in seats of the vehicle) configured to generate data related to the mass or weight of the user. The health condition detector 1004 compares data received from the weight sensors to an average or expected weight of the user. The average weight or expected weight can take into account the position of the user (e.g., seated) and sensed or known characteristics of the user (e.g., gender, age, height, etc.) and can be received from, for example, the database 1010. In embodiments, multiple weight sensors can be disposed at multiple locations in seats of the vehicle to generate data related to the weight distribution of the user. The health condition detector 1004 analyzes weight distribution data received from these sensors and reference data received from the database 1010 to identify uneven or abnormal weight distribution of the user. In embodiments, the health condition detector 1004 uses weight or weight distribution data, or both, in combination with other sensor data to detect a health condition of the user.

[0123] In embodiments, the sensors 1008 include sensors (e.g., oximeters, electrocardiogram (EKG) sensors, electroencephalogram (EEG) sensors, etc.) configured to generate data related to a user’s heart rate, breathing pattern, or another vital sign. In embodiments, such sensors are disposed in a user’s seat or seatbelt. The health condition detector 1004 compares data received from the sensors to an average or expected heart rate, breathing pattern, or other vital sign of the user. The average or expected value can take into account sensed or known characteristics of the user (e.g., gender, age, size, etc.) and can be received from, for example, a database 1010. The health condition detector 1004 uses the detected information, alone or in combination with other sensor data, to detect a health condition of the user. For example, the health condition detector 1004 detects that the user is experiencing a heart attack if the user’s heart rate is above or below a threshold value. As another example, the health condition detector 1004 detects that the user is experiencing an asthma attack if the user is known to have asthma and is exhibiting an abnormal breathing pattern.

[0124] After detecting one or more health conditions of the user, the health condition detector 1004 provides information indicative of the condition(s) to the vehicle function controller 1006. Based on the detected condition(s), the vehicle function controller 1006 performs one or more vehicle functions. To do so, the vehicle function controller 1006 communicates with, or causes the vehicle system to communicate with, vehicle components 1012, user devices 1014, or third-party components 1016, or a combination thereof, among others. The vehicle components 1012 include any hardware or software components that make up a vehicle (e.g., the AV 100) or a vehicle system (e.g., the AV system 120), such as the devices 101, the modules 402, 404, 406, 408, and 410, among others. The user devices 1014 include devices (e.g., smartphones, wearable devices, tablets, etc.) associated with a user of the vehicle. The third-party components 1016 include any hardware or software components other than the vehicle components 1012 or the user devices 1014, such as other vehicles (e.g., the vehicle 193), traffic lights, or emergency service providers, among others.

[0125] In general, the vehicle function controller 1006 is configured to perform a vehicle function based on the health condition of the user identified by the health condition detector 1004. For example, if the vehicle function controller 1006 receives information that the user is experiencing motion sickness, the controller 1006 communicates with the vehicle components 1012 to adjust driving parameters and provide a more comfortable ride for the user to alleviate the condition. On the other hand, if the vehicle function controller 1006 receives information that the user is experiencing a stroke, the controller 1006 can respond by, for example, controlling the components 1012 of the vehicle to transport the user to the nearest hospital for treatment.

[0126] In embodiments, the vehicle function controller 1006 considers other factors in addition to the health condition in determining an appropriate response. In some embodiments, the vehicle function controller 1006 considers factors such as the characteristics of the user (e.g., age, gender, etc.), the capabilities of the vehicle (e.g., whether the vehicle can safely accommodate a sick user), the characteristics of the environment (e.g., weather, time of day, location, traffic, etc.), whether there are other users in the vehicle, whether the user entered the vehicle, or whether the user opted to receive care from the vehicle, or a combination thereof. Additional details regarding the factors considered by the vehicle function controller 1006 in determining an appropriate response to a health condition will be apparent from the examples below.

[0127] In embodiments, the vehicle function controller 1006 alerts the user of the detected health condition. For example, the vehicle function controller 1006 sends an alert (e.g., an SMS or MMS message, a notification in an application, etc.) to the user's device 1014 or communicates with the vehicle components 1012 to display or provide an audible indication of the alert, or a combination thereof. In embodiments, the alert includes information regarding the detected health condition and a recommendation to the user, such as a recommendation to consult a medical professional to diagnose and treat the detected health condition. In embodiments, the alert includes a list of nearby hospitals or the user's preferred hospital or other emergency service providers for treating the health condition. As described below, selecting an emergency service provider can cause the vehicle to navigate to the selected emergency service provider.

[0128] In embodiments, the vehicle function controller 1006 alters the route of the vehicle in response to the detected health condition. For example, if the health condition indicates that the user is likely to vomit or otherwise needs to exit the vehicle, the vehicle function controller 1006 alters the route of the vehicle to pull over at a safe stopping location. To do so, the vehicle function controller 1006 interacts with one or more vehicle components 1012, such as the planning module 404, control module 404, or other components of the AV system 120, to identify a safe stopping location, select the safe stopping location, and navigate the vehicle to the safe stopping location.

[0129] As another example, if the health condition indicates a medical emergency (e.g., the user is exhibiting signs of a stroke or heart attack), the vehicle function controller 1006 alters the route of the vehicle to the nearest hospital or other emergency service provider. To do so, the vehicle function controller 1006 interacts with the vehicle components 1012 to update the destination and navigate the vehicle to the emergency service provider. In embodiments, the vehicle function controller 1006 communicates with a third party 1016, such as an emergency service controller or another health authority, to be designated as an emergency vehicle. Such designation includes, for example, permission to use emergency lanes and control traffic lights on the route to the emergency service provider. If granted such designation, the vehicle function controller 1006 can control the vehicle components 1012 to navigate the vehicle in the emergency lane. The vehicle function controller 1006 can also cause the vehicle to communicate with traffic lights (e.g., through V2I communication to enable traffic light preemption) and other third components 1016, such as other vehicles (e.g., through V2V communication to alert these other third components 1016 of the emergency situation), in order to reach the emergency service provider as quickly as possible. In embodiments, the vehicle function controller 1006 shares information about the detected health condition (e.g., sends an alert) or other information about the user with the emergency service provider, with the user’s consent to disclose. In embodiments, the vehicle function controller 1006 shares the location of the vehicle with the emergency service provider.

[0130] In embodiments, the vehicle function controller 1006 adjusts the manner in which the vehicle is driven in response to the detected health condition. For example, if it is determined (e.g., by the health condition detector 1004) that the user is experiencing motion sickness, the vehicle function controller 1006 adjusts the manner in which the vehicle is driven to be slower, smoother, or otherwise more comfortable for the user to alleviate the condition. On the other hand, the vehicle function controller 1006 can adjust the manner in which the vehicle is driven to be faster or otherwise more aggressive in emergency situations (e.g., when the vehicle is on a route to an emergency service provider). To this end, the vehicle function controller 1006 communicates with the vehicle components 1012 to adjust one or more driving parameters of the vehicle to facilitate the desired manner of driving. Further details related to adjusting the manner in which a vehicle is driven are described in U.S. Patent Application 16 / 656,655, entitled “Systems and methods for controlling actuators based on load characteristics and passenger comfort,” the entirety of which is incorporated by reference herein.

[0131] In embodiments, the vehicle function controller 1006 modifies the interior of the vehicle in response to the detected health condition. For example, if there are multiple users in the vehicle and it is determined that one or more of the users is experiencing a contagious health condition (e.g., a virus), the vehicle function controller 1006 enables a dividing wall (e.g., an impermeable barrier) within the vehicle to separate the vehicle users and prevent the spread of the contagion. As another example, the vehicle function controller 1006 causes the seats of the users within the vehicle to recline or otherwise adjust the seats of the users within the vehicle in response to an indication that the users are experiencing motion sickness or another health condition for which seat adjustment would be beneficial. In embodiments, the vehicle (e.g., the AV 100) includes a modular interior, and the vehicle function controller 1006 reconfigures the interior (e.g., by stowing, rotating, or otherwise moving the seats or other components of the interior of the vehicle) in response to the health condition. For example, if a user is experiencing a health condition that requires emergency services, the vehicle function controller 1006 reconfigures the interior of the vehicle to mimic the interior of an ambulance to facilitate treatment of the user during the ride to the emergency service provider or upon arrival at the emergency service provider.

[0132] In embodiments, the vehicle function controller 1006 adjusts a sound or odor within the vehicle in response to the detected health condition. For example, the vehicle function controller 1006 uses an audio output (e.g., a speaker) in the vehicle to play a sound (e.g., a tone, a song, etc.) to alleviate a health condition of the user, such as motion sickness, etc. As another example, the vehicle function controller 1006 uses noise cancellation or noise reduction techniques to block or cancel sounds within the vehicle to alleviate a health condition of the user. As yet another example, the vehicle function controller 1006 uses a deodorizer, a perfume, or other odor within the vehicle or adjusts airflow within the vehicle as described below to reduce or eliminate an odor within the vehicle and alleviate a health condition of the user.

[0133] In embodiments, the vehicle function controller 1006 adjusts airflow within the vehicle in response to the detected health condition. For example, if the user is experiencing motion sickness, a fever, a virus, or another health condition for which airflow would be beneficial (e.g., to alleviate the health condition or to prevent the spread of the illness), the vehicle function controller 1006 increases airflow in the vehicle by opening a vehicle window or activating a vehicle air circulation system (which can include an air purifier). The vehicle function controller 1006 can also schedule adjustments to the airflow or air filtration (e.g., cycles of the air circulation, cooling, heating, or filtration systems).

[0134] In embodiments, the vehicle function controller 1006 provides first aid to the user of the vehicle in response to the detected health condition. The type of first aid provided can depend on the detected health condition. For example, if it is determined that the user is or is likely to be vomiting, the vehicle function controller 1006 provides first aid in the form of a disposable vomit bag (e.g., from a compartment within the vehicle). As another example, if the user is experiencing a virus or other illness, the vehicle function controller 1006 provides first aid in the form of over-the-counter medication that the user can take to alleviate symptoms or a mask to prevent the spread of the illness. As yet another example, if the user is experiencing a medical emergency that requires more advanced first aid, the vehicle function controller 1006 activates one or more vehicle components 1012 to perform the more advanced first aid, such as administering cardiopulmonary resuscitation (CPR) or using an automated external defibrillator (AED), etc.

[0135] In embodiments, the vehicle function controller 1006 prevents the user from entering the vehicle in response to the detected health condition, and optionally redirects the user to another vehicle. For example, if the user is determined to exhibit an infectious health condition before entering a vehicle with other occupants (e.g., in the case of a ride-share), the vehicle function controller 1006 prevents the user from entering and notifies the user of the condition (e.g., by sending an alert to the user’s device 1014). In embodiments, the vehicle function controller 1006 contacts another vehicle in the fleet (or a dispatcher of the fleet) to provide transportation to the user who was denied entry to the vehicle. Optionally, if the vehicle function controller 1006 determines that it is not advisable to deny the user despite the risk to other occupants (e.g., because the health condition indicates an emergency, it is unsafe for the user to wait at a pickup location, etc.), the vehicle function controller 1006 can admit the user and employ various safeguards to protect other users (e.g., enable non-contact entry and exit relative to the vehicle, provide the user with a face mask, enable a partitioned wall, seat the user in a location as far as possible from other occupants in the vehicle, increase airflow or air filtration in the vehicle, etc.).

[0136] In embodiments, the vehicle function controller 1006 applies a disinfectant (e.g., a disinfectant spray or foam, ultraviolet light, etc.) within the vehicle after a user with a detected health condition exits the vehicle. For example, if a user is determined to have an infectious health condition, the vehicle function controller 1006 causes one or more vehicle components 1012 to disinfect and sterilize the interior of the vehicle (e.g., by spraying, fumigating, atomizing, fogging, irradiating ultraviolet light, etc.). The vehicle can include a material that indicates when the vehicle was disinfected and sterilized (e.g., by changing color). In embodiments, such as when the vehicle is used for ride-sharing, the vehicle function controller 1006 adjusts (or causes a dispatcher to adjust) the route of a subsequent trip such that the next trip includes few users or users that are at low risk of infection (e.g., based on demographic information of the users) due to the detected health condition of the previous user.

[0137] Various modifications to the technology described herein are possible. In embodiments, a user self-reports a health condition (e.g., through a user device 1014, an audio interface, a touchscreen interface, or other interface in the vehicle, etc.) and the vehicle function controller 1006 performs one or more vehicle functions based on the user-reported health condition. In embodiments, the vehicle (e.g., AV 100) is a mobile diagnostic vehicle and the user requests the vehicle to arrive at a location for diagnosing a health condition (and for subsequent transportation if necessary).

[0138] In embodiments, the health screening and monitoring module 1002 collects data of a user over multiple trips (with user consent) to provide reports of the user's health condition over time and to improve health condition detection. The data collected for a user can be aggregated with other health data of the user (e.g., collected by a user's device such as a wearable device or otherwise provided by the user) with user consent, or aggregated with user data from other consenting users. In embodiments, the health screening and monitoring module 1002 uses data aggregated for one or more users over multiple trips to analyze (e.g., statistically analyze) a population of users. For example, the module 1002 analyzes the aggregated data to identify a percentage of users experiencing a particular health condition (e.g., a fever or a cough), and compares the percentage to historical measurements to detect an outbreak of a disease (e.g., a seasonal disease such as the flu). The module 1002 can use this information to, for example, customize vehicle functionality such as cleaning and sanitization policies for a vehicle (or fleet of vehicles), or to notify public health authorities, among others.

[0139] In embodiments, third parties such as advertisers or insurance companies are provided with information related to a user's (or a group of users') health condition. In embodiments, the vehicle functionality controller 1006 sends information related to a detected health condition or other information related to a user to a third party if the user consents to such disclosure. The third party can use information related to a detected health condition to inform the third party's interactions with the user. For example, if a third party is providing an advertisement to a user (e.g., to the user's device through a display or audio interface in the vehicle, among others), the third party uses information related to a detected health condition of the user to provide an appropriate or targeted advertisement to the user (e.g., an advertisement related to a medication for treating a particular disease experienced by the user).

[0140] FIG. 11 A flowchart showing an example process 1100 for screening and monitoring health of a user of a vehicle is shown. In embodiments, the vehicle is FIG. 1 the AV 100 shown, and the process 1100 is performed by a processor such as the processor 304 shown. FIG. 3

[0141] The processor receives (1102) sensor data generated by sensors at the vehicle. In embodiments, the sensors are FIG. 10 ​The sensor 1008 shown is one of many, and includes an image sensor, an audio sensor, a temperature sensor, a weight sensor, a pathogen sensor, or another sensor configured to generate sensor data relating to a user of the vehicle. In an embodiment, the sensor is configured to generate sensor data relating to the user when the user is inside or near the vehicle.

[0142] The processor (1104) processes the sensor data to determine at least one health condition of the user of the vehicle. In an embodiment, the processor (e.g., processor 304) is used to perform... FIG. 10 When the health status detector 1004 shown operates according to the stored instructions, it processes sensor data by executing these instructions.

[0143] In one embodiment, sensor data is processed to identify data indicating a user's cough, and the cough-indicating data is analyzed (e.g., by comparing with stored data characterizing coughs and corresponding diseases or by querying a national database) to determine at least one health condition of the user. In another embodiment, sensor data is processed to identify data indicating a user's movement (e.g., to detect gait prior to entry, to detect other movements within the vehicle, etc.), and the movement-indicating data is analyzed to determine at least one health condition of the user. In another embodiment, sensor data is processed to identify data indicating pathogens within the vehicle, and the pathogen-indicating data is analyzed to determine at least one health condition of the user. In yet another embodiment, sensor data is processed to determine a user's body temperature, and at least one health condition of the user is determined based on this body temperature (e.g., by comparing the determined body temperature with the user's average or expected body temperature). In yet another embodiment, sensor data is processed to determine a user's facial features (e.g., dilated pupils, facial drooping), and at least one health condition of the user is determined based on these facial features. In yet another embodiment, historical sensor data associated with the user is received, and the sensor data and historical sensor data are processed to determine at least one health condition of the user.

[0144] In response to determining at least one health condition, the processor executes (1106) a vehicle function selected from a plurality of vehicle functions based on the at least one health condition. In an embodiment, the processor (e.g., processor 304) is used to execute... FIG. 10 When the vehicle function controller 1006 is operated according to the stored instructions, the vehicle function is selected and executed by executing these instructions.

[0145] In embodiments, the vehicle is configured to navigate from a starting location to a destination location along a trajectory, and performing the vehicle function includes changing at least one of the trajectory and the destination location of the vehicle. For example, changing the destination location to an emergency service location. In embodiments, performing the vehicle function includes changing a manner of driving of the vehicle (e.g., adopting a more comfortable or slower manner of driving to alleviate motion sickness, adopting a more aggressive or faster manner of driving to transport the person to an emergency service, etc.). In embodiments, performing the vehicle function includes identifying a parking location for the vehicle and navigating the vehicle to the parking location. In embodiments, performing the vehicle function includes adjusting an arrangement of seats in the vehicle that are occupied by the user. In embodiments, performing the vehicle function includes enabling a partition barrier within the vehicle. In embodiments, performing the vehicle function includes changing an airflow within the vehicle.

[0146] In embodiments, the vehicle includes a first aid component (e.g., a component for dispensing or administering medication, applying CPR, etc.), and performing the vehicle function includes dispensing the first aid component to the user. In embodiments, performing the vehicle function includes sending an alert to the user (e.g., sending an alert to a mobile device, displaying an alert in the vehicle, etc.) that includes information indicative of at least one health condition. In embodiments, performing the vehicle function includes sending an alert to an emergency service that includes information indicative of at least one of a location of the vehicle and a health condition of the user. In embodiments, the vehicle includes a disinfectant component (e.g., ultraviolet light, disinfectant mist / foam, etc.), and performing the vehicle function includes activating the disinfectant component within the vehicle. In embodiments, performing the vehicle function includes sending a request to a health authority to allow the vehicle to operate in an emergency service mode to navigate to an emergency service provider. Operating in the emergency service mode can include using lanes designated for emergency vehicles, or controlling traffic lights on a route to the emergency service provider.

[0147] In the foregoing description, embodiments of the application have been described with reference to numerous specific details that can vary from implementation to implementation. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The sole and exclusive indicator of the scope of the application, and what is intended by the applicants to be the scope of the application, is the literal and equivalent scope of the claims that issue from this application, including any subsequent correction. Any definitions of terms set forth in this detailed description are hereby expressly incorporated by reference for use anywhere in the specification and claims unless expressly dictated otherwise. In addition, the phrase “comprising” as used throughout the detailed description and claims, should not be construed to mean only “consisting of” or “consisting essentially of.” Rather, such phrase should be construed to mean “comprising.”

Claims

1. A vehicle comprising: a sensor configured to generate sensor data related to a user of the vehicle; a computer-readable medium to store computer-executable instructions; and a processor communicatively coupled to the sensor and the computer-readable medium, the processor configured to execute the computer-executable instructions to perform operations comprising: receiving sensor data generated by the sensor when the user is proximate to the vehicle; processing the sensor data to determine at least one health condition of the user; and in response to determining the at least one health condition, performing a vehicle function selected from a plurality of vehicle functions based on the at least one health condition, wherein performing the vehicle function comprises: determining whether to allow the user to enter the vehicle based on the at least one health condition; and in response to determining not to allow the user to enter the vehicle, causing another vehicle to provide transportation to the user.

2. The vehicle of claim 1, the operations comprising: processing the sensor data to identify data indicative of a cough of the user; and analyzing the data indicative of a cough to determine the at least one health condition of the user.

3. The vehicle of claim 1, the operations comprising: processing the sensor data to identify data indicative of a motion of the user; and analyzing the data indicative of a motion to determine the at least one health condition of the user.

4. The vehicle of any one of claims 1 to 3, the operations comprising: processing the sensor data to identify data indicative of a pathogen within the vehicle; and analyzing the data indicative of a pathogen to determine the at least one health condition of the user.

5. The vehicle of any one of claims 1 to 3, the operations comprising: processing the sensor data to determine a body temperature of the user; and determining the at least one health condition of the user based on the body temperature.

6. The vehicle of any one of claims 1 to 3, the operations comprising: processing the sensor data to determine a facial feature of the user; and determining the at least one health condition of the user based on the facial feature. the vehicle is configured to navigate along a trajectory from a starting location to a destination location, and wherein performing the vehicle function comprises changing at least one of the trajectory and the destination location of the vehicle. changing the destination location to an emergency service location. performing the vehicle function comprises changing a manner of driving the vehicle. performing the vehicle function comprises: identifying a parking location for the vehicle; and navigating the vehicle to the parking location.

7. The vehicle of any one of claims 1 to 3, wherein, performing the vehicle function comprises adjusting an arrangement of a seat in the vehicle occupied by the user. performing the vehicle function comprises enabling a partition barrier within the vehicle.

8. The vehicle of claim 7, wherein, performing the vehicle function comprises changing an airflow within the vehicle.

9. The vehicle of any one of claims 1 to 3, wherein, the vehicle comprises a first aid assembly, and 10. The vehicle of any one of claims 1 to 3, wherein, the vehicle is configured to navigate along a trajectory from a starting location to a destination location, and wherein performing the vehicle function comprises changing at least one of the trajectory and the destination location of the vehicle. ​ 11. The vehicle of any one of claims 1 to 3, wherein, ​ 12. The vehicle of any one of claims 1 to 3, wherein, ​ 13. The vehicle of any one of claims 1 to 3, wherein, ​ 14. The vehicle of any one of claims 1 to 3, wherein, ​ wherein performing the vehicle function includes dispensing the first aid component to the user.

15. The vehicle of any one of claims 1 to 3, wherein, Performing the vehicle function includes sending an alert to the user, the alert including information indicative of the at least one health condition.

16. The vehicle of any one of claims 1 to 3, wherein, Performing the vehicle function includes sending an alert to emergency services, the alert including information indicative of at least one of: a location of the vehicle; and the at least one health condition of the user.

17. The vehicle of any one of claims 1 to 3, wherein, The vehicle includes a disinfectant component, and wherein performing the vehicle function includes activating the disinfectant component within the vehicle.

18. The vehicle of any one of claims 1 to 3, the operations further comprising: receiving historical sensor data associated with the user; and processing the sensor data and the historical sensor data to determine the at least one health condition of the user.

19. The vehicle of any one of claims 1 to 3, wherein, Performing the vehicle function includes sending a request to a health authority to allow the vehicle to operate in an emergency services mode to navigate to an emergency services provider.

20. The vehicle of claim 19, wherein, Operating in the emergency services mode includes at least one of: using a lane designated for emergency vehicles; and controlling traffic lights on a route to the emergency services provider.

21. The vehicle of any one of claims 1 to 3, wherein, The sensor is configured to generate sensor data relating to the user when the user is within or proximate to the vehicle.

22. The vehicle of claim 1, wherein, Performing the vehicle function includes: in response to determining that the user is not allowed to enter the vehicle, preventing the user from entering the vehicle.

23. The vehicle of claim 1, wherein, Performing the vehicle function includes: in response to determining that the user is allowed to enter the vehicle, taking safeguards to protect other users in the vehicle.

24. A method for a vehicle, comprising: receiving sensor data generated by a sensor at the vehicle when a user is proximate to the vehicle; processing the sensor data to determine at least one health condition of a user of the vehicle; and in response to determining the at least one health condition, performing a vehicle function selected from a plurality of vehicle functions based on the at least one health condition, wherein performing the vehicle function includes: determining whether to allow the user to enter the vehicle based on the at least one health condition; and in response to determining that the user is not allowed to enter the vehicle, causing another vehicle to provide transportation to the user.

25. A non-transitory computer-readable storage medium comprising one or more programs for execution by one or more processors of an apparatus, the one or more programs including instructions which, when executed by the one or more processors, cause the apparatus to perform the method of claim 24.

26. A computer program product comprising one or more programs for execution by one or more processors of an apparatus, the one or more programs including instructions which, when executed by the one or more processors, cause the apparatus to perform the method of claim 24. ​

Citation Information

Patent Citations

  • Systems and methods for controlling actuators based on load characteristics and passenger comfort

    US11648951B2

  • Universal passenger seat system and data interface

    CN110182369A

  • Airborne agent collectors, methods, systems and devices for monitoring airborne agents

    US20160025603A1

  • Emergency communication system for automated vehicles

    US20180053411A1

  • Cleaning system for a vehicle

    US20190091738A1