diff --git a/demo/ball_bounces.py b/demo/ball_bounces.py index 754b788c6b6f97f8103a50f6fb2b260ddffe943b..68dee14d04b00e120cd7adbeb2891ae149c83837 100644 --- a/demo/ball_bounces.py +++ b/demo/ball_bounces.py @@ -1,13 +1,10 @@ -from dryvr_plus_plus.sensor import BaseSensor -from dryvr_plus_plus.example.example_sensor.fake_sensor import FakeSensor4 -import plotly.graph_objects as go from dryvr_plus_plus.plotter.plotter2D import * -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap3 -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_agent.ball_agent import BallAgent +from dryvr_plus_plus.example import SimpleMap3, BallAgent +from dryvr_plus_plus import Scenario from enum import Enum, auto import copy -from typing import List + + # from dryvr_plus_plus.map import Lane diff --git a/demo/ball_bounces_dev.py b/demo/ball_bounces_dev.py index 39ee1c10931b33b967c5403eec391c366e20e108..b21960819091a513157506143f98e238c2a1b62a 100644 --- a/demo/ball_bounces_dev.py +++ b/demo/ball_bounces_dev.py @@ -1,6 +1,5 @@ from enum import Enum, auto -import copy -from typing import List + class BallTypeMode(Enum): TYPE1 = auto() @@ -44,13 +43,10 @@ def controller(ego:State, other: State): assert not (dist(ego, other) < 5 and ego.x < other.x), "collision" return output -from dryvr_plus_plus.example.example_agent.ball_agent import BallAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap3 +from dryvr_plus_plus.example import BallAgent +from dryvr_plus_plus import Scenario from dryvr_plus_plus.plotter.plotter2D import * import plotly.graph_objects as go -from dryvr_plus_plus.example.example_sensor.fake_sensor import FakeSensor4 -from dryvr_plus_plus.sensor import BaseSensor if __name__ == "__main__": ball_controller = './demo/ball_bounces_dev.py' diff --git a/demo/example_controller1.py b/demo/controller/example_controller1.py similarity index 100% rename from demo/example_controller1.py rename to demo/controller/example_controller1.py diff --git a/demo/example_controller10.py b/demo/controller/example_controller10.py similarity index 100% rename from demo/example_controller10.py rename to demo/controller/example_controller10.py diff --git a/demo/example_controller2.py b/demo/controller/example_controller2.py similarity index 100% rename from demo/example_controller2.py rename to demo/controller/example_controller2.py diff --git a/demo/example_controller3.py b/demo/controller/example_controller3.py similarity index 100% rename from demo/example_controller3.py rename to demo/controller/example_controller3.py diff --git a/demo/example_controller4.py b/demo/controller/example_controller4.py similarity index 100% rename from demo/example_controller4.py rename to demo/controller/example_controller4.py diff --git a/demo/example_controller5.py b/demo/controller/example_controller5.py similarity index 100% rename from demo/example_controller5.py rename to demo/controller/example_controller5.py diff --git a/demo/example_controller6.py b/demo/controller/example_controller6.py similarity index 100% rename from demo/example_controller6.py rename to demo/controller/example_controller6.py diff --git a/demo/example_controller7.py b/demo/controller/example_controller7.py similarity index 100% rename from demo/example_controller7.py rename to demo/controller/example_controller7.py diff --git a/demo/example_controller8.py b/demo/controller/example_controller8.py similarity index 100% rename from demo/example_controller8.py rename to demo/controller/example_controller8.py diff --git a/demo/example_controller9.py b/demo/controller/example_controller9.py similarity index 100% rename from demo/example_controller9.py rename to demo/controller/example_controller9.py diff --git a/demo/example_two_car_sign_lane_switch.py b/demo/controller/example_two_car_sign_lane_switch.py similarity index 91% rename from demo/example_two_car_sign_lane_switch.py rename to demo/controller/example_two_car_sign_lane_switch.py index 1930576211bd0ea249e80da7a69645f7fbd86359..6f7d9798ce49f00c6dda9386d0923eb7ea09163f 100644 --- a/demo/example_two_car_sign_lane_switch.py +++ b/demo/controller/example_two_car_sign_lane_switch.py @@ -1,9 +1,9 @@ -from dryvr_plus_plus.example.example_sensor.fake_sensor import FakeSensor2 -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap3 -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_agent.sign_agent import SignAgent -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent -from dryvr_plus_plus.plotter.plotter2D import * +from dryvr_plus_plus.example import FakeSensor2 +from dryvr_plus_plus.example import SimpleMap3 +from dryvr_plus_plus import Scenario +from dryvr_plus_plus.example import SignAgent +from dryvr_plus_plus.example import CarAgent +from dryvr_plus_plus.plotter2D import * from enum import Enum, auto import copy diff --git a/demo/demo1.py b/demo/demo1.py index 80b267bca24c217d61cd74d5ea4f71bdc179213d..f491c41c7edb7b788063e51587afa15774177004 100644 --- a/demo/demo1.py +++ b/demo/demo1.py @@ -1,9 +1,6 @@ -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent, NPCAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap5, SimpleMap6 -from dryvr_plus_plus.example.example_sensor.fake_sensor import FakeSensor2 +from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap2, FakeSensor2 +from dryvr_plus_plus import Scenario from enum import Enum, auto -import plotly.graph_objects as go from dryvr_plus_plus.plotter.plotter2D import * @@ -33,7 +30,7 @@ class State: if __name__ == "__main__": - input_code_name = './demo/example_controller1.py' + input_code_name = './demo/controller/example_controller1.py' scenario = Scenario() car = NPCAgent('car1') diff --git a/demo/demo10.py b/demo/demo10.py index 4ae5e871f4f3b9b8854086e295b2f9805267086a..bd7571f688187d76567aefc6827d73269c25e078 100644 --- a/demo/demo10.py +++ b/demo/demo10.py @@ -1,7 +1,5 @@ -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap5, SimpleMap6, SimpleMap3_v2 -from dryvr_plus_plus.example.example_sensor.fake_sensor import FakeSensor2 +from dryvr_plus_plus.example import CarAgent, SimpleMap3_v2, FakeSensor2 +from dryvr_plus_plus import Scenario from dryvr_plus_plus.plotter.plotter2D import * from enum import Enum, auto @@ -35,7 +33,7 @@ class State: if __name__ == "__main__": - input_code_name = './demo/example_controller10.py' + input_code_name = './demo/controller/example_controller10.py' scenario = Scenario() car = CarAgent('car1', file_name=input_code_name) diff --git a/demo/demo2.py b/demo/demo2.py index 357ebf75b3442f8b3dfb17c7292a40fd013f786c..6cad100dd03191cdc1568f29baabe3b4b014f945 100644 --- a/demo/demo2.py +++ b/demo/demo2.py @@ -1,13 +1,7 @@ -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent, NPCAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap5, SimpleMap6 -from dryvr_plus_plus.example.example_sensor.fake_sensor import FakeSensor2 -from enum import Enum, auto -import plotly.graph_objects as go +from dryvr_plus_plus.example import CarAgent, SimpleMap3, FakeSensor2 +from dryvr_plus_plus import Scenario from dryvr_plus_plus.plotter.plotter2D import * - - -import numpy as np +from enum import Enum, auto class VehicleMode(Enum): @@ -36,7 +30,7 @@ class State: if __name__ == "__main__": - input_code_name = './demo/example_controller2.py' + input_code_name = './demo/controller/example_controller2.py' scenario = Scenario() car = CarAgent('car1', file_name=input_code_name) diff --git a/demo/demo3.py b/demo/demo3.py index 1d159d99ebd6d62dbe6bb2c69e526cee94e8512c..32508c0251e0e8474fa6a9e3081e777dea6748ae 100644 --- a/demo/demo3.py +++ b/demo/demo3.py @@ -1,8 +1,6 @@ -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent, NPCAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap5, SimpleMap6 +from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap3 +from dryvr_plus_plus import Scenario from enum import Enum, auto -import plotly.graph_objects as go from dryvr_plus_plus.plotter.plotter2D import * @@ -41,7 +39,7 @@ class State: if __name__ == "__main__": - input_code_name = './demo/example_controller4.py' + input_code_name = './controller/example_controller4.py' scenario = Scenario() scenario.add_agent(CarAgent('car1', file_name=input_code_name)) diff --git a/demo/demo4.py b/demo/demo4.py index fd631ba44d458d8dce07a30b4c9e1bcc55aa1d05..9316da449398b91ffeb7180699ef26b17963f66a 100644 --- a/demo/demo4.py +++ b/demo/demo4.py @@ -1,6 +1,5 @@ -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent, NPCAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap4, SimpleMap5, SimpleMap6 +from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap4 +from dryvr_plus_plus import Scenario from dryvr_plus_plus.plotter.plotter2D import * from enum import Enum, auto @@ -43,7 +42,7 @@ class State: if __name__ == "__main__": - input_code_name = './demo/example_controller8.py' + input_code_name = './demo/controller/example_controller8.py' scenario = Scenario() car = CarAgent('car1', file_name=input_code_name) diff --git a/demo/demo5.py b/demo/demo5.py index 58efc3a84fc0c64dff4ef60b160df3988771ba4e..b67f55f3b875318142b9dc70d9737d937f92382f 100644 --- a/demo/demo5.py +++ b/demo/demo5.py @@ -1,10 +1,7 @@ -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent, NPCAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap5, SimpleMap6 -from dryvr_plus_plus.sensor import BaseSensor -from enum import Enum, auto -import plotly.graph_objects as go +from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap3 +from dryvr_plus_plus import Scenario from dryvr_plus_plus.plotter.plotter2D import * +from enum import Enum, auto class LaneObjectMode(Enum): @@ -29,7 +26,7 @@ class LaneMode(Enum): if __name__ == "__main__": - input_code_name = './demo/example_controller7.py' + input_code_name = './demo/controller/example_controller7.py' scenario = Scenario() car = CarAgent('car1', file_name=input_code_name) diff --git a/demo/demo6.py b/demo/demo6.py index 7dd1186ecc4275b64cf0ce6da8a20012554e77e7..2d974e792081c1410ae0e5e760b9161e44a79685 100644 --- a/demo/demo6.py +++ b/demo/demo6.py @@ -1,8 +1,6 @@ -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent, NPCAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap4, SimpleMap5, SimpleMap6 +from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap4 +from dryvr_plus_plus import Scenario from dryvr_plus_plus.plotter.plotter2D import * -from dryvr_plus_plus.sensor import BaseSensor from enum import Enum, auto import plotly.graph_objects as go @@ -43,7 +41,7 @@ class LaneMode(Enum): if __name__ == "__main__": - input_code_name = './demo/example_controller7.py' + input_code_name = './demo/controller/example_controller7.py' scenario = Scenario() car = CarAgent('car1', file_name=input_code_name) diff --git a/demo/demo7.py b/demo/demo7.py index afecb72dec5e8c6edf4c72831e5a84e061a970f9..71032326138a7b03f793572cb09220368d49b19a 100644 --- a/demo/demo7.py +++ b/demo/demo7.py @@ -1,10 +1,8 @@ # SM: Noting some things about the example -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent, NPCAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap4, SimpleMap5, SimpleMap6 +from dryvr_plus_plus.example import CarAgent, NPCAgent, SimpleMap4 +from dryvr_plus_plus import Scenario from dryvr_plus_plus.plotter.plotter2D import * -from dryvr_plus_plus.sensor import BaseSensor from enum import Enum, auto import plotly.graph_objects as go @@ -46,7 +44,7 @@ class State: if __name__ == "__main__": - input_code_name = './demo/example_controller8.py' + input_code_name = './demo/controller/example_controller8.py' scenario = Scenario() diff --git a/demo/demo8.py b/demo/demo8.py index 0c2c6dc9c6d7d73770fa54b83c67b42664a1c71b..a7e1158603e75c8bd69538346de6632ecf21e942 100644 --- a/demo/demo8.py +++ b/demo/demo8.py @@ -1,7 +1,5 @@ -from dryvr_plus_plus.example.example_agent.car_agent import CarAgent, NPCAgent -from dryvr_plus_plus.example.example_agent.sign_agent import SignAgent -from dryvr_plus_plus.scenario import Scenario -from dryvr_plus_plus.example.example_map.simple_map2 import SimpleMap2, SimpleMap3, SimpleMap5, SimpleMap6 +from dryvr_plus_plus.example import CarAgent, SignAgent, SimpleMap3 +from dryvr_plus_plus import Scenario from dryvr_plus_plus.plotter.plotter2D import * from enum import Enum, auto @@ -42,7 +40,7 @@ class State: if __name__ == "__main__": - input_code_name = './demo/example_controller9.py' + input_code_name = './demo/controller/example_controller9.py' scenario = Scenario() car = CarAgent('car1', file_name=input_code_name) diff --git a/dryvr_plus_plus/__init__.py b/dryvr_plus_plus/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..af3ec2c61677a78e5cfe6fcfc6992d2785c14757 100644 --- a/dryvr_plus_plus/__init__.py +++ b/dryvr_plus_plus/__init__.py @@ -0,0 +1,8 @@ +from .agents import * +from .sensor import * +from .map import * +from .scenario import * + +from .reachability_engine import * +from .plotter import plotter2D, plotter3D +from . import sensor, scenario, reachability_engine, plotter, map, example, code_parser, automaton, analysis, agents diff --git a/dryvr_plus_plus/agents/__init__.py b/dryvr_plus_plus/agents/__init__.py index fcf6102ab7d0406564912b1125ec0bb1db78b860..1a24524c641ee6a2dc1ebc4faf03ec81c5bf800b 100644 --- a/dryvr_plus_plus/agents/__init__.py +++ b/dryvr_plus_plus/agents/__init__.py @@ -1 +1,2 @@ -from dryvr_plus_plus.agents.base_agent import BaseAgent +from . import base_agent +from .base_agent import BaseAgent diff --git a/dryvr_plus_plus/analysis/__init__.py b/dryvr_plus_plus/analysis/__init__.py index b9cd78de2d8d5d62bfd461b193c4e128370072a2..0e99ae1521bab2784e681061fe1fa57caef67be5 100644 --- a/dryvr_plus_plus/analysis/__init__.py +++ b/dryvr_plus_plus/analysis/__init__.py @@ -1,3 +1,4 @@ -from dryvr_plus_plus.analysis.analysis_tree_node import AnalysisTreeNode -from dryvr_plus_plus.analysis.simulator import Simulator -from dryvr_plus_plus.analysis.verifier import Verifier +from . import simulator, verifier, analysis_tree_node +from .analysis_tree_node import AnalysisTreeNode +from .simulator import Simulator +from .verifier import Verifier diff --git a/dryvr_plus_plus/analysis/simulator.py b/dryvr_plus_plus/analysis/simulator.py index fd5f431c3857e4e1e7c91688c0ef8923629d9821..2298c145c492fca7e67dbaef47defec06b4d6c52 100644 --- a/dryvr_plus_plus/analysis/simulator.py +++ b/dryvr_plus_plus/analysis/simulator.py @@ -5,8 +5,8 @@ import itertools, functools import pprint pp = functools.partial(pprint.pprint, compact=True, width=100) -from dryvr_plus_plus.agents import BaseAgent -from dryvr_plus_plus.analysis import AnalysisTreeNode +from dryvr_plus_plus.agents.base_agent import BaseAgent +from dryvr_plus_plus.analysis.analysis_tree_node import AnalysisTreeNode class Simulator: def __init__(self): diff --git a/dryvr_plus_plus/analysis/verifier.py b/dryvr_plus_plus/analysis/verifier.py index cc4724403b4dca67fabe3af4d979c31d39a04943..ac4fea85f0d06705ca03132b8ffd9fde3f5ef09b 100644 --- a/dryvr_plus_plus/analysis/verifier.py +++ b/dryvr_plus_plus/analysis/verifier.py @@ -1,11 +1,11 @@ -from typing import List, Dict +from typing import List import copy import numpy as np -from dryvr_plus_plus.agents import BaseAgent -from dryvr_plus_plus.analysis import AnalysisTreeNode -from dryvr_plus_plus.dryvr import calc_bloated_tube, SIMTRACENUM +from dryvr_plus_plus.agents.base_agent import BaseAgent +from dryvr_plus_plus.analysis.analysis_tree_node import AnalysisTreeNode +from dryvr_plus_plus.reachability_engine.dryvr import calc_bloated_tube, SIMTRACENUM class Verifier: def __init__(self): diff --git a/dryvr_plus_plus/automaton/__init__.py b/dryvr_plus_plus/automaton/__init__.py index 1574d747d76fe990f830d4b8e71ad3a08b603b18..0651cd10599cb4dcfea46cdffaa8ce8559e697af 100644 --- a/dryvr_plus_plus/automaton/__init__.py +++ b/dryvr_plus_plus/automaton/__init__.py @@ -1,2 +1,3 @@ -from dryvr_plus_plus.automaton.guard import GuardExpressionAst -from dryvr_plus_plus.automaton.reset import ResetExpression +from . import guard, reset +from .guard import GuardExpressionAst +from .reset import ResetExpression diff --git a/dryvr_plus_plus/automaton/guard.py b/dryvr_plus_plus/automaton/guard.py index 5d93fb766bfcf78e9b13f4d93df1c0591419f1ed..ec844a0a396d5c9d147d1d400b0897b3a5dbc120 100644 --- a/dryvr_plus_plus/automaton/guard.py +++ b/dryvr_plus_plus/automaton/guard.py @@ -1,14 +1,12 @@ -from typing import List, Dict, Any +from typing import Any import pickle import ast -import copy from z3 import * -import numpy as np from dryvr_plus_plus.map import LaneMap, AbstractLane -from dryvr_plus_plus.utils import * -from dryvr_plus_plus.agents import BaseAgent +from dryvr_plus_plus.reachability_engine.utils import * +from dryvr_plus_plus.agents.base_agent import BaseAgent from dryvr_plus_plus.code_parser import Reduction, ReductionType, unparse class LogicTreeNode: diff --git a/dryvr_plus_plus/code_parser/__init__.py b/dryvr_plus_plus/code_parser/__init__.py index d80ed7918346f55da021aeca3b9007b76abd7958..94dd2096946c228da4dd33ce7c1bd297e8cbdf9c 100644 --- a/dryvr_plus_plus/code_parser/__init__.py +++ b/dryvr_plus_plus/code_parser/__init__.py @@ -1 +1,2 @@ -from dryvr_plus_plus.code_parser.parser import ControllerIR, StateDef, ModeDef, Lambda, Reduction, ReductionType, unparse +from . import astunparser, parser +from .parser import ControllerIR, StateDef, ModeDef, Lambda, Reduction, ReductionType, unparse diff --git a/dryvr_plus_plus/code_parser/parser.py b/dryvr_plus_plus/code_parser/parser.py index 417148e2373268fba208963f311e6876a8766ae5..e94fdd4575dcd753846ff7452e1e4c85ab4d8dcc 100644 --- a/dryvr_plus_plus/code_parser/parser.py +++ b/dryvr_plus_plus/code_parser/parser.py @@ -3,7 +3,7 @@ from typing import List, Dict, Union, Optional, Any, Tuple from dataclasses import dataclass, field, fields from enum import Enum, auto from dryvr_plus_plus.code_parser import astunparser -from dryvr_plus_plus.utils import find +from dryvr_plus_plus.reachability_engine.utils import find def merge_conds(c): if len(c) == 0: diff --git a/dryvr_plus_plus/example/__init__.py b/dryvr_plus_plus/example/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3bb9efd19441a15ccddc244e9d5e279d584cbab6 100644 --- a/dryvr_plus_plus/example/__init__.py +++ b/dryvr_plus_plus/example/__init__.py @@ -0,0 +1,4 @@ +from . import example_agent, example_map, example_sensor +from .example_agent import * +from .example_map import * +from .example_sensor import * \ No newline at end of file diff --git a/dryvr_plus_plus/example/example_agent/__init__.py b/dryvr_plus_plus/example/example_agent/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1f841e3b9b8c66e9d6c12b7c89d661ee182f6fc5 100644 --- a/dryvr_plus_plus/example/example_agent/__init__.py +++ b/dryvr_plus_plus/example/example_agent/__init__.py @@ -0,0 +1,4 @@ +from . import ball_agent, car_agent, sign_agent +from .ball_agent import BallAgent +from .car_agent import CarAgent, NPCAgent +from .sign_agent import SignAgent \ No newline at end of file diff --git a/dryvr_plus_plus/example/example_agent/ball_agent.py b/dryvr_plus_plus/example/example_agent/ball_agent.py index 8abfccfbf94c9e5d7f9225a52a8761d4e28f65e7..22aa9419581bddfac8f321219460f18baa276704 100644 --- a/dryvr_plus_plus/example/example_agent/ball_agent.py +++ b/dryvr_plus_plus/example/example_agent/ball_agent.py @@ -4,8 +4,8 @@ from typing import Tuple, List import numpy as np from scipy.integrate import ode -from dryvr_plus_plus.agents import BaseAgent -from dryvr_plus_plus.map import LaneMap +from dryvr_plus_plus import BaseAgent +from dryvr_plus_plus import LaneMap class BallAgent(BaseAgent): diff --git a/dryvr_plus_plus/example/example_agent/car_agent.py b/dryvr_plus_plus/example/example_agent/car_agent.py index 8150778f7925a226517d050c7a77a7301ce97bda..445a3ae0fe90dfd8565aacb578f4cae2781670cc 100644 --- a/dryvr_plus_plus/example/example_agent/car_agent.py +++ b/dryvr_plus_plus/example/example_agent/car_agent.py @@ -4,8 +4,8 @@ from typing import Tuple, List import numpy as np from scipy.integrate import ode -from dryvr_plus_plus.agents import BaseAgent -from dryvr_plus_plus.map import LaneMap +from dryvr_plus_plus import BaseAgent +from dryvr_plus_plus import LaneMap from dryvr_plus_plus.code_parser import ControllerIR diff --git a/dryvr_plus_plus/example/example_agent/sign_agent.py b/dryvr_plus_plus/example/example_agent/sign_agent.py index 7746c4175eb9e15eadea3d79bc13b13711073a0f..31db92782710cb1dcfaf02fa5d47c3bbd1bd6443 100644 --- a/dryvr_plus_plus/example/example_agent/sign_agent.py +++ b/dryvr_plus_plus/example/example_agent/sign_agent.py @@ -1,4 +1,4 @@ -from dryvr_plus_plus.agents import BaseAgent +from dryvr_plus_plus import BaseAgent import numpy as np from dryvr_plus_plus.code_parser import ControllerIR diff --git a/dryvr_plus_plus/example/example_map/__init__.py b/dryvr_plus_plus/example/example_map/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..6a212095c04a3a72c94bae3387a1894f98012509 100644 --- a/dryvr_plus_plus/example/example_map/__init__.py +++ b/dryvr_plus_plus/example/example_map/__init__.py @@ -0,0 +1,3 @@ +from . import simple_map, simple_map2 +from .simple_map import * +from .simple_map2 import * \ No newline at end of file diff --git a/dryvr_plus_plus/example/example_map/simple_map.py b/dryvr_plus_plus/example/example_map/simple_map.py index d61aecab54feb30605edaedd15b4912ee52a918d..943ef7c21cf6b6ff26c1193e677a29a62c598d7e 100644 --- a/dryvr_plus_plus/example/example_map/simple_map.py +++ b/dryvr_plus_plus/example/example_map/simple_map.py @@ -1,4 +1,4 @@ -from dryvr_plus_plus.map import LaneMap, LaneSegment +from dryvr_plus_plus import LaneMap, LaneSegment class SimpleMap(LaneMap): def __init__(self): diff --git a/dryvr_plus_plus/example/example_map/simple_map2.py b/dryvr_plus_plus/example/example_map/simple_map2.py index 66126a2c4e84adbf83ea463a176f8209952609bc..49af38b66ed4f1780158e30c334a5d5b5b5696ab 100644 --- a/dryvr_plus_plus/example/example_map/simple_map2.py +++ b/dryvr_plus_plus/example/example_map/simple_map2.py @@ -1,4 +1,4 @@ -from dryvr_plus_plus.map import LaneMap, LaneSegment, StraightLane, CircularLane, Lane +from dryvr_plus_plus import LaneMap, LaneSegment, StraightLane, CircularLane, Lane import numpy as np diff --git a/dryvr_plus_plus/example/example_sensor/__init__.py b/dryvr_plus_plus/example/example_sensor/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..58456deab85a455132fb357c67dda535f0b48a5f 100644 --- a/dryvr_plus_plus/example/example_sensor/__init__.py +++ b/dryvr_plus_plus/example/example_sensor/__init__.py @@ -0,0 +1,2 @@ +from . import fake_sensor +from .fake_sensor import * \ No newline at end of file diff --git a/dryvr_plus_plus/map/__init__.py b/dryvr_plus_plus/map/__init__.py index 0fe16879b55685203c47b3fed5622aa48744e0c7..417b0d6b9e7726799bebe6160912df80cde0e59e 100644 --- a/dryvr_plus_plus/map/__init__.py +++ b/dryvr_plus_plus/map/__init__.py @@ -1,3 +1,4 @@ -from dryvr_plus_plus.map.lane_segment import AbstractLane, LaneSegment, StraightLane, CircularLane -from dryvr_plus_plus.map.lane_map import LaneMap -from dryvr_plus_plus.map.lane import Lane +from . import lane_segment, lane_map, lane +from .lane_segment import AbstractLane, LaneSegment, StraightLane, CircularLane +from .lane_map import LaneMap +from .lane import Lane diff --git a/dryvr_plus_plus/map/lane_segment.py b/dryvr_plus_plus/map/lane_segment.py index 36a4c83161b342658b15d131d9692424aab186e9..db2a32c0003830d1ac34831f12f8a07ee5fd51f6 100644 --- a/dryvr_plus_plus/map/lane_segment.py +++ b/dryvr_plus_plus/map/lane_segment.py @@ -3,7 +3,7 @@ from abc import ABCMeta, abstractmethod from typing import Tuple, List, Optional import copy -from dryvr_plus_plus.utils import wrap_to_pi, Vector, get_class_path, class_from_path, to_serializable +from dryvr_plus_plus.reachability_engine.utils import wrap_to_pi, Vector, get_class_path, to_serializable class LineType: diff --git a/dryvr_plus_plus/plotter/__init__.py b/dryvr_plus_plus/plotter/__init__.py index 5dbc287d927065e02e00ed2cccd0389194764818..82943711d2fd0ab8bf62d81d5d4546d962ee1715 100644 --- a/dryvr_plus_plus/plotter/__init__.py +++ b/dryvr_plus_plus/plotter/__init__.py @@ -19,4 +19,5 @@ # # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Codes are far away from bugs with the protection \ No newline at end of file +# Codes are far away from bugs with the protection +from . import parser, plotter2D, plotter3D diff --git a/dryvr_plus_plus/plotter/plotter2D.py b/dryvr_plus_plus/plotter/plotter2D.py index 42d75895deb3af49ff89ee7967e3f57e236020f9..7f0ac77edcc26aaf27f0a018b902b043ecde8f8c 100644 --- a/dryvr_plus_plus/plotter/plotter2D.py +++ b/dryvr_plus_plus/plotter/plotter2D.py @@ -4,12 +4,10 @@ This file consist main plotter code for DryVR reachtube output from __future__ import annotations import numpy as np -from math import pi import plotly.graph_objects as go from typing import List, Tuple from plotly.graph_objs.scatter import Marker -import copy -# from dryvr_plus_plus.analysis.analysis_tree_node import AnalysisTreeNode +# from dryvr_plus_plus import AnalysisTreeNode colors = [['#CC0000', '#FF0000', '#FF3333', '#FF6666', '#FF9999'], ['#CC6600', '#FF8000', '#FF9933', '#FFB266', '#FFCC99'], diff --git a/dryvr_plus_plus/plotter/plotter3D.py b/dryvr_plus_plus/plotter/plotter3D.py index 68a3a96f6d2e2aba25bd8b7f2ac2cbcd9705847f..4ffcc086a28839599185c32b5dcf900a5ba9b8a6 100644 --- a/dryvr_plus_plus/plotter/plotter3D.py +++ b/dryvr_plus_plus/plotter/plotter3D.py @@ -1,5 +1,4 @@ # Plot polytope in 3d -# Written by: Kristina Miller import numpy as np diff --git a/dryvr_plus_plus/reachability_engine/__init__.py b/dryvr_plus_plus/reachability_engine/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..f5d04b4cc7b557b99807d17232335c19f12873ef --- /dev/null +++ b/dryvr_plus_plus/reachability_engine/__init__.py @@ -0,0 +1 @@ +from . import dryvr \ No newline at end of file diff --git a/dryvr_plus_plus/dryvr.py b/dryvr_plus_plus/reachability_engine/dryvr.py similarity index 100% rename from dryvr_plus_plus/dryvr.py rename to dryvr_plus_plus/reachability_engine/dryvr.py diff --git a/dryvr_plus_plus/utils.py b/dryvr_plus_plus/reachability_engine/utils.py similarity index 100% rename from dryvr_plus_plus/utils.py rename to dryvr_plus_plus/reachability_engine/utils.py diff --git a/dryvr_plus_plus/scenario/__init__.py b/dryvr_plus_plus/scenario/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..d0b85f91a62a505230b77bc564bbb59815dd314b --- /dev/null +++ b/dryvr_plus_plus/scenario/__init__.py @@ -0,0 +1,2 @@ +from . import scenario +from .scenario import * \ No newline at end of file diff --git a/dryvr_plus_plus/scenario.py b/dryvr_plus_plus/scenario/scenario.py similarity index 99% rename from dryvr_plus_plus/scenario.py rename to dryvr_plus_plus/scenario/scenario.py index 6af44de4c7cc313440538742be834456076ffdc2..640899ea132864502d374632636765a96f3aeaa5 100644 --- a/dryvr_plus_plus/scenario.py +++ b/dryvr_plus_plus/scenario/scenario.py @@ -7,12 +7,12 @@ import ast import numpy as np -from dryvr_plus_plus.agents import BaseAgent +from dryvr_plus_plus.agents.base_agent import BaseAgent from dryvr_plus_plus.automaton import GuardExpressionAst, ResetExpression from dryvr_plus_plus.analysis import Simulator, Verifier, AnalysisTreeNode -from dryvr_plus_plus.utils import find, sample_rect -from dryvr_plus_plus.sensor import BaseSensor -from dryvr_plus_plus.map import LaneMap +from dryvr_plus_plus.reachability_engine.utils import find, sample_rect +from dryvr_plus_plus.sensor.base_sensor import BaseSensor +from dryvr_plus_plus.map.lane_map import LaneMap EGO, OTHERS = "ego", "others" diff --git a/dryvr_plus_plus/sensor/__init__.py b/dryvr_plus_plus/sensor/__init__.py index 5fdd4a838f3fc53ba8559a6531c52d49755065d0..9f6c0813058057a165d44ce6fb458f4e78e112b4 100644 --- a/dryvr_plus_plus/sensor/__init__.py +++ b/dryvr_plus_plus/sensor/__init__.py @@ -1 +1,2 @@ -from dryvr_plus_plus.sensor.base_sensor import BaseSensor +from . import base_sensor +from .base_sensor import BaseSensor \ No newline at end of file diff --git a/dryvr_plus_plus/sensor/base_sensor.py b/dryvr_plus_plus/sensor/base_sensor.py index e77246b9d17b9307e6e90502ad7b8ddea326cdd8..b668a38d02ef08686ab9fb78422a49db2f6dbceb 100644 --- a/dryvr_plus_plus/sensor/base_sensor.py +++ b/dryvr_plus_plus/sensor/base_sensor.py @@ -1,5 +1,5 @@ import numpy as np -from dryvr_plus_plus.agents import BaseAgent +from dryvr_plus_plus.agents.base_agent import BaseAgent def sets(d, thing, attrs, vals): d.update({thing + "." + k: v for k, v in zip(attrs, vals)}) diff --git a/tests/testdpp.py b/tests/testdpp.py index 5c2ebb35d36dcd74b6a4b41d5f25a275f6670dd8..e030d76653c573ff62dbf00ad331d4f777060cfc 100644 --- a/tests/testdpp.py +++ b/tests/testdpp.py @@ -48,11 +48,8 @@ def controller(ego:State): return output_vehicle_mode, output_lane_mode from dryvr_plus_plus.example.example_agent.car_agent import CarAgent -from dryvr_plus_plus.scenario import Scenario +from dryvr_plus_plus.scenario.scenario import Scenario from dryvr_plus_plus.example.example_map.simple_map import SimpleMap2 -from dryvr_plus_plus.example.example_sensor.fake_sensor import FakeSensor1 -import matplotlib.pyplot as plt -import numpy as np class TestSimulatorMethods(unittest.TestCase):