Coder Social home page Coder Social logo

bauhausluftfahrt / matsim-uam Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 28.0 127.09 MB

Extension for MATSim to allow for the inclusion of aerial passenger-carrying vehicles, i.e. a station- and network-bound transport mode that requires station access and egress trips with conventional ground-based modes.

Home Page: https://bauhausluftfahrt.github.io/MATSim-UAM/

License: GNU General Public License v3.0

Java 100.00%
agent-based matsim operational-research simulation urban-air-mobility

matsim-uam's Issues

UAMLinkSpeedCalculator unused since update to MATSim 12

It seems that UAM travel speeds are now based solely on link's freespeeds, see:

bind(TravelTime.class).annotatedWith(Names.named(UAMConstants.uam)).toInstance(new FreeSpeedTravelTime());

https://github.com/BauhausLuftfahrt/MATSim-UAM/blob/master/src/main/java/net/bhl/matsim/uam/qsim/UAMSpeedModule.java and https://github.com/BauhausLuftfahrt/MATSim-UAM/blob/master/src/main/java/net/bhl/matsim/uam/qsim/UAMLinkSpeedCalculator.java are unsused during simulation, leading to UAM speeds being equal link freespeed.

Would you propose creating a new TravelTime implementation for UAM that does the job or do you have other ideas?

Add UAM vehicle energy capacities

UAM vehicles should have limited range based on their Energy Levels which deplete over time flying and recharge during non-flying time.

Problems running RunUAMScenario on provided examples

Hello UAM team,

I wanted to check the provided examples for future use, luckily after the merges yesterday I was able to create the UAM files with the RunCreateUAMRoutedScenario and the config files from the "uam-scenario-creation" folder, thanks for the update! I wanted to use the created files and test them with the "RunMainScenario". Unfortunately, I got some errors during the createControler().run() in

Set<String> linkModes = new HashSet<>(hubAjaccio.getAllowedModes());

Looked to me like some leftover from previous testing. Therefore i commented it out. Without it, I got some errors from the station and travel links. The logs can be found in the attachment. Could you maybe have a look at the example scenario or have a look at what I'm missing to make the example scenario work? Thanks a lot!

Cheers
Tobias

logfileWarningsErrors.log
logfile.log

Out of town travelers need to have different mode alternatives

Currently tourists have access to all the modes, but they should not have an access to a private car or a bike mode. So we would need to have an attribute telling us that these people are tourists in order properly apply the mode choice model for them.

Parameters used in the simulation are not used for mode choice models

The parameters that were formerly in the CustomModeChoiceParameters class: preFlightTimeUAM_Sec, postFlightTimeUAM_sec, turnAroundParameter_sec, deboarding_sec and boarding_sec are being used in the simulation but not in the mode choice when calculating travel times. These parameters are now being taken from UAM Vehicles and UAM Stations.

Avoid multiple nodes on the same coordinates to avoid zero-length links

Each UAM station consists of multiple nodes and links (street --> ground access node --> flight access node --> flight level link), without z coordinates, they have the same x and y coordinates, which causes zero-length calculations even though, the link length (within the network file) is set to be >0.

RunCreateBeelineScenario / ConfigAddUAMParameters Function doesn't work since Upgrade to MATSim ver12

Hey,
I am trying to create a scenario with UAM from an existing MATSim Scenario, so I wanted to Run the RunCreateBeelineScenario method within the UAM Package. It seems to me, that the ConfigAddUAMParameters method which is called is not updated to go with the newest updates in the UAMConfiggroup because i get the Error that ie. the parameter inputUAMFile is not supported anymore. Are there any Works done or planned on that?
Greetings
Tobias

Upgrade MATSim to 11.0

Let's see whether we can upgrade our implementations to use a newer MATSim version like 11.0

Dynamic search radius issue

It seems to me that the dynamic search radius option is not used properly. The code here:

radius *= CoordUtils.calcEuclideanDistance(fromFacility.getCoord(), toFacility.getCoord());

would make the search radius considerably large. Imagine a situation where the original search radius is 5000 meters and the Euclidian distance of the trip is just 100 meters. This would turn into a 500 km search radius.

I am nost sure what was even meant here to be able to fix it. At a minimum I would put the default of the:

private boolean useDynamicSearchRadius = true;

to false

Scoring, iterations and waiting time Munich scenario

Running the uam-extension for Munich with the demand generated by the model MITO (msmobility/mito), with the UAMRoutingStrategy.PREDEFINED, which already chooses by itself access/egress stations and modes.

When I set up the number of MATSim iterations to 50 I found the following results (only UAM demand is simulated):

Average handling time by iteration (handling time includes a fixe pre-processing, boarding and post-processing plus a demand-dependent component):
image

Scoring:
image

As seen, the plan scores get worse after every iteration. The routes get longer as well. The final iteration shows too high waiting times and too long routes. The question is what is MATSim replanning at each iteration.

Any explanation or quick answer to this? Do I simply need more iterations? And why not use the first iteration directly?

Attached the output config file as well.
mito_assignment.output_config.zip

Thanks!

UAM Strategies for routing are being called only once in the beginning of the simulations

  • UAM routing strategies are being called only once at the beginning of the simulations.

  • This is happening because the singleton class UAMRoutes is not being cleared in the end of iterations;

  • The routing strategy is selected in the calcRoute method in the OptimizedUAMIntermodalRoutingModule ;

  • It only makes sense to clear the uamRoutes data and use the routing strategies in every iteration if the departureTimes are changing through iterations (which is not the current case) or the strategies start to use previous information from the last iteration or current selected plans, otherwise it is just more computational time for no changes in the routes.

  • The computational time is expected to have a considerable increase when using routing strategies in every iteration.

  • This has already been done in the past and can be checked in this commit.

  • A switch to choose whether the simulation is going to perform route strategy calculations in every iteration is an idea.

Reworking UAM Routing

We need to look into optimizing the UAM router.

Since we will need to route in in MNL we can keep that route and use it in the router later on in order to avoid doing everything twice.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.