From 570d01f0d9151185d6bd8604553ae7ae00228728 Mon Sep 17 00:00:00 2001 From: eleurent Date: Sun, 18 Aug 2024 18:34:17 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Farama-F?= =?UTF-8?q?oundation/HighwayEnv@4ede5b4b1b2c837489bcf04f5952f0c287b6f059?= =?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 7956 -> 7910 bytes main/_images/index_2_0.png | Bin 10611 -> 10237 bytes main/_images/index_2_1.png | Bin 12855 -> 12276 bytes main/_images/index_2_2.png | Bin 14551 -> 13988 bytes main/_images/index_3_1.png | Bin 25304 -> 25551 bytes main/_images/quickstart_0_0.png | Bin 7688 -> 7674 bytes main/_images/quickstart_2_0.png | Bin 6115 -> 6097 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 7e193f0cd92fca61e4663292412fa1bf3d3bdd41..f3ef432e847a69ad2507b27a5dc16ced9de52140 100644 GIT binary patch literal 7910 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 UoUXcUG~?MiXZ1DlXRh4(4=^@L`~Uy| diff --git a/main/_images/index_2_0.png b/main/_images/index_2_0.png index 828c0202b836c9307b3d1d27a8981377abc0054a..9d22b25ef3ddd86a36b9d1602703daad88ede182 100644 GIT binary patch literal 10237 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 diff --git a/main/_images/index_2_1.png b/main/_images/index_2_1.png index e5c7b3762d2a8458880435ad5a70cb9fa17bf129..0ff01f9b3a6a2266a45df00e38f9a4894a6728fc 100644 GIT binary patch literal 12276 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 literal 12855 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 Ll@$uE89n)5bi;tQ literal 14551 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 JS3>{U{{XbtsGk4; diff --git a/main/_images/index_3_1.png b/main/_images/index_3_1.png index ac19273e20b991d9a5a162d93aceb344c3e9508c..288d950de4b65a64b1bee2353690ba798bab43a0 100644 GIT binary patch literal 25551 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 z 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 H;F-svM7O>!{ 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 RUzy-AIBcx@O4}jyzW_Y?M=1aR diff --git a/main/_images/quickstart_0_0.png b/main/_images/quickstart_0_0.png index dabb6b6b91392a31782d7b2d8729c1f78d655c4d..10a7343622b196252d2844ab43c11b946054c1b8 100644 GIT binary patch literal 7674 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 diff --git a/main/_images/quickstart_2_0.png b/main/_images/quickstart_2_0.png index 428c15cbbdfc7dbf1c9ef9a1e733f4db74bbf1f0..fb45b17ad122f1367393e7b4df6b666cc1b468d2 100644 GIT binary patch literal 6097 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 diff --git a/main/multi_agent/index.html b/main/multi_agent/index.html index ee463a387..0e3392f5c 100644 --- a/main/multi_agent/index.html +++ b/main/multi_agent/index.html @@ -389,11 +389,11 @@

Change the observation space -
-
[[ 1.          1.          0.04        1.          0.          1.
+
[[ 1.          1.          0.08        1.          0.          1.
    0.        ]
- [ 1.          0.2111841   0.08       -0.07493874  0.          1.
+ [ 1.          0.225606   -0.08       -0.09114929  0.          1.
    0.        ]
- [ 1.          0.4162522   0.04       -0.14345494  0.          1.
+ [ 1.          0.45472038 -0.08       -0.11838049  0.          1.
    0.        ]
- [ 1.          0.6279381   0.04       -0.15931241  0.          1.
+ [ 1.          0.6644637   0.04       -0.07833072  0.          1.
    0.        ]
- [ 1.          0.8538995   0.04       -0.10446998  0.          1.
+ [ 1.          0.8531091   0.         -0.15265591  0.          1.
    0.        ]
- [ 1.          1.          0.04       -0.10120136  0.          1.
+ [ 1.          1.          0.         -0.06736307  0.          1.
    0.        ]
- [ 1.          1.         -0.04       -0.17241663  0.          1.
+ [ 1.          1.         -0.04       -0.08123028  0.          1.
    0.        ]
- [ 1.          1.         -0.04       -0.08485268  0.          1.
+ [ 1.          1.         -0.08       -0.08283586  0.          1.
    0.        ]
- [ 1.          1.         -0.04       -0.12012211  0.          1.
+ [ 1.          1.          0.         -0.06603448  0.          1.
    0.        ]
- [ 1.          1.          0.         -0.08003207  0.          1.
+ [ 1.          1.         -0.08       -0.16784012  0.          1.
    0.        ]
  [ 0.          0.          0.          0.          0.          0.
    0.        ]
diff --git a/main/searchindex.js b/main/searchindex.js
index 305ad2f7a..cfa7237fd 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, "01495": 2, "02034499": 22, "025": 23, "02638165": 22, "03209694": 22, "04": 23, "04192716": 22, "05": 23, "065": 23, "07493874": 23, "075": 23, "08": 23, "08003207": 23, "08485268": 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], "10120136": 23, "10446998": 23, "105": 23, "11": 16, "1115481": 22, "1140": 23, "12": 23, "1200x500": 23, "12012211": 23, "12250": 2, "128": 23, "13": [12, 23], "14": 24, "14345494": 23, "15": [2, 10, 12, 13, 14, 15, 16, 17, 18, 23, 24, 25], "150": [10, 13, 24], "15000": 24, "15931241": 23, "1612": 2, "17": [2, 24], "1707": 2, "172": 23, "17241663": 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], "2111841": 23, "21659319": 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, "3139901": 22, "3141": 2, "32": 24, "33": 18, "3d": 2, "4": [1, 7, 10, 15, 18, 23, 24], "40": [9, 10, 24], "4162522": 23, "42402303": 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], "62": 2, "6279381": 23, "64": 23, "640": 18, "640x480": [22, 23, 24], "675": 23, "7": [14, 15], "75": 23, "7540": 2, "7853981633974483": 1, "8": [2, 23, 24], "84": 23, "8538995": 23, "9": 23, "9123149": 22, "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, 6, 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": [5, 6], "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": [1, 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": [6, 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": 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, "03217607": 22, "03492044": 22, "03700041": 22, "04": 23, "04008255": 22, "05": 23, "065": 23, "06603448": 23, "06736307": 23, "075": 23, "07833072": 23, "08": 23, "08123028": 23, "08283586": 23, "09114929": 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], "105": 23, "11": 16, "11012971": 22, "1140": 23, "11838049": 23, "12": 23, "1200x500": 23, "12250": 2, "128": 23, "13": [12, 23], "14": 24, "15": [2, 10, 12, 13, 14, 15, 16, 17, 18, 23, 24, 25], "150": [10, 13, 24], "15000": 24, "15265591": 23, "1612": 2, "16784012": 23, "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], "21616443": 22, "22": 23, "222": 23, "225606": 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, "31057164": 22, "3125": 22, "3141": 2, "32": 24, "33": 18, "3d": 2, "4": [1, 7, 10, 15, 18, 23, 24], "40": [9, 10, 24], "42322636": 22, "45472038": 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], "6644637": 23, "675": 23, "7": [14, 15], "75": [22, 23], "7540": 2, "7853981633974483": 1, "8": [2, 23, 24], "84": 23, "8531091": 23, "9": 23, "90679145": 22, "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, 6, 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": [5, 6], "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": [1, 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": [6, 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": 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