Closed colinsheppard closed 7 years ago
Note that households are defined as a part of MATSim. It would be good to stay consistent with the MATSim houeshold type, but feel free to extend as needed (in the same way we extend the MATSim person to a person agent, which isn't through actually extending a class, but rather we maintain Person Ids and let MATSim load the plans data which generates the population which is passed to AgentSim, let's do the same for households.
id vehicleTypeName vehicleClassName electricEnergyConsumptionModelClassname petroleumEnergyConsumptionModelClassname batteryCapacityInKWh maxDischargingPowerInKW maxLevel2ChargingPowerInKW maxLevel3ChargingPowerInKW gasolineFuelConsumptionRateInJoulesPerMeter compatiblePlugTypesAsSpaceSeparatedText fuelEconomyInKwhPerMile equivalentTestWeight targetCoefA targetCoefB targetCoefC
I wonder what does compatiblePlugTypesAsSpaceSeparatedText
field mean ?
You can ignore that column as well as the "targetCoef" columns and equivalentTestWeight.
See updated UML for resource managers, vehicle managers, and the messages we want them to send to each other... some more design work needs to happen but this is getting closer:
ef01a65f58fa4a9357cd9492106f1d6e3956436b
It's been decided to use MATSim vehicles.xm and household.xmll as base for BeamVehicle data.
Thanks for the first PR.
As a next step, please refactor VehicleLoadExample into VehicleLoader and call from BeamSim during initialization.
Instead of just passing matSimHousehold to the HouseholdActor, please associate the appropriate PersonAgent ActorRefs (these are currently created in BeamSim.resetPop) in the same way you are doing for the BeamVehicleAgents.
Finally, once you've done the above, please think about how to define our ride hailing companies. You might want to take a similar approach and use MATSim taxis classes as the basis, see:
https://github.com/matsim-org/matsim/tree/master/contribs/taxi/src/main/java/org/matsim/contrib/taxi
Develop an input file format. For now, let's keep it simple and specify as 2 CSV files, vehicles.csv and vehicle-relations.csv. The vehicles would cover basic properties of each vehicle and the vehicle-relations.csv would assign vehicles to their owners.
Vehicles can only be owned by one VehicleManager, which is an abstract trait inherited by households and fleet managers (which are also BeamAgents). These classes need to be scaffolded as well.