Commit Graph

654 Commits

Author SHA1 Message Date
Dustin Carlino
ce340f5668 more frequent status updates, based on real time passing, not sim time 2019-03-05 17:10:27 -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
84d24da73d decent retries for intersections 2019-03-05 15:32:36 -08:00
Dustin Carlino
2a7da98a09 give some control of retries to intersections 2019-03-05 14:32:33 -08:00
Dustin Carlino
1d0dca77b8 woops, was still advancing time in 0.1s chunks 2019-03-05 14:02:39 -08:00
Dustin Carlino
bc9a9aa360 histogram of how far events are in the future 2019-03-05 13:43:49 -08:00
Dustin Carlino
3567f2451f count active agents better 2019-03-05 10:08:06 -08:00
Dustin Carlino
194d3b3b57 keep simple state when roaming for parking 2019-03-05 10:00:05 -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
f866c99758 add some basic stats for how many events go through, how many are EPSILON in the future 2019-03-05 09:17:36 -08:00
Dustin Carlino
3047c67e2b modest speedup using binary search 2019-03-04 21:08:45 -08:00
Dustin Carlino
b69c01ea5f preps to swap out scheduler priority queue impl 2019-03-04 20:50:36 -08:00
Dustin Carlino
88ce753243 making one PriorityQueue for all of sim, doing dispatch 2019-03-04 14:56:38 -08:00
Dustin Carlino
434a4aa019 cutover driving sim to events! 2019-03-04 14:11:27 -08:00
Dustin Carlino
b58a4097b5 changing PriorityQueue to emit one item at a time 2019-03-04 13:12:38 -08:00
Dustin Carlino
6f0dffdc75 move all driving sim to per-car updates, by calculating distances only
when needed
2019-03-04 13:04:23 -08:00
Dustin Carlino
0cfbc2f7da move the code to advance Queued head cars to next turn/lane into the
main per-car loop
2019-03-04 12:15:16 -08:00
Dustin Carlino
8e7cc2c11e delete peds inline 2019-03-04 11:03:15 -08:00
Dustin Carlino
b52e7bd991 lift Idling handler to the loop that's trivially event-based 2019-03-04 10:47:20 -08:00
Dustin Carlino
385a9044db store requests to intersections, as a prep for notifying them when to retry 2019-03-03 20:01:38 -08:00
Dustin Carlino
d8ad1675dc handle sim running too damn fast ;) 2019-03-03 19:05:57 -08:00
Dustin Carlino
2ac973f245 properly update followers that're Crossing and become unblocked 2019-03-03 18:41:45 -08:00
Dustin Carlino
ab52e9ac38 stop returning borrows from get_car_positions 2019-03-03 18:19:12 -08:00
Dustin Carlino
b1dff917c9 make a new WaitingToTurn state for peds 2019-03-03 17:50:13 -08:00
Dustin Carlino
92fd802f83 vague cleanup before making driving sim be event-based 2019-03-03 16:05:17 -08:00
Dustin Carlino
5f08bfca0c store Cars in DrivingSimState, not Queue 2019-03-03 15:12:25 -08:00
Dustin Carlino
f2b0468b8b speed up tests by loading precomputed map 2019-03-03 14:40:59 -08:00
Dustin Carlino
348c7b2b35 making walking sim be (mostly) event-based 2019-03-03 14:39:39 -08:00
Dustin Carlino
8f3b2b8224 extract out a priority queue helper, still slow impl 2019-03-03 14:22:25 -08:00
Dustin Carlino
9d1bb00fbd adding a test for bikes 2019-03-02 17:22:41 -08:00
Dustin Carlino
bcb0268f7a refactoring TripManager 2019-03-01 22:43:27 -08:00
Dustin Carlino
0f71ee5210 make peds leave bus 2019-03-01 22:33:15 -08:00
Dustin Carlino
313841b9de make peds board buses 2019-03-01 22:09:33 -08:00
Dustin Carlino
9c916e5d11 make sure buses dont block a sim from being considered done 2019-03-01 15:39:34 -08:00
Dustin Carlino
81d604367e make buses cycle between stops. move the waiting at stop state to
CarState, since idling in Queued doesn't make sense
2019-03-01 15:25:42 -08:00
Dustin Carlino
c99d9f5138 bringing back skeleton of transit sim... 2019-03-01 13:30:41 -08:00
Dustin Carlino
5f6d7e1b66 fix sim nondet test failure by using BTreeMap in my MultiMap 2019-03-01 12:16:52 -08:00
Dustin Carlino
8d9a44fd76 making sure to call TripManager and publish events for most transitions 2019-02-28 19:07:40 -08:00
Dustin Carlino
05ffb18fbc publishing an event to make the parking tests work 2019-02-28 10:54:03 -08:00
Dustin Carlino
e6ff4481e7 do ID allocation more up-front 2019-02-27 14:29:45 -08:00
Dustin Carlino
84c1a94f49 implement test helper for seeding parked cars 2019-02-27 13:23:13 -08:00
Dustin Carlino
50451b6120 make tests build again. cleanup sim::load 2019-02-27 13:16:28 -08:00
Dustin Carlino
dd6921323d delete a little commented out code 2019-02-27 12:24:57 -08:00
Dustin Carlino
54935ab5de draw unzoomed cars, color peds preparing bikes 2019-02-27 12:23:15 -08:00
Dustin Carlino
c6f64cbec5 clean up imports and visibility in sim 2019-02-27 12:19:38 -08:00
Dustin Carlino
f6a6bb888e cleanup crate dependencies, fix spawning car from lane, reduce
mutability of debug_car
2019-02-27 12:06:29 -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
8e522e13dc prepping helpers to spawn ala carte trips 2019-02-27 11:25:13 -08:00
Dustin Carlino
be797e7e6f rearrange sim crate code to prep for easier cutover 2019-02-27 09:38:52 -08:00
Dustin Carlino
350428b6e9 impl remaining Sim methods 2019-02-27 09:33:49 -08:00
Dustin Carlino
b3b4f82f45 rename CarState enum 2019-02-26 16:41:32 -08:00
Dustin Carlino
b0abf7abff make time private in Sim, force clear API 2019-02-26 14:23:59 -08:00
Dustin Carlino
76ee37c077 get rid of Tick externally 2019-02-26 14:21:57 -08:00
Dustin Carlino
42c7c21246 removing many external dependencies on Tick. moving time parsing to
Duration.
2019-02-26 14:09:08 -08:00
Dustin Carlino
d5181f6bf8 own time inside of Sim 2019-02-26 13:08:56 -08:00
Dustin Carlino
b6eb62aa62 give commands to spawn peds, but don't do anything with them yet 2019-02-23 11:48:42 -08:00
Dustin Carlino
6673807422 bring in parking code and some structures needed for it. dont use it yet. switch to Vehicle. 2019-02-22 11:09:33 -08:00
Dustin Carlino
a45b4510b6 speed up neighborhood<->building and road matching during scenario instantiation 2019-02-21 11:33:56 -08:00
Dustin Carlino
e4ef1ec79d removing log from sim 2019-02-20 11:22:51 -08:00
Dustin Carlino
c2791a6ead using Warn in all of geom 2019-02-20 10:36:58 -08:00
Dustin Carlino
46fb2c94b5 implement DrawAgents 2019-02-20 08:11:03 -08:00
Dustin Carlino
ad16247695 active agents per road in unzoomed mode 2019-02-16 17:55:02 -08:00
Dustin Carlino
2578219610 skip spawning vehicles when they wont fit in the requested spot. improve
some error messages related to spawning and add a timer for an
apparently very slow step
2019-02-16 11:51:42 -08:00
Dustin Carlino
ec01207369 try upgrading rand and serde again 2019-02-10 15:57:28 -08:00
Dustin Carlino
51399e19ed organize convert_osm lib better. also make clippy build everything
again.
2019-02-10 15:52:21 -08:00
Dustin Carlino
f6a53797f0 manually glueing together some fixed intervals 2019-02-06 22:53:43 -08:00
Dustin Carlino
3bf4807364 thoughts on a different simulation model and a plugin skeleton to play
with it
2019-02-06 19:14:19 -08:00
Dustin Carlino
f454c691f0 making a profiler to breakdown what parts of sim are slowest 2019-02-05 14:04:03 -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
6b3a77c9ec solve the problem with bikes entering too short 2019-02-04 21:05:43 -08:00
Dustin Carlino
17a0b57644 squeeze in vehicle type to CarID, for debugging convenience 2019-02-04 20:26:22 -08:00
Dustin Carlino
acc298a6ab dont spawn under vehicle length... but hmm, seeing another problem. need
easier debugging first.
2019-02-04 19:16:17 -08:00
Dustin Carlino
91ae32cd4a dont spawn in front of turning agents 2019-02-04 18:32:55 -08:00
Dustin Carlino
84df699927 remove hack for cars winding up too close. if this is still happening, let's solve using the Intent stuff in a different way. 2019-02-04 15:49:39 -08:00
Dustin Carlino
be1735d715 just skip bike trips that are silly loops 2019-02-04 15:32:46 -08:00
Dustin Carlino
a0aed4f200 fix bugs where cars couldnt loop around to reach a building earlier on
the same lane
2019-02-04 14:58:27 -08:00
Dustin Carlino
09193d5f51 be able to spawn cars from buildings too 2019-02-04 13:58:23 -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
793410aa16 make peds on_exit intersections when they try to chain two turns. ALL
TESTS PASS.
2019-02-04 09:14:32 -08:00
Dustin Carlino
177f639f7b make sure bikes can actually start moving 2019-02-03 22:38:21 -08:00
Dustin Carlino
2f812e6265 correct slight overshooting. investigate a bus reaching a stop with
non-zero speed
2019-02-03 18:47:47 -08:00
Dustin Carlino
7b045146da ah, there are speeds low enough to round off to zero distance when applied with the timestep. systematically get rid of EPSILON_SPEED. 2019-02-03 18:10:29 -08:00
Dustin Carlino
bfd0465a3d track the intent of chosen acceleration, to see why overshooting is happening 2019-02-03 09:41:29 -08:00
Dustin Carlino
f9ccecad26 fix spawning of vehicles on borders 2019-02-02 14:25:50 -08:00
Dustin Carlino
e330061b91 undo rendering hacks for tiny cars at borders, without fixing the spawning problem yet 2019-02-02 14:16:15 -08:00
Dustin Carlino
bc4ba647bc caching Renderables for agents 2019-02-01 15:10:35 -08:00
Dustin Carlino
3451b65823 lazily compute SimStats 2019-02-01 14:31:35 -08:00
Dustin Carlino
58c4cb5e1b dont look up full SimStats unless needed 2019-02-01 13:45:37 -08:00
Dustin Carlino
0a79b354b2 remove ability to create Map from InitialMap, now that we have a separate debugger 2019-02-01 11:09:22 -08:00
Dustin Carlino
097d1591e1 load previous/next initial map. refactor this functionality for sim
savestates
2019-02-01 11:03:57 -08:00
Dustin Carlino
0346166304 starting a generic viewer that works with InitialMap 2019-01-31 16:33:43 -08:00
Dustin Carlino
48a5556f17 improving debuggability of merged maps by printing intersections to look at 2019-01-31 14:54:30 -08:00
Dustin Carlino
2282c5658d make geom types Ord now 2019-01-31 14:29:47 -08:00
Dustin Carlino
b9e96618da stop abusing max distance for path tracing. disable some newly brokenish stuff 2019-01-31 13:09:15 -08:00
Dustin Carlino
23db7cc646 try really dumb trimming... it works :O 2019-01-31 08:53:30 -08:00
Dustin Carlino
7519fdf584 using strong Distance types in many more places 2019-01-30 15:54:54 -08:00
Dustin Carlino
3e00789960 allow a NaN in kinematics 2019-01-30 15:02:12 -08:00
Dustin Carlino
ac2b8f5a9a switch to new units in sim... and editor, darnit, accidentally ammended
commit
2019-01-30 14:19:48 -08:00
Dustin Carlino
2a70efde5f simplify: slice can fail. all the callers dont have to check for EPSILON_DIST
(also, disable not-so-useful geom unit tests that use randomness)
2019-01-29 18:53:04 -08:00
Dustin Carlino
ca058331e5 fixing path trace cases that wind up with points too squished together 2019-01-29 16:23:01 -08:00
Dustin Carlino
6aaa55891e saving lots of InitialMaps... and manually loading one at a time 2019-01-28 09:42:28 -08:00
Dustin Carlino
a25f358295 hacking around top menu issue mostly 2019-01-23 16:19:32 -08:00
Dustin Carlino
1e7b8f2dfc end interactive trips at border nodes 2019-01-21 13:53:24 -08:00
Dustin Carlino
c87c7b32ae make interactive driving trips still end at a building 2019-01-21 12:21:26 -08:00
Dustin Carlino
4b42f70da4 actually spawning walking trips... 2019-01-21 11:59:59 -08:00
Dustin Carlino
f018158aa3 remove copyright comment from remaining files 2019-01-20 13:57:55 -08:00
Dustin Carlino
0c32faa40c moving neighborhood to map_model crate, so convert_osm can stop depending on sim 2019-01-17 15:29:00 -08:00
Dustin Carlino
76dc85d5c8 remove unnecessarily boxed closures, and use generics instead 2019-01-17 15:22:31 -08:00
Dustin Carlino
e8e119dbbf remove all the polyline shifting/polygon variants that might fail 2019-01-15 15:25:00 -08:00
Dustin Carlino
daa55026ae making shift left/right for polyline too 2019-01-12 14:13:15 -08:00
Dustin Carlino
41e487bbcc time limit on completion tests 2019-01-11 11:28:42 -08:00
Dustin Carlino
c09fa98f57 upgrade a few dependencies 2019-01-11 10:55:58 -08:00
Dustin Carlino
eefd9abdc6 render cars using slice 2019-01-10 17:11:34 -08:00
Dustin Carlino
3f2a7d6e68 display when a traffic signal is in overtime 2018-12-14 12:01:00 -08:00
Dustin Carlino
a8ee229793 fix traffic signal bugs letting TurnPriority::Banned cars in on a cycle 2018-12-14 11:40:18 -08:00
Dustin Carlino
28d025103c show accepted agents when hovering over an intersection 2018-12-14 11:29:14 -08:00
Dustin Carlino
577e674e51 setting up a scenario for the first tutorial (commit 1,000!) 2018-12-11 10:14:21 -08:00
Dustin Carlino
e76dede109 label synthetic intersections 2018-12-10 15:59:48 -08:00
Dustin Carlino
dbfd410b0a force synthetic intersections into being border nodes too 2018-12-10 15:45:34 -08:00
Dustin Carlino
4018f1bbf6 dealing with a bike stuck trying to end a trip near the end of a lane 2018-12-10 14:27:03 -08:00
Dustin Carlino
dcd60dce88 dealing with c1483, who's overshooting a weird ending at 0m along a lane 2018-12-10 14:02:30 -08:00
Dustin Carlino
79e9e24cf6 few tiny rewrites now that we have NLL 2018-12-09 18:26:32 -08:00
Dustin Carlino
9ef7e68421 work around the poor sucker who's trying to park, but winds up on 520. 2018-12-09 18:25:03 -08:00
Dustin Carlino
ebc5419f9a jump to previous/next savestate 2018-12-09 17:47:54 -08:00
Dustin Carlino
b1d76b62ba include trip goal in agent tooltip, to figure out what c1470 is up to 2018-12-09 14:55:16 -08:00
Dustin Carlino
897833e446 hacking around bug where cars follow too closely. 2018-12-09 14:20:03 -08:00
Dustin Carlino
caae9bcc36 clippy pt3 2018-12-09 11:33:24 -08:00
Dustin Carlino
f48757c5e7 clippy pt2 2018-12-08 19:56:54 -08:00
Dustin Carlino
ab86835611 initially playing with clippy... pt1 2018-12-08 18:21:56 -08:00
Dustin Carlino
e71fa25229 moving sim_controls into SimMode, expressing it as a Paused/Running state 2018-12-08 13:51:31 -08:00
Dustin Carlino
b7edc07580 moving a few inlined unit tests to my test framework. didnt spot these before. 2018-12-06 12:59:08 -08:00
Dustin Carlino
6a32166452 rewrite lots of stuff with NLL! \o/ 2018-12-06 12:47:20 -08:00
Dustin Carlino
91b2b07fbd remove more extern crate's; import macros directly 2018-12-06 11:22:12 -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
927d8e8f25 fixing warnings caught by cargo fix 2018-12-06 10:15:51 -08:00
Dustin Carlino
6a0cd7f71e rust 2018: run the new fmt, delete the unneeded script 2018-12-06 10:05:50 -08:00
Dustin Carlino
afea20cf1b rearrange parking model data to speed things up more 2018-12-03 11:59:21 -08:00
Dustin Carlino
96ca681979 speeding up time travel plugin by pulling all agents, not iterating map elements 2018-12-03 11:45:21 -08:00
Dustin Carlino
ac00e24dda woops, agent_to_trip isn't defined for parked cars 2018-12-03 10:57:00 -08:00
Dustin Carlino
4d7c1203a6 the great control layer merge 2018-11-30 13:52:50 -08:00
Dustin Carlino
609c731fa0 implement yielding in traffic signals. pretty untested. 2018-11-30 12:28:32 -08:00
Dustin Carlino
73b2d0ac24 ah, was forgeting multiple ped turns in sequence 2018-11-30 08:47:46 -08:00
Dustin Carlino
87a357d67c adjusting pathfinding costs, trying to figure out why walking routes are awful 2018-11-29 16:47:04 -08:00
Dustin Carlino
ecc5a6efb1 make some percentage of walking trips use transit, if it's reasonable.
haven't observed it working yet.
2018-11-29 14:53:11 -08:00
Dustin Carlino
14097bebfc moving BusRouteID to map_model layer from sim 2018-11-29 12:38:06 -08:00
Dustin Carlino
17262063a1 following logic wasn't considering length of lead vehicle properly?
adjusted code a bit, but still seeing a violation
2018-11-28 14:27:12 -08:00
Dustin Carlino
6bdb28cced oops, bike starting at border was using a router to car-style park 2018-11-28 13:53:36 -08:00
Dustin Carlino
211019efd2 no more VanishAtDeadEnd. if it's happening, let's notice it. 2018-11-28 13:42:40 -08:00