Charging stations should be in different destinations in the road network. Vehicles should require energy to move, and usage should depend on amount of load carried.
In Vehicle, add a parameter max_energy, and an attribute energy_level which is initialized to some random number below max_energy. Update create_plan, so that it also plans to find a charger before running out of energy.
In RoadNetworkGrid, add a parameter charging_station_density, and use it to add charging stations similar to how destinations are handled.
In the different capabilities, make energy level a precondition where needed, and decrease energy level when moving.
Add a charging capability, with a precondition to be in a charging station. Possibly also add a parameter indicating how fast charging is.
In RoadNetworkGridView, add graphics to differentiate charging stations from other destinations. This could simply be a different color of the dot in the destination, or possibly a graphic symbol made of two triangles (polygons) slightly overlapping.
Charging stations should be in different destinations in the road network. Vehicles should require energy to move, and usage should depend on amount of load carried.