TNC Vehicle#
TNC vehicle agents are similar to other vehicle-types in the POLARIS simulation in that they traverse a given trajectory, follow traffic flow fundamental diagram within a link, and node model rules across a node, to influence and be influenced by the congestible network.
In addition to moving on the network, additional functionality exists to allow the agent to behave like TNC vehicles in the real world, and is summarized broadly in the following sub-sections. Typically, the vehicle can only be in one of the following status:
Idling in place
Picking up a request
Dropping off a request
Repositioning to a location
Moving to charge at a charging station
Charging at a charging station
Being cleaned or serviced at a maintenance station
Moving toward a parking location
All movements throughout the simulation, and statistics at the individual movement level is stored in the TNC_Trip
table of the Demand
database in the output.
Handling Assigned Requests#
Requests that are generated upstream flow through to the operator. The assignment strategy identifies the best request-vehicle pair, if one exists, and assigns the request to the vehicle. Once the request is assigned, the TNC vehicle handles the remainder of the request (from pickup, waiting, moving to destination, and dropoff).
Each vehicle stores a sorted list of tasks to be performed. A pickup and a dropoff operation is added to this list for every request assigned to the vehicle. When at least one request is assigned, each task in the sorted list involves the vehicle moving between its location to either the pickup point or the dropoff point of the next request in the list.
The agent-based router is used to identify the trajectory to be followed, and at the end of each trip, the trajectory, trip distance, travel time, and eVMT, are recorded. After serving a request at the destination, the vehicle may receive a new set of tasks and repeat the same process. When pooling is not allowed by the operator and vehicle, only one request (or a pair of tasks) is executed at a time to speed up the assignment process, which only uses available vehicles (i.e., those that are idle). When pooling is an option, the sorted list of tasks include a combination of pickups and dropoffs depending on the spatial proximity from the vehicle’s location (when requests were assigned). Throughout this process, data on the vehicle’s movements and the request’s experience are stored and later stored in the database.
If there is no request assigned, the vehicle checks the operational policy in place to make decisions such as parking, charging, repostioning, undergoing maintenance, or staying idle in place.
Time Needed During Pickup & Dropoff#
Each request requires a variable amount of time to finish pickup & dropoff activities. This varies by request delivery type, and more specifically can be made to vary across person-agents. Variables to suggest this added time to pickup and dropoff are in place, and a fully customizable solution can be incorporated based on need.
Managing Wait at Pickup Location#
In some instances, based on assignment planning, the vehicle may arrive at the request pickup location early. If the request is not ready (such as person agents neeeding to walk to the pickup location or the meal/grocery not ready), the vehicle waits at this pickup location until it can proceed. This wait time at locations for requests is also available through the ResultKPIs
class in polaris-studio
.
Heading to Charge & Charging at a Station#
One of the decisions when existing requests have been served is to charge the vehicle (if battery-powered). Charging strategy algorithms followed by the operator provide decisions on whether to or not to charge depending on the battery state. An example set of decisions (simplified) are shown below, where decisison are taken based on idling and battery state of charge.
If need to charge is confirmed, the vehicle identifies the charging station based on criteria like cost, distance, and ability to get requests near the charging location (all strategy-specific and customizable). The agent-based router is used to find the route to the charging station, and the vehicle updates its status and moves on the network. While charging or moving to charge, the vehicle is not allowed to be assigned any new requests until it meets certain criteria (such as the updated battery state of charge after charging for some time). Just like other EVs that charge at the charging station, details on the charging event are recorded to the database, and the trip made to go charge by the vehicle is also stored.
Cleaning & Maintenance#
Maintenance & cleaning decisions are also made using customizable algorithms. These typically depend on the number of requests served since last cleaning or maintenance, and time taken for each of these events, on average, can be set as an input.
Just like going to charge, the vehicle finds the nearest depot where it can be cleaned or serviced, and the vehicle proceeds to move toward that location based on a route query. Unlike charging, vehicles trying to be cleaned are allowed to be interrupted for new request assignment, unless a threshold time or planned reservation time has been passed.
Repostioning to Nearby Zones#
Repositioning algorithms are invoked at regular pre-defined intervals to evaluate whether the operator prefers to repoition the fleet closer to a variety of objectives (typically demand for an autonomous fleet, but can also be joint objectives such as charging and repostioning).
All vehicles not currently serving a request or charging, can be considered for repostioning. Based on an optimization/algorithmic decision, vehicles are dispatched to go to locations across the region. These trip trajectories, time, and vehicle states are also recorded.
Parking or Idling in Place#
When there is no request to serve, the operators operational policy may suggest to park at a nearby parking location or idle in place. Depending on the decision, the vehicle updates its status to idle, or head to a parking location and then idle.
Similar to charging, a parking event is recorded for the parking trip and the parking choice is based on factors such as area (in downtown or the suburbs), price, and distance to parking location. Each parking-related strategy can provide guidelines based on the vehicles current location after having served a request.