Dustin Carlino
cda586dfc9
Cleanup by moving some methods to belong to MapName. #326
2020-11-05 14:18:13 -08:00
Dustin Carlino
4f2cda8d53
Reorganize data/system/ files by city! The only interesting change is
...
abstutil::path_all_maps becoming abstutil::list_all_maps. #326
2020-11-05 14:05:48 -08:00
Dustin Carlino
e17273dc31
Expose distance crossed per agent in the API.
2020-11-05 12:19:58 -08:00
Dustin Carlino
67530bec07
Future-proof file organization by changing map_name from a string to a
...
struct. Whatever choices we make next about naming cities hierarchially
or not can be managed in just one place. #326
This is a pretty huge change, but the compiler gives reasonable
confidence it's correct. More bugs are likely to crop up in the next
step, when filenames start being namespaced by the city too.
2020-11-04 17:26:32 -08:00
Dustin Carlino
1707b6fe37
Consolidate some PolyLine geometry code, and refactor some geom->geojson
...
mappings
2020-10-29 12:23:39 -07:00
Dustin Carlino
f187cf4bd8
Add an API call to export intersection geometry to geojson, for experimental streetmix3d integration.
...
To get an example:
> cargo run --bin headless -- --port=1234
> curl http://localhost:1234/map/get-intersection-geometry?id=291
2020-10-29 12:00:34 -07:00
Dustin Carlino
3ed7e73aa8
Use a u64 RNG seed, not a u8
2020-10-29 09:25:07 -07:00
Dustin Carlino
a579cb4f74
Add a sanity check to catch live map edit bugs faster. Deleted turns
...
aren't getting cleaned up properly.
Also fix broken headless build, woops.
2020-10-21 10:23:56 -07:00
Dustin Carlino
c435d3fce2
Consolidate two scenario modifiers, allowing all walking trips to be cancelled, for #368
2020-10-19 18:03:17 -05:00
Dustin Carlino
422882c03b
Ditch cpuprofiler in favor of cargo flamegraph. Add a tool that just
...
runs a scenario headlessly, since that's easier than sending a few curl
commands to the API. #368
2020-10-15 17:12:38 -05:00
Dustin Carlino
b3525f95a2
Enable profiling in the headless server. #368
...
(Although actually, I'm liking cargo flamegraph better than cpuprofiler.
Might rip out the support for cpuprofiler.)
2020-10-15 16:21:57 -05:00
Dustin Carlino
ab270ce9f5
Some versions of python apparently need to explicitly be told utf8
...
encoding to read a .json
2020-10-14 11:28:02 -05:00
Dustin Carlino
cd1d790659
And fix the headless example scripts to not pass an argument to headless, woops
2020-10-14 10:49:24 -05:00
Dustin Carlino
eb7ee6d57d
Fix a few build warnings and breaks, and document the headless server a
...
bit more
2020-10-14 10:46:18 -05:00
Dustin Carlino
2c3fd09378
Add an example Python tool that works with the JSON map export. Support
...
specifying trip endpoints by building or intersection when importing
traffic demand data.
2020-10-07 15:37:59 -07:00
Dustin Carlino
d844646cb9
Implement per-road caps for #325 , necessitating a tiny map edits version
...
bump.
2020-10-06 14:17:55 -07:00
Dustin Carlino
6fd8422cf5
Woops, fix headless build break
2020-10-06 13:05:23 -07:00
Dustin Carlino
f258c50595
Organize import blocks using https://github.com/dabreegster/organize_rust_imports
2020-10-05 20:29:22 -07:00
Dustin Carlino
9ccbf40dba
Merge the concept of cancelled and aborted trips, in preparation for storing the reason for cancellation, for #312
2020-10-03 10:41:53 -07:00
Dustin Carlino
cfa203a4d3
Add an API call to dump all traffic signals' current state
2020-10-02 21:03:29 -07:00
Dustin Carlino
f951b296f7
Cap all roads in the Python experiment. Right now, this'll unintentionally merge adjacent zones with the same cap into zones.
2020-10-01 15:13:18 -07:00
Dustin Carlino
4e4e11b404
A few documentation adjustments after
...
5de05a6fe3
2020-09-29 09:21:36 -07:00
Dustin Carlino
2c0f3a13f7
Distinguish capped/uncapped trips in experiment results. #325
2020-09-24 18:08:05 -07:00
Dustin Carlino
0d8ab143f9
Slightly better error handling in the API
2020-09-24 17:26:46 -07:00
Dustin Carlino
e1b079900a
Don't touch SimFlags in headless at all
2020-09-24 17:10:07 -07:00
Dustin Carlino
da1921ae74
Do a few rounds of capping in the experiment. #325
2020-09-24 13:24:31 -07:00
Dustin Carlino
c9fbf67989
Rearrange headless API to explicitly apply edits at the same time as
...
specifying the scenario to run. #325
2020-09-24 13:14:49 -07:00
Dustin Carlino
07a8a21fec
Cap the busiest road. Not actually working yet, because all the commands
...
to manage edits are stomping on each other. #325
2020-09-24 12:08:46 -07:00
Dustin Carlino
47061fcb6c
Expose road throughput through the API. Start a second Python
...
experiment, refactor a bit. #325
2020-09-24 11:23:19 -07:00
Dustin Carlino
597ef473f2
Upgrade most dependencies
2020-09-24 09:36:26 -07:00
Dustin Carlino
566f6a9e13
Port the Go experiment to Python
2020-09-23 15:00:38 -07:00
Dustin Carlino
fb377d3326
Fix headless --edits; was forgetting to fully apply the edits
2020-09-23 08:46:32 -07:00
Dustin Carlino
e1de43b75c
Add a /map/set-edits API call
2020-09-21 10:18:02 -07:00
Dustin Carlino
5dd761ceb9
Add an --edits flag to headless
2020-09-18 10:43:58 -07:00
Dustin Carlino
9e38eedaaf
Plumb sim flags through headless properly. Make the Go experiment print
...
comparison results ASAP.
2020-09-15 13:47:04 -07:00
Dustin Carlino
82ea851a4e
Make the Go API example track the same people through different cancellation runs, evaluating how much time the 'survivors' are gaining or losing
2020-09-14 18:56:52 -07:00
Dustin Carlino
79d3db83ce
Measure runtime and detect gridlock in go example.
...
Findings: 12 hours of south seattle works fine with 60% trips cancelled,
but melts down at 50%
2020-09-14 14:46:56 -07:00
Dustin Carlino
122bc82867
Add flags to Go example, use it to figure out if downtown can run with lots of people cancelled
2020-09-14 12:37:21 -07:00
Dustin Carlino
2d24bb4a36
Add an API example in Go to measure trip times with different
...
percentages of people cancelled.
2020-09-10 11:44:11 -07:00
Dustin Carlino
8cc61aafc8
Add a method to the API to modify a scenario. No callers/tests yet.
2020-09-09 19:52:15 -07:00
Dustin Carlino
5be4c2ca84
Add an API to add a new trip in the middle of the simulation. Fixes #313
...
[rebuild]
2020-09-06 13:53:31 -07:00
Dustin Carlino
74aca40c0c
Mechanicallyish rename TurnGroup -> Movement for #197 , as decided in ( #306 )
...
https://github.com/dabreegster/abstreet/pull/302#discussion_r479571931
2020-08-29 15:18:54 -07:00
Dustin Carlino
a36ef99c06
Rename Phase -> Stage, to be more in line with standard traffic signal ( #302 )
...
controller terminology. Part of #197 .
Holding off on touching PhaseType and all of the serialized
seattle_traffic_signals format, since this will all change in Kyle's PR
anyway.
2020-08-28 17:19:23 -07:00
Dustin Carlino
0eb1309ace
Add an API to get back all of the map edits so far
2020-08-28 14:09:44 -07:00
Dustin Carlino
83a5df7886
Add an API for the Xi'an group to get agent positions
2020-08-26 09:22:33 -07:00
Dustin Carlino
11832aa606
Record throughput through a traffic signal by direction, expose through
...
the API (#245 ), and beef up the Python example.
Impact to prebaked file size is tiny -- for lakeslice, the original
intersection_thruput is 2MB and the new traffic_signal_thruput is 435KB.
[rebuild]
2020-08-22 09:13:16 -07:00
Dustin Carlino
2783c3e180
Expose the granular delays through an API for reinforcement learning ( #245 ).
2020-08-20 16:21:52 -07:00
Dustin Carlino
02569b1642
Get an end-to-end sample experiment working through the API and Python client
2020-08-18 12:52:38 -07:00
Dustin Carlino
5c337e2e8e
Add some methods to the headless API for manipulating traffic signals, and start a Python client example. Everything still WIP.
2020-08-18 11:31:20 -07:00
Dustin Carlino
8ce2568280
turn the headless runner into a demo of a JSON API, for #245 ( #268 )
...
turn the headless runner into a demo of a JSON API, for #245
2020-08-11 16:44:19 -07:00