Patent ID: 12207156

DETAILED DESCRIPTION

The following detailed description is merely exemplary in nature and is not intended to limit the application and uses. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding introduction, summary or the following detailed description. As used herein, the term module refers to any hardware, software, firmware, electronic control component, processing logic, and/or processor device, individually or in any combination, including without limitation: application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.

Embodiments of the present disclosure may be described herein in terms of functional and/or logical block components and various processing steps. It should be appreciated that such block components may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. For example, an embodiment of the present disclosure may employ various integrated circuit components, e.g., memory elements, digital signal processing elements, logic elements, look-up tables, or the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. In addition, those skilled in the art will appreciate that embodiments of the present disclosure may be practiced in conjunction with any number of systems, and that the systems described herein is merely exemplary embodiments of the present disclosure.

For the sake of brevity, conventional techniques related to signal processing, data transmission, signaling, control, and other functional aspects of the systems (and the individual operating components of the systems) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent example functional relationships and/or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may be present in an embodiment of the present disclosure.

Referring toFIG.1, a functional block diagram representation of an autonomous vehicle100including an embodiment of a charging unit guidance system110is shown. The autonomous vehicle100generally includes a chassis112, a body114, front wheels116, and rear wheels118. The body114is arranged on the chassis112and substantially encloses components of the autonomous vehicle100. The body114and the chassis112may jointly form a frame. The front wheels116and the rear wheels118are each rotationally coupled to the chassis112near a respective corner of the body114.

The autonomous vehicle100is, for example, a vehicle that is automatically controlled to carry passengers from one location to another. While the autonomous vehicle100is depicted in the illustrated embodiment as a passenger car, other examples of autonomous vehicles include, but are not limited to, motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), marine vessels, and aircraft. In an embodiment, the autonomous vehicle100is a so-called Level Four or Level Five automation system. A Level Four system indicates “high automation”, referring to the driving mode-specific performance by an automated driving system (ADS) of all aspects of the dynamic driving task, even if a human driver does not respond appropriately to a request to intervene. A Level Five system indicates “full automation”, referring to the full-time performance by an ADS of all aspects of the dynamic driving task under all roadway and environmental conditions that can be managed by a human driver.

As shown, the autonomous vehicle100generally includes a propulsion system120, a transmission system122, a steering system124, a brake system126, a vehicle sensor system128, an actuator system130, at least one data storage device132, at least one controller134, and a vehicle communication system136. The propulsion system120may, in various embodiments, include an internal combustion engine, an electric machine such as a traction motor, and/or a fuel cell propulsion system. The transmission system122is configured to transmit power from the propulsion system120to the front wheels116and the rear wheels118according to selectable speed ratios. According to various embodiments, the transmission system122may include a step-ratio automatic transmission, a continuously-variable transmission, or other appropriate transmission. The brake system126is configured to provide braking torque to the front wheels116and the rear wheels118. The brake system126may, in various embodiments, include friction brakes, brake by wire, a regenerative braking system such as an electric machine, and/or other appropriate braking systems. The steering system124influences a position of the front wheels116and the rear wheels118. While depicted as including a steering wheel for illustrative purposes, in some embodiments contemplated within the scope of the present disclosure, the steering system124may not include a steering wheel.

The vehicle sensor system128includes one or more vehicle sensing devices140a-140nthat sense observable conditions of the exterior environment and/or the interior environment of the autonomous vehicle100. Examples of vehicle sensing devices140a-140ninclude, but are not limited to, radars, lidars, global positioning systems, optical cameras, thermal cameras, ultrasonic sensors, and/or other sensors. In an embodiment, the vehicle sensor system128includes a surround view camera system. In an embodiment, the vehicle sensor system128includes a wireless positioning sensor system. In an embodiment, the vehicle sensor system128includes a surround view camera system and a wireless positioning sensor system. The actuator system130includes one or more actuator devices142a-142nthat control one or more vehicle features such as for example, but not limited to, the propulsion system120, the transmission system122, the steering system124, and the brake system126. In various embodiments, the vehicle features can further include interior and/or exterior vehicle features such as for example, but are not limited to, doors, a trunk, and cabin features such as for example air, music, and lighting.

The vehicle communication system136is configured to wirelessly communicate information to and from other entities (“vehicle-to-everything (V2X)” communication). For example, the vehicle communication system136is configured to wireless communicate information to and from other vehicles148(“vehicle-to-vehicle (V2V)” communication), to and from driving system infrastructure (“vehicle to infrastructure (V2I)” communication), remote systems, to and from an edge computing system150and/or personal devices. In an embodiment, the vehicle communication system136is a wireless communication system configured to communicate via a wireless local area network (WLAN) using IEEE 802.11 standards or by using cellular data communication. However, additional or alternate communication methods, such as a dedicated short-range communications (DSRC) channel, are also considered within the scope of the present disclosure. DSRC channels refer to one-way or two-way short-range to medium-range wireless communication channels designed for automotive use and a corresponding set of protocols and standards.

The data storage device132stores data for use in automatically controlling the autonomous vehicle100. The data storage device132may be part of the controller134, separate from the controller134, or part of the controller134and part of a separate system.

The controller134includes at least one processor144and a computer readable storage device146. The computer readable storage device146may also be referred to a computer readable media146and a computer readable medium146. In an embodiment, the computer readable storage device146includes an embodiment of a charging unit guidance system110. The processor144can be any custom made or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among several processors associated with the controller134, a semiconductor-′ based microprocessor (in the form of a microchip or chip set), a macroprocessor, any combination thereof, or generally any device for executing instructions. The computer readable storage device146may include volatile and nonvolatile storage in read-only memory (ROM), random-access memory (RAM), and keep-alive memory (KAM), for example. KAM is a persistent or non-volatile memory that may be used to store various operating variables while the processor144is powered down. The computer-readable storage device146may be implemented using any of a number of known memory devices such as PROMs (programmable read-only memory), EPROMs (electrically PROM), EEPROMs (electrically erasable PROM), flash memory, or any other electric, magnetic, optical, or combination memory devices capable of storing data, some of which represent executable instructions, used by the controller134in controlling the autonomous vehicle100.

The instructions may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. The instructions, when executed by the processor144, receive and process signals from the vehicle sensor system128, perform logic, calculations, methods and/or algorithms for automatically controlling the components of the autonomous vehicle100, and generate control signals to the actuator system130to automatically control one or more components of the autonomous vehicle100based on the logic, calculations, methods, and/or algorithms. Although only one controller134is shown inFIG.1, alternative embodiments of the autonomous vehicle100can include any number of controllers134that communicate over any suitable communication medium or a combination of communication mediums and that cooperate to process the sensor signals, perform logic, calculations, methods, and/or algorithms, and generate control signals to automatically control features of the autonomous vehicle100.

In various embodiments, one or more instructions of the controller134are embodied to provide ADS functions as described with reference to one or more of the embodiments herein. The controller134or one of its functional modules is configured to implement the functions described with reference to one or a combination of embodiments of the charging unit guidance system110.

Referring toFIG.2, a functional block diagram representation of an autonomous vehicle100including an embodiment of a charging unit guidance system110parked in a parking spot200at a charging station is shown. A user of the autonomous vehicle100in the parking spot200has access to two charging units202. One of the charging units202is disposed at a first charging unit location204and one of the charging units202is disposed at a second charging unit location206. The charging unit guidance system110is configured to receive vehicle location data from the vehicle sensor system128and generate a parking spot location based on the vehicle location data.

The charging unit guidance system110is configured to determine the charging unit location204,206of the charging unit202accessed by the user to charge the autonomous vehicle100. In an embodiment, the charging unit guidance system110is configured to receive user position data associated with movement of the user from the autonomous vehicle100to the charging unit location204,206of a charging unit202and at the charging unit202from the vehicle sensor system128. The charging unit guidance system110is configured to generate a sequence of observed user speeds associated with the user position data. The charging unit guidance system110is configured to generate a sequence of user states associated with the sequence of observed user speeds using a Viterbi algorithm in conjunction with a user state Hidden Markov Model. The charging unit guidance system110is configured to determine the charging unit location204,206based on a correlation between the user states in the sequence of user states and the user position data.

The charging unit guidance system110is configured to determine a charging unit status of the charging unit202accessed by the user to charge the autonomous vehicle100based on a charging rate associated with the charging unit202. The charging unit guidance system110is configured to upload the parking spot location, the charging unit location204,206of the charging unit202accessed by the user and, the charging unit status of the charging unit202to an edge computing system150. In an embodiment, the charging unit guidance system110is configured to upload a vehicle identification number (VIN), a vehicle model, a charging start time, a charging end time, the parking spot location, a charging station identifier, a parking spot identifier, the charging unit location204,206, an average charging rate, a minimum charging rate, a maximum charging rate, and the charging unit status to the edge computing system150. The data uploaded from charging unit guidance system110of an autonomous vehicle to the edge computing system150may be referred to as charging session data.

While two charging units202have been illustrated as accessible to a user of an autonomous vehicle100parked in a parking spot200, in alternative embodiments, a greater number of charging units202may be accessible to a user of an autonomous vehicle100parked in a parking spot200.

Referring toFIG.3, a functional block diagram representation of a plurality of autonomous vehicles100including an embodiment of a charging unit guidance system110communicatively coupled to an edge computing system150is shown. The charging unit guidance system110of each of the plurality of autonomous vehicles100, represented by a group300, is configured to upload the parking spot location, the charging unit location204,206of the charging unit202accessed by a user of the autonomous vehicle100, and the charging unit status of the charging unit202to the edge computing system150. In an embodiment, The charging unit guidance system110of each of the plurality of autonomous vehicles100, represented by a group300, is configured to upload a vehicle identification number (VIN), a vehicle model, a charging start time, a charging end time, the parking spot location, a charging station identifier, a parking spot identifier, the charging unit location204,206, an average charging rate, a minimum charging rate, a maximum charging rate, and the charging unit status to the edge computing system150. The data uploaded from charging unit guidance system110of an autonomous vehicle100to the edge computing system150may be referred to as charging session data.

In an embodiment, the edge computing system150is configured to pre-process the charging session data uploaded by each autonomous vehicle100in the group300. In an embodiment, the edge computing system150is configured to pre-process the charging session data by classifying the charging session data in connection with the associated charging unit202. In an embodiment, the edge computing system150is configured to pre-process the charging session data by classifying the charging session data in connection with different vehicle models.

In an embodiment, the edge computing system150is configured to store the charging session data uploaded by each autonomous vehicle100in the group300in a two-dimensional table. The edge computing system150is configured to sort the charging session data, for example, by time, by charging station, and/or by vehicle models.

In an embodiment, the edge computing system150is configured to utilize a clustering algorithm to identify the number of charging units202and the charging unit locations204,206associated with each of the charging units202. In an embodiment, the edge computing system150is configured to utilize a time decaying function to monitor a time-varying charging unit status of each of the charging units202.

In an embodiment, the edge computing system150is configured to store processed results associated with each charging unit202in an edge computing database. Examples of the processed results include, but are not limited to, a charging unit identifier and a charging unit status. The edge computing system150is configured to provide guidance instructions to the charging unit guidance system110of the autonomous vehicle100,302to a charging unit location204,206of a charging unit202based in part on the charging unit status of the charging unit202. In an embodiment, the autonomous vehicle100,302is configured to issue a request to the edge computing system150for guidance instruction to an operational charging unit202within a pre-defined distance of the autonomous vehicle100. The edge computing system150is configured to respond to the request by providing guidance instructions to the charging unit guidance system110of the autonomous vehicle100,302to a charging unit location204,206of a charging unit202based on charging unit location204,206and the charging unit status.

In an embodiment, the edge computing system150is configured to receive vehicle location data generated by the vehicle sensor system128from the autonomous vehicle100and generate a parking spot location based on the received vehicle location data.

In an embodiment, the edge computing system150is configured to determine the charging unit location204,206of the charging unit202accessed by the user to charge the autonomous vehicle100. In an embodiment, the edge computing system150is configured to receive user position data associated with movement of the user from the autonomous vehicle100towards the charging unit location204,206of a charging unit202and at the charging unit location204,206generated by the vehicle sensor system128of the autonomous vehicle100. The edge computing system150is configured to generate a sequence of observed user speeds associated with the user position data. The edge computing system150is configured to generate a sequence of user states associated with the sequence of observed user speeds using a Viterbi algorithm in conjunction with a user state Hidden Markov Model. The edge computing system150is configured to determine the charging unit location204,206based on a correlation between the user states in the sequence of user states and the user position data. In an embodiment, the edge computing system150is configured to determine a charging unit status of the charging unit202accessed by the user to charge the autonomous vehicle100based on the charging rate associated with the charging unit202.

The edge computing system150may leverage crowd sourced data associated with a charging of autonomous vehicles100at charging units202to create autonomous vehicle charging unit maps. The crowd-source data may include a charging unit status of a charging unit202, a charging rate of the charging unit202, and a charging unit location of the charging unit202. The edge computing system150may utilize data aggregation algorithms to aggregate charging session data uploaded by individual autonomous vehicles100. The use of data aggregation algorithms may reduce sensor error and increase system confidence. The edge computing system150may identify non-operational charging units202and monitor whether the non-operational charging units202are repaired. Different autonomous vehicles100parked in the same parking spot may report slightingly different charging unit locations associated with a charging unit202. A cluster algorithm, such as for example, centroid-based or density-based clustering algorithms may be used by the edge computing system150to determine the number of charging units and the charging unit locations of the charging units.

Referring toFIG.4, a functional block diagram representation of an embodiment of a charging unit guidance system110is shown. The charging unit guidance system110is configured to upload charging session data associated with charging the autonomous vehicle100at a charging unit202to the edge computing system150. The charging unit guidance system110is configured to receive guidance instructions to an operational charging unit202within a pre-defined distance of the autonomous vehicle100from an edge computing system150.

The charging unit guidance system110is configured to be communicatively coupled the vehicle sensor system128and to the vehicle communication system136. The vehicle communication system136is configured to be communicatively coupled to the edge computing system150. The charging unit guidance system110includes a controller402. The controller402include a processor404and a memory406. In an embodiment, the memory406includes a parking spot location module408, a user speed sequence module410, a user state sequence module412, a charging unit location module414, a charging unit status module416, and a charging unit guidance module418. The charging unit guidance system110may include additional components that facilitated the operation of the charging unit guidance system110.

Referring toFIG.5, a flowchart representation of an example of a method500of determining a charging unit location204,206of a charging unit202using an embodiment of a charging unit guidance system100is shown. The method500is performed by an embodiment of a charging unit guidance system110. In an embodiment, the method500may be performed by the charging unit guidance system110in combination with other components of an autonomous vehicle100. The method500may be performed by hardware circuitry, firmware, software, and/or combinations thereof.

At502, the parking spot location module408receives vehicle location data from the vehicle sensor system128of the autonomous vehicle100parked in a parking spot of a charging station. The vehicle sensor system128includes one or more vehicle sensing devices140a-140n. Examples of vehicle sensing devices140a-140ninclude, but are not limited to, radars, lidars, global positioning systems (GPS), optical cameras, thermal cameras, ultrasonic sensors, and/or other sensors. In an embodiment, the vehicle location data is generated by the GPS.

At504, the parking spot location module408determines a parking spot location of the parking spot based on the vehicle location data. In an embodiment, the parking spot location module408is configured to determine the parking spot location based on the vehicle location data generated by the GPS. In an embodiment, the autonomous vehicle100is equipped with a high definition (HD) map. The parking spot location module408is configured to map the vehicle location data to the HD map to determine the parking spot location.

At506, the user speed sequence module410receives user position data generated by the vehicle sensor system128. In an embodiment, the vehicle sensor system128includes a surround view camera system. The surround view camera system is configured to capture and generate user position data associated with user movement as a user of the autonomous vehicle100walks toward and stops at a charging unit location204,206of a charging unit202to initiate charging of the autonomous vehicle100. In an embodiment, an optical flow algorithm is used to generate the user position data.

In an embodiment, the vehicle sensor system128includes a wireless positioning sensor system. The wireless positioning sensor system is configured to capture and generate user position data associated with user movement as the user of the autonomous vehicle100walks toward and stops at the charging unit location204,206of the charging unit202by tracking a location of a user smartphone that the user is carrying. In an embodiment, the wireless positioning sensor system includes one or more wireless positioning devices. Examples of wireless positioning devices include, but are not limited to, Wi-Fi applications and ultra-wide band (UWB) sensors installed at the autonomous vehicle100.

In an embodiment, the vehicle sensor system128includes a surround view camera system and a wireless positioning sensor system. The surround view camera system and the wireless positioning sensor system are configured to capture and generate user position data associated with user movement as the user of the autonomous vehicle100walks toward and stops at the charging unit location204,206of the charging unit202.

At508, the user speed sequence module410generates a sequence of observed user speeds based on the user position data. The sequence of observed user speeds is associated with user movement as the user walks toward and stops at the charging unit location204,206of the charging unit202to initiate charging of the autonomous vehicle100.

At510, the user state sequence module412generates a sequence of user states based on the sequence of observed user speeds. The user states are one of a walking state and an at-charging-unit state. A user is in a walking state when the user is walking toward the charging unit location204,206of the charging unit202and is in an at-charging-unit state when the user stops at the charging unit location204,206of the charging unit202. The user states are hidden states. The user state sequence module412is configured to generate the sequence of user states associated with the sequence of observed user speeds using a Viterbi algorithm in conjunction with a user state Hidden Markov Model.

At512, the charging unit location module414determines a charging unit location204,206of the charging unit202based on the sequence of user states. The charging unit location module414is configured to identify the at-charging-unit states in the sequence of user states. The charging unit location module414is configured to generate an intermediate charging unit location associated with each of the identified at-charging-unit states based on a correlation between the at-charging-unit state and the user position data associated with that at-charging-unit state. The charging unit location module414is configured to determine the charging unit location204,206of the charging unit202based on an average of the intermediate charging unit locations.

Referring toFIG.6, an example of a state diagram associated with a user state Hidden Markov Model is shown. A Hidden Markov Model is defined based on an assumption that there is a hidden state for every observation. The user state Hidden Markov Model assumes that there is a hidden user state for every observed user speed in the sequence of observed user speeds. Each observed user speed is based on user position data detected by the vehicle sensor system128of the autonomous vehicle100.

The user state Hidden Markov Model is defined based on two user states X1, X2. The two user states X1, X2are hidden user states X1, X2. The two hidden user states X1, X2are the walking state X1and the at-charging-unit state X2. A user is in a walking state X1when the user is walking toward a charging unit location204,206of a charging unit202and in an at-charging-unit state X2when the user is at the charging unit location204,206. An initial state probability is assigned to each of the hidden user states X1, X2. The initial state probability of the walking state P(X1) is one indicating that the user is initially walking from the autonomous vehicle100toward the charger unit location204,206. The initial state probability of the at-charging-unit state P(X2) is zero indicating that the user is initially not at the charging unit location204,206.

A state transition probability matrix A [a11, a12, a21, a22] is associated with the user state Hidden Markov Model. The first entry a11is the probability that if a current user state is a walking state X1, the next user state will be a walking state X1. The second entry au is the probability that if the current user state is a walking state X1, the next user state will be an at-charging-unit state X2. The third entry a21is the probability that if the current user state is an at-charging-unit state X2, the next user state will be a walking state X1. The fourth entry a22is the probability that if the current user state is an at-charging-unit state X2, the next user state will be an at-charging-unit state X2. A training data set is used to train the state transition probability matrix A. In an embodiment, the training data set is a historical data set.

The probability of an observation depends on the hidden state that produced the observation. The observation is the observed user speed. The hidden states are the user states. The emission probability defines a probability of an observed user speed occurring at a hidden user state. For example, the first graph602represents an example of a continuous probability distribution of observed user speed associated with the walking state X1and the second graph604represents an example of a continuous probability distribution of observed user speed associated with the at-charging-unit state X2. A training data set is used to train the emission probability. In an embodiment, the training data set is a historical data set.

Referring toFIG.7, a block diagram representation of an embodiment of a user state sequence module412is shown. The user state sequence module412includes an observed data module702, a user state Hidden Markov Model704, a Viterbi algorithm module706, and an optimal sequence of user states module708. The user state sequence module412may include additional components that facilitate the operation of the user state module214.

The observed data module702is configured to receive a sequence of observed user speeds generated by the user speed sequence module410. The user state Hidden Markov Model704is defined based on the assumption that there is a hidden user state for every observed user speed. Each observed user speed in the sequence of observed user speeds is based on user position data detected by the vehicle sensor system128at the autonomous vehicle100. The Viterbi algorithm module706receives the sequence of observed user speeds from the observed data module702and generates an optimal sequence of user states based on the sequence of observed user speeds in accordance with the user state Hidden Markov Model. The optimal sequence of user states is received by the optimal sequence of user states module708. The user state sequence module412is configured to provide the optimal sequence of user states to the charging unit location module414.

Referring toFIG.8, a flowchart representation an example of a method800of determining a charging unit status of a charging unit202using an embodiment of the charging unit guidance system110is shown. The method800is performed by the charging unit guidance system110. The method800may be performed by the charging unit guidance system110in combination with other components of the autonomous vehicle100. The method800may be performed by hardware circuitry, firmware, software, and/or combinations thereof.

The charging unit guidance system110is configured to determine a charging unit status of charging unit202accessed by a user to charge an autonomous vehicle100based on one or more charging unit parameters. In an embodiment, the charging unit guidance system110is configured to determine a charging unit status of the charging unit202based on charging rates associated with the charging unit202.

At802, the charging unit status module416receives observed charging rates associated with the charging on the autonomous vehicle100at a charging unit202. In an embodiment, the observed charging rates are received as kilowatts per hour. At804, the charging unit status module416generates a sequence of observed charging rates based on the observed charging rates.

At806, the charging unit status module416generates a sequence of charging unit states based on the sequence of observed charging rates. The charging unit states are one of an in-service state and an out-of-service state. A charging unit202is in an in-service state when the charging unit202is operational and in an out-of-service state when the charging unit202is not operational. The charging unit states are hidden states. The charging unit status module416is configured to generate the sequence of charging unit states associated with the sequence of observed charging rates using a Viterbi algorithm in conjunction with a charging unit state Hidden Markov Model. At808, charging unit guidance system110generates a charging unit status associated with the charging unit based on the sequence of charging unit states. The charging unit status is one of an in-service status and a out-of-service status. When a charging unit202is in an in-service status, the charging unit202is an operational charging unit202. When a charging unit202is in an out-of-service status, the charging unit202is non-operational charging unit202.

The charging unit guidance module418is configured to issue a request to the edge computing system150for guidance instructions to an operational charging unit202within a pre-defined distance of the autonomous vehicle100. The edge computing system150is configured to respond to the request by providing guidance instructions to a charging unit location204,206of an operational charging unit202. The ADS of the autonomous vehicle100implements one or more actions in accordance with guidance instructions to guide the autonomous vehicle100to the operational charging unit202. The edge computing system150identifies the operational charging unit202based on the charging unit location204,206and the charging unit status of the charging unit202stored at the edge computing system150.

Referring toFIG.9, an example of a state diagram associated with a charging unit state Hidden Markov Model is shown. A Hidden Markov Model is defined based on the assumption that there is a hidden state for every observation. The charging unit state Hidden Markov Model assumes that there is a hidden charging unit state for every observed charging rate in a sequence of observed charging rates.

The charging unit state Hidden Markov Model is defined based on two charging unit states CX1, CX2. The two charging unit states CX1, CX2are hidden charging unit states CX1, CX2. The two hidden charging unit states CX1, CX2are an in-service state CX1and an out-of-service state CX2. An initial state probability is assigned to each of the hidden charging unit states CX1, CX2. The initial state probability of the in-service state P(CX1) is 0.5 indicating that there is a 50% probability that the charging unit202is initially in an in-service state. The initial state probability of the out-of-service state P(CX2) is 0.5 indicating that there is a 50% probability that the charging unit202is initially in an out-of-service state.

A state transition probability matrix B [b11, b12, b21, b22] is associated with the charging unit state Hidden Markov Model. The first entry b11is the probability that if a current charging unit state is an in-service state CX1, the next charging unit state will be an in-service state CX1. The second entry b12is the probability that if the current charging unit state is an in-service state CX1, the next charging unit state will be an out-of-service state CX2. The third entry b21is the probability that if the current charging unit state is an out-of-service state CX2, the next charging state will be an in-service state CX1. The fourth entry b22is the probability that if the current charging unit state is an out-of-service state CX2, the next charging unit state will be an out-of-service state CX2. A training data set is used to train the state transition probability matrix B. In an embodiment, the training data set is a historical data set.

The probability of an observation depends on the hidden state that produced the observation. The observation is the observed charging rate. The hidden states are the charging unit states. The emission probability defines a probability of an observed charging rate occurring at a hidden charging unit state. For example, the first graph902represents an example of a continuous probability distribution of observed charging rates associated with the in-service state CX1and the second graph904represents an example of a continuous probability distribution of observed charging rates associated with the out-of-service state CX2. A training data set is used to train the emission probability. In an embodiment, the training data set is a historical data set.

The charging unit state Hidden Markov Model is defined based on the assumption that there is a hidden charging unit state for every observed charging rate. A Viterbi algorithm receives the sequence of observed charging rates and generates an optimal sequence of charging unit states based on the sequence of observed charging rates in accordance with the charging unit state Hidden Markov Model. A charging unit status associated with the charging unit based on the optimal sequence of charging unit states. The charging unit status is one of an in-service status and an out-of-service status. When a charging unit202is in an in-service status, the charging unit202is an operational charging unit202. When a charging unit202is in an out-of-service status, the charging unit202is non-operational charging unit202.

While one example of a charging unit state Hidden Markov Model based on an observed charging rates of a charging unit202has been described, alternative embodiments may include a charging unit state Hidden Markov Model based on other observed charging unit parameters associated with the charging unit202. For example, an observed sequence of charging unit statuses may be used to define a charging unit state Hidden Markov Model.

Referring toFIG.10, an example of a method1000of providing guidance instructions to an operational charging unit202using an embodiment of a charging unit guidance system110is shown. The method1000is performed by the charging unit guidance system110. The method1000may be performed by the charging unit guidance system110in combination with other components of the autonomous vehicle100and/or the edge computing system150. The method1000may be performed by hardware circuitry, firmware, software, and/or combinations thereof.

At1002, a sequence of user states associated with a user of a first autonomous vehicle100is received at a charging unit guidance system110. Each user state is one of a walking state and an at-charging-unit state. The sequence of user states is based on a sequence of observed user speeds associated with detected user position data associated with movement of the user from the first autonomous vehicle100to a charging unit202and at the charging unit202. At1004, a charging unit location204,206of the charging unit202is determined based on a correlation between the at-charging-unit states in the sequence of user states and the user position data at the charging unit guidance system110. At1006, the charging unit guidance system110uploads the charging unit location204,206associated with the charging unit202from the charging unit guidance system110to an edge computing system150, the edge computing system150being configured to provide guidance instructions to the charging unit202to a second autonomous vehicle100based at least in part on the charging unit location204,206.

The charging unit guidance system110may enable a user of an autonomous vehicle100to charge the autonomous vehicle100using an operational charging unit202without having to travel to multiple charging units202to find an operational charging unit202.

While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the disclosure in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the exemplary embodiment or exemplary embodiments. It is to be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the disclosure as set forth in the appended claims and the legal equivalents thereof