Parameter sets for vehicles

In some examples, a controller determines a target condition of usage of a vehicle, and selects a parameter set from among a plurality of parameter sets based on the determined target condition of usage of the vehicle, the plurality of parameter sets corresponding to different conditions of usage of the vehicle, where each parameter set of the plurality of parameter sets includes one or more parameters that control adjustment of one or more respective adjustable elements of the vehicle. The controller transmits, to the vehicle, the selected parameter set to control a setting of the one or more adjustable elements of the vehicle.

BACKGROUND

A vehicle such as a car or other type of vehicle can be used to carry people or goods from one location to another location. A vehicle can include a large number of separate parts, including mechanical parts, electronic control units (ECUs), and other components. The ECUs are used to control various different functions of a vehicle. Operational components, including ECUs, other electronic components, and so forth, of vehicles can be configured using configuration settings. Similarly, other types of electronic devices, such as Internet of Things (IoT) devices, can also be configured using configuration settings.

DETAILED DESCRIPTION

A vehicle can refer generally to any machine that is used to carry people, goods, and/or other payload from one physical location to another physical location. Examples of vehicles include any or some combination of the following: a truck, a trailer, a tractor, a car, a railed vehicle (e.g., a train), a watercraft (e.g., a ship, a submarine), an aircraft, a spacecraft, and so forth. A vehicle can also refer to a drone, which is an un-manned vehicle that can be used to perform various different actions. A vehicle can include wheels to move between different physical locations over land. Alternatively, a vehicle can include structures such as wings to allow the vehicle to fly through the air, or floatation structures to sail on or through water.

In addition to a large number of mechanical parts, a vehicle can also include various operational components, such as electronic control units (ECUs) or other electronic components, as well as other components that can operate to perform tasks relating to the vehicle. In the present disclosure, ECUs can also be referred to as “controller units.” An ECU can refer to any embedded computing system that is part of the vehicle to control one or more subsystems in the vehicle. An ECU can be implemented with a processor, or with multiple processors. Examples of subsystems that can be controlled by ECUs include an engine of a vehicle, a transmission of the vehicle, a brake subsystem of the vehicle, a valve of the vehicle, an air-conditioning subsystem of the vehicle, a navigation subsystem of the vehicle, and so forth.

An operational component can be configured to operate at one of various different settings based on a configuration parameter (or a set of configuration parameters) provided to the operational component. As used here “a configuration parameter set” (or more simply, a “parameter set”) can include one or more configuration parameters that control a setting of an operational component. For example, a parameter set can include one or more configuration parameters that control an idle speed of an engine, a timing of a valve, operation of a brake (e.g., how much pressure to apply, etc.), operation of an air-conditioning system, operation of a navigation subsystem, operation of an adjustable suspension, operation of an adjustable aerodynamic shroud, pressure of a tire, and so forth.

Generally, a manufacturer or other operator of a vehicle can provide parameter sets to the vehicle that are based on a range of operating conditions that the vehicle is expected to operate under. The parameter sets are intended to strike a balance between the different types of conditions that the vehicles may encounter. As a result, the parameter sets provided to the vehicle may not be optimal for certain conditions. As a result, the efficiency of the vehicle may suffer under certain conditions, such as reduced miles-per-gallon performance, operation that increases wear on components, and so forth. For an enterprise (such as a shipper, distributor, retailer, and so forth) that operates a large number of vehicles (such as to carry cargo or people), even a relatively small reduction in efficiency can substantially increase costs to the enterprise.

In accordance with some implementations of the present disclosure, solutions are provided to selectively provide parameter sets to vehicles for respective conditions of usage of the vehicles, which can lead to increased efficiency of operation of the vehicles, operation that results in reduced wear of components, and so forth. For example, for a first condition of usage of a vehicle, a first parameter set can be provided to control an operational component of the vehicle. For a different second condition of usage of a vehicle, a second parameter set can be provided to control the operational component of the vehicle.

In some implementations, the selective provision of parameter sets can be performed in a supervised manner (referred to as “supervised” solutions of providing parameter sets), in which a system is able to predict an expected target condition of usage of a vehicle (or vehicles), and can select a parameter set to provide to the vehicle(s) based on the expected target condition of usage of the vehicle. In alternative implementations, solutions are provided in which the selection of a parameter set from multiple parameter sets for a vehicle can be performed in an unsupervised manner or semi-supervised manner (referred to as “autonomous” solutions of providing parameter sets), where a condition of usage of a vehicle can be determined based on sensor information provided by one or more sensors of the vehicle.

Supervised Provision of Configuration Parameter Sets

In some implementations, with the use of supervised solutions to provide parameter sets to vehicles, a fleet administrator is able to manage respective sub-fleets of a fleet of vehicles, where each sub-fleet of the vehicles to be operated under a specific condition or conditions. For example, a first sub-fleet of the vehicles may be operated as long-haul vehicles, and another sub-fleet of vehicles can be operated as short-haul vehicles, where “long-haul” refers to a travel distance of greater than a specified threshold, and “short-haul” refers to a travel distance of less than a specified threshold.

In further examples, a sub-fleet of vehicles can be operated in hot weather (a condition where a temperature of an environment is greater than a specified temperature threshold), while another sub-fleet of vehicles can be operated in cold weather (a condition where the temperature of the environment is less than a specified temperature threshold).

In further examples, a sub-fleet of vehicles can be operated at high altitude (altitude greater than a specified altitude threshold), while another sub-fleet of vehicles can be operated at low altitude (altitude less than a specified altitude threshold). In other examples, a sub-fleet of vehicles can be operated as high-load vehicles, while another sub-fleet of vehicles can be operated in as low-load vehicles, where “high load” can refer to a load (of cargo or people) of the vehicle that exceeds a specified weight or a specified percentage of carrying capacity), while “low load” can refer to a load of the vehicle that is less than a specified weight or percentage of loading.

In additional examples, a sub-fleet of vehicles can be operated on a first type of terrain (e.g., a hilly or mountainous terrain), while another sub-fleet of vehicles can be operated in another type of terrain (e.g., a flat terrain). Different terrains can also refer to different types of pavement on which the vehicles are to be operated, such as smooth pavement, gravel pavement, or pavement filled with potholes.

For the different sub-fleets that are intended to be operated under different conditions, different parameter sets can be selected and provided to the respective sub-fleets of vehicles. In this manner, each sub-fleet of vehicles can be operated in a more optimal manner for a specific expected condition of usage, which can increase the efficiency of each vehicle, reduce wear of components of the vehicle, and so forth.

Although reference is made to providing configuration settings to vehicles in some examples, it is noted that solutions according to some implementations of the present disclosure are also applicable to select configuration settings to configure Internet of Things (IoT) devices. An IoT device can refer generally to an electronic device that is designed or configured to achieve a specific target operation, unlike general-purpose computers (e.g., notebook computers, tablet computers, desktop computers, server computers) or smartphones. Examples of IoT devices include sensors to measure respective parameters (e.g., temperature, pressure, humidity, location, etc.), actuators used to actuate devices between different states (e.g., a thermostat to operate an air conditioning and/or heating system), cameras, household appliances, and so forth. A vehicle is a type of IoT device. Whereas a computer or smartphone (or other similar general-purpose electronic device) can be loaded with different types of applications (at the request of user), an IoT device is configured to execute a specific application to perform the specific target operation of the IoT device; in other words, in some examples, an IoT device is usually pre-loaded with an application (or a set of applications), and a user is unable to download a different application (other than updates to update the pre-loaded application(s)) onto the IoT device.

FIG. 1is a block diagram of an example arrangement that includes a configuration management system100that can be used to manage configuration settings of vehicles in various sub-fleets of vehicles, where a sub-fleet1of vehicles and a sub-fleet2of vehicles is shown in the example ofFIG. 1. The configuration management system100is able to deliver various parameter sets to vehicles over a network102, which can be a wireless network or a wired network.

A wireless network can include a cellular access network or a wireless local area network (WLAN). An example cellular network can operate according to the Long-Term Evolution (LTE) standards as provided by the Third Generation Partnership Project (3GPP). The LTE standards are also referred to as the Evolved Universal Terrestrial Radio Access (E-UTRA) standards. In other examples, other types of cellular networks can be employed, such as second generation (2G) or third generation (3G) cellular networks, e.g., a Global System for Mobile (GSM) cellular network, an Enhanced Data rates for GSM Evolution (EDGE) cellular network, a Universal Terrestrial Radio Access Network (UTRAN), a Code Division Multiple Access (CDMA) 2000 cellular network, and so forth. In further examples, cellular networks can be fifth generation (5G) or beyond cellular networks.

A WLAN can operate according to the Institute of Electrical and Electronic Engineers (IEEE) 802.11 or Wi-Fi Alliance Specifications. In other examples, other types of wireless networks can be employed, such as a Bluetooth link, a ZigBee network, and so forth. Additionally, some wireless networks can enable cellular Internet of Things (IoT), such as wireless access networks according to LTE Advanced for Machine-Type Communication (LTE-MTC), narrowband IoT (NB-IoT), and so forth.

The configuration management system100includes a configuration management engine104which is able to selectively deliver parameter sets to respective vehicles in different sub-fleets, based on a target condition of usage of vehicles in each sub-fleet.

The configuration management engine104can include a hardware processing circuit, where a hardware processing circuit can refer to any or some combination of the following: a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit device, a programmable gate array, or another type of hardware processing circuit. Alternatively, the configuration management engine104can include a combination of a hardware processing circuit and machine-readable instructions (software and/or firmware) executable on the hardware processing circuit.

A storage medium106stores various parameter sets108. The storage medium106can be implemented with a disk drive, a collection of disk drives, a solid state memory, a collection of solid state memories, and/or other types of storage media.

The parameter sets108can provide different parameters for a specific operational component of vehicles. For example, the parameter sets108can relate to different configuration settings of an engine, a transmission, and so forth.

The storage medium106can store multiple collections of parameter sets for respective different operational components of vehicles, where each collection of parameter sets specify different configuration settings for a respective operational component of a vehicle.

The storage medium106can be part of the configuration management system100, or can be remote from the configuration management system100, but is accessible by the configuration management system100, such as over the network102.

The configuration management system100also includes a communication transceiver110that allows the configuration management system100to communicate over the network102with the vehicles. The communication transceiver110can include a wireless transceiver to transmit and receive wireless signals, or a wired transceiver to communicate over a wired network.

FIG. 1further shows a client device112that is coupled to the configuration management system100. The client device112can be a user device, such as a notebook computer, desktop computer, tablet computer, smartphone, and so forth, which can be used by a user (e.g., a fleet administrator) to manage configurations of vehicles. The client device112can execute an application that allows the client device112to interface with the configuration management engine104. The application executed on the client device112can present a management graphical user interface (GUI)114, which allows the client device112to interact with the configuration management engine104.

In some examples, the management GUI114can be used by an administrator to define the parameter sets108and/or define sub-fleets of vehicles (by assigning specific vehicles to specific sub-fleets). The management GUI114allows the administrator to provide information relating to vehicles to the configuration management system100, which can store the information as vehicle information116in the storage medium106, for example. The vehicle information116can identify sub-fleets of vehicles, where each sub-fleet can be identified by a sub-fleet name, and the vehicles within a given sub-fleet can also be identified with vehicle identifiers or vehicle names, for example. The vehicle information116can also indicate, for each sub-fleet of vehicles, the expected condition of usage of the sub-fleet (e.g., long-haul versus short-haul, high altitude versus low altitude, etc.).

The client device112can be directly connected to the configuration management system100, or the client device112can be coupled over the network102to the configuration management system100.

AlthoughFIG. 1shows just one client device112coupled to the configuration management system100, it is noted that in other examples, multiple client devices can be coupled to the configuration management system100to allow multiple administrators to manage provision of parameter sets to respective vehicles.

FIG. 2is a flow diagram of an example process, which can be performed by the configuration management engine104, for example. The configuration management engine104determines (at202) a target condition of usage of a vehicle. This determined target condition of usage can be based on information provided by an administrator, such as through the management GUI114of the client device112shown inFIG. 1. The information provided by the administrator can be stored as part of the vehicle information116in the storage medium106(FIG. 2).

The configuration management engine104transmits (at206), to the vehicle, the selected parameter set to control a setting of the one or more adjustable elements of the vehicle. The transmission of the selected parameter set can be performed over the network102shown inFIG. 1.

As noted above, the different conditions of usage of the vehicle can include different temperatures of environments in which the vehicle is to be operated, and the multiple parameter sets108can control adjustment of one or more respective adjustable elements of the vehicle for the respective different temperatures (e.g., set the transmission to operate at a higher gear in a high temperature environment to reduce the chances of overheating of a vehicle).

As another example, the different conditions of usage of the vehicle can include different altitudes at which the vehicle is to be operated, and the multiple parameter sets108can control adjustment of one or more respective adjustable elements of the vehicle for the respective different altitudes (e.g., change the timing of a valve to optimize engine operation at a high altitude).

As a further example, the different conditions of usage of the vehicle include different planned loads of the vehicle, where the multiple parameter sets108can control adjustment of one or more respective adjustable elements of the vehicle for the respective different planned loads (e.g., increase the stiffness of a suspension for a high load).

As another example, the different conditions of usage of the vehicle include different terrains over which the vehicle is to be operated and the multiple parameter sets108can control adjustment of one or more respective adjustable elements of the vehicle for the respective different terrains (e.g., reduce the stiffness of a suspension for rough terrain).

As a further example, the different conditions of usage of the vehicle include different expected travel distances of the vehicle, where the multiple parameter sets108can control adjustment of one or more respective adjustable elements of the vehicle for the respective different travel distances (e.g., adjust the engine and transmission for optimal performance at highway speeds).

Note that althoughFIG. 2refers to determining a target condition of usage of a vehicle, selecting a parameter set based on the determined target condition of usage of the vehicle, and transmitting the selected parameter set to control a setting of one or more adjustable elements of the vehicle, the process ofFIG. 2can also be applied to multiple vehicles, such as multiple vehicles of a target group (which can be a given sub-fleet of vehicles) that is intended to be operated under a common target condition of usage (e.g., high or low temperature, high or low altitude, high or low load, a specific terrain, long or short haul, etc.)

FIG. 3is a flow diagram of a further example process of the present disclosure. The process ofFIG. 3can also be performed by the configuration management engine104, for example. The process ofFIG. 3determines a first target condition of usage of a first group of vehicles (e.g., a first sub-fleet of vehicles). The process ofFIG. 3further includes selecting (at304) a first parameter set from multiple parameter sets based on the determined first target condition of usage of the first group of vehicles, where the multiple parameter sets correspond to different conditions of usage of vehicles. The process ofFIG. 3further includes transmitting (at306), to the first group of vehicles, the selected parameter set to control a setting of one or more adjustable elements of each vehicle of the first group of vehicles.

Autonomous Provision of Configuration Parameter Sets

The supervised provision of parameter sets to vehicles discussed above can be based on specification of sub-fleets of vehicles (such as by a fleet administrator) that are planned to be operated under specific respective conditions.

In further examples, rather than rely upon a pre-specified planned target condition of usage of vehicles, autonomous solutions to provide parameter sets to vehicles can use sensors on the vehicles to acquire measurement data that can be used for determining target conditions of usage of the vehicles.

FIG. 4is a block diagram of an example arrangement that includes the configuration management system400and a vehicle402according to some examples. Although just one vehicle402is shown inFIG. 4, it is noted that multiple vehicles can be configured by the configuration management system400.

The vehicle402includes a sensor404, which can be used to acquire certain measurement information of the vehicle402. For example, the sensor404can be a temperature sensor to measure a temperature of an environment around the vehicle402, an altitude sensor to measure an altitude of the vehicle402, a load sensor to measure a load of the vehicle402, a terrain sensor to determine the type of terrain over which the vehicle402is travelling, a distance sensor to determine a travel distance of the vehicle402, or any other type of sensor.

A load sensor can include a time-of-flight (ToF) sensor, where a light signal can be emitted, and reflection from a surface can be captured by a light sensor to determine a distance to the surface. This distance can provide an indication of a loading of the vehicle. In another example, the load sensor can include a weight sensor, such as a strain gauge or other type of weight sensor mounted to the suspensions of the vehicle. The measured weight provides an indication of loading of the vehicle.

A terrain sensor can include a camera to capture an image of the terrain, and to detect the type of terrain based on image processing of the captured image of the terrain. Alternatively or additionally, the terrain sensor can include a shock or vibration sensor to detect a force or vibration exerted on the vehicle as the vehicle moves over the pavement, which can give an indication of the type of terrain.

A distance sensor can include a position sensor (e.g., a global positioning system (GPS) receiver) to detect a location of the vehicle. Multiple measurements by the position sensor can provide an indication of a distance traveled by the vehicle. Alternatively, the distance sensor can be part of the odometer of the vehicle, and can output a distance traveled since a last reading of the odometer.

Although just one sensor404is depicted, it is noted that the vehicle402can include multiple sensors in other examples.

The vehicle402also includes a communication transceiver406to allow the vehicle402to communicate over a network408(wireless or wired network) with the configuration management system400. The communication transceiver406can send measurement data from the sensor404over the network408to the configuration management system400. The communication transceiver406can be a wireless transceiver to communicate wirelessly, or a wired transceiver to communicate over a wired network.

The configuration management system400includes a configuration management engine410, which is able to receive measurement data from the sensor404of the vehicle402, and determine, based on the measurement data from the sensor404of the vehicle402, a condition of usage of the vehicle402. The configuration management engine410can select a parameter set from multiple parameter sets412stored in a storage medium414based on the determined condition of usage of the vehicle402.

The selected parameter set can be sent by the configuration management engine410through a communication transceiver416of the configuration management system400over the network408to the vehicle402.

The parameter set received by the vehicle402is applied by a parameter set applicator412to an operational component414of the vehicle402. The parameter set applicator412can write the parameter set received from the configuration management system400to the operational element414, such as to store in a storage medium of the operational element414. In examples where the operational component414is an ECU, the ECU can include a storage medium to store configuration information, and the parameter set can be written to the storage medium as part of the configuration information.

The parameter set applicator412can be implemented as a controller, which can be a hardware processing circuit or a combination of a hardware processing circuit and machine-readable instructions executable on the hardware processing circuit.

In alternative examples, instead of providing the configuration management engine410in the configuration management system400that is separate from the vehicle402, the configuration management engine410can instead be provided in the vehicle402, to select a parameter set to use (from multiple parameter sets) to use to control the operational component414. In such examples, the configuration management engine410in the vehicle402can access the parameter sets412, which can be stored in a storage medium of the vehicle402, or alternatively, in a remote storage medium that is accessible by the vehicle402over the network408.

FIG. 5is a flow diagram of an example process according to the present disclosure, which can be performed by the configuration management engine410according to some examples. The configuration management engine410receives (at502) measurement data from the sensor404on the vehicle402. The configuration management engine410determines (at504), based on the measurement data, a condition of usage of the vehicle402. The configuration management engine410selects (at506) a parameter set from the multiple parameter sets412based on the determined condition of usage of the vehicle402. The configuration management engine410causes (at508) application of the selected parameter set on the vehicle402, such as by transmitting the selected parameter set over the network408to the vehicle402for application at the vehicle402.

In some examples, the vehicle402may be initially configured with a first parameter set for a first condition of usage that was expected of the vehicle402. However, based on the measurement data from the sensor404, the configuration management engine410can detect that the determined condition of usage is different from the first condition of usage, such that the selected parameter set is different from the first parameter set for the first condition of usage. The selected parameter set can override the first parameter set when operating the respective operational component of the vehicle.

AlthoughFIGS. 4 and 5refer to the configuration management engine410selecting a parameter set for a vehicle, it is noted that in other examples, the configuration management engine410can select a parameter set for multiple vehicles. For example, the configuration management engine410can receive measurement data from sensors on multiple vehicles, and can determine, based on the measurement data from the sensors on the multiple vehicles, conditions of usage of the multiple vehicles.

The configuration management engine410is able to identify a subset of the multiple vehicles that operate in a similar condition of usage (e.g., the vehicles of the subset operate within a specified temperature range, the vehicles in the subset are long-haul vehicles, the vehicles in the subset operate within a specified altitude range, and so forth). The configuration management engine410can select, for the subset of the multiple vehicles, a parameter set from among multiple parameter sets for the condition of usage that is shared by the vehicles in the subset. The configuration management engine410can then cause application of the selected parameter set on the vehicles in the subset.

In some examples, the selecting of the parameter set for a vehicle (or multiple vehicles) based on a condition of usage determined from measurement data of a sensor can be unsupervised and does not rely on any input from a human user. Thus, based on the condition of usage determined from the measurement data acquired by the sensor of a vehicle, the configuration management engine410can autonomously select the parameter set to apply to the vehicle.

In other examples, the selection of the selected parameter set based on the condition of usage determined from the measurement data of the sensor can be first presented to a human user, such as an administrator at the client device112ofFIG. 1. The administrator at the client device112can confirm or reject, such as by making a control selection in the management GUI114, use of the selected parameter set.

FIG. 6is a flow diagram of a process according to further examples, which can be performed by the configuration management engine410. The process ofFIG. 6includes receiving (at602) measurement data from sensors on multiple vehicles. The process ofFIG. 6further determines (at604), based on the measurement data from the sensors on the multiple vehicles, conditions of usage of the multiple vehicles. The process ofFIG. 6further includes identifying (at606) a first subset of the multiple vehicles that operate according to a similar condition of usage. The process ofFIG. 6includes selecting (at608), for the first subset of the vehicles, a first parameter set from multiple parameter sets for the similar condition of usage of the vehicles in the first subset. The process further includes causing (at610) application of the first parameter set on the vehicles in the first subset.

System Architecture

FIG. 7is a block diagram of a system700(which can be an example of the configuration management system100ofFIG. 1or configuration management system400ofFIG. 4, or a controller in the vehicle402ofFIG. 4). The system700includes a processor (or multiple processors)702. A processor can include a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit, a programmable gate array, or another hardware processing circuit.

The system700includes a non-transitory machine-readable or computer-readable storage medium704, which stores machine-readable instructions, such as configuration setting control instructions706that are executable on the processor702to perform respective tasks, such as those of the configuration management engine104ofFIG. 1or configuration management engine410ofFIG. 4. Instructions executable on a processor can refer to instructions executable on a single processor, or on multiple processors.