Commit Graph

179 Commits

Author SHA1 Message Date
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
Dustin Carlino
5e8be61e6d fix #158, build break 2020-07-07 12:45:11 -07:00
Dustin Carlino
6696263a08 fix map_editor and headless build break, for #108 2020-06-30 13:49:24 -07:00
Dustin Carlino
90b556ac1f carve out a way to modify the weekday scenario in the UI. express the 5 day repeat using this 2020-06-27 11:56:45 -07:00
Dustin Carlino
0aaf9a1487 workaround repeated scenario running out of parking 2020-04-28 10:12:08 -07:00
Dustin Carlino
0eaf33ff46 stop generating RNGs from entropy. use the prebaked seed by default. allow explicitly changing the rng, but no use for that yet 2020-04-26 11:38:32 -07:00
Dustin Carlino
6594de3000 remove a hack from multi-day trips and stumble upon the people needing
10 cars

also prebake data again
2020-04-23 12:37:21 -07:00
Dustin Carlino
ec409742e7 work around parking leak for multi-day scenarios 2020-04-15 16:36:56 -07:00
Dustin Carlino
d586a9054b rewrite the headless tool for pandemic stuff 2020-04-15 12:48:45 -07:00
Dustin Carlino
6b356bbc01 fix the contingency table filtering, make it easy to see scatter plot
diagonal, and get headless buildign again
2020-04-15 12:34:03 -07:00
Dustin Carlino
2a103d0a21 also group raw_maps in data/input 2019-12-03 12:06:49 -08:00
Dustin Carlino
808c3da141 panic early with a nice error if we cant read a binary or json file 2019-12-02 20:35:20 -08:00
Dustin Carlino
a45b393b0d woops, headless crate didnt have the fix to toggle off cpuprofiler by default 2019-10-04 11:21:55 -07:00
Dustin Carlino
fbb7d8ac96 cleaning up CmdArgs usage 2019-09-19 10:42:16 -07:00
Dustin Carlino
f18fc72265 finish structopt removal 2019-09-18 17:29:34 -07:00
Dustin Carlino
a5b73c060a make savestate_every a flag again 2019-08-16 13:34:38 -07:00
Dustin Carlino
4e83f492d8 upgrade rand, get rid of now unneeded serde1 feature, in hopes of fixing feature mismatch between deps 2019-08-15 12:14:35 -07:00
Dustin Carlino
758c5494d8 remove old unused deps 2019-08-09 13:34:40 -07:00
Dustin Carlino
e0edc4851d starting a blank scoreboard for sandbox mode. removing old defunct attempts at
score stuff first...
2019-06-13 14:06:35 -07:00
Dustin Carlino
8e949d5fa9 make --num_agents work exactly when specified 2019-05-09 10:51:07 -07:00
Dustin Carlino
a4f6a773a9 fix up time limits for headless/tests. fix a few tests now that peds
walk slowly.
2019-05-08 20:05:52 -07:00
Dustin Carlino
c25d544fe2 fixing edits_name in map paths and also supporting Windows backslashes in paths 2019-04-10 11:22:36 -07:00
Dustin Carlino
440ff358cd option to headless to 'draw' everything, flush out all bugs 2019-03-17 18:13:30 -07:00
Dustin Carlino
5ca359998c upgrade some dependencies and list data source licenses in README 2019-03-11 16:04:47 -07:00
Dustin Carlino
4ae478a7a5 smarter estimate about cars queued on last step... but disabled it :( 2019-03-05 18:12:32 -08:00
Dustin Carlino
063fb85155 amp up BLIND_RETRY to something reasonable for the remaining, difficult cases. fix a race condition where a bus blips through the Queued state. and deal with idling state causing queued followers 2019-03-05 16:57:27 -08:00
Dustin Carlino
0bcb18b4b0 handle unreachable case 2019-03-05 09:36:48 -08:00
Dustin Carlino
0c824e8d0d flag to headless to control sim size, roughly 2019-03-05 09:30:39 -08:00
Dustin Carlino
b69c01ea5f preps to swap out scheduler priority queue impl 2019-03-04 20:50:36 -08:00
Dustin Carlino
a67b595df6 making a small crate just to benchmark pathfinding 2019-03-02 10:23:12 -08:00
Dustin Carlino
214e461601 --enable_profiler in headless too 2019-03-02 09:24:11 -08:00
Dustin Carlino
50451b6120 make tests build again. cleanup sim::load 2019-02-27 13:16:28 -08:00
Dustin Carlino
11c549331e finally, the big cutover! editor and headless work. tests dont compile. 2019-02-27 11:53:45 -08:00
Dustin Carlino
76ee37c077 get rid of Tick externally 2019-02-26 14:21:57 -08:00
Dustin Carlino
09af9e6cda removing the log crate completely. remove the DisplayLogs plugin, since
it's unused and unclear how it should work going forwards
2019-02-20 11:56:54 -08:00
Dustin Carlino
6b29a2a38d fixing issues with bikes spawning close to intersections, by making the
bound be really conservative
2019-02-05 09:56:07 -08:00
Dustin Carlino
13698cdb20 small fixes... debug buildings, spawn from headless, timer for
instantiating a scenario
2019-02-04 11:56:54 -08:00
Dustin Carlino
f018158aa3 remove copyright comment from remaining files 2019-01-20 13:57:55 -08:00
Dustin Carlino
76dc85d5c8 remove unnecessarily boxed closures, and use generics instead 2019-01-17 15:22:31 -08:00
Dustin Carlino
41e487bbcc time limit on completion tests 2019-01-11 11:28:42 -08:00
Dustin Carlino
375a923a9d try removing most extern crate's 2018-12-06 11:00:13 -08:00
Dustin Carlino
f64f411093 upgrade all crates to 2018 in Cargo.toml. this requires switching to
crate:: paths everywhere. not yet fiddling with 'extern crate's
2018-12-06 10:57:31 -08:00
Dustin Carlino
4d7c1203a6 the great control layer merge 2018-11-30 13:52:50 -08:00
Dustin Carlino
99d0d27837 adjust debug logs 2018-11-18 15:03:02 -08:00
Dustin Carlino
343aeba3b6 deleted some aging code only used for tests that definitely needs overhaul anyway 2018-11-17 17:28:19 -08:00
Dustin Carlino
8a1ee5c32b slight improvements to Timer API and output 2018-10-30 15:17:04 -07:00
Dustin Carlino
a98b9c350d make other crates build again 2018-10-28 17:25:10 -07:00
Dustin Carlino
37006369af fix other crates that have Color constants 2018-10-26 15:00:04 -07:00
Dustin Carlino
def2f60a92 refactor log adaptor stuff 2018-10-21 11:32:17 -07:00
Dustin Carlino
80121df78c rename data/maps to data/raw_maps 2018-10-20 08:25:49 -07:00
Dustin Carlino
35566543f1 briefly play around with cpuprofiler and gperftools 2018-10-18 10:54:04 -07:00
Dustin Carlino
661d784b6e adjusting logging to not include debug by default 2018-10-06 12:21:12 -07:00
Dustin Carlino
190d9be972 sharing flags for specifying sim to load 2018-10-02 16:34:27 -07:00
Dustin Carlino
04acd6723b rename scenario_name, now that we have scenarios 2018-10-02 16:13:20 -07:00
Dustin Carlino
72d0294efb load named map edits, not a single one 2018-10-02 16:07:48 -07:00
Dustin Carlino
7b718b4621 bundling all map edits together 2018-10-02 15:48:10 -07:00
Dustin Carlino
4f3afa3894 very primitively tracking trip times, only showing in headless 2018-09-28 07:19:16 -07:00
Dustin Carlino
6e0f58f4c6 accept scenarios on the CLI 2018-09-27 14:53:46 -07:00
Dustin Carlino
8ffc817501 logging handlers for headless 2018-09-24 10:54:11 -07:00