matsim-eth / av Goto Github PK
View Code? Open in Web Editor NEWAutonomous vehicles for MATSim
Autonomous vehicles for MATSim
Nice, but 4679778 is not ideal setup. It probably should already operate on a filtered Network
, which is provided further up the stream through injection (per Operator?)
Provides a version that is compatible with MATSim master
Right now all the operators, dispatchers, generators, etc. depend heavily on injection and the right entry points. We need:
Currently it uses the standard car router. This is not always true, and especially it should use a specific network. Check what is passed to AVRoutingModule.
You store the waiting time separately (unlike how waiting for pt is calculated in core) so I don't think you should be subtracting the marginal disutility of travel. What do you think?
Krishna
The schedule-based dispatcher (for private AVs and households) is static right now: At the beginning of the day the TripSchedule
s are transformed into DVRP vehicle schedules. However, since the TripSchedule
objects are available now, it would make much more sense to do all the routing adaptively depending on the actual arrival and departure times.
Additionally, the different operating modes (wait at dropoff location / wait at pickup location / wait at home) can be selected more dynamically. If there, for instance, is not even enough time to go to the next pickup location directly from the last dropoff location, is does not make sense to drive home in between to wait there.
Additional operating mode: Roaming. This means, that the AV will not stay at any location, but roam around the pickup / dropoff location. All of this should be configurable through the schedule (depending on the availability of parking space) and optimized by the scheduled dispatcher.
One could even introduce utility functions in the dispatcher, so it can decide adaptively what to do. If roaming would be cheaper than staying at dropoff / pickup (due to parking costs) or than going home (because of the distance), maybe roaming is the best option. (And in case it costs too much of money, the agent would not choose the AV mode anyway)
The whole code should be tested much more thoroughly, the only existing integration test right now should use a simpler scenario instead of Sioux Falls, which takes a long time to run.
Eventually, remove this method and provide means of modifying the list of available vehicles from outside, e.g. a AvailableVehiclesProvider or an VehicleProviderByState, etc ...
Rename
The setup is somewhat strange that there is the "Generator", which calls the Dispatcher with that "addVehicle" Method. The other way would make more sense: The dispatcher knows his number of vehicles and may "sample" new vehicles from a generator. This way he may also adapt the fleet size dynamically, i.e. he can discard some vehicles in one iteration and sample new ones in the next iteration.
The whole configuration is a mess. Actually, it would be much better if everything would be integrated in the main config.xml for MATSim. But then, the config format would need to be changed (or rather extended) to allow for that.
A new extension for custom configuration is on the way!
All the AV things (dispatcher, vehicles, ...) are in the wrong scope. They are expected to be regenerated for every iteration, however, right now they live in the Controller scope.
The problem is then as follows:
Hi Guys,
I hvae recently tried the RunRobotaxiExample.java, the first time it runs fine.
Then I replaced the example network.gz and population file with my own, and the IDE gives NullPointerException in taxi modules which is another extension from MATSim.
Is there some other files that I should fix?
Best Regards,
Mike
The plan is to move the actual dispacher implementations in a different repository and leave here only the structural code and maybe one simple dispatcher (e.g. FIFO/SingleHeuristic) that can be used out-of-the-box for testing. To that end the intfrastructure should probably not be tested in the Unit Tests, but the unit tests should define own dispatchers that have a clear, simple and straightforward setup.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.