amodeus-science / amodeus

Autonomous Mobility-on-Demand Extremely Useful Simulation
GNU General Public License v2.0
46 stars 20 forks source link

Decoupling of Amodeus*Task #424

Open sebhoerl opened 4 years ago

sebhoerl commented 4 years ago

For further decoupling of Amodeus with MATSim, we should do some refactoring to remove Amodeus*Task from the Amodeus "core". I read a bit through the code, and basically these classes are mainly used to derive what state a vehicle is currently in and for retrieving additional information (e.g. checking if a vehicle is in AVStay and if so, getting the current link from the StayTask to determine whether the vehicle should be moved somewhere else (because it got the command) or is should stay (because the command has the same location)). So my feeling is that most of what happens with Amodeus*Task in the core can be put behind the RoboTaxi interface, as right now we would usually have something like:

if roboTaxi.task = AVStayTask {
   destination = roboTaxi.task.destination
   # Do something with destination
}