From bd143f0a6695dea47be60f3471cc462d209e67ed Mon Sep 17 00:00:00 2001 From: eleurent Date: Wed, 2 Oct 2024 22:09:32 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Farama-F?= =?UTF-8?q?oundation/HighwayEnv@def6f4fe9068cc0136fd846b42def700bc9b664c?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/_images/index_1_0.png | Bin 7907 -> 7964 bytes main/_images/index_2_0.png | Bin 10348 -> 10441 bytes main/_images/index_2_1.png | Bin 12357 -> 12510 bytes main/_images/index_2_2.png | Bin 13939 -> 14282 bytes main/_images/index_3_1.png | Bin 25134 -> 24541 bytes main/_images/quickstart_0_0.png | Bin 7749 -> 7774 bytes main/_images/quickstart_2_0.png | Bin 6058 -> 6091 bytes main/multi_agent/index.html | 10 +++++----- main/observations/index.html | 20 ++++++++++---------- main/searchindex.js | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/main/_images/index_1_0.png b/main/_images/index_1_0.png index d4698847805e93737274a006a52e7ae8d161ebc6..0f85962718a8496ad045494c714ea7a3a7893cfb 100644 GIT binary patch literal 7964 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%0D= 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 literal 10348 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 APXGV_ diff --git a/main/_images/index_2_1.png b/main/_images/index_2_1.png index a6950a51f132a96ddcf583619f60666044039486..78275d910ce121ca9eef0bd7f8128f1414d99f34 100644 GIT binary patch literal 12510 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 literal 12357 zcmb`N1yoe;*Y5{WP-#g?2|)#EK^kE|R0L7F8ziMW6r{^QKncYF>5%Rm_)#LwfS{Cg zcinyT_piI|UGKf?eP@ZnIGppG=h^YypS?rxDcvMGOM4cDLJ{3kK;K89aJ%9A*wc9M zw*i^QOZZ2`Sx(dWfxWr2n~|d#>aLOVBO7~Xn}^01T+JMv9@^UpaEoyBb6v1>c7Eg} z%EM#(&ku0hJ6iBCE8z~oMb11@&~iedNQ{s#oOG$QhbRL5O_6u*)4JmpXWBuv4pEX`(=f0);NGaK#--Az5!0Nh1vIRR|p~N~n-;0P=Q+6kI z2X==Bwq}!`qL*kXbxGfchWTH*6wW0he5VKNJ+Cv`o}s=Q=TTpkycx?jhMv5PIGCavTWs4f z*O!^^x~QEf;)K@_OoI9Hu;G*Un!&jjrOiqfE+Twwvsf8M^U%w6u zX7Z(3uHNTH)f(qt;N~XgRL`nCKIl5W#BH6gc~3>p)2PDdv;Tq725y z#^bZI@pQMBI57QN?flR9HM;nn6xlG{TGNsVEvpNy`5G3-jsbQ42M69+T7}J963WWT zAJWoTg@w2A7qP>`U;F#b_xGA3>1g;(6)fDs({--!@Z3z1^bz%`+M1?;RW1c*nkI;_ zmrF&p@Nc)G_3p4^lJwC7{r&YeLahA!1*6-ntgH^R-##*ZF(|QP@I9P2aB~$7@ufI{ zi_1`;@8v`|BG%RrL=+(Z-a$bsbR=oWrn$^%Mwh*N7iJlx4RI%Fi6bM(1OE|;|+?NVN-YU%A)2_~ug4P4}9QVH~Ko@5M+ zjKq=h0dsS6u4B15Ir6Hiy(Gi?dwcZ*10{tOH_+R4-|2B-YdC+xjvP9qC{B8c9=763 zN=nj5cnTI27TS&#YI3!7b~X>@n~3cXkUhiY#h^!V3l%4i;!RivCStH<8oBzB7AZbd zt*xyJw{F#8?Q0^Zr_H(a%6rLbqC)8X|J?wnzyJuSxTNpiCDQlVR8v(`GinSW8?10! zCSeSbM(2e8=ZC$OHV(g96`dv~c7(F0-%% z?~MnLd@Zy9R|#mjcP>$L)_v)ofSo^wO@bLi_>(WQ>eCr8(prN{0Jeizxq{9rwzepW!Pj zEBAD#8%U(ku=(n_`b75j_I*cl&Z3p8&2%)^tSF}26W$N@8}b?+?ro-LX5ym6j}O*q z1TABJ@@wSi)}_x71=8fx3K9M87ENU`wNBczupB?#9ij$!2}V}@mh4!N6-l?<=guB zNc86#L>CtexqEp0n2IxyN23FO@^dIBqt(@^)Uz}n`yTFHE-o4_bzsfN%=|b#^6IM2 zy?ggA6zN-d9;{;W?Z+e!4rZio+Sp_nW1VI?f50Phpe~4t(sF9#s3vK^iOZ>|kim}r zSYFN@blqMWz3#qp0c8jlqFL#lZ|qe#6yf&W10M$m$Ngw`My=#L3W-F>ThUTS*S~%H zMu8O)6ddmm9&0RhnBaAqR_t@Zt)1;j%XgVqM-D|nLE)Z_j;3Zv&EcXw%0DlUxAI`E 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 diff --git a/main/_images/index_2_2.png b/main/_images/index_2_2.png index a4c727f87971c2e4c84945d4cfd16110c23a4beb..088a64a9d311cc1976e67276a412f35292f8b1d2 100644 GIT binary patch literal 14282 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 GzyARFC|aNZ diff --git a/main/_images/index_3_1.png b/main/_images/index_3_1.png index f8f08282d37b00277eb1ce7a724fcd5905481966..000e8c4ee8f65f3a6ea5125ee15312523b7d63e9 100644 GIT binary patch literal 24541 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 literal 25134 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 CoR6yj diff --git a/main/_images/quickstart_0_0.png b/main/_images/quickstart_0_0.png index a60fd3c586b534370c724bd95bbbe53e2df60c88..1ac1c77c98a6422aff2283b5fc97aa07381f8d58 100644 GIT binary patch literal 7774 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 literal 7749 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 Y3mvNrId>$$D_w}Dx(>Wj)#~xT0i4*aQ2+n{ diff --git a/main/_images/quickstart_2_0.png b/main/_images/quickstart_2_0.png index 10de747756d637aab819c6ab687419add8a59b42..87b649e8be2b19d170e23e7f6e74ad02c1d87934 100644 GIT binary patch literal 6091 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 diff --git a/main/multi_agent/index.html b/main/multi_agent/index.html index 9393ba8ae..580ff98cd 100644 --- a/main/multi_agent/index.html +++ b/main/multi_agent/index.html @@ -389,11 +389,11 @@

Change the observation space -
-
[[ 1.          1.          0.12        1.          0.          1.
+
[[ 1.          1.          0.08        1.          0.          1.
    0.        ]
- [ 1.          0.20743251 -0.08       -0.15705425  0.          1.
+ [ 1.          0.22254233 -0.04       -0.12332875  0.          1.
    0.        ]
- [ 1.          0.44124636 -0.04       -0.09107018  0.          1.
+ [ 1.          0.40874493 -0.04       -0.18935317  0.          1.
    0.        ]
- [ 1.          0.6658481  -0.04       -0.14941241  0.          1.
+ [ 1.          0.61476827  0.04       -0.12796491  0.          1.
    0.        ]
- [ 1.          0.8673913  -0.12       -0.13185754  0.          1.
+ [ 1.          0.8130831  -0.04       -0.06989625  0.          1.
    0.        ]
- [ 1.          1.         -0.08       -0.07945715  0.          1.
+ [ 1.          1.         -0.08       -0.15088789  0.          1.
    0.        ]
- [ 1.          1.         -0.04       -0.09591775  0.          1.
+ [ 1.          1.          0.         -0.14451969  0.          1.
    0.        ]
- [ 1.          1.         -0.04       -0.06529592  0.          1.
+ [ 1.          1.          0.         -0.1918625   0.          1.
    0.        ]
- [ 1.          1.         -0.08       -0.08504029  0.          1.
+ [ 1.          1.         -0.04       -0.12536396  0.          1.
    0.        ]
- [ 1.          1.         -0.08       -0.06549818  0.          1.
+ [ 1.          1.          0.         -0.06678273  0.          1.
    0.        ]
  [ 0.          0.          0.          0.          0.          0.
    0.        ]
diff --git a/main/searchindex.js b/main/searchindex.js
index 84940b91f..98190822d 100644
--- a/main/searchindex.js
+++ b/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"404": [[0, null]], "API": [[1, "module-highway_env.envs.common.action"], [4, "module-highway_env.road.lane"], [5, "module-highway_env.road.regulation"], [6, "module-highway_env.road.road"], [7, "module-highway_env.vehicle.behavior"], [8, "module-highway_env.vehicle.controller"], [9, "module-highway_env.vehicle.kinematics"], [10, "api"], [12, "api"], [13, "api"], [14, "api"], [15, "api"], [16, "api"], [18, "module-highway_env.envs.common.graphics"], [21, "module-highway_env.__init__"], [23, "module-highway_env.envs.common.observation"]], "Actions": [[1, null]], "All the environments": [[24, "all-the-environments"]], "Behavior": [[7, null]], "Bibliography": [[2, null]], "Change the action space": [[22, "change-the-action-space"]], "Change the observation space": [[22, "change-the-observation-space"]], "Configuring an environment": [[24, "configuring-an-environment"]], "Continuous Actions": [[1, "continuous-actions"]], "Control": [[8, null]], "Create the scene": [[21, "create-the-scene"]], "Create the vehicles": [[21, "create-the-vehicles"]], "Default configuration": [[10, "default-configuration"], [12, "default-configuration"], [13, "default-configuration"], [14, "default-configuration"], [15, "default-configuration"], [16, "default-configuration"]], "Development version": [[20, "development-version"]], "Discrete Actions": [[1, "discrete-actions"]], "Discrete Meta-Actions": [[1, "discrete-meta-actions"]], "Dynamics": [[3, null]], "Example configuration": [[23, "example-configuration"], [23, "grayscale-example-configuration"], [23, "id4"], [23, "id5"], [23, "id6"]], "Examples on Google Colab": [[24, "examples-on-google-colab"]], "Faster variant": [[10, "faster-variant"]], "Frequently Asked Questions": [[17, null]], "Getting Started": [[24, null]], "Goal environments": [[25, "goal-environments"]], "Graphics": [[18, null]], "Grayscale Image": [[23, "grayscale-image"]], "Heading control": [[8, "heading-control"]], "Highway": [[10, null]], "How to cite this work?": [[19, "how-to-cite-this-work"]], "I try to train an agent using the Kinematics Observation and an MLP model, but the resulting policy is not optimal. Why?": [[17, "i-try-to-train-an-agent-using-the-kinematics-observation-and-an-mlp-model-but-the-resulting-policy-is-not-optimal-why"]], "Illustration of the stack mechanism": [[23, "illustration-of-the-stack-mechanism"]], "Increase the number of controlled vehicles": [[22, "increase-the-number-of-controlled-vehicles"]], "Installation": [[20, null]], "Intersection": [[12, null]], "Kinematics": [[9, null], [23, "kinematics"]], "Lane": [[4, null]], "Lateral Behavior": [[7, "lateral-behavior"]], "Lateral controller": [[8, "lateral-controller"]], "Lidar": [[23, "lidar"]], "Longitudinal Behavior": [[7, "longitudinal-behavior"]], "Longitudinal controller": [[8, "longitudinal-controller"]], "Make the environment configurable": [[21, "make-the-environment-configurable"]], "Make your own environment": [[21, null]], "Making an environment": [[24, "making-an-environment"]], "Manual control": [[1, "manual-control"]], "Merge": [[13, null]], "Most environments": [[25, "most-environments"]], "My videos are too fast / have a low framerate.": [[17, "my-videos-are-too-fast-have-a-low-framerate"]], "Observations": [[23, null]], "Occupancy grid": [[23, "occupancy-grid"]], "Page Not Found": [[0, "page-not-found"]], "Parking": [[14, null]], "Position control": [[8, "position-control"]], "Prerequisites": [[20, "prerequisites"]], "Profit": [[21, "profit"]], "Racetrack": [[15, null]], "Register the environment": [[21, "register-the-environment"]], "Rewards": [[25, null]], "Road": [[6, null]], "Road regulation": [[5, null]], "Roads": [[3, "roads"]], "Roundabout": [[16, null]], "Scene graphics": [[18, "scene-graphics"]], "Set up files": [[21, "set-up-files"]], "Stable release": [[20, "stable-release"]], "The Multi-Agent setting": [[22, null]], "The environments": [[11, null]], "Time to collision": [[23, "time-to-collision"]], "Training an agent": [[24, "training-an-agent"]], "Ubuntu": [[20, "ubuntu"]], "Usage": [[10, "usage"], [12, "usage"], [13, "usage"], [14, "usage"], [15, "usage"], [16, "usage"]], "User Guide": [[26, null]], "Vehicles": [[3, "vehicles"]], "Welcome to highway-env\u2019s documentation!": [[19, null]], "When I try to make an environment, I get an error gymnasium.error.NameNotFound: Environment highway doesn't exist.": [[17, "when-i-try-to-make-an-environment-i-get-an-error-gymnasium-error-namenotfound-environment-highway-doesn-t-exist"]], "Windows 10": [[20, "windows-10"]], "World surface": [[18, "world-surface"]], "Wrapping it up": [[22, "wrapping-it-up"]], "presence feature: one vehicle is close to the north, and one is farther to the east.": [[23, "id7"]], "the Lidar observation": [[23, "id9"]], "v_x feature: the north vehicle drives at the same speed as the ego-vehicle, and the east vehicle a bit slower": [[23, "id8"]]}, "docnames": ["404", "actions/index", "bibliography/index", "dynamics/index", "dynamics/road/lane", "dynamics/road/regulation", "dynamics/road/road", "dynamics/vehicle/behavior", "dynamics/vehicle/controller", "dynamics/vehicle/kinematics", "environments/highway", "environments/index", "environments/intersection", "environments/merge", "environments/parking", "environments/racetrack", "environments/roundabout", "faq", "graphics/index", "index", "installation", "make_your_own", "multi_agent", "observations/index", "quickstart", "rewards/index", "user_guide"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["404.md", "actions/index.md", "bibliography/index.md", "dynamics/index.md", "dynamics/road/lane.md", "dynamics/road/regulation.md", "dynamics/road/road.md", "dynamics/vehicle/behavior.md", "dynamics/vehicle/controller.md", "dynamics/vehicle/kinematics.md", "environments/highway.md", "environments/index.md", "environments/intersection.md", "environments/merge.md", "environments/parking.md", "environments/racetrack.md", "environments/roundabout.md", "faq.md", "graphics/index.md", "index.md", "installation.md", "make_your_own.md", "multi_agent.md", "observations/index.md", "quickstart.md", "rewards/index.md", "user_guide.md"], "indexentries": {"_automatic_rendering() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._automatic_rendering", false]], "_info() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._info", false]], "_is_terminated() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._is_terminated", false]], "_is_truncated() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._is_truncated", false]], "_register_highway_envs() (in module highway_env.__init__)": [[21, "highway_env.__init__._register_highway_envs", false]], "_reset() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._reset", false]], "_reward() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._reward", false]], "_rewards() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._rewards", false]], "_simulate() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._simulate", false]], "abstractenv (class in highway_env.envs.common.abstract)": [[21, "highway_env.envs.common.abstract.AbstractEnv", false]], "abstractlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.AbstractLane", false]], "acc_max (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.ACC_MAX", false]], "acceleration() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.acceleration", false]], "acceleration() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.acceleration", false]], "acceleration_range (highway_env.envs.common.action.continuousaction attribute)": [[1, "highway_env.envs.common.action.ContinuousAction.ACCELERATION_RANGE", false]], "act() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.act", false]], "act() (highway_env.envs.common.action.continuousaction method)": [[1, "highway_env.envs.common.action.ContinuousAction.act", false]], "act() (highway_env.envs.common.action.discreteaction method)": [[1, "highway_env.envs.common.action.DiscreteAction.act", false]], "act() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.act", false]], "act() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.act", false]], "act() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.act", false]], "act() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.act", false]], "act() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.act", false]], "act() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.act", false]], "act() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.act", false]], "act() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.act", false]], "actions_all (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_ALL", false]], "actions_lat (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_LAT", false]], "actions_longi (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_LONGI", false]], "actiontype (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.ActionType", false]], "aggressivevehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.AggressiveVehicle", false]], "blit_rotate() (highway_env.road.graphics.roadobjectgraphics static method)": [[18, "highway_env.road.graphics.RoadObjectGraphics.blit_rotate", false]], "change_lane_policy() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.change_lane_policy", false]], "change_vehicles() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.change_vehicles", false]], "circularlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.CircularLane", false]], "close() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.close", false]], "close() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.close", false]], "collect_data() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.collect_data", false]], "comfort_acc_max (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.COMFORT_ACC_MAX", false]], "comfort_acc_min (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.COMFORT_ACC_MIN", false]], "compute_reward() (highway_env.envs.parking_env.parkingenv method)": [[14, "highway_env.envs.parking_env.ParkingEnv.compute_reward", false]], "continuous_curve() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.continuous_curve", false]], "continuous_line() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.continuous_line", false]], "continuousaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.ContinuousAction", false]], "controlled_vehicle (highway_env.envs.common.action.actiontype property)": [[1, "highway_env.envs.common.action.ActionType.controlled_vehicle", false]], "controlledvehicle (class in highway_env.vehicle.controller)": [[8, "highway_env.vehicle.controller.ControlledVehicle", false]], "create_from() (highway_env.vehicle.behavior.idmvehicle class method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.create_from", false]], "create_from() (highway_env.vehicle.controller.controlledvehicle class method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.create_from", false]], "create_from() (highway_env.vehicle.kinematics.vehicle class method)": [[9, "highway_env.vehicle.kinematics.Vehicle.create_from", false]], "create_random() (highway_env.vehicle.kinematics.vehicle class method)": [[9, "highway_env.vehicle.kinematics.Vehicle.create_random", false]], "default_config() (highway_env.envs.common.abstract.abstractenv class method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.default_config", false]], "default_config() (highway_env.envs.highway_env.highwayenv class method)": [[10, "highway_env.envs.highway_env.HighwayEnv.default_config", false]], "default_config() (highway_env.envs.intersection_env.intersectionenv class method)": [[12, "highway_env.envs.intersection_env.IntersectionEnv.default_config", false]], "default_config() (highway_env.envs.merge_env.mergeenv class method)": [[13, "highway_env.envs.merge_env.MergeEnv.default_config", false]], "default_config() (highway_env.envs.parking_env.parkingenv class method)": [[14, "highway_env.envs.parking_env.ParkingEnv.default_config", false]], "default_config() (highway_env.envs.racetrack_env.racetrackenv class method)": [[15, "highway_env.envs.racetrack_env.RacetrackEnv.default_config", false]], "default_config() (highway_env.envs.roundabout_env.roundaboutenv class method)": [[16, "highway_env.envs.roundabout_env.RoundaboutEnv.default_config", false]], "default_initial_speeds (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.DEFAULT_INITIAL_SPEEDS", false]], "defensivevehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.DefensiveVehicle", false]], "define_spaces() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.define_spaces", false]], "define_spaces() (highway_env.envs.parking_env.parkingenv method)": [[14, "highway_env.envs.parking_env.ParkingEnv.define_spaces", false]], "delta (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DELTA", false]], "delta_range (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DELTA_RANGE", false]], "desired_gap() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.desired_gap", false]], "discreteaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.DiscreteAction", false]], "discretemetaaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.DiscreteMetaAction", false]], "display() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.display", false]], "display() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.display", false]], "display() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display", false]], "display() (highway_env.road.graphics.roadobjectgraphics class method)": [[18, "highway_env.road.graphics.RoadObjectGraphics.display", false]], "display_road_objects() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display_road_objects", false]], "display_traffic() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display_traffic", false]], "distance() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.distance", false]], "distance_wanted (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DISTANCE_WANTED", false]], "distance_with_heading() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.distance_with_heading", false]], "draw_stripes() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.draw_stripes", false]], "enforce_road_rules() (highway_env.road.regulation.regulatedroad method)": [[5, "highway_env.road.regulation.RegulatedRoad.enforce_road_rules", false]], "envviewer (class in highway_env.envs.common.graphics)": [[18, "highway_env.envs.common.graphics.EnvViewer", false]], "exitobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.ExitObservation", false]], "fill_road_layer_by_cell() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.fill_road_layer_by_cell", false]], "fill_road_layer_by_lanes() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.fill_road_layer_by_lanes", false]], "follow_road() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.follow_road", false]], "from_config() (highway_env.road.lane.abstractlane class method)": [[4, "highway_env.road.lane.AbstractLane.from_config", false]], "from_config() (highway_env.road.lane.circularlane class method)": [[4, "highway_env.road.lane.CircularLane.from_config", false]], "from_config() (highway_env.road.lane.polylanefixedwidth class method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.from_config", false]], "from_config() (highway_env.road.lane.sinelane class method)": [[4, "highway_env.road.lane.SineLane.from_config", false]], "from_config() (highway_env.road.lane.straightlane class method)": [[4, "highway_env.road.lane.StraightLane.from_config", false]], "get_available_actions() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.get_available_actions", false]], "get_available_actions() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.get_available_actions", false]], "get_available_actions() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.get_available_actions", false]], "get_image() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.get_image", false]], "get_routes_at_intersection() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.get_routes_at_intersection", false]], "grayscaleobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.GrayscaleObservation", false]], "handle_event() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.handle_event", false]], "handle_events() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.handle_events", false]], "heading_at() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.heading_at", false]], "heading_at() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.heading_at", false]], "heading_at() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.heading_at", false]], "heading_at() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.heading_at", false]], "heading_at() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.heading_at", false]], "highway_env.__init__": [[21, "module-highway_env.__init__", false]], "highway_env.envs.common.abstract": [[21, "module-highway_env.envs.common.abstract", false]], "highway_env.envs.common.action": [[1, "module-highway_env.envs.common.action", false]], "highway_env.envs.common.graphics": [[18, "module-highway_env.envs.common.graphics", false]], "highway_env.envs.common.observation": [[23, "module-highway_env.envs.common.observation", false]], "highway_env.road.graphics": [[18, "module-highway_env.road.graphics", false]], "highway_env.road.lane": [[4, "module-highway_env.road.lane", false]], "highway_env.road.regulation": [[5, "module-highway_env.road.regulation", false]], "highway_env.road.road": [[6, "module-highway_env.road.road", false]], "highway_env.vehicle.behavior": [[7, "module-highway_env.vehicle.behavior", false]], "highway_env.vehicle.controller": [[8, "module-highway_env.vehicle.controller", false]], "highway_env.vehicle.graphics": [[18, "module-highway_env.vehicle.graphics", false]], "highway_env.vehicle.kinematics": [[9, "module-highway_env.vehicle.kinematics", false]], "highwayenv (class in highway_env.envs.highway_env)": [[10, "highway_env.envs.highway_env.HighwayEnv", false]], "history_size (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.HISTORY_SIZE", false]], "idmvehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.IDMVehicle", false]], "index_to_speed() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.index_to_speed", false]], "intersectionenv (class in highway_env.envs.intersection_env)": [[12, "highway_env.envs.intersection_env.IntersectionEnv", false]], "is_reachable_from() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.is_reachable_from", false]], "is_visible() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.is_visible", false]], "kinematicobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.KinematicObservation", false]], "kinematicsgoalobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation", false]], "lanegraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.LaneGraphics", false]], "length (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.LENGTH", false]], "linearvehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.LinearVehicle", false]], "linetype (class in highway_env.road.lane)": [[4, "highway_env.road.lane.LineType", false]], "local_angle() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.local_angle", false]], "local_coordinates() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.local_coordinates", false]], "max_speed (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.MAX_SPEED", false]], "mdpvehicle (class in highway_env.vehicle.controller)": [[8, "highway_env.vehicle.controller.MDPVehicle", false]], "mergeenv (class in highway_env.envs.merge_env)": [[13, "highway_env.envs.merge_env.MergeEnv", false]], "metaclass__ (highway_env.road.lane.abstractlane attribute)": [[4, "highway_env.road.lane.AbstractLane.metaclass__", false]], "min_speed (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.MIN_SPEED", false]], "mobil() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.mobil", false]], "module": [[1, "module-highway_env.envs.common.action", false], [4, "module-highway_env.road.lane", false], [5, "module-highway_env.road.regulation", false], [6, "module-highway_env.road.road", false], [7, "module-highway_env.vehicle.behavior", false], [8, "module-highway_env.vehicle.controller", false], [9, "module-highway_env.vehicle.kinematics", false], [18, "module-highway_env.envs.common.graphics", false], [18, "module-highway_env.road.graphics", false], [18, "module-highway_env.vehicle.graphics", false], [21, "module-highway_env.__init__", false], [21, "module-highway_env.envs.common.abstract", false], [23, "module-highway_env.envs.common.observation", false]], "move_display_window_to() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.move_display_window_to", false]], "multiagentaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.MultiAgentAction", false]], "multiagentwrapper (class in highway_env.envs.common.abstract)": [[21, "highway_env.envs.common.abstract.MultiAgentWrapper", false]], "neighbour_vehicles() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.neighbour_vehicles", false]], "normalize() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.normalize", false]], "normalize_obs() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.normalize_obs", false]], "observe() (highway_env.envs.common.observation.exitobservation method)": [[23, "highway_env.envs.common.observation.ExitObservation.observe", false]], "observe() (highway_env.envs.common.observation.grayscaleobservation method)": [[23, "highway_env.envs.common.observation.GrayscaleObservation.observe", false]], "observe() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.observe", false]], "observe() (highway_env.envs.common.observation.kinematicsgoalobservation method)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation.observe", false]], "observe() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.observe", false]], "occupancygridobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation", false]], "on_lane() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.on_lane", false]], "parkingenv (class in highway_env.envs.parking_env)": [[14, "highway_env.envs.parking_env.ParkingEnv", false]], "perception_distance (highway_env.envs.common.abstract.abstractenv attribute)": [[21, "highway_env.envs.common.abstract.AbstractEnv.PERCEPTION_DISTANCE", false]], "pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.pix", false]], "plan_route_to() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.plan_route_to", false]], "polylane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.PolyLane", false]], "polylanefixedwidth (class in highway_env.road.lane)": [[4, "highway_env.road.lane.PolyLaneFixedWidth", false]], "pos2pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.pos2pix", false]], "pos_to_index() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.pos_to_index", false]], "position() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.position", false]], "position() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.position", false]], "position() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.position", false]], "position() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.position", false]], "position() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.position", false]], "predict_trajectory() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.predict_trajectory", false]], "predict_trajectory() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.predict_trajectory", false]], "predict_trajectory_constant_speed() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.predict_trajectory_constant_speed", false]], "racetrackenv (class in highway_env.envs.racetrack_env)": [[15, "highway_env.envs.racetrack_env.RacetrackEnv", false]], "recover_from_stop() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.recover_from_stop", false]], "regulatedroad (class in highway_env.road.regulation)": [[5, "highway_env.road.regulation.RegulatedRoad", false]], "render() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.render", false]], "reset() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.reset", false]], "respect_priorities() (highway_env.road.regulation.regulatedroad static method)": [[5, "highway_env.road.regulation.RegulatedRoad.respect_priorities", false]], "road (class in highway_env.road.road)": [[6, "highway_env.road.road.Road", false]], "roadgraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.RoadGraphics", false]], "roadobjectgraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.RoadObjectGraphics", false]], "roundaboutenv (class in highway_env.envs.roundabout_env)": [[16, "highway_env.envs.roundabout_env.RoundaboutEnv", false]], "set_agent_action_sequence() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.set_agent_action_sequence", false]], "set_agent_display() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.set_agent_display", false]], "set_route_at_intersection() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.set_route_at_intersection", false]], "simplify() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.simplify", false]], "sinelane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.SineLane", false]], "space() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.space", false]], "space() (highway_env.envs.common.action.continuousaction method)": [[1, "highway_env.envs.common.action.ContinuousAction.space", false]], "space() (highway_env.envs.common.action.discreteaction method)": [[1, "highway_env.envs.common.action.DiscreteAction.space", false]], "space() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.space", false]], "space() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.space", false]], "space() (highway_env.envs.common.observation.grayscaleobservation method)": [[23, "highway_env.envs.common.observation.GrayscaleObservation.space", false]], "space() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.space", false]], "space() (highway_env.envs.common.observation.kinematicsgoalobservation method)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation.space", false]], "space() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.space", false]], "speed_control() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.speed_control", false]], "speed_to_index() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.speed_to_index", false]], "speed_to_index_default() (highway_env.vehicle.controller.mdpvehicle class method)": [[8, "highway_env.vehicle.controller.MDPVehicle.speed_to_index_default", false]], "steering_control() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.steering_control", false]], "steering_control() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.steering_control", false]], "steering_features() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.steering_features", false]], "steering_range (highway_env.envs.common.action.continuousaction attribute)": [[1, "highway_env.envs.common.action.ContinuousAction.STEERING_RANGE", false]], "step() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.step", false]], "step() (highway_env.envs.common.abstract.multiagentwrapper method)": [[21, "highway_env.envs.common.abstract.MultiAgentWrapper.step", false]], "step() (highway_env.envs.intersection_env.intersectionenv method)": [[12, "highway_env.envs.intersection_env.IntersectionEnv.step", false]], "step() (highway_env.road.regulation.regulatedroad method)": [[5, "highway_env.road.regulation.RegulatedRoad.step", false]], "step() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.step", false]], "step() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.step", false]], "step() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.step", false]], "straightlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.StraightLane", false]], "stripe_length (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_LENGTH", false]], "stripe_spacing (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_SPACING", false]], "stripe_width (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_WIDTH", false]], "striped_line() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.striped_line", false]], "target_speed (highway_env.vehicle.controller.controlledvehicle attribute)": [[8, "highway_env.vehicle.controller.ControlledVehicle.target_speed", false]], "time_wanted (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.TIME_WANTED", false]], "time_wanted (highway_env.vehicle.behavior.linearvehicle attribute)": [[7, "highway_env.vehicle.behavior.LinearVehicle.TIME_WANTED", false]], "to_config() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.to_config", false]], "to_config() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.to_config", false]], "to_config() (highway_env.road.lane.polylane method)": [[4, "highway_env.road.lane.PolyLane.to_config", false]], "to_config() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.to_config", false]], "to_config() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.to_config", false]], "to_config() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.to_config", false]], "vec2pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.vec2pix", false]], "vehicle (class in highway_env.vehicle.kinematics)": [[9, "highway_env.vehicle.kinematics.Vehicle", false]], "vehicle (highway_env.envs.common.abstract.abstractenv property)": [[21, "highway_env.envs.common.abstract.AbstractEnv.vehicle", false]], "vehicle_class (highway_env.envs.common.action.actiontype property)": [[1, "highway_env.envs.common.action.ActionType.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.continuousaction property)": [[1, "highway_env.envs.common.action.ContinuousAction.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.discretemetaaction property)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.multiagentaction property)": [[1, "highway_env.envs.common.action.MultiAgentAction.vehicle_class", false]], "width (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.WIDTH", false]], "width_at() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.width_at", false]], "width_at() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.width_at", false]], "width_at() (highway_env.road.lane.polylane method)": [[4, "highway_env.road.lane.PolyLane.width_at", false]], "width_at() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.width_at", false]], "width_at() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.width_at", false]], "window_position() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.window_position", false]], "worldsurface (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.WorldSurface", false]]}, "objects": {"highway_env": [[21, 0, 0, "-", "__init__"]], "highway_env.__init__": [[21, 1, 1, "", "_register_highway_envs"]], "highway_env.envs.common": [[21, 0, 0, "-", "abstract"], [1, 0, 0, "-", "action"], [18, 0, 0, "-", "graphics"], [23, 0, 0, "-", "observation"]], "highway_env.envs.common.abstract": [[21, 2, 1, "", "AbstractEnv"], [21, 2, 1, "", "MultiAgentWrapper"]], "highway_env.envs.common.abstract.AbstractEnv": [[21, 3, 1, "", "PERCEPTION_DISTANCE"], [21, 4, 1, "", "_automatic_rendering"], [21, 4, 1, "", "_info"], [21, 4, 1, "", "_is_terminated"], [21, 4, 1, "", "_is_truncated"], [21, 4, 1, "", "_reset"], [21, 4, 1, "", "_reward"], [21, 4, 1, "", "_rewards"], [21, 4, 1, "", "_simulate"], [21, 4, 1, "", "change_vehicles"], [21, 4, 1, "", "close"], [21, 4, 1, "", "default_config"], [21, 4, 1, "", "define_spaces"], [21, 4, 1, "", "render"], [21, 4, 1, "", "reset"], [21, 4, 1, "", "simplify"], [21, 4, 1, "", "step"], [21, 5, 1, "", "vehicle"]], "highway_env.envs.common.abstract.MultiAgentWrapper": [[21, 4, 1, "", "step"]], "highway_env.envs.common.action": [[1, 2, 1, "", "ActionType"], [1, 2, 1, "", "ContinuousAction"], [1, 2, 1, "", "DiscreteAction"], [1, 2, 1, "", "DiscreteMetaAction"], [1, 2, 1, "", "MultiAgentAction"]], "highway_env.envs.common.action.ActionType": [[1, 4, 1, "", "act"], [1, 5, 1, "", "controlled_vehicle"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.ContinuousAction": [[1, 3, 1, "", "ACCELERATION_RANGE"], [1, 3, 1, "", "STEERING_RANGE"], [1, 4, 1, "", "act"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.DiscreteAction": [[1, 4, 1, "", "act"], [1, 4, 1, "", "space"]], "highway_env.envs.common.action.DiscreteMetaAction": [[1, 3, 1, "", "ACTIONS_ALL"], [1, 3, 1, "", "ACTIONS_LAT"], [1, 3, 1, "", "ACTIONS_LONGI"], [1, 4, 1, "", "act"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.MultiAgentAction": [[1, 4, 1, "", "act"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.graphics": [[18, 2, 1, "", "EnvViewer"]], "highway_env.envs.common.graphics.EnvViewer": [[18, 4, 1, "", "close"], [18, 4, 1, "", "display"], [18, 4, 1, "", "get_image"], [18, 4, 1, "", "handle_events"], [18, 4, 1, "", "set_agent_action_sequence"], [18, 4, 1, "", "set_agent_display"], [18, 4, 1, "", "window_position"]], "highway_env.envs.common.observation": [[23, 2, 1, "", "ExitObservation"], [23, 2, 1, "", "GrayscaleObservation"], [23, 2, 1, "", "KinematicObservation"], [23, 2, 1, "", "KinematicsGoalObservation"], [23, 2, 1, "", "OccupancyGridObservation"]], "highway_env.envs.common.observation.ExitObservation": [[23, 4, 1, "", "observe"]], "highway_env.envs.common.observation.GrayscaleObservation": [[23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.KinematicObservation": [[23, 4, 1, "", "normalize_obs"], [23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.KinematicsGoalObservation": [[23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.OccupancyGridObservation": [[23, 4, 1, "", "fill_road_layer_by_cell"], [23, 4, 1, "", "fill_road_layer_by_lanes"], [23, 4, 1, "", "normalize"], [23, 4, 1, "", "observe"], [23, 4, 1, "", "pos_to_index"], [23, 4, 1, "", "space"]], "highway_env.envs.highway_env": [[10, 2, 1, "", "HighwayEnv"]], "highway_env.envs.highway_env.HighwayEnv": [[10, 4, 1, "", "default_config"]], "highway_env.envs.intersection_env": [[12, 2, 1, "", "IntersectionEnv"]], "highway_env.envs.intersection_env.IntersectionEnv": [[12, 4, 1, "", "default_config"], [12, 4, 1, "", "step"]], "highway_env.envs.merge_env": [[13, 2, 1, "", "MergeEnv"]], "highway_env.envs.merge_env.MergeEnv": [[13, 4, 1, "", "default_config"]], "highway_env.envs.parking_env": [[14, 2, 1, "", "ParkingEnv"]], "highway_env.envs.parking_env.ParkingEnv": [[14, 4, 1, "", "compute_reward"], [14, 4, 1, "", "default_config"], [14, 4, 1, "", "define_spaces"]], "highway_env.envs.racetrack_env": [[15, 2, 1, "", "RacetrackEnv"]], "highway_env.envs.racetrack_env.RacetrackEnv": [[15, 4, 1, "", "default_config"]], "highway_env.envs.roundabout_env": [[16, 2, 1, "", "RoundaboutEnv"]], "highway_env.envs.roundabout_env.RoundaboutEnv": [[16, 4, 1, "", "default_config"]], "highway_env.road": [[18, 0, 0, "-", "graphics"], [4, 0, 0, "-", "lane"], [5, 0, 0, "-", "regulation"], [6, 0, 0, "-", "road"]], "highway_env.road.graphics": [[18, 2, 1, "", "LaneGraphics"], [18, 2, 1, "", "RoadGraphics"], [18, 2, 1, "", "RoadObjectGraphics"], [18, 2, 1, "", "WorldSurface"]], "highway_env.road.graphics.LaneGraphics": [[18, 3, 1, "", "STRIPE_LENGTH"], [18, 3, 1, "", "STRIPE_SPACING"], [18, 3, 1, "", "STRIPE_WIDTH"], [18, 4, 1, "", "continuous_curve"], [18, 4, 1, "", "continuous_line"], [18, 4, 1, "", "display"], [18, 4, 1, "", "draw_stripes"], [18, 4, 1, "", "striped_line"]], "highway_env.road.graphics.RoadGraphics": [[18, 4, 1, "", "display"], [18, 4, 1, "", "display_road_objects"], [18, 4, 1, "", "display_traffic"]], "highway_env.road.graphics.RoadObjectGraphics": [[18, 4, 1, "", "blit_rotate"], [18, 4, 1, "", "display"]], "highway_env.road.graphics.WorldSurface": [[18, 4, 1, "", "handle_event"], [18, 4, 1, "", "is_visible"], [18, 4, 1, "", "move_display_window_to"], [18, 4, 1, "", "pix"], [18, 4, 1, "", "pos2pix"], [18, 4, 1, "", "vec2pix"]], "highway_env.road.lane": [[4, 2, 1, "", "AbstractLane"], [4, 2, 1, "", "CircularLane"], [4, 2, 1, "", "LineType"], [4, 2, 1, "", "PolyLane"], [4, 2, 1, "", "PolyLaneFixedWidth"], [4, 2, 1, "", "SineLane"], [4, 2, 1, "", "StraightLane"]], "highway_env.road.lane.AbstractLane": [[4, 4, 1, "", "distance"], [4, 4, 1, "", "distance_with_heading"], [4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "is_reachable_from"], [4, 4, 1, "", "local_angle"], [4, 4, 1, "", "local_coordinates"], [4, 3, 1, "", "metaclass__"], [4, 4, 1, "", "on_lane"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.CircularLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.PolyLane": [[4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.PolyLaneFixedWidth": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.SineLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"]], "highway_env.road.lane.StraightLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.regulation": [[5, 2, 1, "", "RegulatedRoad"]], "highway_env.road.regulation.RegulatedRoad": [[5, 4, 1, "", "enforce_road_rules"], [5, 4, 1, "", "respect_priorities"], [5, 4, 1, "", "step"]], "highway_env.road.road": [[6, 2, 1, "", "Road"]], "highway_env.road.road.Road": [[6, 4, 1, "", "act"], [6, 4, 1, "", "neighbour_vehicles"], [6, 4, 1, "", "step"]], "highway_env.vehicle": [[7, 0, 0, "-", "behavior"], [8, 0, 0, "-", "controller"], [18, 0, 0, "-", "graphics"], [9, 0, 0, "-", "kinematics"]], "highway_env.vehicle.behavior": [[7, 2, 1, "", "AggressiveVehicle"], [7, 2, 1, "", "DefensiveVehicle"], [7, 2, 1, "", "IDMVehicle"], [7, 2, 1, "", "LinearVehicle"]], "highway_env.vehicle.behavior.IDMVehicle": [[7, 3, 1, "", "ACC_MAX"], [7, 3, 1, "", "COMFORT_ACC_MAX"], [7, 3, 1, "", "COMFORT_ACC_MIN"], [7, 3, 1, "", "DELTA"], [7, 3, 1, "", "DELTA_RANGE"], [7, 3, 1, "", "DISTANCE_WANTED"], [7, 3, 1, "", "TIME_WANTED"], [7, 4, 1, "", "acceleration"], [7, 4, 1, "", "act"], [7, 4, 1, "", "change_lane_policy"], [7, 4, 1, "", "create_from"], [7, 4, 1, "", "desired_gap"], [7, 4, 1, "", "mobil"], [7, 4, 1, "", "recover_from_stop"], [7, 4, 1, "", "step"]], "highway_env.vehicle.behavior.LinearVehicle": [[7, 3, 1, "", "TIME_WANTED"], [7, 4, 1, "", "acceleration"], [7, 4, 1, "", "act"], [7, 4, 1, "", "collect_data"], [7, 4, 1, "", "steering_control"], [7, 4, 1, "", "steering_features"]], "highway_env.vehicle.controller": [[8, 2, 1, "", "ControlledVehicle"], [8, 2, 1, "", "MDPVehicle"]], "highway_env.vehicle.controller.ControlledVehicle": [[8, 4, 1, "", "act"], [8, 4, 1, "", "create_from"], [8, 4, 1, "", "follow_road"], [8, 4, 1, "", "get_routes_at_intersection"], [8, 4, 1, "", "plan_route_to"], [8, 4, 1, "", "predict_trajectory_constant_speed"], [8, 4, 1, "", "set_route_at_intersection"], [8, 4, 1, "", "speed_control"], [8, 4, 1, "", "steering_control"], [8, 3, 1, "", "target_speed"]], "highway_env.vehicle.controller.MDPVehicle": [[8, 4, 1, "", "act"], [8, 4, 1, "", "index_to_speed"], [8, 4, 1, "", "predict_trajectory"], [8, 4, 1, "", "speed_to_index"], [8, 4, 1, "", "speed_to_index_default"]], "highway_env.vehicle.kinematics": [[9, 2, 1, "", "Vehicle"]], "highway_env.vehicle.kinematics.Vehicle": [[9, 3, 1, "", "DEFAULT_INITIAL_SPEEDS"], [9, 3, 1, "", "HISTORY_SIZE"], [9, 3, 1, "", "LENGTH"], [9, 3, 1, "", "MAX_SPEED"], [9, 3, 1, "", "MIN_SPEED"], [9, 3, 1, "", "WIDTH"], [9, 4, 1, "", "act"], [9, 4, 1, "", "create_from"], [9, 4, 1, "", "create_random"], [9, 4, 1, "", "predict_trajectory"], [9, 4, 1, "", "step"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "method", "Python method"], "5": ["py", "property", "Python property"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:attribute", "4": "py:method", "5": "py:property"}, "terms": {"": [1, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 18, 21, 22, 23, 24, 25], "0": [1, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25], "00593": 2, "01466024": 22, "01495": 2, "02046749": 22, "02273381": 22, "025": 23, "03253054": 22, "04": 23, "05": 23, "065": 23, "06529592": 23, "06549818": 23, "075": 23, "07945715": 23, "08": 23, "08504029": 23, "09107018": 23, "09591775": 23, "1": [1, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 25], "10": [2, 7, 12, 23], "100": [12, 14, 23], "1045897": 22, "105": 23, "11": 16, "1140": 23, "12": 23, "1200x500": 23, "12250": 2, "128": 23, "13": [12, 23], "13185754": 23, "14": 24, "14941241": 23, "15": [2, 10, 12, 13, 14, 15, 16, 17, 18, 23, 24, 25], "150": [10, 13, 24], "15000": 24, "15705425": 23, "1612": 2, "17": [2, 24], "1707": 2, "172": 23, "18": [15, 23], "1805": 2, "1824": 2, "1911": 2, "1999": 2, "1d": [1, 7], "1m": 23, "1st": 9, "2": [1, 2, 7, 8, 9, 10, 20, 22, 23, 24], "20": [4, 10, 12, 23, 24], "200": [21, 24], "2000": 2, "2007": 2, "2008": 2, "2015": 2, "2017": 2, "2018": 19, "2019": [2, 24], "20743251": 23, "21680075": 22, "22": 23, "222": 23, "23": 9, "231": 15, "25": [9, 22, 23], "256": 24, "25m": 23, "25mn": 24, "27": 23, "2989": 23, "2d": [1, 4, 7], "2e4": 24, "3": [1, 7, 10, 12, 13, 15, 18, 20, 23, 24], "30": [9, 10, 24], "300": [14, 15], "3000": 22, "3125": 22, "3141": 2, "32": 24, "32206044": 22, "33": 18, "3d": 2, "4": [1, 7, 10, 15, 18, 23, 24], "40": [9, 10, 24], "4229503": 22, "44124636": 23, "480": 18, "5": [1, 7, 9, 10, 12, 13, 14, 15, 16, 20, 22, 23, 24], "50": [10, 18, 24], "518": 2, "529": 2, "533": 2, "54714144": 18, "5870": 23, "5e": 24, "6": [2, 7, 12, 16, 23], "600": [10, 12, 13, 14, 15, 16, 24], "62": 2, "64": 23, "640": 18, "640x480": [22, 23, 24], "6658481": 23, "675": 23, "7": [14, 15], "75": 23, "7540": 2, "7853981633974483": 1, "8": [2, 23, 24], "84": 23, "8673913": 23, "88032156": 22, "9": 23, "A": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 18, 21, 22, 23, 24], "As": 22, "At": 8, "But": 12, "By": 18, "For": [1, 6, 7, 17, 22, 23, 24], "If": [1, 7, 8, 9, 16, 19, 21, 23], "In": [2, 7, 10, 13, 16, 17, 21, 22, 23, 25], "It": [6, 7, 8, 9, 12, 13, 14, 16], "Its": 18, "Of": 12, "On": 5, "That": 21, "The": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 24, 25, 26], "Then": 1, "There": [3, 24], "These": [9, 21, 23], "To": [20, 21, 22], "Will": 21, "_": [7, 22, 23, 24, 25], "__init__": 21, "_automatic_rend": 21, "_c": 7, "_info": 21, "_is_termin": 21, "_is_trunc": 21, "_make_road": 21, "_n": 7, "_o": 7, "_r": 8, "_register_highway_env": 21, "_reset": 21, "_reward": [21, 25], "_simul": 21, "_state": 24, "_to": 8, "a_": 7, "a_c": 7, "a_n": 7, "a_o": 7, "ab": 7, "abbeel": 2, "abcmeta": 4, "abl": [1, 8, 17, 21], "about": [7, 17, 24], "abov": 1, "absolut": [12, 23], "abstract": [4, 21], "abstractenv": [1, 18, 21, 23], "abstractlan": [4, 6, 18], "acc_max": 7, "acceler": [1, 7, 8, 9, 14], "acceleration_rang": 1, "accept": 22, "access": [1, 13, 21, 24], "accord": 7, "achiev": [12, 14, 21], "achieved_go": 14, "act": [1, 6, 7, 8, 9], "action": [6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 24, 26], "action_1": 22, "action_2": 22, "action_config": [1, 22], "action_dur": [8, 9], "action_i": 22, "action_reward": 15, "action_spac": [1, 17, 21], "action_typ": [21, 23, 24], "actions_al": [1, 22], "actions_index": [23, 24], "actions_lat": 1, "actions_longi": 1, "actions_per_axi": 1, "actiontyp": 1, "actual": [1, 6, 17, 22], "ad": [12, 21], "add": [1, 21], "addit": 21, "address": [17, 25], "adequ": 25, "advanc": 2, "affect": 3, "after": [7, 22, 24], "against": 25, "agent": [1, 10, 12, 13, 14, 15, 18, 21, 23, 25, 26], "agent_displai": 18, "aggreg": 21, "aggressivevehicl": 7, "agre": 12, "alex": 2, "algorithm": 22, "alia": 4, "align": 23, "align_to_vehicle_ax": [15, 23], "all": [7, 12, 17, 21, 23], "allow": [1, 7, 8, 21], "along": [8, 18, 23], "alreadi": 23, "also": [6, 10, 13, 17, 18, 23, 24, 25], "altch": 2, "altern": 21, "alwai": [1, 18, 23], "amir": 2, "among": 8, "amplitud": 4, "an": [1, 5, 6, 7, 8, 9, 12, 18, 19, 21, 22, 23, 25], "anaconda": 20, "andr": 2, "andrea": 2, "andrei": 2, "andrychowicz": 2, "ang_": 23, "angl": [1, 4, 7, 8, 9, 18, 23], "angular": 23, "ani": [12, 14, 21, 23, 25], "anoth": 6, "ansgar": 2, "anticip": 8, "antonogl": 2, "api": 26, "appear": 9, "appli": [1, 8], "approach": [13, 16, 23], "appropri": [14, 25], "approxim": [4, 7], "apt": 20, "ar": [1, 3, 4, 5, 6, 7, 8, 9, 10, 18, 21, 22, 23, 24, 25], "arbitr": 5, "arc": 4, "architectur": [17, 24], "arcsin": 8, "area": [16, 18], "argu": 17, "arn": 2, "around": [4, 18, 23], "arrai": [7, 18, 22, 23], "arrow": 1, "arxiv": 2, "as_imag": [15, 23], "aspect": 25, "assign": 5, "associ": 21, "assum": [8, 23], "attent": [2, 24], "attribut": [5, 24], "author": 19, "automat": [1, 8, 16, 21], "autonom": [2, 19], "avail": [1, 10, 24], "avoid": [8, 10, 12, 13, 15, 16, 25], "awai": 23, "awr": [2, 24], "ax": [22, 23, 24], "ax1": 22, "ax2": 22, "axi": [1, 7, 8, 9, 23], "b": [7, 25], "b_": 7, "base": [1, 5, 7, 9, 24], "baselin": 24, "baselines3": 24, "batch_siz": 24, "beatti": 2, "becaus": [7, 17], "been": [21, 22, 25], "befor": [7, 22], "behav": [3, 5], "behavior": [3, 5, 10, 12, 13, 16, 21, 24], "behaviour": [5, 6, 7, 12, 18, 21, 25], "behind": [9, 23], "being": [7, 9, 25], "bellemar": 2, "benefici": 25, "beta": 9, "better": 24, "between": [4, 5, 7, 8, 9, 18, 23, 25], "beyond": 1, "bibtex": 19, "bicycl": [2, 9], "bin": 23, "blit_rot": 18, "block": 12, "bob": 2, "bolt": 19, "bool": [1, 4, 5, 6, 7, 12, 18, 21, 23], "both": [1, 4, 7, 22, 23], "bottom": 23, "bound": 25, "boundari": 1, "box": 1, "brake": [7, 9, 25], "brigitt": 2, "buffer_s": 24, "c": [7, 18, 23], "calcul": 9, "call": [8, 10, 12, 13, 14, 15, 16, 17, 18, 21], "callabl": [1, 18], "callback": 18, "can": [1, 4, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "canada": 2, "candid": 7, "captur": 21, "car": 2, "cartesian": [7, 8, 9], "cascad": 8, "case": [5, 6, 17, 23], "caus": 25, "cd": 22, "cell": 23, "center": [4, 7, 8, 9, 18, 23], "centering_posit": [10, 12, 13, 14, 15, 16, 18, 23, 24], "central": [4, 12, 22], "challeng": 25, "chang": [1, 2, 4, 7, 8, 16, 17, 21, 23, 24, 26], "change_lane_polici": 7, "change_vehicl": 21, "channel": [18, 23], "charl": 2, "check": [21, 23], "choic": [21, 25], "choos": [8, 25], "chosen": [7, 9, 18], "circl": 4, "circularlan": 4, "class": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23], "classif": 2, "classmethod": [4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21], "clip": [1, 23], "clockwis": 4, "close": [7, 17, 18, 21], "closest": [8, 23], "cmap": 23, "cnn": [17, 24], "co": [9, 25], "code": [17, 22], "coeffici": [7, 25], "collect": [7, 19, 23], "collect_data": 7, "collid": [10, 23], "collis": [5, 10, 12, 13, 15, 16, 25, 26], "collision_penalti": 25, "collision_reward": [10, 12, 15, 24], "color": 18, "column": 23, "com": [15, 18, 19, 20], "combin": 8, "come": [1, 12, 23], "comfort_acc_max": 7, "comfort_acc_min": 7, "command": [7, 8, 9], "common": [1, 18, 21, 22, 23], "complet": 9, "compon": 23, "compos": [3, 6, 25], "comput": [2, 4, 7, 8, 21], "compute_reward": 14, "condit": [14, 24], "confer": 2, "config": [1, 4, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24], "config_kei": 21, "configur": [1, 18, 22, 25, 26], "conflict": 5, "congest": 2, "consid": [6, 19, 23], "consist": [1, 2], "constant": [8, 21, 23], "constant_st": 9, "contain": [6, 21, 22, 23], "continu": [14, 15, 18, 26], "continuous_curv": 18, "continuous_lin": 18, "continuousact": [1, 14, 15], "contribut": [12, 19], "control": [2, 3, 7, 14, 15, 16, 21, 26], "controlled_vehicl": [1, 15, 22, 24], "controlledvehicl": [7, 8], "convent": [18, 25], "convers": [4, 23], "convert": [4, 8, 18, 23], "coordin": [4, 6, 18, 23], "copi": [7, 8, 9, 17, 21], "correspond": [1, 4, 8, 14, 17, 18, 21, 23], "cos_d": 23, "cos_h": [12, 14, 23], "could": [12, 22, 25], "cours": 12, "crash": [9, 16], "creat": [1, 4, 7, 8, 9, 18, 24, 26], "create_from": [7, 8, 9], "create_random": 9, "creation": 24, "credit": [14, 15], "cross": 24, "cruis": [1, 8], "current": [1, 6, 8, 9, 20, 21, 23, 25], "curv": [4, 24], "custom": 19, "customari": 23, "customis": [1, 23], "cut": 7, "d": [2, 7], "d_0": 7, "daan": 2, "data": [7, 21, 23], "datafram": 23, "david": 2, "deceler": 7, "decelr": 1, "decemb": 2, "decentr": 12, "decid": [6, 7, 22], "decis": [2, 7, 12, 19, 21], "dedic": 18, "deep": [2, 24, 25], "def": 22, "default": [1, 7, 8, 9, 18, 21, 23, 24], "default_config": [10, 12, 13, 14, 15, 16, 21], "default_initial_spe": 9, "default_width": 4, "defensivevehicl": 7, "defin": [1, 4, 6, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24, 25], "define_spac": [14, 21], "definit": 1, "delta": [1, 7, 8, 9], "delta_": 8, "delta_rang": 7, "demi": 2, "demonstr": 24, "dens": [2, 12], "densiti": 9, "depend": [9, 17, 20, 21], "deriv": 8, "describ": [3, 4, 5, 6, 10, 17, 19, 21, 22, 23], "descript": [3, 19, 23, 24], "desir": [1, 7, 8, 14, 21, 23, 25], "desired_gap": 7, "desired_go": 14, "destin": [8, 12, 23, 25], "detail": [10, 19], "detect": 23, "determin": [4, 5], "determinist": [2, 24], "dev": 20, "df": 23, "dharshan": 2, "dict": [1, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24], "dictat": 7, "dictionari": [6, 21, 23, 24], "did": [12, 21], "differ": [7, 17, 23], "dimens": 18, "direct": [1, 7, 8, 9, 23], "directli": [1, 23, 24, 25], "dirk": 2, "disabl": 1, "disambigu": 23, "discret": [7, 8, 26], "discreteact": 1, "discretemetaact": [1, 10, 12, 13, 16, 22, 24], "discretis": 23, "dispatch": 22, "displai": [5, 6, 9, 16, 18], "display_road_object": 18, "display_traff": 18, "distanc": [4, 7, 18, 21, 23, 25], "distance_w": 7, "distance_with_head": 4, "distant": 21, "divid": 23, "do": [7, 17, 25], "doe": [7, 17, 24], "doesn": [6, 7], "doi": 2, "done": [1, 16, 17, 18, 22, 23, 24], "dot": [7, 8, 9], "doubl": 24, "dqn": [17, 22, 23, 24], "dqnagent": 22, "draw": 18, "draw_strip": 18, "drawn": 18, "drive": [2, 5, 6, 8, 9, 10, 13, 18, 19, 21, 24, 25], "driver": 7, "dt": [5, 6, 7, 8, 9], "dtype": 22, "duel": 24, "dummi": 22, "durat": [8, 9, 10, 12, 15, 16, 24], "dure": [7, 18], "dynam": [1, 5, 6, 7, 8, 9, 12, 21, 24, 26], "e": [1, 2, 17], "each": [1, 5, 6, 8, 9, 12, 17, 18, 22, 23], "earli": 25, "edg": [1, 6], "edouard": [2, 19], "effect": 24, "ego": [1, 7, 10, 12, 13, 14, 16, 18, 21, 25], "ego_attention_2h": 22, "ego_spac": 24, "ego_vehicl": 7, "either": 1, "eleur": [15, 19, 20, 22, 24], "els": [8, 23], "emerg": 25, "empir": 2, "enabl": [1, 23], "enable_lane_chang": 7, "encod": 23, "encourag": 25, "end": [4, 6, 8, 9, 12, 18, 21, 22], "end_phas": 4, "enforc": 5, "enforce_road_rul": 5, "ensur": 4, "entiti": [5, 6], "entri": 17, "entry_point": 21, "enumer": 23, "env": [1, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24], "env_multi_ag": 22, "environ": [1, 3, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 26], "envview": 18, "episod": [12, 17, 21, 22, 24, 25], "episode_trigg": 17, "equal": 16, "equival": 1, "eras": 8, "errat": 9, "euclidean": 25, "evalu": 22, "even": [7, 18], "event": 18, "eventhandl": 1, "everi": [1, 3, 25], "exampl": [17, 21, 22], "except": 23, "execut": [1, 7, 12, 21, 22], "exist": [7, 8, 9, 21, 23], "exit": 23, "exit_env": 23, "exitobserv": 23, "expect": [12, 23, 25], "experi": [2, 22, 24], "expon": 7, "express": 16, "extens": 24, "f": 23, "fail": 12, "fals": [1, 4, 5, 6, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24], "faq": 24, "far": 22, "fast": [10, 16, 24], "faster": [1, 8, 23], "feasibl": 2, "featur": [7, 12, 14, 15, 25], "features_rang": [12, 23], "feel": 17, "few": 24, "fewer": 23, "ffmpeg": 20, "fidjeland": 2, "field": [21, 22, 23], "fig": 23, "figsiz": 23, "figur": [12, 22, 23, 24], "file": 26, "filip": 2, "fill": 23, "fill_road_layer_by_cel": 23, "fill_road_layer_by_lan": 23, "find": [5, 6, 8], "fine": 12, "first": [1, 5, 17, 18, 21, 22, 23], "fix": [4, 21, 23], "flag": 18, "flat": 23, "flatten": 12, "float": [1, 4, 5, 6, 7, 8, 9, 12, 14, 18, 21, 23], "float32": 22, "florent": 2, "flow": 16, "fluid": 2, "focu": 25, "follow": [1, 2, 6, 7, 8, 15, 16, 17, 18, 21, 23, 24], "follow_road": 8, "fong": 2, "forbid": 25, "forbidden": 4, "forward": [8, 9, 18], "found": [6, 25], "fp": 24, "frac": [7, 8, 9, 25], "frame": [4, 17, 18, 21, 23], "fran": 2, "free": 17, "freeli": 21, "frenet": 4, "frequenc": [7, 17, 18, 21], "friction": 1, "from": [4, 6, 7, 8, 9, 10, 14, 21, 22, 23, 24, 25], "from_config": 4, "front": [7, 8, 9, 25], "front_vehicl": 7, "full": [1, 24], "function": [21, 24, 25], "futur": [8, 9], "g": [2, 17], "gain": [7, 8], "gamma": 24, "gap": 7, "gather": 19, "gcc": 20, "gener": [2, 5, 6, 17, 21, 22, 25], "geometri": [4, 6, 21], "georg": 2, "geq": 7, "get": [1, 4, 8, 20, 22, 23], "get_available_act": 1, "get_cmap": 23, "get_imag": 18, "get_routes_at_intersect": 8, "git": 20, "github": [15, 19, 20], "give": [5, 6, 21, 23], "given": [4, 6, 7, 8, 9, 14, 17, 18, 21], "global": 4, "go": [4, 6], "goal": [14, 24, 26], "good": 12, "gradient_step": 24, "grai": 23, "graph": 6, "graphic": [20, 26], "grave": 2, "graviti": 9, "grayscal": [17, 26], "grayscaleobserv": 23, "green": 22, "grid": 26, "grid_siz": [15, 23], "grid_step": [15, 23], "guiba": 2, "guid": 19, "gym": [1, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23], "gymnasium": [1, 18, 21, 22, 23, 24], "h": [18, 23], "ha": [4, 15, 16, 20, 21, 22, 23, 24, 25], "handl": [8, 16, 18], "handle_ev": 18, "handler": 8, "hao": 2, "happen": 12, "hard": 12, "hasn": 16, "hassabi": 2, "have": [6, 7, 14, 21, 25], "he": 15, "head": [4, 7, 9, 14, 23], "heading_at": 4, "heading_weight": 4, "height": 16, "helb": 2, "helen": 2, "henneck": 2, "her": 24, "here": [10, 17, 21, 22, 23, 24], "hermit": 4, "high": [8, 10, 13, 14], "high_speed_reward": [10, 24], "higher": 7, "highwai": [1, 11, 13, 15, 18, 20, 22, 23, 24], "highway_dqn": 24, "highway_env": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "highwayenv": 10, "hindsight": [2, 24], "histori": 9, "history_s": 9, "hm08": [2, 24], "hook": 21, "horizon": 23, "horizont": [7, 8, 9], "hot": 23, "how": [1, 3, 7, 22, 24], "howev": [5, 17, 24, 25], "howpublish": 19, "hren": 2, "http": [15, 18, 19, 20], "human": 2, "hz": [10, 13, 16, 17], "i": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 21, 22, 24, 25], "id": [9, 21], "idea": [14, 15], "ideal": 12, "identifi": 6, "idl": [1, 23, 24], "idm": 7, "idmvehicl": [7, 10, 13, 16, 21, 24], "ieee": 2, "ignor": 1, "imag": [17, 18, 21, 24, 26], "image1": 20, "implement": [1, 4, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "import": [1, 3, 17, 21, 22, 23, 24], "impos": 7, "improv": 24, "imshow": [22, 23, 24], "incent": 7, "includ": [1, 5, 6, 22], "include_obstacl": 23, "incom": 13, "incoming_vehicle_destin": 16, "increas": [7, 23, 26], "inde": 17, "index": [1, 6, 7, 8, 23], "index_to_spe": 8, "induc": 7, "info": [12, 14, 17, 21, 22, 23, 24], "inform": [2, 14, 17, 21, 23], "infrastructur": 6, "infti": 23, "inherit": 21, "initi": [4, 8, 9, 14, 15, 18, 21, 22], "initial_lane_id": 24, "initial_spac": 10, "initial_vehicle_count": 12, "inlin": [22, 23, 24], "input": [8, 9, 18], "insid": [21, 25], "instal": [17, 18, 21], "instanc": [1, 4, 6, 7, 8, 9, 23, 24], "instead": [17, 25], "int": [1, 4, 7, 8, 9, 12, 18, 21, 23, 24], "integ": 6, "integr": 9, "intellig": [2, 7], "interdisciplinari": 2, "intermedi": [17, 21], "intersect": [1, 5, 6, 8, 11, 24], "intersection_env": 12, "intersectionenv": [12, 22], "interv": 1, "invari": [17, 25], "invert": 8, "involv": 21, "ioanni": 2, "is_conflict_poss": 5, "is_reachable_from": 4, "is_vis": 18, "issu": 15, "iter": 23, "its": [1, 4, 6, 7, 8, 9, 16, 17, 22, 24], "itself": 20, "j": [2, 23], "jam": 7, "jean": 2, "joel": 2, "jojo": 14, "jona": 2, "josh": 2, "journal": 19, "json": [4, 22], "junction": 13, "k": [2, 16, 18], "k_": 8, "k_p": 8, "kaichun": 2, "kavukcuoglu": 2, "keep": [12, 25], "kei": [1, 16, 18, 23], "kest": 2, "kinemat": [1, 2, 3, 6, 8, 10, 12, 22, 24, 26], "kinematicobserv": 23, "kinematicsgo": 14, "kinematicsgoalobserv": 23, "king": 2, "known": 4, "korai": 2, "kp_a": 8, "kth07": [2, 7], "kumaran": 2, "kurtosi": 14, "kwarg": [1, 23], "l": [8, 9, 18, 23], "l1": 4, "lab": 6, "label": 1, "lambda": 17, "landmark": [5, 6], "lane": [1, 2, 3, 5, 6, 7, 8, 9, 10, 16, 17, 18, 21, 22, 23, 24], "lane_centering_cost": 15, "lane_change_max_braking_impos": 7, "lane_change_min_acc_gain": 7, "lane_change_reward": 24, "lane_from": 9, "lane_id": 9, "lane_index": [6, 7], "lane_left": 1, "lane_perception_dist": 23, "lane_point": 4, "lane_right": 1, "lane_to": 9, "lanegraph": 18, "laneindex": 6, "lanes_count": [10, 24], "laptop": 24, "larg": 23, "last": [9, 21, 23], "lat": [4, 8, 18], "lat_": 23, "later": [1, 4, 12, 15, 18, 23], "latest": 20, "layer": [1, 23], "layer_index": 23, "lead": [7, 23, 25], "learn": [2, 15, 24, 25], "learning_r": 24, "learning_start": 24, "lectur": 2, "left": [7, 8, 18, 22, 23], "left_boundary_point": 4, "legg": 2, "length": [9, 18], "leonida": 2, "leurent": [2, 19], "level": [1, 2, 4, 8, 17], "libavcodec": 20, "libavformat": 20, "libfreetype6": 20, "libportmidi": 20, "librari": 24, "libsdl": 20, "libsdl1": 20, "libsmpeg": 20, "libswscal": 20, "lidar": 26, "lidarobserv": 23, "light": 12, "like": 23, "line": [4, 8, 18], "line_typ": 4, "linear": [7, 8], "linearli": 10, "linearvehicl": 7, "linetyp": 4, "list": [1, 3, 4, 5, 6, 7, 8, 9, 17, 18, 21, 23, 24], "lm19": [2, 17, 24], "load": [21, 24], "local": [4, 6, 17, 18], "local_angl": 4, "local_coordin": 4, "locat": [18, 23], "long": 17, "long_": 23, "long_offset": 4, "longi": 4, "longitudin": [1, 4, 9, 12, 15, 16, 18, 23], "look": [6, 23], "lookahead": 8, "low": [1, 8], "lower": [7, 21], "lp": 14, "m": [1, 4, 7, 8, 9, 10, 16, 18, 21, 23], "machin": 2, "mai": [7, 23, 25], "main": [4, 13], "maintain": [7, 13], "make": [1, 2, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 26], "maneuv": 7, "mani": [15, 18], "manual": [20, 21, 26], "manual_control": [1, 24], "map": [1, 10, 23], "marc": 2, "marcin": 2, "margin": [4, 18], "martin": 2, "matplotlib": [22, 23, 24], "matter": 12, "max": [23, 25], "max_i": 23, "max_spe": 9, "max_x": 23, "maxim": [1, 7], "maximum": [1, 7, 9, 21, 23, 25], "maximum_rang": 23, "mcgrew": 2, "mdpvehicl": 8, "meant": 21, "mechan": 1, "mercat": 2, "merg": [11, 24], "merge_env": 13, "mergeenv": 13, "meta": 26, "metaclass__": 4, "meter": 23, "method": [1, 4, 5, 7, 8, 9, 16, 21, 25], "mi": 2, "microscop": 2, "middl": 23, "might": 1, "min": [23, 25], "min_i": 23, "min_spe": 9, "min_x": 23, "minim": [1, 7], "minimum": [1, 7, 9, 25], "misc": 19, "mixer1": 20, "mk": [2, 25], "mlp": 24, "mlppolici": 24, "mnih": 2, "mo": 2, "mobil": [2, 7], "model": [2, 3, 7, 8, 9, 21, 22, 24], "modifi": [9, 21], "modul": [1, 21, 23], "modular": 21, "montreal": 2, "more": [7, 10, 12, 13, 14, 15, 16, 17, 21], "most": [1, 5, 22, 26], "move": [3, 9, 18, 23], "move_display_window_to": 18, "multi": [21, 26], "multiagentact": [1, 22], "multiagentobserv": 22, "multiagentwrapp": 21, "multilan": 10, "munir": 14, "muno": 2, "must": [1, 6, 14, 18, 20, 21, 22, 24, 25], "my": [12, 24], "n": 7, "name": [1, 23], "narrow": 25, "natur": [2, 23], "ncol": 23, "ndarrai": [1, 4, 7, 8, 9, 12, 14, 18, 21, 23], "nearbi": [7, 23], "nearest": 23, "need": [15, 17], "neg": 25, "negoti": [12, 13], "neighbour": [6, 10], "neighbour_vehicl": 6, "net_arch": 24, "network": [5, 6, 8, 21, 23], "neural": 2, "neurip": 2, "new": [4, 5, 6, 7, 8, 9, 17, 21], "next": [8, 12, 21, 23], "next_ob": 22, "next_obs_i": 22, "node": [6, 8, 9], "non": [4, 7, 8, 23], "none": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24], "norm": [14, 25], "normal": [14, 23, 25], "normalis": [4, 23], "normalize_ob": 23, "normalize_reward": [12, 24], "note": [2, 25], "notebook": 24, "novel": [2, 17], "now": [7, 13, 21, 22, 23], "np": [1, 4, 5, 6, 21], "np_random": [5, 6], "nrow": 22, "number": [5, 6, 9, 16, 18, 23, 24, 26], "numpi": 20, "nut": 19, "o": [7, 18], "o1": 12, "ob": [17, 21, 22, 23, 24], "object": [4, 5, 6, 7, 8, 9, 10, 13, 18, 21, 23], "object_": 18, "obs_i": 22, "observ": [1, 2, 10, 12, 13, 14, 15, 16, 21, 24, 25, 26], "observation_config": 22, "observation_factori": 23, "observation_shap": 23, "observe_intent": [12, 23], "obstacl": [5, 6, 23], "obtain": [6, 24], "occup": 26, "occupancygrid": [15, 23], "occupancygridobserv": 23, "off": 23, "offroad": 23, "offroad_termin": 24, "offscreen": 18, "offscreen_rend": [10, 13, 14, 15, 16, 24], "offset": [18, 23], "often": [12, 25], "oi": 2, "old": 7, "on_lan": 4, "on_road": 15, "onc": 21, "one": [7, 8, 9, 18, 22], "ongo": 21, "onli": [1, 7, 9, 21, 22, 24, 25], "onroad": 23, "opd": 24, "openai": 24, "optim": [21, 25], "optimist": 2, "option": [4, 19, 21], "order": [1, 9, 17, 22, 23, 25], "origin": 18, "origin_po": 18, "oscil": 4, "ostrovski": 2, "other": [5, 7, 8, 9, 10, 12, 15, 21, 22, 23], "other_valu": 21, "other_vehicl": 15, "other_vehicles_typ": [10, 13, 16, 24], "otherwis": 23, "output": [7, 17], "over": 23, "overal": 7, "overload": [10, 12, 13, 14, 15, 16, 21, 25], "overrid": 7, "overridden": 9, "overwritten": 21, "own": [7, 12, 22, 26], "p": [7, 8, 14, 25], "packag": 19, "page": [2, 24], "pair": [17, 21, 23], "paltchedandrean17": [2, 9], "param": [18, 23], "paramet": [1, 4, 5, 6, 7, 8, 9, 12, 14, 18, 21, 23, 25], "parametr": [4, 24], "parametris": 7, "park": [11, 23, 24, 25], "parking_env": 14, "parkingenv": 14, "part": [21, 23], "particular": 25, "pass": [16, 22, 23], "past": 17, "path": [21, 22], "penalti": 25, "per": 23, "perception_dist": 21, "perform": [1, 7, 8, 12, 21, 23, 24], "permut": 17, "perspect": 25, "peter": 2, "petersen": 2, "phase": 4, "philip": 2, "physic": [2, 3], "piec": 19, "pieter": 2, "pilot": 8, "pip": 20, "pix": 18, "pixel": 18, "place": [7, 8, 9, 23], "placehold": 23, "plan": [2, 8, 16, 24], "plan_route_to": 8, "plasma": 2, "pleas": 19, "plt": [22, 23, 24], "po": 18, "point": [1, 2, 4], "pointnet": 2, "polack": 2, "polici": [7, 21, 22, 24, 25], "policy_frequ": [10, 13, 14, 15, 16, 23, 24], "policy_kwarg": 24, "polit": 7, "polylan": 4, "polylanefixedwidth": 4, "polynomi": 4, "popul": [10, 21], "pos2pix": 18, "pos_to_index": 23, "posit": [4, 6, 7, 9, 14, 18, 23], "possibl": [16, 17, 25], "possibli": 7, "ppo": 17, "pprint": [22, 24], "practic": 25, "pre": 1, "preced": [6, 7], "predict": [5, 8, 9, 12, 22, 23, 24], "predict_trajectori": [8, 9], "predict_trajectory_constant_spe": 8, "predition_typ": 9, "prefer": 25, "presenc": [12, 15], "present": 21, "preserv": 21, "principl": 24, "print": 23, "priorit": 24, "prioriti": [4, 5], "prng": 21, "probabl": 17, "problem": 25, "process": [1, 2], "profit": 26, "progress": 25, "project": [6, 7, 19, 20, 25], "propag": 9, "properti": [1, 7, 8, 9, 21], "proport": 8, "provid": [4, 8, 17, 18, 19, 21, 24], "proxim": 14, "pseudo": 22, "psi": [8, 9, 25], "psi_": 8, "psi_g": 25, "psi_l": 8, "psi_r": 8, "pub": 6, "publish": 19, "pull": 21, "pulsat": 4, "purpos": [12, 19], "px": [10, 13, 16, 18], "py": [21, 22], "pygam": [16, 18, 20], "pyplot": [22, 23, 24], "python": [20, 21, 22], "python3": 20, "q": 24, "qi": 2, "qsmg17": [2, 17], "quantiz": 1, "quick": [19, 24], "quickli": 25, "quit": 12, "r": [2, 7, 8, 25], "racetrack": [11, 24], "racetrack_env": 15, "racetrackenv": 15, "rachel": 2, "rad": [1, 4, 7, 8], "radian": 23, "radiu": 4, "rai": 2, "ramp": 13, "random": [5, 6, 9, 24], "randomli": [7, 9], "randomst": [5, 6], "rang": [1, 7, 8, 9, 10, 23, 24, 25], "rate": 8, "rather": [1, 25], "ratio": 9, "reach": [7, 10, 14], "reachabl": [1, 4, 9], "real": 23, "real_time_rend": 24, "realist": [7, 25], "rear_vehicl": 7, "reason": [7, 12, 17], "receiv": 10, "recent": [5, 6], "recommend": 20, "record": [2, 5, 6, 17], "record_histori": [5, 6], "recordvideo": [17, 21], "recov": 7, "recover_from_stop": 7, "rectangl": [18, 23], "refer": [8, 21], "regist": [17, 26], "register_highway_env": [17, 21], "registr": 21, "regress": 7, "regul": 3, "regularli": 23, "regulatedroad": 5, "reinforc": [2, 24, 25], "reinstal": 21, "rel": 23, "relat": 2, "remov": 21, "render": [17, 18, 21, 22, 23, 24], "render_ag": [10, 13, 14, 15, 16, 24], "render_mod": [10, 12, 13, 14, 15, 16, 21, 22, 23, 24], "repeat": 9, "replac": 25, "replai": [2, 24], "repositori": [17, 19], "repres": [6, 9, 18, 23], "request": 21, "requir": [7, 20, 21], "research": 2, "reset": [1, 17, 18, 21, 22, 23, 24], "resolut": 23, "resolv": 5, "resp": 7, "respect": [1, 7, 8, 18, 25], "respect_prior": 5, "respons": 9, "result": [12, 24], "return": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23, 25], "reus": 17, "revers": 7, "review": 2, "revisit": 17, "reward": [10, 12, 13, 14, 17, 21, 22, 23, 24, 26], "reward_nam": 21, "reward_speed_rang": [10, 24], "reward_valu": 21, "rgb": [18, 23], "rgb_arrai": [22, 23, 24], "riedmil": 2, "right": [4, 5, 7, 8, 10, 18, 22, 23], "right_boundary_point": 4, "right_lane_reward": 24, "rightmost": 10, "risk": 25, "rl": [22, 24], "rlss": 24, "road": [1, 4, 7, 8, 9, 10, 12, 13, 18, 21, 23, 25, 26], "road_network": 6, "road_object": [5, 6], "roadgraph": 18, "roadnetwork": [3, 5, 6, 21], "roadobject": [6, 18], "roadobjectgraph": 18, "roadsurfac": 18, "robust": 25, "room": 13, "rotat": 18, "roundabout": [11, 18, 24], "roundabout_env": 16, "roundaboutenv": 16, "rout": [7, 8, 16], "row": 23, "rudimentari": 12, "rule": 5, "run": [16, 17, 21, 22, 24], "rusu": 2, "s2": [7, 8], "s_g": 25, "sadik": 2, "safe": [7, 13, 25], "safeti": 7, "sake": 22, "same": [7, 8, 9], "sampl": [1, 17, 21], "satisfi": 25, "save": [8, 9, 24], "sb3": [17, 24], "scalar": 21, "scale": [10, 12, 13, 14, 15, 16, 18, 23, 24, 25], "scene": [17, 23, 26], "schedul": 12, "schneider": 2, "scienc": 2, "screen": 18, "screen_height": [10, 12, 13, 14, 15, 16, 18, 24], "screen_width": [10, 12, 13, 14, 15, 16, 18, 24], "script": [22, 24], "search": 8, "second": [5, 6, 16, 21, 22], "section": 3, "sector": 23, "see": [15, 17, 21, 22, 23, 24, 25], "see_behind": 23, "seed": [21, 22, 24], "segment": 2, "self": [21, 22], "send": [17, 22], "sensit": 17, "separ": [1, 18], "sequenc": [4, 7, 8, 9, 18, 23], "serial": 4, "set": [1, 2, 4, 5, 6, 8, 14, 18, 23, 26], "set_agent_action_sequ": 18, "set_agent_displai": 18, "set_record_video_wrapp": 17, "set_route_at_intersect": 8, "set_titl": 22, "setpoint": 1, "setup": 21, "sever": [1, 7, 10, 12, 17, 21, 23, 24], "shane": 2, "shape": 23, "shift": 25, "should": [5, 6, 7, 17, 18, 21, 22, 23, 25], "show": [22, 23, 24], "show_rect": 18, "show_trajectori": [10, 13, 14, 15, 16, 24], "shuffl": 23, "side": [4, 10, 18], "silver": 2, "similarli": 1, "simpl": [7, 8, 12, 25], "simpli": 12, "simplifi": 21, "simul": [1, 2, 7, 8, 9, 12, 17, 18, 21, 23], "simulation_frequ": [10, 13, 14, 15, 16, 18, 24], "sin": [9, 25], "sin_d": 23, "sin_h": [12, 14, 23], "sinc": [12, 22, 23, 25], "sinelan": 4, "singl": [17, 21, 22, 25], "sinusoid": 4, "situat": 12, "size": [18, 22, 23, 24], "skill": 15, "slightli": 18, "slip": 9, "slower": [1, 8], "small": 23, "smaller": 16, "so": [1, 7, 13, 14, 17, 18, 21, 23], "social": [2, 24], "some": [1, 5, 8, 13, 25], "sometim": 12, "soon": 13, "sophist": 12, "sort": 23, "sourc": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23], "south": 23, "southeast": 16, "space": [1, 7, 9, 14, 18, 21, 23, 26], "spawn": 9, "spawn_prob": 12, "specif": [10, 12, 13, 14, 15, 16, 18, 23], "specifi": [1, 8, 21, 25], "speed": [1, 7, 8, 9, 10, 13, 14, 21, 25], "speed_control": 8, "speed_limit": 4, "speed_rang": 1, "speed_to_index": 8, "speed_to_index_default": 8, "speedup": 10, "spike": 25, "sqrt": 7, "stabl": 24, "stable_baselines3": 24, "stack_siz": 23, "stackoverflow": 18, "stai": [10, 23], "standard": 22, "start": [4, 6, 9, 13, 18, 19], "start_phas": 4, "state": [2, 7, 8, 9, 17, 21, 22, 23, 25], "static": [5, 18], "statist": 2, "steer": [1, 7, 8, 9, 14], "steering_control": [7, 8], "steering_featur": 7, "steering_rang": 1, "step": [1, 5, 6, 7, 9, 12, 16, 17, 21, 22, 23, 24], "step_i": 23, "step_x": 23, "stig": 2, "still": [16, 21], "stop": [5, 7, 9], "store": [6, 7, 9], "str": [7, 8, 9, 10, 12, 13, 14, 15, 16, 21, 23], "straight": [4, 10, 23], "straightforward": 25, "straightlan": 4, "string": 6, "stripe": 18, "stripe_length": 18, "stripe_spac": 18, "stripe_width": 18, "striped_lin": 18, "stripes_count": 18, "struggl": 17, "stuck": 7, "su": 2, "sub": 17, "subclass": 1, "subplot": [22, 23], "subvers": 20, "sudo": 20, "suffer": 25, "suggest": [7, 17], "suitabl": 17, "sum": 23, "sum_i": 25, "supperted825": 15, "supplementari": [4, 14], "support": [7, 22], "surf": 18, "surfac": [7, 8, 9, 26], "switch": 8, "symposium": 2, "system": [2, 4, 9, 12, 18], "s\u00b2": 1, "t": [6, 7, 16, 23], "take": [1, 5, 7, 23, 24], "tan": 9, "target": [1, 5, 7, 8], "target_lane_index": [7, 8], "target_spe": [1, 7, 8], "target_update_interv": 24, "target_veloc": 7, "task": [10, 12, 13, 14, 16, 21, 24], "tend": 17, "tensorboard_log": 24, "term": [7, 25], "termin": [12, 21, 25], "test": [18, 24], "text": [7, 8, 25], "th": 7, "than": [1, 7, 17, 23, 25], "thank": [15, 18], "thei": [1, 5, 7, 13, 18, 23, 25], "them": [5, 18, 24, 25], "themselv": 21, "thh00": [2, 7], "thi": [1, 4, 7, 10, 12, 13, 16, 17, 20, 21, 22, 23, 24, 25], "thing": 12, "third": 2, "thirti": 2, "those": [8, 24], "though": 7, "three": 23, "throttl": [1, 8], "through": [1, 2, 3, 5, 8, 21, 25], "thu": [1, 17, 25], "tild": 7, "time": [3, 5, 7, 8, 16, 24, 25, 26], "time_w": 7, "timer": 7, "timestep": [5, 6, 7, 8, 9, 12, 21], "timetocollis": [13, 16, 23], "timetocollisionobserv": 23, "titl": [19, 22], "to_config": 4, "tobin": 2, "too": 12, "top": [1, 8, 23], "topic": 2, "topologi": [6, 21], "toward": 23, "track": [1, 8, 15], "traffic": [2, 12, 13, 16], "train": 22, "train_freq": 24, "trajectori": [2, 5, 6, 8, 9, 24, 25], "trajectory_timestep": [8, 9], "transform": 21, "transit": 22, "transpar": 18, "transport": 2, "treiber": 2, "trigger": 7, "trigonometr": 23, "true": [1, 4, 7, 10, 12, 13, 14, 15, 16, 17, 23, 24], "truncat": [12, 16, 17, 21, 22, 23, 24], "try": [5, 7], "ttf2": 20, "tupl": [1, 4, 6, 7, 8, 12, 18, 21, 22, 23], "turn": 8, "tutori": 24, "tv": 7, "two": [3, 5, 7, 8, 15, 17, 18, 22, 23, 25], "type": [1, 4, 10, 12, 13, 14, 15, 16, 21, 22, 23, 24], "typic": 17, "unavail": 1, "uncertain": 25, "under": 8, "underbrac": 7, "uniform": [1, 8, 23], "uniqu": 6, "unsaf": 7, "until": [5, 9, 12, 21], "unwrap": [17, 21, 22, 23, 24], "up": [12, 26], "updat": [8, 9, 18, 20, 22, 23], "upon": 1, "url": 19, "us": [1, 7, 8, 9, 14, 18, 19, 20, 21, 23, 24, 25], "user": 20, "usual": [5, 17], "v": [7, 8, 9, 23, 25], "v0": [1, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "v1": 5, "v2": 5, "v_": [8, 25], "v_0": 7, "v_r": 8, "v_x": 25, "v_y": [23, 25], "valu": [1, 16, 21, 23, 24], "vanilla": 24, "variabl": 16, "variat": 8, "variou": 21, "vec": 18, "vec2pix": 18, "vector": [1, 21], "vehicl": [1, 2, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 24, 25, 26], "vehicle_class": [1, 21], "vehicle_class_path": 21, "vehiclegraph": 18, "vehicles_count": [10, 12, 22, 23, 24], "vehicles_dens": 24, "veloc": [1, 5, 7, 8, 23, 25], "veness": 2, "verbos": 24, "verg": 14, "version": 22, "video": [21, 22, 24], "video_fold": 17, "viewer": [18, 21], "visibl": 18, "visual": 18, "visualis": 22, "volodymyr": 2, "vx": [12, 14, 23], "vy": [12, 14, 23], "w": [7, 18, 23, 25], "w_i": 25, "wa": [12, 14, 18], "wai": [4, 5, 12, 17, 24], "wait": 12, "waypoint": 23, "we": [14, 17, 18, 20, 21, 23, 25], "weight": [4, 7, 14, 23, 25], "welcom": [12, 21], "welind": 2, "west": 23, "what": [22, 23], "wheel": [7, 8, 9], "when": [5, 7, 8, 10], "where": [1, 6, 7, 8, 9, 14, 15, 21, 23, 25], "whether": [1, 4, 5, 6, 7, 18, 21, 23], "which": [1, 4, 5, 6, 7, 8, 12, 14, 17, 18, 20, 21, 22, 23, 24, 25], "while": [1, 9, 10, 13, 15, 16, 17, 21, 22, 24], "who": [4, 5], "whole": 21, "whose": [6, 7], "why": 7, "width": [4, 9, 16, 18], "width_at": 4, "wierstra": 2, "window": [16, 18], "window_posit": 18, "wish": 25, "within": 23, "without": 18, "wojciech": 2, "wolski": 2, "work": 17, "workshop": 2, "world": [4, 23, 26], "worldsurfac": 18, "would": [18, 23, 25], "wrap": [17, 21, 26], "wrapper": [17, 21], "write": 4, "written": 24, "wrong": 7, "x": [1, 4, 9, 12, 14, 18, 23, 25], "x15": 10, "x_g": 25, "x_i": 25, "y": [4, 9, 12, 14, 18, 20, 23, 25], "y_g": 25, "yaw": 8, "year": 19, "yield": [5, 8, 24, 25], "you": [17, 19, 21, 23], "your": 26, "your_env": 21, "yourenv": 21, "zaremba": 2, "zero": 23, "zip": 22, "zoom": 18, "\u00e7": 2, "\u00e9": 2}, "titles": ["404", "Actions", "Bibliography", "Dynamics", "Lane", "Road regulation", "Road", "Behavior", "Control", "Kinematics", "Highway", "The environments", "Intersection", "Merge", "Parking", "Racetrack", "Roundabout", "Frequently Asked Questions", "Graphics", "Welcome to highway-env\u2019s documentation!", "Installation", "Make your own environment", "The Multi-Agent setting", "Observations", "Getting Started", "Rewards", "User Guide"], "titleterms": {"": 19, "10": 20, "404": 0, "Not": 0, "The": [11, 22], "action": [1, 22], "agent": [17, 22, 24], "all": 24, "an": [17, 24], "api": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23], "ar": 17, "ask": 17, "behavior": 7, "bibliographi": 2, "bit": 23, "chang": 22, "cite": 19, "close": 23, "colab": 24, "collis": 23, "configur": [10, 12, 13, 14, 15, 16, 21, 23, 24], "continu": 1, "control": [1, 8, 22], "creat": 21, "default": [10, 12, 13, 14, 15, 16], "develop": 20, "discret": 1, "document": 19, "doesn": 17, "drive": 23, "dynam": 3, "east": 23, "ego": 23, "env": 19, "environ": [11, 17, 21, 24, 25], "error": 17, "exampl": [23, 24], "exist": 17, "farther": 23, "fast": 17, "faster": 10, "featur": 23, "file": 21, "found": 0, "framer": 17, "frequent": 17, "get": [17, 24], "goal": 25, "googl": 24, "graphic": 18, "grayscal": 23, "grid": 23, "guid": 26, "gymnasium": 17, "have": 17, "head": 8, "highwai": [10, 17, 19], "how": 19, "i": [17, 23], "illustr": 23, "imag": 23, "increas": 22, "instal": 20, "intersect": 12, "kinemat": [9, 17, 23], "lane": 4, "later": [7, 8], "lidar": 23, "longitudin": [7, 8], "low": 17, "make": [17, 21, 24], "manual": 1, "mechan": 23, "merg": 13, "meta": 1, "mlp": 17, "model": 17, "most": 25, "multi": 22, "my": 17, "namenotfound": 17, "north": 23, "number": 22, "observ": [17, 22, 23], "occup": 23, "one": 23, "optim": 17, "own": 21, "page": 0, "park": 14, "polici": 17, "posit": 8, "prerequisit": 20, "presenc": 23, "profit": 21, "question": 17, "racetrack": 15, "regist": 21, "regul": 5, "releas": 20, "result": 17, "reward": 25, "road": [3, 5, 6], "roundabout": 16, "same": 23, "scene": [18, 21], "set": [21, 22], "slower": 23, "space": 22, "speed": 23, "stabl": 20, "stack": 23, "start": 24, "surfac": 18, "t": 17, "thi": 19, "time": 23, "too": 17, "train": [17, 24], "try": 17, "ubuntu": 20, "up": [21, 22], "us": 17, "usag": [10, 12, 13, 14, 15, 16], "user": 26, "v_x": 23, "variant": 10, "vehicl": [3, 21, 22, 23], "version": 20, "video": 17, "welcom": 19, "when": 17, "why": 17, "window": 20, "work": 19, "world": 18, "wrap": 22, "your": 21}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"404": [[0, null]], "API": [[1, "module-highway_env.envs.common.action"], [4, "module-highway_env.road.lane"], [5, "module-highway_env.road.regulation"], [6, "module-highway_env.road.road"], [7, "module-highway_env.vehicle.behavior"], [8, "module-highway_env.vehicle.controller"], [9, "module-highway_env.vehicle.kinematics"], [10, "api"], [12, "api"], [13, "api"], [14, "api"], [15, "api"], [16, "api"], [18, "module-highway_env.envs.common.graphics"], [21, "module-highway_env.__init__"], [23, "module-highway_env.envs.common.observation"]], "Actions": [[1, null]], "All the environments": [[24, "all-the-environments"]], "Behavior": [[7, null]], "Bibliography": [[2, null]], "Change the action space": [[22, "change-the-action-space"]], "Change the observation space": [[22, "change-the-observation-space"]], "Configuring an environment": [[24, "configuring-an-environment"]], "Continuous Actions": [[1, "continuous-actions"]], "Control": [[8, null]], "Create the scene": [[21, "create-the-scene"]], "Create the vehicles": [[21, "create-the-vehicles"]], "Default configuration": [[10, "default-configuration"], [12, "default-configuration"], [13, "default-configuration"], [14, "default-configuration"], [15, "default-configuration"], [16, "default-configuration"]], "Development version": [[20, "development-version"]], "Discrete Actions": [[1, "discrete-actions"]], "Discrete Meta-Actions": [[1, "discrete-meta-actions"]], "Dynamics": [[3, null]], "Example configuration": [[23, "example-configuration"], [23, "grayscale-example-configuration"], [23, "id4"], [23, "id5"], [23, "id6"]], "Examples on Google Colab": [[24, "examples-on-google-colab"]], "Faster variant": [[10, "faster-variant"]], "Frequently Asked Questions": [[17, null]], "Getting Started": [[24, null]], "Goal environments": [[25, "goal-environments"]], "Graphics": [[18, null]], "Grayscale Image": [[23, "grayscale-image"]], "Heading control": [[8, "heading-control"]], "Highway": [[10, null]], "How to cite this work?": [[19, "how-to-cite-this-work"]], "I try to train an agent using the Kinematics Observation and an MLP model, but the resulting policy is not optimal. Why?": [[17, "i-try-to-train-an-agent-using-the-kinematics-observation-and-an-mlp-model-but-the-resulting-policy-is-not-optimal-why"]], "Illustration of the stack mechanism": [[23, "illustration-of-the-stack-mechanism"]], "Increase the number of controlled vehicles": [[22, "increase-the-number-of-controlled-vehicles"]], "Installation": [[20, null]], "Intersection": [[12, null]], "Kinematics": [[9, null], [23, "kinematics"]], "Lane": [[4, null]], "Lateral Behavior": [[7, "lateral-behavior"]], "Lateral controller": [[8, "lateral-controller"]], "Lidar": [[23, "lidar"]], "Longitudinal Behavior": [[7, "longitudinal-behavior"]], "Longitudinal controller": [[8, "longitudinal-controller"]], "Make the environment configurable": [[21, "make-the-environment-configurable"]], "Make your own environment": [[21, null]], "Making an environment": [[24, "making-an-environment"]], "Manual control": [[1, "manual-control"]], "Merge": [[13, null]], "Most environments": [[25, "most-environments"]], "My videos are too fast / have a low framerate.": [[17, "my-videos-are-too-fast-have-a-low-framerate"]], "Observations": [[23, null]], "Occupancy grid": [[23, "occupancy-grid"]], "Page Not Found": [[0, "page-not-found"]], "Parking": [[14, null]], "Position control": [[8, "position-control"]], "Prerequisites": [[20, "prerequisites"]], "Profit": [[21, "profit"]], "Racetrack": [[15, null]], "Register the environment": [[21, "register-the-environment"]], "Rewards": [[25, null]], "Road": [[6, null]], "Road regulation": [[5, null]], "Roads": [[3, "roads"]], "Roundabout": [[16, null]], "Scene graphics": [[18, "scene-graphics"]], "Set up files": [[21, "set-up-files"]], "Stable release": [[20, "stable-release"]], "The Multi-Agent setting": [[22, null]], "The environments": [[11, null]], "Time to collision": [[23, "time-to-collision"]], "Training an agent": [[24, "training-an-agent"]], "Ubuntu": [[20, "ubuntu"]], "Usage": [[10, "usage"], [12, "usage"], [13, "usage"], [14, "usage"], [15, "usage"], [16, "usage"]], "User Guide": [[26, null]], "Vehicles": [[3, "vehicles"]], "Welcome to highway-env\u2019s documentation!": [[19, null]], "When I try to make an environment, I get an error gymnasium.error.NameNotFound: Environment highway doesn't exist.": [[17, "when-i-try-to-make-an-environment-i-get-an-error-gymnasium-error-namenotfound-environment-highway-doesn-t-exist"]], "Windows 10": [[20, "windows-10"]], "World surface": [[18, "world-surface"]], "Wrapping it up": [[22, "wrapping-it-up"]], "presence feature: one vehicle is close to the north, and one is farther to the east.": [[23, "id7"]], "the Lidar observation": [[23, "id9"]], "v_x feature: the north vehicle drives at the same speed as the ego-vehicle, and the east vehicle a bit slower": [[23, "id8"]]}, "docnames": ["404", "actions/index", "bibliography/index", "dynamics/index", "dynamics/road/lane", "dynamics/road/regulation", "dynamics/road/road", "dynamics/vehicle/behavior", "dynamics/vehicle/controller", "dynamics/vehicle/kinematics", "environments/highway", "environments/index", "environments/intersection", "environments/merge", "environments/parking", "environments/racetrack", "environments/roundabout", "faq", "graphics/index", "index", "installation", "make_your_own", "multi_agent", "observations/index", "quickstart", "rewards/index", "user_guide"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["404.md", "actions/index.md", "bibliography/index.md", "dynamics/index.md", "dynamics/road/lane.md", "dynamics/road/regulation.md", "dynamics/road/road.md", "dynamics/vehicle/behavior.md", "dynamics/vehicle/controller.md", "dynamics/vehicle/kinematics.md", "environments/highway.md", "environments/index.md", "environments/intersection.md", "environments/merge.md", "environments/parking.md", "environments/racetrack.md", "environments/roundabout.md", "faq.md", "graphics/index.md", "index.md", "installation.md", "make_your_own.md", "multi_agent.md", "observations/index.md", "quickstart.md", "rewards/index.md", "user_guide.md"], "indexentries": {"_automatic_rendering() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._automatic_rendering", false]], "_info() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._info", false]], "_is_terminated() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._is_terminated", false]], "_is_truncated() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._is_truncated", false]], "_register_highway_envs() (in module highway_env.__init__)": [[21, "highway_env.__init__._register_highway_envs", false]], "_reset() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._reset", false]], "_reward() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._reward", false]], "_rewards() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._rewards", false]], "_simulate() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._simulate", false]], "abstractenv (class in highway_env.envs.common.abstract)": [[21, "highway_env.envs.common.abstract.AbstractEnv", false]], "abstractlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.AbstractLane", false]], "acc_max (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.ACC_MAX", false]], "acceleration() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.acceleration", false]], "acceleration() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.acceleration", false]], "acceleration_range (highway_env.envs.common.action.continuousaction attribute)": [[1, "highway_env.envs.common.action.ContinuousAction.ACCELERATION_RANGE", false]], "act() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.act", false]], "act() (highway_env.envs.common.action.continuousaction method)": [[1, "highway_env.envs.common.action.ContinuousAction.act", false]], "act() (highway_env.envs.common.action.discreteaction method)": [[1, "highway_env.envs.common.action.DiscreteAction.act", false]], "act() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.act", false]], "act() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.act", false]], "act() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.act", false]], "act() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.act", false]], "act() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.act", false]], "act() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.act", false]], "act() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.act", false]], "act() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.act", false]], "actions_all (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_ALL", false]], "actions_lat (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_LAT", false]], "actions_longi (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_LONGI", false]], "actiontype (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.ActionType", false]], "aggressivevehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.AggressiveVehicle", false]], "blit_rotate() (highway_env.road.graphics.roadobjectgraphics static method)": [[18, "highway_env.road.graphics.RoadObjectGraphics.blit_rotate", false]], "change_lane_policy() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.change_lane_policy", false]], "change_vehicles() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.change_vehicles", false]], "circularlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.CircularLane", false]], "close() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.close", false]], "close() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.close", false]], "collect_data() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.collect_data", false]], "comfort_acc_max (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.COMFORT_ACC_MAX", false]], "comfort_acc_min (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.COMFORT_ACC_MIN", false]], "compute_reward() (highway_env.envs.parking_env.parkingenv method)": [[14, "highway_env.envs.parking_env.ParkingEnv.compute_reward", false]], "continuous_curve() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.continuous_curve", false]], "continuous_line() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.continuous_line", false]], "continuousaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.ContinuousAction", false]], "controlled_vehicle (highway_env.envs.common.action.actiontype property)": [[1, "highway_env.envs.common.action.ActionType.controlled_vehicle", false]], "controlledvehicle (class in highway_env.vehicle.controller)": [[8, "highway_env.vehicle.controller.ControlledVehicle", false]], "create_from() (highway_env.vehicle.behavior.idmvehicle class method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.create_from", false]], "create_from() (highway_env.vehicle.controller.controlledvehicle class method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.create_from", false]], "create_from() (highway_env.vehicle.kinematics.vehicle class method)": [[9, "highway_env.vehicle.kinematics.Vehicle.create_from", false]], "create_random() (highway_env.vehicle.kinematics.vehicle class method)": [[9, "highway_env.vehicle.kinematics.Vehicle.create_random", false]], "default_config() (highway_env.envs.common.abstract.abstractenv class method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.default_config", false]], "default_config() (highway_env.envs.highway_env.highwayenv class method)": [[10, "highway_env.envs.highway_env.HighwayEnv.default_config", false]], "default_config() (highway_env.envs.intersection_env.intersectionenv class method)": [[12, "highway_env.envs.intersection_env.IntersectionEnv.default_config", false]], "default_config() (highway_env.envs.merge_env.mergeenv class method)": [[13, "highway_env.envs.merge_env.MergeEnv.default_config", false]], "default_config() (highway_env.envs.parking_env.parkingenv class method)": [[14, "highway_env.envs.parking_env.ParkingEnv.default_config", false]], "default_config() (highway_env.envs.racetrack_env.racetrackenv class method)": [[15, "highway_env.envs.racetrack_env.RacetrackEnv.default_config", false]], "default_config() (highway_env.envs.roundabout_env.roundaboutenv class method)": [[16, "highway_env.envs.roundabout_env.RoundaboutEnv.default_config", false]], "default_initial_speeds (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.DEFAULT_INITIAL_SPEEDS", false]], "defensivevehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.DefensiveVehicle", false]], "define_spaces() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.define_spaces", false]], "define_spaces() (highway_env.envs.parking_env.parkingenv method)": [[14, "highway_env.envs.parking_env.ParkingEnv.define_spaces", false]], "delta (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DELTA", false]], "delta_range (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DELTA_RANGE", false]], "desired_gap() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.desired_gap", false]], "discreteaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.DiscreteAction", false]], "discretemetaaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.DiscreteMetaAction", false]], "display() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.display", false]], "display() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.display", false]], "display() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display", false]], "display() (highway_env.road.graphics.roadobjectgraphics class method)": [[18, "highway_env.road.graphics.RoadObjectGraphics.display", false]], "display_road_objects() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display_road_objects", false]], "display_traffic() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display_traffic", false]], "distance() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.distance", false]], "distance_wanted (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DISTANCE_WANTED", false]], "distance_with_heading() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.distance_with_heading", false]], "draw_stripes() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.draw_stripes", false]], "enforce_road_rules() (highway_env.road.regulation.regulatedroad method)": [[5, "highway_env.road.regulation.RegulatedRoad.enforce_road_rules", false]], "envviewer (class in highway_env.envs.common.graphics)": [[18, "highway_env.envs.common.graphics.EnvViewer", false]], "exitobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.ExitObservation", false]], "fill_road_layer_by_cell() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.fill_road_layer_by_cell", false]], "fill_road_layer_by_lanes() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.fill_road_layer_by_lanes", false]], "follow_road() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.follow_road", false]], "from_config() (highway_env.road.lane.abstractlane class method)": [[4, "highway_env.road.lane.AbstractLane.from_config", false]], "from_config() (highway_env.road.lane.circularlane class method)": [[4, "highway_env.road.lane.CircularLane.from_config", false]], "from_config() (highway_env.road.lane.polylanefixedwidth class method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.from_config", false]], "from_config() (highway_env.road.lane.sinelane class method)": [[4, "highway_env.road.lane.SineLane.from_config", false]], "from_config() (highway_env.road.lane.straightlane class method)": [[4, "highway_env.road.lane.StraightLane.from_config", false]], "get_available_actions() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.get_available_actions", false]], "get_available_actions() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.get_available_actions", false]], "get_available_actions() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.get_available_actions", false]], "get_image() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.get_image", false]], "get_routes_at_intersection() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.get_routes_at_intersection", false]], "grayscaleobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.GrayscaleObservation", false]], "handle_event() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.handle_event", false]], "handle_events() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.handle_events", false]], "heading_at() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.heading_at", false]], "heading_at() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.heading_at", false]], "heading_at() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.heading_at", false]], "heading_at() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.heading_at", false]], "heading_at() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.heading_at", false]], "highway_env.__init__": [[21, "module-highway_env.__init__", false]], "highway_env.envs.common.abstract": [[21, "module-highway_env.envs.common.abstract", false]], "highway_env.envs.common.action": [[1, "module-highway_env.envs.common.action", false]], "highway_env.envs.common.graphics": [[18, "module-highway_env.envs.common.graphics", false]], "highway_env.envs.common.observation": [[23, "module-highway_env.envs.common.observation", false]], "highway_env.road.graphics": [[18, "module-highway_env.road.graphics", false]], "highway_env.road.lane": [[4, "module-highway_env.road.lane", false]], "highway_env.road.regulation": [[5, "module-highway_env.road.regulation", false]], "highway_env.road.road": [[6, "module-highway_env.road.road", false]], "highway_env.vehicle.behavior": [[7, "module-highway_env.vehicle.behavior", false]], "highway_env.vehicle.controller": [[8, "module-highway_env.vehicle.controller", false]], "highway_env.vehicle.graphics": [[18, "module-highway_env.vehicle.graphics", false]], "highway_env.vehicle.kinematics": [[9, "module-highway_env.vehicle.kinematics", false]], "highwayenv (class in highway_env.envs.highway_env)": [[10, "highway_env.envs.highway_env.HighwayEnv", false]], "history_size (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.HISTORY_SIZE", false]], "idmvehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.IDMVehicle", false]], "index_to_speed() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.index_to_speed", false]], "intersectionenv (class in highway_env.envs.intersection_env)": [[12, "highway_env.envs.intersection_env.IntersectionEnv", false]], "is_reachable_from() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.is_reachable_from", false]], "is_visible() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.is_visible", false]], "kinematicobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.KinematicObservation", false]], "kinematicsgoalobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation", false]], "lanegraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.LaneGraphics", false]], "length (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.LENGTH", false]], "linearvehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.LinearVehicle", false]], "linetype (class in highway_env.road.lane)": [[4, "highway_env.road.lane.LineType", false]], "local_angle() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.local_angle", false]], "local_coordinates() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.local_coordinates", false]], "max_speed (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.MAX_SPEED", false]], "mdpvehicle (class in highway_env.vehicle.controller)": [[8, "highway_env.vehicle.controller.MDPVehicle", false]], "mergeenv (class in highway_env.envs.merge_env)": [[13, "highway_env.envs.merge_env.MergeEnv", false]], "metaclass__ (highway_env.road.lane.abstractlane attribute)": [[4, "highway_env.road.lane.AbstractLane.metaclass__", false]], "min_speed (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.MIN_SPEED", false]], "mobil() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.mobil", false]], "module": [[1, "module-highway_env.envs.common.action", false], [4, "module-highway_env.road.lane", false], [5, "module-highway_env.road.regulation", false], [6, "module-highway_env.road.road", false], [7, "module-highway_env.vehicle.behavior", false], [8, "module-highway_env.vehicle.controller", false], [9, "module-highway_env.vehicle.kinematics", false], [18, "module-highway_env.envs.common.graphics", false], [18, "module-highway_env.road.graphics", false], [18, "module-highway_env.vehicle.graphics", false], [21, "module-highway_env.__init__", false], [21, "module-highway_env.envs.common.abstract", false], [23, "module-highway_env.envs.common.observation", false]], "move_display_window_to() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.move_display_window_to", false]], "multiagentaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.MultiAgentAction", false]], "multiagentwrapper (class in highway_env.envs.common.abstract)": [[21, "highway_env.envs.common.abstract.MultiAgentWrapper", false]], "neighbour_vehicles() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.neighbour_vehicles", false]], "normalize() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.normalize", false]], "normalize_obs() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.normalize_obs", false]], "observe() (highway_env.envs.common.observation.exitobservation method)": [[23, "highway_env.envs.common.observation.ExitObservation.observe", false]], "observe() (highway_env.envs.common.observation.grayscaleobservation method)": [[23, "highway_env.envs.common.observation.GrayscaleObservation.observe", false]], "observe() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.observe", false]], "observe() (highway_env.envs.common.observation.kinematicsgoalobservation method)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation.observe", false]], "observe() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.observe", false]], "occupancygridobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation", false]], "on_lane() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.on_lane", false]], "parkingenv (class in highway_env.envs.parking_env)": [[14, "highway_env.envs.parking_env.ParkingEnv", false]], "perception_distance (highway_env.envs.common.abstract.abstractenv attribute)": [[21, "highway_env.envs.common.abstract.AbstractEnv.PERCEPTION_DISTANCE", false]], "pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.pix", false]], "plan_route_to() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.plan_route_to", false]], "polylane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.PolyLane", false]], "polylanefixedwidth (class in highway_env.road.lane)": [[4, "highway_env.road.lane.PolyLaneFixedWidth", false]], "pos2pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.pos2pix", false]], "pos_to_index() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.pos_to_index", false]], "position() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.position", false]], "position() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.position", false]], "position() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.position", false]], "position() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.position", false]], "position() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.position", false]], "predict_trajectory() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.predict_trajectory", false]], "predict_trajectory() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.predict_trajectory", false]], "predict_trajectory_constant_speed() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.predict_trajectory_constant_speed", false]], "racetrackenv (class in highway_env.envs.racetrack_env)": [[15, "highway_env.envs.racetrack_env.RacetrackEnv", false]], "recover_from_stop() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.recover_from_stop", false]], "regulatedroad (class in highway_env.road.regulation)": [[5, "highway_env.road.regulation.RegulatedRoad", false]], "render() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.render", false]], "reset() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.reset", false]], "respect_priorities() (highway_env.road.regulation.regulatedroad static method)": [[5, "highway_env.road.regulation.RegulatedRoad.respect_priorities", false]], "road (class in highway_env.road.road)": [[6, "highway_env.road.road.Road", false]], "roadgraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.RoadGraphics", false]], "roadobjectgraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.RoadObjectGraphics", false]], "roundaboutenv (class in highway_env.envs.roundabout_env)": [[16, "highway_env.envs.roundabout_env.RoundaboutEnv", false]], "set_agent_action_sequence() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.set_agent_action_sequence", false]], "set_agent_display() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.set_agent_display", false]], "set_route_at_intersection() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.set_route_at_intersection", false]], "simplify() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.simplify", false]], "sinelane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.SineLane", false]], "space() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.space", false]], "space() (highway_env.envs.common.action.continuousaction method)": [[1, "highway_env.envs.common.action.ContinuousAction.space", false]], "space() (highway_env.envs.common.action.discreteaction method)": [[1, "highway_env.envs.common.action.DiscreteAction.space", false]], "space() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.space", false]], "space() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.space", false]], "space() (highway_env.envs.common.observation.grayscaleobservation method)": [[23, "highway_env.envs.common.observation.GrayscaleObservation.space", false]], "space() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.space", false]], "space() (highway_env.envs.common.observation.kinematicsgoalobservation method)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation.space", false]], "space() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.space", false]], "speed_control() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.speed_control", false]], "speed_to_index() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.speed_to_index", false]], "speed_to_index_default() (highway_env.vehicle.controller.mdpvehicle class method)": [[8, "highway_env.vehicle.controller.MDPVehicle.speed_to_index_default", false]], "steering_control() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.steering_control", false]], "steering_control() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.steering_control", false]], "steering_features() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.steering_features", false]], "steering_range (highway_env.envs.common.action.continuousaction attribute)": [[1, "highway_env.envs.common.action.ContinuousAction.STEERING_RANGE", false]], "step() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.step", false]], "step() (highway_env.envs.common.abstract.multiagentwrapper method)": [[21, "highway_env.envs.common.abstract.MultiAgentWrapper.step", false]], "step() (highway_env.envs.intersection_env.intersectionenv method)": [[12, "highway_env.envs.intersection_env.IntersectionEnv.step", false]], "step() (highway_env.road.regulation.regulatedroad method)": [[5, "highway_env.road.regulation.RegulatedRoad.step", false]], "step() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.step", false]], "step() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.step", false]], "step() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.step", false]], "straightlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.StraightLane", false]], "stripe_length (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_LENGTH", false]], "stripe_spacing (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_SPACING", false]], "stripe_width (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_WIDTH", false]], "striped_line() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.striped_line", false]], "target_speed (highway_env.vehicle.controller.controlledvehicle attribute)": [[8, "highway_env.vehicle.controller.ControlledVehicle.target_speed", false]], "time_wanted (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.TIME_WANTED", false]], "time_wanted (highway_env.vehicle.behavior.linearvehicle attribute)": [[7, "highway_env.vehicle.behavior.LinearVehicle.TIME_WANTED", false]], "to_config() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.to_config", false]], "to_config() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.to_config", false]], "to_config() (highway_env.road.lane.polylane method)": [[4, "highway_env.road.lane.PolyLane.to_config", false]], "to_config() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.to_config", false]], "to_config() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.to_config", false]], "to_config() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.to_config", false]], "vec2pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.vec2pix", false]], "vehicle (class in highway_env.vehicle.kinematics)": [[9, "highway_env.vehicle.kinematics.Vehicle", false]], "vehicle (highway_env.envs.common.abstract.abstractenv property)": [[21, "highway_env.envs.common.abstract.AbstractEnv.vehicle", false]], "vehicle_class (highway_env.envs.common.action.actiontype property)": [[1, "highway_env.envs.common.action.ActionType.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.continuousaction property)": [[1, "highway_env.envs.common.action.ContinuousAction.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.discretemetaaction property)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.multiagentaction property)": [[1, "highway_env.envs.common.action.MultiAgentAction.vehicle_class", false]], "width (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.WIDTH", false]], "width_at() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.width_at", false]], "width_at() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.width_at", false]], "width_at() (highway_env.road.lane.polylane method)": [[4, "highway_env.road.lane.PolyLane.width_at", false]], "width_at() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.width_at", false]], "width_at() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.width_at", false]], "window_position() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.window_position", false]], "worldsurface (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.WorldSurface", false]]}, "objects": {"highway_env": [[21, 0, 0, "-", "__init__"]], "highway_env.__init__": [[21, 1, 1, "", "_register_highway_envs"]], "highway_env.envs.common": [[21, 0, 0, "-", "abstract"], [1, 0, 0, "-", "action"], [18, 0, 0, "-", "graphics"], [23, 0, 0, "-", "observation"]], "highway_env.envs.common.abstract": [[21, 2, 1, "", "AbstractEnv"], [21, 2, 1, "", "MultiAgentWrapper"]], "highway_env.envs.common.abstract.AbstractEnv": [[21, 3, 1, "", "PERCEPTION_DISTANCE"], [21, 4, 1, "", "_automatic_rendering"], [21, 4, 1, "", "_info"], [21, 4, 1, "", "_is_terminated"], [21, 4, 1, "", "_is_truncated"], [21, 4, 1, "", "_reset"], [21, 4, 1, "", "_reward"], [21, 4, 1, "", "_rewards"], [21, 4, 1, "", "_simulate"], [21, 4, 1, "", "change_vehicles"], [21, 4, 1, "", "close"], [21, 4, 1, "", "default_config"], [21, 4, 1, "", "define_spaces"], [21, 4, 1, "", "render"], [21, 4, 1, "", "reset"], [21, 4, 1, "", "simplify"], [21, 4, 1, "", "step"], [21, 5, 1, "", "vehicle"]], "highway_env.envs.common.abstract.MultiAgentWrapper": [[21, 4, 1, "", "step"]], "highway_env.envs.common.action": [[1, 2, 1, "", "ActionType"], [1, 2, 1, "", "ContinuousAction"], [1, 2, 1, "", "DiscreteAction"], [1, 2, 1, "", "DiscreteMetaAction"], [1, 2, 1, "", "MultiAgentAction"]], "highway_env.envs.common.action.ActionType": [[1, 4, 1, "", "act"], [1, 5, 1, "", "controlled_vehicle"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.ContinuousAction": [[1, 3, 1, "", "ACCELERATION_RANGE"], [1, 3, 1, "", "STEERING_RANGE"], [1, 4, 1, "", "act"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.DiscreteAction": [[1, 4, 1, "", "act"], [1, 4, 1, "", "space"]], "highway_env.envs.common.action.DiscreteMetaAction": [[1, 3, 1, "", "ACTIONS_ALL"], [1, 3, 1, "", "ACTIONS_LAT"], [1, 3, 1, "", "ACTIONS_LONGI"], [1, 4, 1, "", "act"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.MultiAgentAction": [[1, 4, 1, "", "act"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.graphics": [[18, 2, 1, "", "EnvViewer"]], "highway_env.envs.common.graphics.EnvViewer": [[18, 4, 1, "", "close"], [18, 4, 1, "", "display"], [18, 4, 1, "", "get_image"], [18, 4, 1, "", "handle_events"], [18, 4, 1, "", "set_agent_action_sequence"], [18, 4, 1, "", "set_agent_display"], [18, 4, 1, "", "window_position"]], "highway_env.envs.common.observation": [[23, 2, 1, "", "ExitObservation"], [23, 2, 1, "", "GrayscaleObservation"], [23, 2, 1, "", "KinematicObservation"], [23, 2, 1, "", "KinematicsGoalObservation"], [23, 2, 1, "", "OccupancyGridObservation"]], "highway_env.envs.common.observation.ExitObservation": [[23, 4, 1, "", "observe"]], "highway_env.envs.common.observation.GrayscaleObservation": [[23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.KinematicObservation": [[23, 4, 1, "", "normalize_obs"], [23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.KinematicsGoalObservation": [[23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.OccupancyGridObservation": [[23, 4, 1, "", "fill_road_layer_by_cell"], [23, 4, 1, "", "fill_road_layer_by_lanes"], [23, 4, 1, "", "normalize"], [23, 4, 1, "", "observe"], [23, 4, 1, "", "pos_to_index"], [23, 4, 1, "", "space"]], "highway_env.envs.highway_env": [[10, 2, 1, "", "HighwayEnv"]], "highway_env.envs.highway_env.HighwayEnv": [[10, 4, 1, "", "default_config"]], "highway_env.envs.intersection_env": [[12, 2, 1, "", "IntersectionEnv"]], "highway_env.envs.intersection_env.IntersectionEnv": [[12, 4, 1, "", "default_config"], [12, 4, 1, "", "step"]], "highway_env.envs.merge_env": [[13, 2, 1, "", "MergeEnv"]], "highway_env.envs.merge_env.MergeEnv": [[13, 4, 1, "", "default_config"]], "highway_env.envs.parking_env": [[14, 2, 1, "", "ParkingEnv"]], "highway_env.envs.parking_env.ParkingEnv": [[14, 4, 1, "", "compute_reward"], [14, 4, 1, "", "default_config"], [14, 4, 1, "", "define_spaces"]], "highway_env.envs.racetrack_env": [[15, 2, 1, "", "RacetrackEnv"]], "highway_env.envs.racetrack_env.RacetrackEnv": [[15, 4, 1, "", "default_config"]], "highway_env.envs.roundabout_env": [[16, 2, 1, "", "RoundaboutEnv"]], "highway_env.envs.roundabout_env.RoundaboutEnv": [[16, 4, 1, "", "default_config"]], "highway_env.road": [[18, 0, 0, "-", "graphics"], [4, 0, 0, "-", "lane"], [5, 0, 0, "-", "regulation"], [6, 0, 0, "-", "road"]], "highway_env.road.graphics": [[18, 2, 1, "", "LaneGraphics"], [18, 2, 1, "", "RoadGraphics"], [18, 2, 1, "", "RoadObjectGraphics"], [18, 2, 1, "", "WorldSurface"]], "highway_env.road.graphics.LaneGraphics": [[18, 3, 1, "", "STRIPE_LENGTH"], [18, 3, 1, "", "STRIPE_SPACING"], [18, 3, 1, "", "STRIPE_WIDTH"], [18, 4, 1, "", "continuous_curve"], [18, 4, 1, "", "continuous_line"], [18, 4, 1, "", "display"], [18, 4, 1, "", "draw_stripes"], [18, 4, 1, "", "striped_line"]], "highway_env.road.graphics.RoadGraphics": [[18, 4, 1, "", "display"], [18, 4, 1, "", "display_road_objects"], [18, 4, 1, "", "display_traffic"]], "highway_env.road.graphics.RoadObjectGraphics": [[18, 4, 1, "", "blit_rotate"], [18, 4, 1, "", "display"]], "highway_env.road.graphics.WorldSurface": [[18, 4, 1, "", "handle_event"], [18, 4, 1, "", "is_visible"], [18, 4, 1, "", "move_display_window_to"], [18, 4, 1, "", "pix"], [18, 4, 1, "", "pos2pix"], [18, 4, 1, "", "vec2pix"]], "highway_env.road.lane": [[4, 2, 1, "", "AbstractLane"], [4, 2, 1, "", "CircularLane"], [4, 2, 1, "", "LineType"], [4, 2, 1, "", "PolyLane"], [4, 2, 1, "", "PolyLaneFixedWidth"], [4, 2, 1, "", "SineLane"], [4, 2, 1, "", "StraightLane"]], "highway_env.road.lane.AbstractLane": [[4, 4, 1, "", "distance"], [4, 4, 1, "", "distance_with_heading"], [4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "is_reachable_from"], [4, 4, 1, "", "local_angle"], [4, 4, 1, "", "local_coordinates"], [4, 3, 1, "", "metaclass__"], [4, 4, 1, "", "on_lane"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.CircularLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.PolyLane": [[4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.PolyLaneFixedWidth": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.SineLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"]], "highway_env.road.lane.StraightLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.regulation": [[5, 2, 1, "", "RegulatedRoad"]], "highway_env.road.regulation.RegulatedRoad": [[5, 4, 1, "", "enforce_road_rules"], [5, 4, 1, "", "respect_priorities"], [5, 4, 1, "", "step"]], "highway_env.road.road": [[6, 2, 1, "", "Road"]], "highway_env.road.road.Road": [[6, 4, 1, "", "act"], [6, 4, 1, "", "neighbour_vehicles"], [6, 4, 1, "", "step"]], "highway_env.vehicle": [[7, 0, 0, "-", "behavior"], [8, 0, 0, "-", "controller"], [18, 0, 0, "-", "graphics"], [9, 0, 0, "-", "kinematics"]], "highway_env.vehicle.behavior": [[7, 2, 1, "", "AggressiveVehicle"], [7, 2, 1, "", "DefensiveVehicle"], [7, 2, 1, "", "IDMVehicle"], [7, 2, 1, "", "LinearVehicle"]], "highway_env.vehicle.behavior.IDMVehicle": [[7, 3, 1, "", "ACC_MAX"], [7, 3, 1, "", "COMFORT_ACC_MAX"], [7, 3, 1, "", "COMFORT_ACC_MIN"], [7, 3, 1, "", "DELTA"], [7, 3, 1, "", "DELTA_RANGE"], [7, 3, 1, "", "DISTANCE_WANTED"], [7, 3, 1, "", "TIME_WANTED"], [7, 4, 1, "", "acceleration"], [7, 4, 1, "", "act"], [7, 4, 1, "", "change_lane_policy"], [7, 4, 1, "", "create_from"], [7, 4, 1, "", "desired_gap"], [7, 4, 1, "", "mobil"], [7, 4, 1, "", "recover_from_stop"], [7, 4, 1, "", "step"]], "highway_env.vehicle.behavior.LinearVehicle": [[7, 3, 1, "", "TIME_WANTED"], [7, 4, 1, "", "acceleration"], [7, 4, 1, "", "act"], [7, 4, 1, "", "collect_data"], [7, 4, 1, "", "steering_control"], [7, 4, 1, "", "steering_features"]], "highway_env.vehicle.controller": [[8, 2, 1, "", "ControlledVehicle"], [8, 2, 1, "", "MDPVehicle"]], "highway_env.vehicle.controller.ControlledVehicle": [[8, 4, 1, "", "act"], [8, 4, 1, "", "create_from"], [8, 4, 1, "", "follow_road"], [8, 4, 1, "", "get_routes_at_intersection"], [8, 4, 1, "", "plan_route_to"], [8, 4, 1, "", "predict_trajectory_constant_speed"], [8, 4, 1, "", "set_route_at_intersection"], [8, 4, 1, "", "speed_control"], [8, 4, 1, "", "steering_control"], [8, 3, 1, "", "target_speed"]], "highway_env.vehicle.controller.MDPVehicle": [[8, 4, 1, "", "act"], [8, 4, 1, "", "index_to_speed"], [8, 4, 1, "", "predict_trajectory"], [8, 4, 1, "", "speed_to_index"], [8, 4, 1, "", "speed_to_index_default"]], "highway_env.vehicle.kinematics": [[9, 2, 1, "", "Vehicle"]], "highway_env.vehicle.kinematics.Vehicle": [[9, 3, 1, "", "DEFAULT_INITIAL_SPEEDS"], [9, 3, 1, "", "HISTORY_SIZE"], [9, 3, 1, "", "LENGTH"], [9, 3, 1, "", "MAX_SPEED"], [9, 3, 1, "", "MIN_SPEED"], [9, 3, 1, "", "WIDTH"], [9, 4, 1, "", "act"], [9, 4, 1, "", "create_from"], [9, 4, 1, "", "create_random"], [9, 4, 1, "", "predict_trajectory"], [9, 4, 1, "", "step"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "method", "Python method"], "5": ["py", "property", "Python property"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:attribute", "4": "py:method", "5": "py:property"}, "terms": {"": [1, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 18, 21, 22, 23, 24, 25], "0": [1, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25], "00593": 2, "01495": 2, "025": 23, "03977101": 22, "04": 23, "0422479": 22, "04252493": 22, "04852853": 22, "05": 23, "065": 23, "06678273": 23, "06989625": 23, "075": 23, "08": 23, "1": [1, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 25], "10": [2, 7, 12, 23], "100": [12, 14, 23], "10220458": 22, "105": 23, "11": 16, "1140": 23, "12": 23, "1200x500": 23, "12250": 2, "12332875": 23, "12536396": 23, "12796491": 23, "128": 23, "13": [12, 23], "14": 24, "14451969": 23, "15": [2, 10, 12, 13, 14, 15, 16, 17, 18, 23, 24, 25], "150": [10, 13, 24], "15000": 24, "15088789": 23, "1612": 2, "17": [2, 24], "1707": 2, "172": 23, "18": [15, 23], "1805": 2, "1824": 2, "18935317": 23, "1911": 2, "1918625": 23, "1999": 2, "1d": [1, 7], "1m": 23, "1st": 9, "2": [1, 2, 7, 8, 9, 10, 20, 22, 23, 24], "20": [4, 10, 12, 23, 24], "200": [21, 24], "2000": 2, "2007": 2, "2008": 2, "2015": 2, "2017": 2, "2018": 19, "2019": [2, 24], "21234035": 22, "22": 23, "222": 23, "22254233": 23, "23": 9, "231": 15, "25": [9, 22, 23], "256": 24, "25m": 23, "25mn": 24, "27": 23, "2989": 23, "2d": [1, 4, 7], "2e4": 24, "3": [1, 7, 10, 12, 13, 15, 18, 20, 23, 24], "30": [9, 10, 24], "300": [14, 15], "3000": 22, "3125": 22, "3136693": 22, "3141": 2, "32": 24, "33": 18, "3d": 2, "4": [1, 7, 10, 15, 18, 23, 24], "40": [9, 10, 24], "40874493": 23, "41047338": 22, "480": 18, "5": [1, 7, 9, 10, 12, 13, 14, 15, 16, 20, 22, 23, 24], "50": [10, 18, 24], "518": 2, "529": 2, "533": 2, "54714144": 18, "5870": 23, "5e": 24, "6": [2, 7, 12, 16, 23], "600": [10, 12, 13, 14, 15, 16, 24], "61476827": 23, "62": 2, "64": 23, "640": 18, "640x480": [22, 23, 24], "675": 23, "7": [14, 15], "75": 23, "7540": 2, "7853981633974483": 1, "8": [2, 23, 24], "8130831": 23, "84": 23, "8868867": 22, "9": 23, "A": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 18, 21, 22, 23, 24], "As": 22, "At": 8, "But": 12, "By": 18, "For": [1, 6, 7, 17, 22, 23, 24], "If": [1, 7, 8, 9, 16, 19, 21, 23], "In": [2, 7, 10, 13, 16, 17, 21, 22, 23, 25], "It": [6, 7, 8, 9, 12, 13, 14, 16], "Its": 18, "Of": 12, "On": 5, "That": 21, "The": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 24, 25, 26], "Then": 1, "There": [3, 24], "These": [9, 21, 23], "To": [20, 21, 22], "Will": 21, "_": [7, 22, 23, 24, 25], "__init__": 21, "_automatic_rend": 21, "_c": 7, "_info": 21, "_is_termin": 21, "_is_trunc": 21, "_make_road": 21, "_n": 7, "_o": 7, "_r": 8, "_register_highway_env": 21, "_reset": 21, "_reward": [21, 25], "_simul": 21, "_state": 24, "_to": 8, "a_": 7, "a_c": 7, "a_n": 7, "a_o": 7, "ab": 7, "abbeel": 2, "abcmeta": 4, "abl": [1, 8, 17, 21], "about": [7, 17, 24], "abov": 1, "absolut": [12, 23], "abstract": [4, 21], "abstractenv": [1, 18, 21, 23], "abstractlan": [4, 6, 18], "acc_max": 7, "acceler": [1, 7, 8, 9, 14], "acceleration_rang": 1, "accept": 22, "access": [1, 13, 21, 24], "accord": 7, "achiev": [12, 14, 21], "achieved_go": 14, "act": [1, 6, 7, 8, 9], "action": [6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 24, 26], "action_1": 22, "action_2": 22, "action_config": [1, 22], "action_dur": [8, 9], "action_i": 22, "action_reward": 15, "action_spac": [1, 17, 21], "action_typ": [21, 23, 24], "actions_al": [1, 22], "actions_index": [23, 24], "actions_lat": 1, "actions_longi": 1, "actions_per_axi": 1, "actiontyp": 1, "actual": [1, 6, 17, 22], "ad": [12, 21], "add": [1, 21], "addit": 21, "address": [17, 25], "adequ": 25, "advanc": 2, "affect": 3, "after": [7, 22, 24], "against": 25, "agent": [1, 10, 12, 13, 14, 15, 18, 21, 23, 25, 26], "agent_displai": 18, "aggreg": 21, "aggressivevehicl": 7, "agre": 12, "alex": 2, "algorithm": 22, "alia": 4, "align": 23, "align_to_vehicle_ax": [15, 23], "all": [7, 12, 17, 21, 23], "allow": [1, 7, 8, 21], "along": [8, 18, 23], "alreadi": 23, "also": [6, 10, 13, 17, 18, 23, 24, 25], "altch": 2, "altern": 21, "alwai": [1, 18, 23], "amir": 2, "among": 8, "amplitud": 4, "an": [1, 5, 6, 7, 8, 9, 12, 18, 19, 21, 22, 23, 25], "anaconda": 20, "andr": 2, "andrea": 2, "andrei": 2, "andrychowicz": 2, "ang_": 23, "angl": [1, 4, 7, 8, 9, 18, 23], "angular": 23, "ani": [12, 14, 21, 23, 25], "anoth": 6, "ansgar": 2, "anticip": 8, "antonogl": 2, "api": 26, "appear": 9, "appli": [1, 8], "approach": [13, 16, 23], "appropri": [14, 25], "approxim": [4, 7], "apt": 20, "ar": [1, 3, 4, 5, 6, 7, 8, 9, 10, 18, 21, 22, 23, 24, 25], "arbitr": 5, "arc": 4, "architectur": [17, 24], "arcsin": 8, "area": [16, 18], "argu": 17, "arn": 2, "around": [4, 18, 23], "arrai": [7, 18, 22, 23], "arrow": 1, "arxiv": 2, "as_imag": [15, 23], "aspect": 25, "assign": 5, "associ": 21, "assum": [8, 23], "attent": [2, 24], "attribut": [5, 24], "author": 19, "automat": [1, 8, 16, 21], "autonom": [2, 19], "avail": [1, 10, 24], "avoid": [8, 10, 12, 13, 15, 16, 25], "awai": 23, "awr": [2, 24], "ax": [22, 23, 24], "ax1": 22, "ax2": 22, "axi": [1, 7, 8, 9, 23], "b": [7, 25], "b_": 7, "base": [1, 5, 7, 9, 24], "baselin": 24, "baselines3": 24, "batch_siz": 24, "beatti": 2, "becaus": [7, 17], "been": [21, 22, 25], "befor": [7, 22], "behav": [3, 5], "behavior": [3, 5, 10, 12, 13, 16, 21, 24], "behaviour": [5, 6, 7, 12, 18, 21, 25], "behind": [9, 23], "being": [7, 9, 25], "bellemar": 2, "benefici": 25, "beta": 9, "better": 24, "between": [4, 5, 7, 8, 9, 18, 23, 25], "beyond": 1, "bibtex": 19, "bicycl": [2, 9], "bin": 23, "blit_rot": 18, "block": 12, "bob": 2, "bolt": 19, "bool": [1, 4, 5, 6, 7, 12, 18, 21, 23], "both": [1, 4, 7, 22, 23], "bottom": 23, "bound": 25, "boundari": 1, "box": 1, "brake": [7, 9, 25], "brigitt": 2, "buffer_s": 24, "c": [7, 18, 23], "calcul": 9, "call": [8, 10, 12, 13, 14, 15, 16, 17, 18, 21], "callabl": [1, 18], "callback": 18, "can": [1, 4, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "canada": 2, "candid": 7, "captur": 21, "car": 2, "cartesian": [7, 8, 9], "cascad": 8, "case": [5, 6, 17, 23], "caus": 25, "cd": 22, "cell": 23, "center": [4, 7, 8, 9, 18, 23], "centering_posit": [10, 12, 13, 14, 15, 16, 18, 23, 24], "central": [4, 12, 22], "challeng": 25, "chang": [1, 2, 4, 7, 8, 16, 17, 21, 23, 24, 26], "change_lane_polici": 7, "change_vehicl": 21, "channel": [18, 23], "charl": 2, "check": [21, 23], "choic": [21, 25], "choos": [8, 25], "chosen": [7, 9, 18], "circl": 4, "circularlan": 4, "class": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23], "classif": 2, "classmethod": [4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21], "clip": [1, 23], "clockwis": 4, "close": [7, 17, 18, 21], "closest": [8, 23], "cmap": 23, "cnn": [17, 24], "co": [9, 25], "code": [17, 22], "coeffici": [7, 25], "collect": [7, 19, 23], "collect_data": 7, "collid": [10, 23], "collis": [5, 10, 12, 13, 15, 16, 25, 26], "collision_penalti": 25, "collision_reward": [10, 12, 15, 24], "color": 18, "column": 23, "com": [15, 18, 19, 20], "combin": 8, "come": [1, 12, 23], "comfort_acc_max": 7, "comfort_acc_min": 7, "command": [7, 8, 9], "common": [1, 18, 21, 22, 23], "complet": 9, "compon": 23, "compos": [3, 6, 25], "comput": [2, 4, 7, 8, 21], "compute_reward": 14, "condit": [14, 24], "confer": 2, "config": [1, 4, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24], "config_kei": 21, "configur": [1, 18, 22, 25, 26], "conflict": 5, "congest": 2, "consid": [6, 19, 23], "consist": [1, 2], "constant": [8, 21, 23], "constant_st": 9, "contain": [6, 21, 22, 23], "continu": [14, 15, 18, 26], "continuous_curv": 18, "continuous_lin": 18, "continuousact": [1, 14, 15], "contribut": [12, 19], "control": [2, 3, 7, 14, 15, 16, 21, 26], "controlled_vehicl": [1, 15, 22, 24], "controlledvehicl": [7, 8], "convent": [18, 25], "convers": [4, 23], "convert": [4, 8, 18, 23], "coordin": [4, 6, 18, 23], "copi": [7, 8, 9, 17, 21], "correspond": [1, 4, 8, 14, 17, 18, 21, 23], "cos_d": 23, "cos_h": [12, 14, 23], "could": [12, 22, 25], "cours": 12, "crash": [9, 16], "creat": [1, 4, 7, 8, 9, 18, 24, 26], "create_from": [7, 8, 9], "create_random": 9, "creation": 24, "credit": [14, 15], "cross": 24, "cruis": [1, 8], "current": [1, 6, 8, 9, 20, 21, 23, 25], "curv": [4, 24], "custom": 19, "customari": 23, "customis": [1, 23], "cut": 7, "d": [2, 7], "d_0": 7, "daan": 2, "data": [7, 21, 23], "datafram": 23, "david": 2, "deceler": 7, "decelr": 1, "decemb": 2, "decentr": 12, "decid": [6, 7, 22], "decis": [2, 7, 12, 19, 21], "dedic": 18, "deep": [2, 24, 25], "def": 22, "default": [1, 7, 8, 9, 18, 21, 23, 24], "default_config": [10, 12, 13, 14, 15, 16, 21], "default_initial_spe": 9, "default_width": 4, "defensivevehicl": 7, "defin": [1, 4, 6, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24, 25], "define_spac": [14, 21], "definit": 1, "delta": [1, 7, 8, 9], "delta_": 8, "delta_rang": 7, "demi": 2, "demonstr": 24, "dens": [2, 12], "densiti": 9, "depend": [9, 17, 20, 21], "deriv": 8, "describ": [3, 4, 5, 6, 10, 17, 19, 21, 22, 23], "descript": [3, 19, 23, 24], "desir": [1, 7, 8, 14, 21, 23, 25], "desired_gap": 7, "desired_go": 14, "destin": [8, 12, 23, 25], "detail": [10, 19], "detect": 23, "determin": [4, 5], "determinist": [2, 24], "dev": 20, "df": 23, "dharshan": 2, "dict": [1, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24], "dictat": 7, "dictionari": [6, 21, 23, 24], "did": [12, 21], "differ": [7, 17, 23], "dimens": 18, "direct": [1, 7, 8, 9, 23], "directli": [1, 23, 24, 25], "dirk": 2, "disabl": 1, "disambigu": 23, "discret": [7, 8, 26], "discreteact": 1, "discretemetaact": [1, 10, 12, 13, 16, 22, 24], "discretis": 23, "dispatch": 22, "displai": [5, 6, 9, 16, 18], "display_road_object": 18, "display_traff": 18, "distanc": [4, 7, 18, 21, 23, 25], "distance_w": 7, "distance_with_head": 4, "distant": 21, "divid": 23, "do": [7, 17, 25], "doe": [7, 17, 24], "doesn": [6, 7], "doi": 2, "done": [1, 16, 17, 18, 22, 23, 24], "dot": [7, 8, 9], "doubl": 24, "dqn": [17, 22, 23, 24], "dqnagent": 22, "draw": 18, "draw_strip": 18, "drawn": 18, "drive": [2, 5, 6, 8, 9, 10, 13, 18, 19, 21, 24, 25], "driver": 7, "dt": [5, 6, 7, 8, 9], "dtype": 22, "duel": 24, "dummi": 22, "durat": [8, 9, 10, 12, 15, 16, 24], "dure": [7, 18], "dynam": [1, 5, 6, 7, 8, 9, 12, 21, 24, 26], "e": [1, 2, 17], "each": [1, 5, 6, 8, 9, 12, 17, 18, 22, 23], "earli": 25, "edg": [1, 6], "edouard": [2, 19], "effect": 24, "ego": [1, 7, 10, 12, 13, 14, 16, 18, 21, 25], "ego_attention_2h": 22, "ego_spac": 24, "ego_vehicl": 7, "either": 1, "eleur": [15, 19, 20, 22, 24], "els": [8, 23], "emerg": 25, "empir": 2, "enabl": [1, 23], "enable_lane_chang": 7, "encod": 23, "encourag": 25, "end": [4, 6, 8, 9, 12, 18, 21, 22], "end_phas": 4, "enforc": 5, "enforce_road_rul": 5, "ensur": 4, "entiti": [5, 6], "entri": 17, "entry_point": 21, "enumer": 23, "env": [1, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24], "env_multi_ag": 22, "environ": [1, 3, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 26], "envview": 18, "episod": [12, 17, 21, 22, 24, 25], "episode_trigg": 17, "equal": 16, "equival": 1, "eras": 8, "errat": 9, "euclidean": 25, "evalu": 22, "even": [7, 18], "event": 18, "eventhandl": 1, "everi": [1, 3, 25], "exampl": [17, 21, 22], "except": 23, "execut": [1, 7, 12, 21, 22], "exist": [7, 8, 9, 21, 23], "exit": 23, "exit_env": 23, "exitobserv": 23, "expect": [12, 23, 25], "experi": [2, 22, 24], "expon": 7, "express": 16, "extens": 24, "f": 23, "fail": 12, "fals": [1, 4, 5, 6, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24], "faq": 24, "far": 22, "fast": [10, 16, 24], "faster": [1, 8, 23], "feasibl": 2, "featur": [7, 12, 14, 15, 25], "features_rang": [12, 23], "feel": 17, "few": 24, "fewer": 23, "ffmpeg": 20, "fidjeland": 2, "field": [21, 22, 23], "fig": 23, "figsiz": 23, "figur": [12, 22, 23, 24], "file": 26, "filip": 2, "fill": 23, "fill_road_layer_by_cel": 23, "fill_road_layer_by_lan": 23, "find": [5, 6, 8], "fine": 12, "first": [1, 5, 17, 18, 21, 22, 23], "fix": [4, 21, 23], "flag": 18, "flat": 23, "flatten": 12, "float": [1, 4, 5, 6, 7, 8, 9, 12, 14, 18, 21, 23], "float32": 22, "florent": 2, "flow": 16, "fluid": 2, "focu": 25, "follow": [1, 2, 6, 7, 8, 15, 16, 17, 18, 21, 23, 24], "follow_road": 8, "fong": 2, "forbid": 25, "forbidden": 4, "forward": [8, 9, 18], "found": [6, 25], "fp": 24, "frac": [7, 8, 9, 25], "frame": [4, 17, 18, 21, 23], "fran": 2, "free": 17, "freeli": 21, "frenet": 4, "frequenc": [7, 17, 18, 21], "friction": 1, "from": [4, 6, 7, 8, 9, 10, 14, 21, 22, 23, 24, 25], "from_config": 4, "front": [7, 8, 9, 25], "front_vehicl": 7, "full": [1, 24], "function": [21, 24, 25], "futur": [8, 9], "g": [2, 17], "gain": [7, 8], "gamma": 24, "gap": 7, "gather": 19, "gcc": 20, "gener": [2, 5, 6, 17, 21, 22, 25], "geometri": [4, 6, 21], "georg": 2, "geq": 7, "get": [1, 4, 8, 20, 22, 23], "get_available_act": 1, "get_cmap": 23, "get_imag": 18, "get_routes_at_intersect": 8, "git": 20, "github": [15, 19, 20], "give": [5, 6, 21, 23], "given": [4, 6, 7, 8, 9, 14, 17, 18, 21], "global": 4, "go": [4, 6], "goal": [14, 24, 26], "good": 12, "gradient_step": 24, "grai": 23, "graph": 6, "graphic": [20, 26], "grave": 2, "graviti": 9, "grayscal": [17, 26], "grayscaleobserv": 23, "green": 22, "grid": 26, "grid_siz": [15, 23], "grid_step": [15, 23], "guiba": 2, "guid": 19, "gym": [1, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23], "gymnasium": [1, 18, 21, 22, 23, 24], "h": [18, 23], "ha": [4, 15, 16, 20, 21, 22, 23, 24, 25], "handl": [8, 16, 18], "handle_ev": 18, "handler": 8, "hao": 2, "happen": 12, "hard": 12, "hasn": 16, "hassabi": 2, "have": [6, 7, 14, 21, 25], "he": 15, "head": [4, 7, 9, 14, 23], "heading_at": 4, "heading_weight": 4, "height": 16, "helb": 2, "helen": 2, "henneck": 2, "her": 24, "here": [10, 17, 21, 22, 23, 24], "hermit": 4, "high": [8, 10, 13, 14], "high_speed_reward": [10, 24], "higher": 7, "highwai": [1, 11, 13, 15, 18, 20, 22, 23, 24], "highway_dqn": 24, "highway_env": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "highwayenv": 10, "hindsight": [2, 24], "histori": 9, "history_s": 9, "hm08": [2, 24], "hook": 21, "horizon": 23, "horizont": [7, 8, 9], "hot": 23, "how": [1, 3, 7, 22, 24], "howev": [5, 17, 24, 25], "howpublish": 19, "hren": 2, "http": [15, 18, 19, 20], "human": 2, "hz": [10, 13, 16, 17], "i": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 21, 22, 24, 25], "id": [9, 21], "idea": [14, 15], "ideal": 12, "identifi": 6, "idl": [1, 23, 24], "idm": 7, "idmvehicl": [7, 10, 13, 16, 21, 24], "ieee": 2, "ignor": 1, "imag": [17, 18, 21, 24, 26], "image1": 20, "implement": [1, 4, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "import": [1, 3, 17, 21, 22, 23, 24], "impos": 7, "improv": 24, "imshow": [22, 23, 24], "incent": 7, "includ": [1, 5, 6, 22], "include_obstacl": 23, "incom": 13, "incoming_vehicle_destin": 16, "increas": [7, 23, 26], "inde": 17, "index": [1, 6, 7, 8, 23], "index_to_spe": 8, "induc": 7, "info": [12, 14, 17, 21, 22, 23, 24], "inform": [2, 14, 17, 21, 23], "infrastructur": 6, "infti": 23, "inherit": 21, "initi": [4, 8, 9, 14, 15, 18, 21, 22], "initial_lane_id": 24, "initial_spac": 10, "initial_vehicle_count": 12, "inlin": [22, 23, 24], "input": [8, 9, 18], "insid": [21, 25], "instal": [17, 18, 21], "instanc": [1, 4, 6, 7, 8, 9, 23, 24], "instead": [17, 25], "int": [1, 4, 7, 8, 9, 12, 18, 21, 23, 24], "integ": 6, "integr": 9, "intellig": [2, 7], "interdisciplinari": 2, "intermedi": [17, 21], "intersect": [1, 5, 6, 8, 11, 24], "intersection_env": 12, "intersectionenv": [12, 22], "interv": 1, "invari": [17, 25], "invert": 8, "involv": 21, "ioanni": 2, "is_conflict_poss": 5, "is_reachable_from": 4, "is_vis": 18, "issu": 15, "iter": 23, "its": [1, 4, 6, 7, 8, 9, 16, 17, 22, 24], "itself": 20, "j": [2, 23], "jam": 7, "jean": 2, "joel": 2, "jojo": 14, "jona": 2, "josh": 2, "journal": 19, "json": [4, 22], "junction": 13, "k": [2, 16, 18], "k_": 8, "k_p": 8, "kaichun": 2, "kavukcuoglu": 2, "keep": [12, 25], "kei": [1, 16, 18, 23], "kest": 2, "kinemat": [1, 2, 3, 6, 8, 10, 12, 22, 24, 26], "kinematicobserv": 23, "kinematicsgo": 14, "kinematicsgoalobserv": 23, "king": 2, "known": 4, "korai": 2, "kp_a": 8, "kth07": [2, 7], "kumaran": 2, "kurtosi": 14, "kwarg": [1, 23], "l": [8, 9, 18, 23], "l1": 4, "lab": 6, "label": 1, "lambda": 17, "landmark": [5, 6], "lane": [1, 2, 3, 5, 6, 7, 8, 9, 10, 16, 17, 18, 21, 22, 23, 24], "lane_centering_cost": 15, "lane_change_max_braking_impos": 7, "lane_change_min_acc_gain": 7, "lane_change_reward": 24, "lane_from": 9, "lane_id": 9, "lane_index": [6, 7], "lane_left": 1, "lane_perception_dist": 23, "lane_point": 4, "lane_right": 1, "lane_to": 9, "lanegraph": 18, "laneindex": 6, "lanes_count": [10, 24], "laptop": 24, "larg": 23, "last": [9, 21, 23], "lat": [4, 8, 18], "lat_": 23, "later": [1, 4, 12, 15, 18, 23], "latest": 20, "layer": [1, 23], "layer_index": 23, "lead": [7, 23, 25], "learn": [2, 15, 24, 25], "learning_r": 24, "learning_start": 24, "lectur": 2, "left": [7, 8, 18, 22, 23], "left_boundary_point": 4, "legg": 2, "length": [9, 18], "leonida": 2, "leurent": [2, 19], "level": [1, 2, 4, 8, 17], "libavcodec": 20, "libavformat": 20, "libfreetype6": 20, "libportmidi": 20, "librari": 24, "libsdl": 20, "libsdl1": 20, "libsmpeg": 20, "libswscal": 20, "lidar": 26, "lidarobserv": 23, "light": 12, "like": 23, "line": [4, 8, 18], "line_typ": 4, "linear": [7, 8], "linearli": 10, "linearvehicl": 7, "linetyp": 4, "list": [1, 3, 4, 5, 6, 7, 8, 9, 17, 18, 21, 23, 24], "lm19": [2, 17, 24], "load": [21, 24], "local": [4, 6, 17, 18], "local_angl": 4, "local_coordin": 4, "locat": [18, 23], "long": 17, "long_": 23, "long_offset": 4, "longi": 4, "longitudin": [1, 4, 9, 12, 15, 16, 18, 23], "look": [6, 23], "lookahead": 8, "low": [1, 8], "lower": [7, 21], "lp": 14, "m": [1, 4, 7, 8, 9, 10, 16, 18, 21, 23], "machin": 2, "mai": [7, 23, 25], "main": [4, 13], "maintain": [7, 13], "make": [1, 2, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 26], "maneuv": 7, "mani": [15, 18], "manual": [20, 21, 26], "manual_control": [1, 24], "map": [1, 10, 23], "marc": 2, "marcin": 2, "margin": [4, 18], "martin": 2, "matplotlib": [22, 23, 24], "matter": 12, "max": [23, 25], "max_i": 23, "max_spe": 9, "max_x": 23, "maxim": [1, 7], "maximum": [1, 7, 9, 21, 23, 25], "maximum_rang": 23, "mcgrew": 2, "mdpvehicl": 8, "meant": 21, "mechan": 1, "mercat": 2, "merg": [11, 24], "merge_env": 13, "mergeenv": 13, "meta": 26, "metaclass__": 4, "meter": 23, "method": [1, 4, 5, 7, 8, 9, 16, 21, 25], "mi": 2, "microscop": 2, "middl": 23, "might": 1, "min": [23, 25], "min_i": 23, "min_spe": 9, "min_x": 23, "minim": [1, 7], "minimum": [1, 7, 9, 25], "misc": 19, "mixer1": 20, "mk": [2, 25], "mlp": 24, "mlppolici": 24, "mnih": 2, "mo": 2, "mobil": [2, 7], "model": [2, 3, 7, 8, 9, 21, 22, 24], "modifi": [9, 21], "modul": [1, 21, 23], "modular": 21, "montreal": 2, "more": [7, 10, 12, 13, 14, 15, 16, 17, 21], "most": [1, 5, 22, 26], "move": [3, 9, 18, 23], "move_display_window_to": 18, "multi": [21, 26], "multiagentact": [1, 22], "multiagentobserv": 22, "multiagentwrapp": 21, "multilan": 10, "munir": 14, "muno": 2, "must": [1, 6, 14, 18, 20, 21, 22, 24, 25], "my": [12, 24], "n": 7, "name": [1, 23], "narrow": 25, "natur": [2, 23], "ncol": 23, "ndarrai": [1, 4, 7, 8, 9, 12, 14, 18, 21, 23], "nearbi": [7, 23], "nearest": 23, "need": [15, 17], "neg": 25, "negoti": [12, 13], "neighbour": [6, 10], "neighbour_vehicl": 6, "net_arch": 24, "network": [5, 6, 8, 21, 23], "neural": 2, "neurip": 2, "new": [4, 5, 6, 7, 8, 9, 17, 21], "next": [8, 12, 21, 23], "next_ob": 22, "next_obs_i": 22, "node": [6, 8, 9], "non": [4, 7, 8, 23], "none": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24], "norm": [14, 25], "normal": [14, 23, 25], "normalis": [4, 23], "normalize_ob": 23, "normalize_reward": [12, 24], "note": [2, 25], "notebook": 24, "novel": [2, 17], "now": [7, 13, 21, 22, 23], "np": [1, 4, 5, 6, 21], "np_random": [5, 6], "nrow": 22, "number": [5, 6, 9, 16, 18, 23, 24, 26], "numpi": 20, "nut": 19, "o": [7, 18], "o1": 12, "ob": [17, 21, 22, 23, 24], "object": [4, 5, 6, 7, 8, 9, 10, 13, 18, 21, 23], "object_": 18, "obs_i": 22, "observ": [1, 2, 10, 12, 13, 14, 15, 16, 21, 24, 25, 26], "observation_config": 22, "observation_factori": 23, "observation_shap": 23, "observe_intent": [12, 23], "obstacl": [5, 6, 23], "obtain": [6, 24], "occup": 26, "occupancygrid": [15, 23], "occupancygridobserv": 23, "off": 23, "offroad": 23, "offroad_termin": 24, "offscreen": 18, "offscreen_rend": [10, 13, 14, 15, 16, 24], "offset": [18, 23], "often": [12, 25], "oi": 2, "old": 7, "on_lan": 4, "on_road": 15, "onc": 21, "one": [7, 8, 9, 18, 22], "ongo": 21, "onli": [1, 7, 9, 21, 22, 24, 25], "onroad": 23, "opd": 24, "openai": 24, "optim": [21, 25], "optimist": 2, "option": [4, 19, 21], "order": [1, 9, 17, 22, 23, 25], "origin": 18, "origin_po": 18, "oscil": 4, "ostrovski": 2, "other": [5, 7, 8, 9, 10, 12, 15, 21, 22, 23], "other_valu": 21, "other_vehicl": 15, "other_vehicles_typ": [10, 13, 16, 24], "otherwis": 23, "output": [7, 17], "over": 23, "overal": 7, "overload": [10, 12, 13, 14, 15, 16, 21, 25], "overrid": 7, "overridden": 9, "overwritten": 21, "own": [7, 12, 22, 26], "p": [7, 8, 14, 25], "packag": 19, "page": [2, 24], "pair": [17, 21, 23], "paltchedandrean17": [2, 9], "param": [18, 23], "paramet": [1, 4, 5, 6, 7, 8, 9, 12, 14, 18, 21, 23, 25], "parametr": [4, 24], "parametris": 7, "park": [11, 23, 24, 25], "parking_env": 14, "parkingenv": 14, "part": [21, 23], "particular": 25, "pass": [16, 22, 23], "past": 17, "path": [21, 22], "penalti": 25, "per": 23, "perception_dist": 21, "perform": [1, 7, 8, 12, 21, 23, 24], "permut": 17, "perspect": 25, "peter": 2, "petersen": 2, "phase": 4, "philip": 2, "physic": [2, 3], "piec": 19, "pieter": 2, "pilot": 8, "pip": 20, "pix": 18, "pixel": 18, "place": [7, 8, 9, 23], "placehold": 23, "plan": [2, 8, 16, 24], "plan_route_to": 8, "plasma": 2, "pleas": 19, "plt": [22, 23, 24], "po": 18, "point": [1, 2, 4], "pointnet": 2, "polack": 2, "polici": [7, 21, 22, 24, 25], "policy_frequ": [10, 13, 14, 15, 16, 23, 24], "policy_kwarg": 24, "polit": 7, "polylan": 4, "polylanefixedwidth": 4, "polynomi": 4, "popul": [10, 21], "pos2pix": 18, "pos_to_index": 23, "posit": [4, 6, 7, 9, 14, 18, 23], "possibl": [16, 17, 25], "possibli": 7, "ppo": 17, "pprint": [22, 24], "practic": 25, "pre": 1, "preced": [6, 7], "predict": [5, 8, 9, 12, 22, 23, 24], "predict_trajectori": [8, 9], "predict_trajectory_constant_spe": 8, "predition_typ": 9, "prefer": 25, "presenc": [12, 15], "present": 21, "preserv": 21, "principl": 24, "print": 23, "priorit": 24, "prioriti": [4, 5], "prng": 21, "probabl": 17, "problem": 25, "process": [1, 2], "profit": 26, "progress": 25, "project": [6, 7, 19, 20, 25], "propag": 9, "properti": [1, 7, 8, 9, 21], "proport": 8, "provid": [4, 8, 17, 18, 19, 21, 24], "proxim": 14, "pseudo": 22, "psi": [8, 9, 25], "psi_": 8, "psi_g": 25, "psi_l": 8, "psi_r": 8, "pub": 6, "publish": 19, "pull": 21, "pulsat": 4, "purpos": [12, 19], "px": [10, 13, 16, 18], "py": [21, 22], "pygam": [16, 18, 20], "pyplot": [22, 23, 24], "python": [20, 21, 22], "python3": 20, "q": 24, "qi": 2, "qsmg17": [2, 17], "quantiz": 1, "quick": [19, 24], "quickli": 25, "quit": 12, "r": [2, 7, 8, 25], "racetrack": [11, 24], "racetrack_env": 15, "racetrackenv": 15, "rachel": 2, "rad": [1, 4, 7, 8], "radian": 23, "radiu": 4, "rai": 2, "ramp": 13, "random": [5, 6, 9, 24], "randomli": [7, 9], "randomst": [5, 6], "rang": [1, 7, 8, 9, 10, 23, 24, 25], "rate": 8, "rather": [1, 25], "ratio": 9, "reach": [7, 10, 14], "reachabl": [1, 4, 9], "real": 23, "real_time_rend": 24, "realist": [7, 25], "rear_vehicl": 7, "reason": [7, 12, 17], "receiv": 10, "recent": [5, 6], "recommend": 20, "record": [2, 5, 6, 17], "record_histori": [5, 6], "recordvideo": [17, 21], "recov": 7, "recover_from_stop": 7, "rectangl": [18, 23], "refer": [8, 21], "regist": [17, 26], "register_highway_env": [17, 21], "registr": 21, "regress": 7, "regul": 3, "regularli": 23, "regulatedroad": 5, "reinforc": [2, 24, 25], "reinstal": 21, "rel": 23, "relat": 2, "remov": 21, "render": [17, 18, 21, 22, 23, 24], "render_ag": [10, 13, 14, 15, 16, 24], "render_mod": [10, 12, 13, 14, 15, 16, 21, 22, 23, 24], "repeat": 9, "replac": 25, "replai": [2, 24], "repositori": [17, 19], "repres": [6, 9, 18, 23], "request": 21, "requir": [7, 20, 21], "research": 2, "reset": [1, 17, 18, 21, 22, 23, 24], "resolut": 23, "resolv": 5, "resp": 7, "respect": [1, 7, 8, 18, 25], "respect_prior": 5, "respons": 9, "result": [12, 24], "return": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23, 25], "reus": 17, "revers": 7, "review": 2, "revisit": 17, "reward": [10, 12, 13, 14, 17, 21, 22, 23, 24, 26], "reward_nam": 21, "reward_speed_rang": [10, 24], "reward_valu": 21, "rgb": [18, 23], "rgb_arrai": [22, 23, 24], "riedmil": 2, "right": [4, 5, 7, 8, 10, 18, 22, 23], "right_boundary_point": 4, "right_lane_reward": 24, "rightmost": 10, "risk": 25, "rl": [22, 24], "rlss": 24, "road": [1, 4, 7, 8, 9, 10, 12, 13, 18, 21, 23, 25, 26], "road_network": 6, "road_object": [5, 6], "roadgraph": 18, "roadnetwork": [3, 5, 6, 21], "roadobject": [6, 18], "roadobjectgraph": 18, "roadsurfac": 18, "robust": 25, "room": 13, "rotat": 18, "roundabout": [11, 18, 24], "roundabout_env": 16, "roundaboutenv": 16, "rout": [7, 8, 16], "row": 23, "rudimentari": 12, "rule": 5, "run": [16, 17, 21, 22, 24], "rusu": 2, "s2": [7, 8], "s_g": 25, "sadik": 2, "safe": [7, 13, 25], "safeti": 7, "sake": 22, "same": [7, 8, 9], "sampl": [1, 17, 21], "satisfi": 25, "save": [8, 9, 24], "sb3": [17, 24], "scalar": 21, "scale": [10, 12, 13, 14, 15, 16, 18, 23, 24, 25], "scene": [17, 23, 26], "schedul": 12, "schneider": 2, "scienc": 2, "screen": 18, "screen_height": [10, 12, 13, 14, 15, 16, 18, 24], "screen_width": [10, 12, 13, 14, 15, 16, 18, 24], "script": [22, 24], "search": 8, "second": [5, 6, 16, 21, 22], "section": 3, "sector": 23, "see": [15, 17, 21, 22, 23, 24, 25], "see_behind": 23, "seed": [21, 22, 24], "segment": 2, "self": [21, 22], "send": [17, 22], "sensit": 17, "separ": [1, 18], "sequenc": [4, 7, 8, 9, 18, 23], "serial": 4, "set": [1, 2, 4, 5, 6, 8, 14, 18, 23, 26], "set_agent_action_sequ": 18, "set_agent_displai": 18, "set_record_video_wrapp": 17, "set_route_at_intersect": 8, "set_titl": 22, "setpoint": 1, "setup": 21, "sever": [1, 7, 10, 12, 17, 21, 23, 24], "shane": 2, "shape": 23, "shift": 25, "should": [5, 6, 7, 17, 18, 21, 22, 23, 25], "show": [22, 23, 24], "show_rect": 18, "show_trajectori": [10, 13, 14, 15, 16, 24], "shuffl": 23, "side": [4, 10, 18], "silver": 2, "similarli": 1, "simpl": [7, 8, 12, 25], "simpli": 12, "simplifi": 21, "simul": [1, 2, 7, 8, 9, 12, 17, 18, 21, 23], "simulation_frequ": [10, 13, 14, 15, 16, 18, 24], "sin": [9, 25], "sin_d": 23, "sin_h": [12, 14, 23], "sinc": [12, 22, 23, 25], "sinelan": 4, "singl": [17, 21, 22, 25], "sinusoid": 4, "situat": 12, "size": [18, 22, 23, 24], "skill": 15, "slightli": 18, "slip": 9, "slower": [1, 8], "small": 23, "smaller": 16, "so": [1, 7, 13, 14, 17, 18, 21, 23], "social": [2, 24], "some": [1, 5, 8, 13, 25], "sometim": 12, "soon": 13, "sophist": 12, "sort": 23, "sourc": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23], "south": 23, "southeast": 16, "space": [1, 7, 9, 14, 18, 21, 23, 26], "spawn": 9, "spawn_prob": 12, "specif": [10, 12, 13, 14, 15, 16, 18, 23], "specifi": [1, 8, 21, 25], "speed": [1, 7, 8, 9, 10, 13, 14, 21, 25], "speed_control": 8, "speed_limit": 4, "speed_rang": 1, "speed_to_index": 8, "speed_to_index_default": 8, "speedup": 10, "spike": 25, "sqrt": 7, "stabl": 24, "stable_baselines3": 24, "stack_siz": 23, "stackoverflow": 18, "stai": [10, 23], "standard": 22, "start": [4, 6, 9, 13, 18, 19], "start_phas": 4, "state": [2, 7, 8, 9, 17, 21, 22, 23, 25], "static": [5, 18], "statist": 2, "steer": [1, 7, 8, 9, 14], "steering_control": [7, 8], "steering_featur": 7, "steering_rang": 1, "step": [1, 5, 6, 7, 9, 12, 16, 17, 21, 22, 23, 24], "step_i": 23, "step_x": 23, "stig": 2, "still": [16, 21], "stop": [5, 7, 9], "store": [6, 7, 9], "str": [7, 8, 9, 10, 12, 13, 14, 15, 16, 21, 23], "straight": [4, 10, 23], "straightforward": 25, "straightlan": 4, "string": 6, "stripe": 18, "stripe_length": 18, "stripe_spac": 18, "stripe_width": 18, "striped_lin": 18, "stripes_count": 18, "struggl": 17, "stuck": 7, "su": 2, "sub": 17, "subclass": 1, "subplot": [22, 23], "subvers": 20, "sudo": 20, "suffer": 25, "suggest": [7, 17], "suitabl": 17, "sum": 23, "sum_i": 25, "supperted825": 15, "supplementari": [4, 14], "support": [7, 22], "surf": 18, "surfac": [7, 8, 9, 26], "switch": 8, "symposium": 2, "system": [2, 4, 9, 12, 18], "s\u00b2": 1, "t": [6, 7, 16, 23], "take": [1, 5, 7, 23, 24], "tan": 9, "target": [1, 5, 7, 8], "target_lane_index": [7, 8], "target_spe": [1, 7, 8], "target_update_interv": 24, "target_veloc": 7, "task": [10, 12, 13, 14, 16, 21, 24], "tend": 17, "tensorboard_log": 24, "term": [7, 25], "termin": [12, 21, 25], "test": [18, 24], "text": [7, 8, 25], "th": 7, "than": [1, 7, 17, 23, 25], "thank": [15, 18], "thei": [1, 5, 7, 13, 18, 23, 25], "them": [5, 18, 24, 25], "themselv": 21, "thh00": [2, 7], "thi": [1, 4, 7, 10, 12, 13, 16, 17, 20, 21, 22, 23, 24, 25], "thing": 12, "third": 2, "thirti": 2, "those": [8, 24], "though": 7, "three": 23, "throttl": [1, 8], "through": [1, 2, 3, 5, 8, 21, 25], "thu": [1, 17, 25], "tild": 7, "time": [3, 5, 7, 8, 16, 24, 25, 26], "time_w": 7, "timer": 7, "timestep": [5, 6, 7, 8, 9, 12, 21], "timetocollis": [13, 16, 23], "timetocollisionobserv": 23, "titl": [19, 22], "to_config": 4, "tobin": 2, "too": 12, "top": [1, 8, 23], "topic": 2, "topologi": [6, 21], "toward": 23, "track": [1, 8, 15], "traffic": [2, 12, 13, 16], "train": 22, "train_freq": 24, "trajectori": [2, 5, 6, 8, 9, 24, 25], "trajectory_timestep": [8, 9], "transform": 21, "transit": 22, "transpar": 18, "transport": 2, "treiber": 2, "trigger": 7, "trigonometr": 23, "true": [1, 4, 7, 10, 12, 13, 14, 15, 16, 17, 23, 24], "truncat": [12, 16, 17, 21, 22, 23, 24], "try": [5, 7], "ttf2": 20, "tupl": [1, 4, 6, 7, 8, 12, 18, 21, 22, 23], "turn": 8, "tutori": 24, "tv": 7, "two": [3, 5, 7, 8, 15, 17, 18, 22, 23, 25], "type": [1, 4, 10, 12, 13, 14, 15, 16, 21, 22, 23, 24], "typic": 17, "unavail": 1, "uncertain": 25, "under": 8, "underbrac": 7, "uniform": [1, 8, 23], "uniqu": 6, "unsaf": 7, "until": [5, 9, 12, 21], "unwrap": [17, 21, 22, 23, 24], "up": [12, 26], "updat": [8, 9, 18, 20, 22, 23], "upon": 1, "url": 19, "us": [1, 7, 8, 9, 14, 18, 19, 20, 21, 23, 24, 25], "user": 20, "usual": [5, 17], "v": [7, 8, 9, 23, 25], "v0": [1, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "v1": 5, "v2": 5, "v_": [8, 25], "v_0": 7, "v_r": 8, "v_x": 25, "v_y": [23, 25], "valu": [1, 16, 21, 23, 24], "vanilla": 24, "variabl": 16, "variat": 8, "variou": 21, "vec": 18, "vec2pix": 18, "vector": [1, 21], "vehicl": [1, 2, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 24, 25, 26], "vehicle_class": [1, 21], "vehicle_class_path": 21, "vehiclegraph": 18, "vehicles_count": [10, 12, 22, 23, 24], "vehicles_dens": 24, "veloc": [1, 5, 7, 8, 23, 25], "veness": 2, "verbos": 24, "verg": 14, "version": 22, "video": [21, 22, 24], "video_fold": 17, "viewer": [18, 21], "visibl": 18, "visual": 18, "visualis": 22, "volodymyr": 2, "vx": [12, 14, 23], "vy": [12, 14, 23], "w": [7, 18, 23, 25], "w_i": 25, "wa": [12, 14, 18], "wai": [4, 5, 12, 17, 24], "wait": 12, "waypoint": 23, "we": [14, 17, 18, 20, 21, 23, 25], "weight": [4, 7, 14, 23, 25], "welcom": [12, 21], "welind": 2, "west": 23, "what": [22, 23], "wheel": [7, 8, 9], "when": [5, 7, 8, 10], "where": [1, 6, 7, 8, 9, 14, 15, 21, 23, 25], "whether": [1, 4, 5, 6, 7, 18, 21, 23], "which": [1, 4, 5, 6, 7, 8, 12, 14, 17, 18, 20, 21, 22, 23, 24, 25], "while": [1, 9, 10, 13, 15, 16, 17, 21, 22, 24], "who": [4, 5], "whole": 21, "whose": [6, 7], "why": 7, "width": [4, 9, 16, 18], "width_at": 4, "wierstra": 2, "window": [16, 18], "window_posit": 18, "wish": 25, "within": 23, "without": 18, "wojciech": 2, "wolski": 2, "work": 17, "workshop": 2, "world": [4, 23, 26], "worldsurfac": 18, "would": [18, 23, 25], "wrap": [17, 21, 26], "wrapper": [17, 21], "write": 4, "written": 24, "wrong": 7, "x": [1, 4, 9, 12, 14, 18, 23, 25], "x15": 10, "x_g": 25, "x_i": 25, "y": [4, 9, 12, 14, 18, 20, 23, 25], "y_g": 25, "yaw": 8, "year": 19, "yield": [5, 8, 24, 25], "you": [17, 19, 21, 23], "your": 26, "your_env": 21, "yourenv": 21, "zaremba": 2, "zero": 23, "zip": 22, "zoom": 18, "\u00e7": 2, "\u00e9": 2}, "titles": ["404", "Actions", "Bibliography", "Dynamics", "Lane", "Road regulation", "Road", "Behavior", "Control", "Kinematics", "Highway", "The environments", "Intersection", "Merge", "Parking", "Racetrack", "Roundabout", "Frequently Asked Questions", "Graphics", "Welcome to highway-env\u2019s documentation!", "Installation", "Make your own environment", "The Multi-Agent setting", "Observations", "Getting Started", "Rewards", "User Guide"], "titleterms": {"": 19, "10": 20, "404": 0, "Not": 0, "The": [11, 22], "action": [1, 22], "agent": [17, 22, 24], "all": 24, "an": [17, 24], "api": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23], "ar": 17, "ask": 17, "behavior": 7, "bibliographi": 2, "bit": 23, "chang": 22, "cite": 19, "close": 23, "colab": 24, "collis": 23, "configur": [10, 12, 13, 14, 15, 16, 21, 23, 24], "continu": 1, "control": [1, 8, 22], "creat": 21, "default": [10, 12, 13, 14, 15, 16], "develop": 20, "discret": 1, "document": 19, "doesn": 17, "drive": 23, "dynam": 3, "east": 23, "ego": 23, "env": 19, "environ": [11, 17, 21, 24, 25], "error": 17, "exampl": [23, 24], "exist": 17, "farther": 23, "fast": 17, "faster": 10, "featur": 23, "file": 21, "found": 0, "framer": 17, "frequent": 17, "get": [17, 24], "goal": 25, "googl": 24, "graphic": 18, "grayscal": 23, "grid": 23, "guid": 26, "gymnasium": 17, "have": 17, "head": 8, "highwai": [10, 17, 19], "how": 19, "i": [17, 23], "illustr": 23, "imag": 23, "increas": 22, "instal": 20, "intersect": 12, "kinemat": [9, 17, 23], "lane": 4, "later": [7, 8], "lidar": 23, "longitudin": [7, 8], "low": 17, "make": [17, 21, 24], "manual": 1, "mechan": 23, "merg": 13, "meta": 1, "mlp": 17, "model": 17, "most": 25, "multi": 22, "my": 17, "namenotfound": 17, "north": 23, "number": 22, "observ": [17, 22, 23], "occup": 23, "one": 23, "optim": 17, "own": 21, "page": 0, "park": 14, "polici": 17, "posit": 8, "prerequisit": 20, "presenc": 23, "profit": 21, "question": 17, "racetrack": 15, "regist": 21, "regul": 5, "releas": 20, "result": 17, "reward": 25, "road": [3, 5, 6], "roundabout": 16, "same": 23, "scene": [18, 21], "set": [21, 22], "slower": 23, "space": 22, "speed": 23, "stabl": 20, "stack": 23, "start": 24, "surfac": 18, "t": 17, "thi": 19, "time": 23, "too": 17, "train": [17, 24], "try": 17, "ubuntu": 20, "up": [21, 22], "us": 17, "usag": [10, 12, 13, 14, 15, 16], "user": 26, "v_x": 23, "variant": 10, "vehicl": [3, 21, 22, 23], "version": 20, "video": 17, "welcom": 19, "when": 17, "why": 17, "window": 20, "work": 19, "world": 18, "wrap": 22, "your": 21}})
\ No newline at end of file