For future V2G scenarios it is envisaged that aggregation services will bring together populations of electric vehicles to pool their available storage and provide a larger scale capacity that can be profitably utilised for flexibility services. In this work we consider such a service with the components and interfaces shown in Fig. 1.
The function of the key components of this service are highlighted below:
User app; a smartphone app downloaded by each participating user with the following key features:
Location tracking using Global Navigation Satellite Systems (GNSS) capabilities of the phone and communication of this data to the vehicle location component.
Ability for the user to specify their preferences of when their vehicle is likely to be available to participate in a market opportunity.
Ability for the service to present an offer to users to participate in a market opportunity at a given time.
Ability for the user to accept or decline that offer and inform the service.
Vehicle location data; the location of participating vehicles is monitored either through on-board vehicle telemetry and/or location data collected from the user app.
Energy markets interface; identification of potential market opportunities that the service may wish to participate in and the execution of trades.
Prediction engine; algorithms to predict available capacity and available vehicles by learning patterns of vehicle usage and user behaviour.
Simulation overview
The goal of the V2G service is to generate profit by providing flexibility services. This may involve provision of power to support ancillary services or energy for wholesale trading markets. The service would therefore maintain an interface with the energy markets to identify potential opportunities in which to participate and to execute any agreed trades. A common requirement for all these market opportunities is to reliably predict available capacity from the population of participating vehicles at a given time. In this work the focus is on the provision of an agreed amount of energy at an agreed future time as may be the case for trading on the wholesale energy markets for example. To align with the needs of this market, we consider the provision of energy within each hour period, which is a typical trading interval (Nord Pool Group 2019).
Input probability distributions
To help assess the available capacity for a future energy-trading market opportunity it is necessary to predict the likelihood of each vehicle being available to the service within a future hour period. We therefore define 2 input probability distributions with probabilities defined for each hour of each day of the week. These distributions are generated from 2 sources; firstly, the user’s own interpretation of vehicle availability specified in the service app and secondly actual vehicle location determined through vehicle telemetry or GNSS data from the user app.
User preferences
After signing up to the service, users download the service app to their smartphone. During initial configuration of the app it is envisaged that users will be asked to describe the likely availability of their vehicle. This input would reflect the users own understanding of when their vehicles are likely to be plugged into a suitable charging point and the routine constraints and preferences that may impact its use by the service. It is important to note that this method does not attempt to directly model user behaviour but rather model the process by which users would be asked to provide their own view of vehicle availability. Besides location, true availability may be influenced by a number of factors including the users’ immediate travel plans, the likelihood of unplanned journeys and typical available battery capacity. Users would be encouraged to reflect these factors in the preferences that they specify. In this way, the service capitalises on the user’s own knowledge to help bootstrap initial performance.
In this work we consider an app that allows the user to specify the likely availability of their vehicle for each hour of a typical weekday or weekend. This could be achieved in a number of ways. For example, a slider could be presented to allow users to specify a continuous probability for each hourly period. However, in this work we consider an app in which these likelihoods are specified as either low, medium or high as shown in Fig. 2(a). These are then translated to discrete probabilities 0.2, 0.65 and 0.85 respectively for use in the service as shown in Fig. 2(b). This has the advantages of being a simpler interface for a user and allowing clear demonstration of the behaviour of the learning algorithms in the simulations that follow. The learning approach adopted however, is applicable to both scenarios and other methods of capturing probabilities of vehicle availability from the user.
Vehicle locations
The location of each participating vehicle is tracked by the service and location data made available either via the user app or via telemetry from a device installed in the vehicles. In a live scenario, it is envisaged that the service would access such data from vehicle manufacturers or fleet operators (Trakm8 Limited n.d.). Where smartphone data is utilised, it would be necessary to identify vehicle movement as opposed to the independent movement of users. This could be achieved in several ways. Some existing services such as Google Maps infer travel type (walking, car, train etc.) through GNSS-derived speed and on-board gyroscopic data (Reddy et al. 2010). This approach could be achieved without the need for additional hardware but is likely to suffer from accuracy issues and the inability to distinguish which vehicle is being used for a given journey. Alternatively, the user’s vehicle could be uniquely identified using a local wireless signal such as a Bluetooth Beacon placed within the vehicle as in (Naylor et al. 2019) or an existing Bluetooth system (radio etc.) within the vehicle. Any journeys made while this signal is detected by the user app could be assumed to be made with the user’s vehicle.
In this work, we are principally concerned with proximity of a vehicle to a V2G charge point and therefore stationary vehicle location must be cross-referenced with known locations of compatible charge points to allow a distribution to be generated giving the probability of the vehicle being near a suitable charging point for each period of the day. To demonstrate the creation of such a probability distribution, data was utilised from a fleet of 48 vehicles operated by the University of Nottingham and tracked using a commercial vehicle tracking service (Trakm8 Limited n.d.). Each time a vehicle made a journey, a record was received providing the time and GPS co-ordinates at that start and end of that journey. The vehicle was assumed to be stationary for any period between journeys. The haversine formula, shown in Eq. 1, was used to calculate the great-circle distance, d, between the location at the end of each journey, i.e. where the vehicle was stopped, and the locations of each of 6 defined charge points on the University campuses.
Equation 1 Haversine formula to calculate great-circle distance, d, of a parked vehicle from a charge point where lat1, lng1 and lat2, lng2 are the latitude and longitudes of the 2 locations and r is the radius of the earth (6371 km)
$$ d=2.r.\arcsin \left(\sqrt{\sin^2\left(\frac{lat_2-{lat}_1}{2}\right)+\cos \left({lat}_1\right).\cos \left({lat}_2\right).{\sin}^2\left(\frac{lng_2-{lng}_1}{2}\right)}\right) $$
If the shortest distance fell within 100 m, the vehicle was considered to be in proximity to a compatible charge point and therefore its battery could potentially be utilised for an energy-trading event. Each day was divided into hour periods and a vehicle considered to be available to the service if it was stationary and close to a charge point for the whole of that hour. A nightly web service was developed to analyse trip data for the previous day and update a cumulative moving average for the availability of each vehicle for each hour of the day. Figure 3(a) shows example probability distributions following the analysis of 34 weeks of data for a weekday for 2 sample vehicles within the fleet.
The figure reveals 2 distinct patterns of usage. Both vehicles are typically parked in the proximity of a charge point overnight. However, vehicle A has a much lower probability of availability during the day in contrast to vehicle B which retains a relatively high probability. Generalised and simplified distributions based on these profiles were generated as shown in Fig. 3(b) and were used in this work to facilitate clear demonstration of the behaviour of the learning algorithms. It should be noted however that the approach is equally valid for the continuous (and continually updated) distributions derived from real vehicle location data.
User simulation
Once a potential market opportunity has been identified and the prediction engine has suggested a set of vehicles to participate in that market event, offers must be made to the users to determine whether they wish to participate. In a live service, these offers would be delivered to the users via the app who are able to accept or decline. Their response provides a key learning input for the service validating the accuracy of the predicted response for this user. In this work we simulate this decision-making process by assuming that they are driven by a combination of user specified preferences and vehicle location data. In many cases the former may be a good predictor of actual user decisions however in cases where the usage pattern of the vehicle differs from the users originally defined estimates, location data may more strongly influence their decision. The probability of user n accepting an offer, P (An), and the result of that offer, An, is defined as in Eq. 2:
Equation 2 Probability of user n accepting an offer (a) and offer result (c) given a uniformly distributed random number (b)
$$ (a)\kern0.5em P\left({A}_n\right)=\frac{\left({W}_{pn}{P}_n+{W}_{ln}{L}_n\right)}{\left({W}_{pn}+{W}_{ln}\right)} $$
$$ (b)\kern0.5em R\sim U\left(\left[0,1\right]\right) $$
$$ (c)\kern0.5em \left(R\le P\left({A}_n\right)\to {A}_n=1\right)\bigwedge \left(R>P\left({A}_n\right)\to {A}_n=0\right) $$
Where Pn and Ln are the probabilities of vehicle availability at the time of the market opportunity as defined in the user preferences and vehicle location probability distributions respectively. Wpn and Wln are configurable weightings specified as real numbers ranging from 0 to 1. The relative difference between the 2 weightings thus defines the contribution of each probability to the overall probability.
The user decision is thus simulated as follows; P (An) is calculated for the hour of the proposed market opportunity, a uniformly random number is generated (R) falling between 0 and 1, if R < = P (An) the offer is deemed to be accepted otherwise the offer is deemed to be rejected. This method allows changes in the driving factors behind a user’s decision to be simulated through modification of the weights Wpn and Wln. The impact of such changes on predicted capacity and the corresponding response of the learning algorithms can then be assessed in the simulations. The key aim of these simulated decisions is to provide a training input to the learning models with known drivers so as to allow adaptation to this training stimulus to be demonstrated. In a live system, a training stimulus would be received in the same way but the drivers of that user decision would of course be much more multifaceted and nuanced.
Several other simplifying assumptions are made in this calculation. Firstly, it is assumed that the user responds immediately to the offer and therefore if refused another offer can be made immediately to other potential users. In a real system, offers would likely need to be made for a time window such that other users could be targeted if a response hadn’t been received within that window. Secondly, it is assumed that offers need to be accepted for every market event. In reality, it will likely be the case that users would be allowed to specify times that their vehicles can be used if available without explicitly accepting individual offers. Thirdly, a uniform offer is made to all users i.e. all users are offered the same financial incentive for providing the same capacity. It is likely that in a real service, different offers would be made to different users depending on a number of factors including battery size, available capacity and propensity to accept an offer.
Once an offer has been accepted there is no guarantee that the vehicle will actually be available to the service for a number of reasons. For example, the user may change their plans resulting in the vehicle being inaccessible, the vehicle may not have enough available capacity, or the user may disconnect during an event due to a pressing need. These eventualities are represented in the simulation through a single specifiable reliability parameter for each user, P (Dn), which is a real number ranging from 0 to 1. A value of 1 would thus represent a user who always follows through on an offer making all the offered capacity available and a value of 0 a user who never does so.
Equation 3 Actual capacity available from user n (c) given the probability of delivering the capacity (a) and the uniformly randomly generated number (b)
$$ (a)\kern0.5em \left\{\ P\left({D}_n\right)\in \mathbb{R}\ |\ 0\le P\left({D}_n\right)\le 1\ \right\} $$
$$ (b)\kern0.5em R\sim U\left(\left[0,1\right]\right) $$
$$ (c)\kern0.5em \left(R\le P\left({D}_n\right)\to {D}_n={C}_{veh}\right)\bigwedge \left(R>P\left({D}_n\right)\to {D}_n=0\right) $$
The final capacity contributed by user n (Dn) is thus simulated as in Eq. 3; for each user that has accepted an offer a uniformly random number (R) between 0 and 1 is generated, if R < = P (Dn) the offered capacity (Cveh) is deemed to have been made available otherwise no capacity is deemed to have been made available.
There are again several simplifying assumptions in this calculation. Firstly, it is assumed that the service knows immediately whether a user has followed through on an offer and therefore other users can immediately be targeted where this in not the case. In a real system this would not be known until the time of the market event and thus a larger buffer of users would likely need to be maintained. Secondly, a uniform reliability is assigned to the user independently of the specific day and time, which may not be the case in real-life scenarios. Thirdly, it is assumed that no capacity is available if a user does not follow through on an offer. However, there is a possibility that the vehicle may be disconnected after contributing some but not all the offered capacity. While these points are important to consider in a live service, they do not materially impact the operation of the learning algorithms that are the focus of this paper.
To alleviate the need to specify the probability distributions, decision making and reliability parameters for each simulated user individually, user types were defined to group users that share the same characteristics. In this paper, 2 such types (type A and type B) were used based on the profiles for the 2 sample fleet vehicles (vehicle A and vehicle B, respectively) shown in Fig. 3. For non-fleet users type A may correspond to day workers who have a charge point at home but tend to be away from compatible charge points during the day. Type B may correspond to those who have a more uniform pattern throughout the day and tend to remain in proximity of their home charge point such as home workers or retired people. The simplified default input probability distributions for both types were used in the simulations as shown in Fig. 3(b). Note that a single representative day was used in the simulations and therefore changes due to weekends for example are not considered. To demonstrate the impact of changes to the distributions, the “inverse” of a type A profile was also used for some simulations in which all low probability hours became high probability and vice versa. This had the result of there being a low probability of the vehicle being available overnight and a high probability during the day.