Dustin Carlino
7854823c28
Change the to/from permanent map edits APIs to be a little more ergonomic
2020-11-12 10:13:32 -08:00
Dustin Carlino
aa966d7533
Upgrade a bunch of dependencies
2020-11-11 12:02:53 -08:00
Dustin Carlino
f30e1e2fff
Dump the entire map to geojson
2020-11-10 13:02:00 -08:00
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
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