From 19778f5f92d5036256722fb2f45bef95952fa286 Mon Sep 17 00:00:00 2001 From: Yangge Li <li213@illinois.edu> Date: Fri, 20 May 2022 10:52:52 -0500 Subject: [PATCH] small changes on folder structure --- .gitignore | 3 ++- demo.py => demo/demo.py | 0 demo2.py => demo/demo2.py | 20 +++++++------- .../example_controller1.py | 5 ++-- .../example_controller2.py | 3 +-- .../example_controller3.py | 4 +-- .../example_two_car_sign_lane_switch.py | 26 +++---------------- .../example/example_agent/car_agent.py | 2 +- setup.py | 10 +++---- 9 files changed, 26 insertions(+), 47 deletions(-) rename demo.py => demo/demo.py (100%) rename demo2.py => demo/demo2.py (73%) rename example_controller1.py => demo/example_controller1.py (93%) rename example_controller2.py => demo/example_controller2.py (91%) rename example_controller3.py => demo/example_controller3.py (96%) rename example_two_car_sign_lane_switch.py => demo/example_two_car_sign_lane_switch.py (86%) diff --git a/.gitignore b/.gitignore index 5bba7af9..e0ecce94 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ __pycache__/ .idea/ venv/ .DS_Store -**.egg-info/ \ No newline at end of file +**.egg-info/ +.VSCodeCounter/ \ No newline at end of file diff --git a/demo.py b/demo/demo.py similarity index 100% rename from demo.py rename to demo/demo.py diff --git a/demo2.py b/demo/demo2.py similarity index 73% rename from demo2.py rename to demo/demo2.py index b7ab259f..7589ea8b 100644 --- a/demo2.py +++ b/demo/demo2.py @@ -34,11 +34,11 @@ if __name__ == "__main__": input_code_name = 'example_controller2.py' scenario = Scenario() - car = NPCAgent('car1', file_name=input_code_name) + car = NPCAgent('car1') scenario.add_agent(car) car = CarAgent('car2', file_name=input_code_name) scenario.add_agent(car) - tmp_map = SimpleMap3() + tmp_map = SimpleMap6() scenario.set_map(tmp_map) scenario.set_sensor(FakeSensor2()) scenario.set_init( @@ -51,17 +51,17 @@ if __name__ == "__main__": (VehicleMode.Normal, LaneMode.Lane1), ] ) - # res_list = scenario.simulate_multi(10,10) - traces = scenario.verify(10) + res_list = scenario.simulate_multi(10,10) + # traces = scenario.verify(10) fig = plt.figure(2) # fig = plot_map(tmp_map, 'g', fig) - fig = plot_reachtube_tree(traces, 'car1', 0, [1], 'b', fig, (1000,-1000), (1000,-1000)) - fig = plot_reachtube_tree(traces, 'car2', 0, [1], 'r', fig) - # for traces in res_list: - # fig = plot_simulation_tree(traces, 'car1', 0, [1], 'b', fig, (1000,-1000), (1000,-1000)) - # fig = plot_simulation_tree(traces, 'car2', 0, [1], 'r', fig) - # # generate_simulation_anime(traces, tmp_map) + # fig = plot_reachtube_tree(traces, 'car1', 0, [1], 'b', fig, (1000,-1000), (1000,-1000)) + # fig = plot_reachtube_tree(traces, 'car2', 0, [1], 'r', fig) + for traces in res_list: + fig = plot_simulation_tree(traces, 'car1', 0, [1], 'b', fig, (1000,-1000), (1000,-1000)) + fig = plot_simulation_tree(traces, 'car2', 0, [1], 'r', fig) + # generate_simulation_anime(traces, tmp_map) diff --git a/example_controller1.py b/demo/example_controller1.py similarity index 93% rename from example_controller1.py rename to demo/example_controller1.py index 68795384..4f66b62b 100644 --- a/example_controller1.py +++ b/demo/example_controller1.py @@ -1,6 +1,5 @@ from enum import Enum, auto import copy -from dryvr_plus_plus.scene_verifier.map.lane_map import LaneMap class LaneObjectMode(Enum): Vehicle = auto() @@ -29,9 +28,9 @@ class State: lane_mode: LaneMode = LaneMode.Lane0 def __init__(self, x, y, theta, v, vehicle_mode: VehicleMode, lane_mode: LaneMode): - self.data = [] + pass -def controller(ego:State, other:State, lane_map:LaneMap): +def controller(ego:State, other:State, lane_map): output = copy.deepcopy(ego) if ego.vehicle_mode == VehicleMode.Normal: if lane_map.get_longitudinal_position(other.lane_mode, [other.x,other.y]) - lane_map.get_longitudinal_position(ego.lane_mode, [ego.x,ego.y]) > 3 \ diff --git a/example_controller2.py b/demo/example_controller2.py similarity index 91% rename from example_controller2.py rename to demo/example_controller2.py index 315ce64f..bc3c1140 100644 --- a/example_controller2.py +++ b/demo/example_controller2.py @@ -1,6 +1,5 @@ from enum import Enum, auto import copy -from dryvr_plus_plus.scene_verifier.map.lane_map import LaneMap class VehicleMode(Enum): Normal = auto() @@ -24,7 +23,7 @@ class State: def __init__(self, x, y, theta, v, vehicle_mode: VehicleMode, lane_mode: LaneMode): self.data = [] -def controller(ego:State, other:State, lane_map:LaneMap): +def controller(ego:State, other:State, lane_map): output = copy.deepcopy(ego) if ego.vehicle_mode == VehicleMode.Normal: if lane_map.get_longitudinal_position(other.lane_mode, [other.x,other.y]) - lane_map.get_longitudinal_position(ego.lane_mode, [ego.x,ego.y]) > 0 \ diff --git a/example_controller3.py b/demo/example_controller3.py similarity index 96% rename from example_controller3.py rename to demo/example_controller3.py index 0df5565b..1f606e0c 100644 --- a/example_controller3.py +++ b/demo/example_controller3.py @@ -27,9 +27,9 @@ class State: v = 0.0 vehicle_mode: VehicleMode = VehicleMode.Normal lane_mode: LaneMode = LaneMode.Lane0 - obj_mode: LaneObjectMode + type: LaneObjectMode - def __init__(self, x, y, theta, v, vehicle_mode: VehicleMode, lane_mode: LaneMode): + def __init__(self, x, y, theta, v, vehicle_mode: VehicleMode, lane_mode: LaneMode, type: LaneObjectMode): self.data = [] def controller(ego:State, other:State, sign:State, lane_map:LaneMap): diff --git a/example_two_car_sign_lane_switch.py b/demo/example_two_car_sign_lane_switch.py similarity index 86% rename from example_two_car_sign_lane_switch.py rename to demo/example_two_car_sign_lane_switch.py index 236fc2fd..fcfaf923 100644 --- a/example_two_car_sign_lane_switch.py +++ b/demo/example_two_car_sign_lane_switch.py @@ -27,7 +27,7 @@ class State: v: float vehicle_mode: VehicleMode lane_mode: LaneMode - obj_mode: LaneObjectMode + type: LaneObjectMode def __init__(self, x: float = 0, y: float = 0, theta: float = 0, v: float = 0, vehicle_mode: VehicleMode = VehicleMode.Normal, lane_mode: LaneMode = LaneMode.Lane0, type: LaneObjectMode = LaneObjectMode.Vehicle): pass @@ -91,12 +91,12 @@ if __name__ == "__main__": scenario.set_sensor(FakeSensor2()) scenario.set_init( [ - [[10, 0, 0, 0.5],[10, 0, 0, 0.5]], [[0, -0.2, 0, 1.0],[0.2, 0.2, 0, 1.0]], + [[10, 0, 0, 0.5],[10, 0, 0, 0.5]], [[20, 0, 0, 0],[20, 0, 0, 0]], ], [ - (VehicleMode.Normal, LaneMode.Lane2, LaneObjectMode.Vehicle), + (VehicleMode.Normal, LaneMode.Lane1, LaneObjectMode.Vehicle), (VehicleMode.Normal, LaneMode.Lane1, LaneObjectMode.Vehicle), (VehicleMode.Normal, LaneMode.Lane1, LaneObjectMode.Obstacle), ] @@ -111,23 +111,3 @@ if __name__ == "__main__": plt.show() - # plt.plot([0, 40], [3, 3], 'g') - # plt.plot([0, 40], [0, 0], 'g') - # plt.plot([0, 40], [-3, -3], 'g') - - # queue = [traces] - # while queue != []: - # node = queue.pop(0) - # traces = node.trace - # # for agent_id in traces: - # agent_id = 'car2' - # trace = np.array(traces[agent_id]) - # plt.plot(trace[:, 1], trace[:, 2], 'r') - - # agent_id = 'car1' - # trace = np.array(traces[agent_id]) - # plt.plot(trace[:, 1], trace[:, 2], 'b') - - # # if node.child != []: - # queue += node.child - # plt.show() diff --git a/dryvr_plus_plus/example/example_agent/car_agent.py b/dryvr_plus_plus/example/example_agent/car_agent.py index 61f32fb0..9d1212f5 100644 --- a/dryvr_plus_plus/example/example_agent/car_agent.py +++ b/dryvr_plus_plus/example/example_agent/car_agent.py @@ -8,7 +8,7 @@ from dryvr_plus_plus.scene_verifier.map.lane_map import LaneMap from dryvr_plus_plus.scene_verifier.code_parser.pythonparser import EmptyAst class NPCAgent(BaseAgent): - def __init__(self, id, code = None, file_name = None): + def __init__(self, id): self.id = id self.controller = EmptyAst() diff --git a/setup.py b/setup.py index 25e99f51..221cc485 100644 --- a/setup.py +++ b/setup.py @@ -5,12 +5,12 @@ setup( name='dryvr_plus_plus', version='0.1', description='DryVR++', - author='MaybeShewill-CV', - maintainer='Chiao Hsieh', - maintainer_email='chsieh16@illinois.edu', + author='Yangge Li, Katherine Braught, Haoqing Zhu', + maintainer='Yangge Li, Katherine Braught, Haoqing Zhu', + maintainer_email='{li213, braught2, haoqing3}@illinois.edu', license='Apache-2.0', - packages=["dryvr_plus_plus"], - python_requires='>=3.6', + packages=setuptools.find_packages(exclude=["tests", "demo"]), + python_requires='>=3.8', install_requires=[ "numpy~=1.22.1", "scipy~=1.8.0", -- GitLab