puffyyy commited on
Commit
33bdf0e
·
1 Parent(s): 601f092

Upload 101 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. README.md +5 -5
  2. app.py +25 -0
  3. generate_scenario/.DS_Store +0 -0
  4. generate_scenario/__init__.py +1 -0
  5. generate_scenario/__pycache__/__init__.cpython-38.pyc +0 -0
  6. generate_scenario/__pycache__/final.cpython-38.pyc +0 -0
  7. generate_scenario/carla_waypoint/.DS_Store +0 -0
  8. generate_scenario/carla_waypoint/__init__.py +0 -0
  9. generate_scenario/carla_waypoint/__pycache__/__init__.cpython-38.pyc +0 -0
  10. generate_scenario/carla_waypoint/__pycache__/choose_map.cpython-38.pyc +0 -0
  11. generate_scenario/carla_waypoint/__pycache__/config.cpython-38.pyc +0 -0
  12. generate_scenario/carla_waypoint/__pycache__/get_map_info.cpython-38.pyc +0 -0
  13. generate_scenario/carla_waypoint/__pycache__/get_map_prompt.cpython-38.pyc +0 -0
  14. generate_scenario/carla_waypoint/__pycache__/load_map_database.cpython-38.pyc +0 -0
  15. generate_scenario/carla_waypoint/__pycache__/select_map.cpython-38.pyc +0 -0
  16. generate_scenario/carla_waypoint/choose_map.py +82 -0
  17. generate_scenario/carla_waypoint/config.py +3 -0
  18. generate_scenario/carla_waypoint/get_map_info.py +29 -0
  19. generate_scenario/carla_waypoint/get_map_prompt.py +32 -0
  20. generate_scenario/carla_waypoint/lane_explorer.py +504 -0
  21. generate_scenario/carla_waypoint/load_map_database.py +34 -0
  22. generate_scenario/carla_waypoint/location_database/Town04.json +42 -0
  23. generate_scenario/carla_waypoint/location_database/Town10HD.json +50 -0
  24. generate_scenario/carla_waypoint/map.json +1228 -0
  25. generate_scenario/carla_waypoint/map.txt +1 -0
  26. generate_scenario/carla_waypoint/map_database/Town04|-381|10.json +678 -0
  27. generate_scenario/carla_waypoint/map_database/Town04|-68|11.json +531 -0
  28. generate_scenario/carla_waypoint/map_database/Town04|13|-61.json +660 -0
  29. generate_scenario/carla_waypoint/map_database/Town04|16|101.json +422 -0
  30. generate_scenario/carla_waypoint/map_database/Town04|392|14.json +746 -0
  31. generate_scenario/carla_waypoint/map_database/Town10HD|-109|23.json +612 -0
  32. generate_scenario/carla_waypoint/map_database/Town10HD|-50|23.json +848 -0
  33. generate_scenario/carla_waypoint/map_database/Town10HD|-52|135.json +568 -0
  34. generate_scenario/carla_waypoint/map_database/Town10HD|103|17.json +670 -0
  35. generate_scenario/carla_waypoint/map_database/Town10HD|32|135.json +558 -0
  36. generate_scenario/carla_waypoint/map_database/Town10HD|5|-64.json +830 -0
  37. generate_scenario/carla_waypoint/map_info.json +902 -0
  38. generate_scenario/carla_waypoint/map_prompt.txt +156 -0
  39. generate_scenario/carla_waypoint/script.py +18 -0
  40. generate_scenario/carla_waypoint/select_map.py +35 -0
  41. generate_scenario/final.py +75 -0
  42. generate_scenario/generate_init/__init__.py +0 -0
  43. generate_scenario/generate_init/__pycache__/__init__.cpython-38.pyc +0 -0
  44. generate_scenario/generate_init/__pycache__/get_initial.cpython-38.pyc +0 -0
  45. generate_scenario/generate_init/__pycache__/map_prompts.cpython-38.pyc +0 -0
  46. generate_scenario/generate_init/get_initial.py +162 -0
  47. generate_scenario/generate_init/map_prompts.py +137 -0
  48. generate_scenario/generate_init/test.xosc +202 -0
  49. generate_scenario/init_location.txt +12 -0
  50. generate_scenario/load_xosc_base/__init__.py +0 -0
README.md CHANGED
@@ -1,10 +1,10 @@
1
  ---
2
- title: ScenarioGenDemo
3
- emoji: 💻
4
- colorFrom: pink
5
- colorTo: yellow
6
  sdk: gradio
7
- sdk_version: 3.41.2
8
  app_file: app.py
9
  pinned: false
10
  license: mit
 
1
  ---
2
+ title: ScenarioGen
3
+ emoji: 📉
4
+ colorFrom: indigo
5
+ colorTo: indigo
6
  sdk: gradio
7
+ sdk_version: 3.41.1
8
  app_file: app.py
9
  pinned: false
10
  license: mit
app.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from generate_scenario.final import GENETRAFFICAPI
3
+
4
+ def greet(general, event):
5
+
6
+
7
+ description = general
8
+ moving_description = event
9
+ curr_map = "Town10HD"
10
+ gen = GENETRAFFICAPI(description, moving_description, curr_map)
11
+ res = gen.generate_xosc()
12
+ return res
13
+
14
+
15
+ demo = gr.Interface(
16
+ fn=greet,
17
+ inputs=[gr.Textbox(lines=2, placeholder="Scenario Description General:"),
18
+ gr.Textbox(lines=2, placeholder="Scenario Description Event:"),],
19
+ outputs="text",
20
+ )
21
+ demo.launch()
22
+
23
+ # the Vehicle A was traveling normally on the road, when vehicle B rear-ended vehicle A.
24
+ # Vehicle carA is driving normally. Later, carA will turn left and vehicle carB, traveling in the opposite direction on a different lane, will have collision with carA. Additionally, on the same lane of carA, carC is driving normally on the rear of carA
25
+ # Event1: the adversary car move with speed 27 when it's at the distance of 21 from hero car. Event2:the adversary car stop when the collision happen on hero car.
generate_scenario/.DS_Store ADDED
Binary file (8.2 kB). View file
 
generate_scenario/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ from .final import GENETRAFFICAPI
generate_scenario/__pycache__/__init__.cpython-38.pyc ADDED
Binary file (205 Bytes). View file
 
generate_scenario/__pycache__/final.cpython-38.pyc ADDED
Binary file (2.46 kB). View file
 
generate_scenario/carla_waypoint/.DS_Store ADDED
Binary file (6.15 kB). View file
 
generate_scenario/carla_waypoint/__init__.py ADDED
File without changes
generate_scenario/carla_waypoint/__pycache__/__init__.cpython-38.pyc ADDED
Binary file (166 Bytes). View file
 
generate_scenario/carla_waypoint/__pycache__/choose_map.cpython-38.pyc ADDED
Binary file (3.61 kB). View file
 
generate_scenario/carla_waypoint/__pycache__/config.cpython-38.pyc ADDED
Binary file (267 Bytes). View file
 
generate_scenario/carla_waypoint/__pycache__/get_map_info.cpython-38.pyc ADDED
Binary file (1.43 kB). View file
 
generate_scenario/carla_waypoint/__pycache__/get_map_prompt.cpython-38.pyc ADDED
Binary file (1.47 kB). View file
 
generate_scenario/carla_waypoint/__pycache__/load_map_database.cpython-38.pyc ADDED
Binary file (1.34 kB). View file
 
generate_scenario/carla_waypoint/__pycache__/select_map.cpython-38.pyc ADDED
Binary file (1.68 kB). View file
 
generate_scenario/carla_waypoint/choose_map.py ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from .load_map_database import Map_database
2
+ import os
3
+ from langchain import LLMChain, PromptTemplate
4
+ from langchain.embeddings.openai import OpenAIEmbeddings
5
+ from langchain.vectorstores import Chroma
6
+ from langchain.llms import AzureOpenAI, OpenAI
7
+ from langchain.chat_models import ChatOpenAI, AzureChatOpenAI
8
+ import random
9
+
10
+ from langchain.prompts.chat import (
11
+ ChatPromptTemplate,
12
+ SystemMessagePromptTemplate,
13
+ HumanMessagePromptTemplate,
14
+ )
15
+ from .config import current_dir
16
+
17
+ os.environ["OPENAI_API_TYPE"] = "azure"
18
+ os.environ["OPENAI_API_VERSION"] = "2023-03-15-preview"
19
+ os.environ["OPENAI_API_BASE"] = "https://scenariogen.openai.azure.com/"
20
+ os.environ["OPENAI_API_KEY"] = "02c96d0cde1f4b07a7e77948d57aaaec"
21
+
22
+
23
+
24
+ prompt = \
25
+ """The current traffic scenario is {description}
26
+ Please choose the type of the map where this traffic scenario is most likely to happen.
27
+ A.T-junction B.Crossroad C.Straight D.Freeway Entrance E.Freeway Exit
28
+ The choosing rules are:
29
+ 1. First decide whether the scenario happened on Freeway, if the word "freeway" is mentioned in description, then you should choose from D.Freeway Entrance and E.Freeway Exit
30
+ 2. If the word "freeway" is not mentioned in description, then you should choose fron A.T-junction B.Crossroad and C.Straight. Find the most possible scenario
31
+ You have to choose one out of five, the most possible one. And only output the character(A,B,C,D) represent this choice.
32
+ """
33
+
34
+ types = ["T-junction", "Crossroad", "Straight", "Freeway Entrance", "Freeway Exit"]
35
+
36
+
37
+ class choose(object):
38
+ def __init__(self, whole_map = "Town10HD"):
39
+ self.model = AzureChatOpenAI(
40
+ deployment_name="gpt35turbo16k",
41
+ model_name="gpt-35-turbo-16k",
42
+ temperature=0.9,
43
+ max_tokens=3000,
44
+ )
45
+ self.map_database = Map_database(os.path.join(current_dir, "location_database"))
46
+ prompt_template = SystemMessagePromptTemplate.from_template(prompt)
47
+ self.chat_prompt = ChatPromptTemplate.from_messages([prompt_template])
48
+ self.map = whole_map
49
+
50
+ def get_type(self, description:str):
51
+ result = self.model(self.chat_prompt.format_prompt(**{"description":description}).to_messages())
52
+ curr_type = result.content
53
+ real_type = ""
54
+ for now_type in types:
55
+ if now_type in curr_type:
56
+ real_type = now_type
57
+ break
58
+ if real_type == "":
59
+ real_type = types[ord(curr_type[0]) - 64] if curr_type[0].isupper() else types[ord(curr_type[0]) - 96]
60
+
61
+ return real_type
62
+
63
+
64
+ def load_map(self, descrpiton:str):
65
+ real_type = self.get_type(descrpiton)
66
+ print(real_type)
67
+ loc = self.map_database.query(real_type, self.map)
68
+
69
+ curr_loc = random.choice(loc) if len(loc) > 0 else None
70
+
71
+ return curr_loc
72
+
73
+
74
+
75
+ if __name__ == "__main__":
76
+ choose_map = choose()
77
+ descriptions = ["""the Vehicle A was traveling normally on the road, when vehicle B rear-ended vehicle A.""",
78
+ """Vehicle carA is driving normally. Later, carA will turn left and vehicle carB, traveling in the opposite direction on a different lane, will have collision with carA. Additionally, on the same lane of carA, carC is driving normally on the rear of carA"""
79
+ ]
80
+ for description in descriptions:
81
+ print(choose_map.load_map(description))
82
+
generate_scenario/carla_waypoint/config.py ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ import os
2
+ current_file = os.path.abspath(__file__)
3
+ current_dir = os.path.dirname(current_file)
generate_scenario/carla_waypoint/get_map_info.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+
3
+ class Map_info(object):
4
+ def __init__( self, filepath:str="map.json"):
5
+ with open(filepath, "r") as f:
6
+ data = json.load(f)
7
+
8
+ self.lanes = []
9
+ for lane in data['lanes']:
10
+ waypoint = [node['id'] for node in lane['path']]
11
+ self.lanes.append({"id": lane['lane_id'], "nodes": waypoint})
12
+
13
+ self.nodes = []
14
+ for lane in data['lanes']:
15
+ for node in lane['path']:
16
+ loc = node['location']
17
+ self.nodes.append({"id":node['id'], "x":loc[0], "y":loc[1], "z":loc[2]})
18
+
19
+ def parse( self, outputpath:str =None):
20
+ file = {"lanes":self.lanes, "nodes":self.nodes}
21
+ if outputpath is not None:
22
+ formatted_data = json.dumps(file, indent=4, sort_keys=True, ensure_ascii=False)
23
+ with open(outputpath, "w") as f:
24
+ f.write(formatted_data)
25
+ return file
26
+
27
+ if __name__ == "__main__":
28
+ map_info = Map_info()
29
+ map_info.parse("map_info.json")
generate_scenario/carla_waypoint/get_map_prompt.py ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ class Map_Prompt(object):
3
+ def __init__( self, filepath:str="map.json"):
4
+ with open(filepath, "r") as f:
5
+ data = json.load(f)
6
+
7
+ self.map_prompt = ""
8
+
9
+ for lane in data['lanes']:
10
+ waypoint = [node['id'] for node in lane['path']]
11
+ self.map_prompt += f"<lane id={lane['lane_id']}>\n{waypoint}\n</lane>\n"
12
+
13
+ for pair in data["road"]:
14
+ self.map_prompt += f"<pair>\n{pair}\n</pair>\n"
15
+
16
+ for lane_id in data["relation"]:
17
+ relations = data["relation"][lane_id]
18
+ for relation in relations:
19
+ if relation[1] == 'other':
20
+ continue
21
+ self.map_prompt += f"<relation type='{relation[1]}' first_id={lane_id} second_id={relation[0]}/>\n"
22
+
23
+ def parse( self, outputpath:str=None):
24
+ if outputpath is not None:
25
+ with open(outputpath, "w") as f:
26
+ f.write(self.map_prompt)
27
+ return self.map_prompt
28
+
29
+ if __name__ == "__main__":
30
+ map_prompt = Map_Prompt()
31
+ print(map_prompt.map_prompt)
32
+ map_prompt.parse("map_prompt.txt")
generate_scenario/carla_waypoint/lane_explorer.py ADDED
@@ -0,0 +1,504 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+
3
+ # Copyright (c) 2019 Computer Vision Center (CVC) at the Universitat Autonoma de
4
+ # Barcelona (UAB).
5
+ #
6
+ # This work is licensed under the terms of the MIT license.
7
+ # For a copy, see <https://opensource.org/licenses/MIT>.
8
+
9
+ import glob
10
+ import os
11
+ import sys
12
+
13
+ import numpy as np
14
+ import json
15
+
16
+ try:
17
+ sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
18
+ sys.version_info.major,
19
+ sys.version_info.minor,
20
+ 'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
21
+ except IndexError:
22
+ pass
23
+
24
+ import carla
25
+
26
+ import argparse
27
+ import random
28
+ import time
29
+
30
+ red = carla.Color(255, 0, 0)
31
+ green = carla.Color(0, 255, 0)
32
+ blue = carla.Color(47, 210, 231)
33
+ cyan = carla.Color(0, 255, 255)
34
+ yellow = carla.Color(255, 255, 0)
35
+ orange = carla.Color(255, 162, 0)
36
+ white = carla.Color(255, 255, 255)
37
+ black = carla.Color(0,0,0)
38
+ trail_life_time = 10
39
+ waypoint_separation = 4
40
+ argparser = argparse.ArgumentParser()
41
+ argparser.add_argument(
42
+ '--host',
43
+ metavar='H',
44
+ default='127.0.0.1',
45
+ help='IP of the host server (default: 127.0.0.1)')
46
+ argparser.add_argument(
47
+ '-p', '--port',
48
+ metavar='P',
49
+ default=2000,
50
+ type=int,
51
+ help='TCP port to listen to (default: 2000)')
52
+ argparser.add_argument(
53
+ '-i', '--info',
54
+ action='store_true',
55
+ help='Show text information')
56
+ argparser.add_argument(
57
+ '-x',
58
+ default=0.0,
59
+ type=float,
60
+ help='X start position (default: 0.0)')
61
+ argparser.add_argument(
62
+ '-y',
63
+ default=0.0,
64
+ type=float,
65
+ help='Y start position (default: 0.0)')
66
+ argparser.add_argument(
67
+ '-z',
68
+ default=0.0,
69
+ type=float,
70
+ help='Z start position (default: 0.0)')
71
+ argparser.add_argument(
72
+ '--output',
73
+ default="map_database",
74
+ type=str,
75
+ help='the output file of the data')
76
+ argparser.add_argument(
77
+ '--world',
78
+ default="Town10HD",
79
+ type=str,
80
+ help='the world')
81
+ argparser.add_argument(
82
+ '--debug',
83
+ default=True,
84
+ type=bool,
85
+ help='whether to show the map in carla')
86
+ argparser.add_argument(
87
+ '-s', '--seed',
88
+ metavar='S',
89
+ default=os.getpid(),
90
+ type=int,
91
+ help='Seed for the random path (default: program pid)')
92
+ argparser.add_argument(
93
+ '-t', '--tick-time',
94
+ metavar='T',
95
+ default=0.2,
96
+ type=float,
97
+ help='Tick time between updates (forward velocity) (default: 0.2)')
98
+
99
+ def get_angle(v1,v2):
100
+ def dot(v1,v2):
101
+ return (v1.x * v2.x + v1.y * v2.y)
102
+ def cross(v1,v2):
103
+ return v1.x*v2.y - v1.y*v2.x
104
+ def len(v):
105
+ return np.sqrt(v.x*v.x + v.y* v.y)
106
+ sign = np.sign(cross(v1,v2))
107
+ angle = np.arccos(dot(v1,v2)/(len(v1) * len(v2)))
108
+ angle = sign * np.degrees(angle)
109
+ return angle
110
+ def draw_transform(debug, trans, col=carla.Color(255, 0, 0), lt=-1):
111
+ debug.draw_arrow(
112
+ trans.location, trans.location + trans.get_forward_vector(),
113
+ thickness=0.05, arrow_size=0.1, color=col, life_time=lt)
114
+
115
+
116
+ def draw_waypoint_union(debug, w0, w1, color=carla.Color(255, 0, 0), lt=5):
117
+ debug.draw_line(
118
+ w0.transform.location + carla.Location(z=0.25),
119
+ w1.transform.location + carla.Location(z=0.25),
120
+ thickness=0.1, color=color, life_time=lt, persistent_lines=False)
121
+ debug.draw_point(w1.transform.location + carla.Location(z=0.25), 0.2, color, lt, False)
122
+
123
+
124
+ def draw_waypoint_info(debug, w, lt=30):
125
+ w_loc = w.transform.location
126
+ debug.draw_string(w_loc + carla.Location(z=0.5), "lane: " + str(w.lane_id), False, yellow, lt)
127
+ debug.draw_string(w_loc + carla.Location(z=1.0), "road: " + str(w.road_id), False, black, lt)
128
+ debug.draw_string(w_loc + carla.Location(z=-.5), str(w.lane_change), False, red, lt)
129
+
130
+ def draw_junction(debug, junction, l_time=10):
131
+ """Draws a junction bounding box and the initial and final waypoint of every lane."""
132
+ # draw bounding box
133
+ box = junction.bounding_box
134
+ point1 = box.location + carla.Location(x=box.extent.x, y=box.extent.y, z=2)
135
+ point2 = box.location + carla.Location(x=-box.extent.x, y=box.extent.y, z=2)
136
+ point3 = box.location + carla.Location(x=-box.extent.x, y=-box.extent.y, z=2)
137
+ point4 = box.location + carla.Location(x=box.extent.x, y=-box.extent.y, z=2)
138
+ debug.draw_line(
139
+ point1, point2,
140
+ thickness=0.1, color=orange, life_time=l_time, persistent_lines=False)
141
+ debug.draw_line(
142
+ point2, point3,
143
+ thickness=0.1, color=orange, life_time=l_time, persistent_lines=False)
144
+ debug.draw_line(
145
+ point3, point4,
146
+ thickness=0.1, color=orange, life_time=l_time, persistent_lines=False)
147
+ debug.draw_line(
148
+ point4, point1,
149
+ thickness=0.1, color=orange, life_time=l_time, persistent_lines=False)
150
+ # draw junction pairs (begin-end) of every lane
151
+ junction_w = junction.get_waypoints(carla.LaneType.Any)
152
+ for pair_w in junction_w:
153
+ draw_transform(debug, pair_w[0].transform, orange, l_time)
154
+ debug.draw_point(
155
+ pair_w[0].transform.location + carla.Location(z=0.75), 0.1, orange, l_time, False)
156
+ draw_transform(debug, pair_w[1].transform, orange, l_time)
157
+ debug.draw_point(
158
+ pair_w[1].transform.location + carla.Location(z=0.75), 0.1, orange, l_time, False)
159
+ debug.draw_line(
160
+ pair_w[0].transform.location + carla.Location(z=0.75),
161
+ pair_w[1].transform.location + carla.Location(z=0.75), 0.1, white, l_time, False)
162
+ def random_walk(map, debug, args, loc):
163
+ m = map
164
+ current_w = m.get_waypoint(loc)
165
+ # for item in current_w.next(4):
166
+ # print(item.lane_type)
167
+ # print(current_w.road_id)
168
+ # main loop
169
+ waypoints = m.generate_waypoints(10)
170
+ trail_life_time = 600
171
+ for w in waypoints:
172
+ if w.transform.location.distance(loc) > 50:
173
+ continue
174
+ # Render some nice information, notice that you can't see the strings if you are using an editor camera
175
+ if args.info:
176
+ draw_waypoint_info(debug, w, trail_life_time)
177
+ # time.sleep(args.tick_time)
178
+
179
+ class ScenarioMap():
180
+ def __init__(self, map) -> None:
181
+ self.lane_id_map = {}
182
+ self.road_id_lanes = {}
183
+ self.road_relation = {}
184
+ self.path_round_id_map = {}
185
+ self.topology = []
186
+ self.waypoints = []
187
+ self.selected_map = []
188
+ self._carla_map = map
189
+ self._sampling_resolution = 8
190
+ self._build_topology()
191
+ self._build_relation()
192
+
193
+ def waypoint2dict(self, w):
194
+ return {
195
+ 'is_junction':w.is_junction,
196
+ 'lane_id':w.lane_id,
197
+ 'road_id':w.road_id,
198
+ 'w_id':w.id,
199
+ 'lane_width':w.lane_width,
200
+ 'location':list(map(round,(w.transform.location.x,w.transform.location.y,w.transform.location.z))),
201
+ 'heading':round(w.transform.rotation.yaw)
202
+ }
203
+ def _build_relation(self):
204
+ relation = {}
205
+ for se, lane in self.path_round_id_map.items():
206
+ lane_id = lane['lane_id']
207
+ last_wp = lane['path'][-1]
208
+ next_wps = last_wp.next(1)
209
+ if lane_id not in relation:
210
+ relation[lane_id] = []
211
+ for wp in next_wps:
212
+ if wp.road_id in self.road_id_lanes and wp.lane_id in self.road_id_lanes[wp.road_id]:
213
+ relation[lane_id].append(self.road_id_lanes[wp.road_id][wp.lane_id])
214
+ else:
215
+ print('not exist roadid & lane_id')
216
+ self.road_relation = relation
217
+
218
+ def _build_topology(self):
219
+ _wmap = self._carla_map
220
+ for segment in _wmap.get_topology():
221
+ wp1, wp2 = segment
222
+ path = wp1.next_until_lane_end(self._sampling_resolution)
223
+ if len(path) != 0:
224
+ wp_end = path[-1]
225
+ l1, l2 = wp1.transform.location, wp_end.transform.location
226
+ if l1.distance(l2) < 1:
227
+ continue
228
+ locs = list(np.round([l1.x,l1.y,l2.z,l2.x,l2.y,l2.z]))
229
+ path_round = '-'.join(map(str,locs))
230
+ else:
231
+ continue
232
+ if path_round not in self.path_round_id_map:
233
+ seg_dict = dict()
234
+ seg_dict['entry'], seg_dict['exit'] = wp1, wp_end
235
+ seg_dict['entryxyz'], seg_dict['exitxyz'] = locs[0:3], locs[3:]
236
+ seg_dict['heading'] = round(wp1.transform.rotation.yaw)
237
+ seg_dict['road_id'] = wp1.road_id
238
+ seg_dict['path'] = [wp1] + path
239
+ seg_dict['lane'] = wp1.lane_id
240
+ seg_dict['lane_id'] = len(self.lane_id_map)
241
+ seg_dict['is_junction'] = wp1.is_junction
242
+ if wp1.road_id not in self.road_id_lanes:
243
+ self.road_id_lanes[wp1.road_id] = {wp1.lane_id: seg_dict['lane_id']}
244
+ else:
245
+ self.road_id_lanes[wp1.road_id][wp1.lane_id] = seg_dict['lane_id']
246
+ self.lane_id_map[seg_dict['lane_id']] = seg_dict
247
+ self.path_round_id_map[path_round] = seg_dict
248
+ self.topology.append(seg_dict)
249
+ self.waypoints.append(wp1)
250
+ self.waypoints.append(wp_end)
251
+ # print(len(self.waypoints), len(set(self.waypoints)))
252
+ def get_selected_map(self, loc):
253
+ waypoints_nearby_road = []
254
+ for w in self.waypoints:
255
+ if w.transform.location.distance(loc) < 45:
256
+ waypoints_nearby_road.append(w)
257
+ selected_map = {'lanes':[],'junctions':[]}
258
+ junc_set = set()
259
+ for w in waypoints_nearby_road:
260
+ if w.is_junction is False:
261
+ for lane in self.topology:
262
+ if lane not in selected_map['lanes'] and w in lane['path']:
263
+ nearby_path = []
264
+ for w in lane['path']:
265
+ if w.transform.location.distance(loc) < 50:
266
+ nearby_path.append(w)
267
+ lane['path'] = nearby_path
268
+ selected_map['lanes'].append(lane)
269
+ else:
270
+ junc = w.get_junction()
271
+ if junc.id not in junc_set:
272
+ selected_map['junctions'].append({'extent':list(map(round,(junc.bounding_box.extent.x,junc.bounding_box.extent.y,junc.bounding_box.extent.z))),
273
+ 'location':list(map(round,(junc.bounding_box.location.x,junc.bounding_box.location.y,junc.bounding_box.location.z))),
274
+ 'heading':round(junc.bounding_box.rotation.yaw),
275
+ # 'id':junc.id
276
+ })
277
+ junc_set.add(junc.id)
278
+ self.selected_map = selected_map
279
+ select_lane_ids = set()
280
+ for lane in selected_map['lanes']:
281
+ select_lane_ids.add(lane['lane_id'])
282
+ self.select_lane_ids = select_lane_ids
283
+ return self.selected_map
284
+ def visualize(self, debug):
285
+ lane_relation = self.get_lane_relation()
286
+ for lane_id in self.select_lane_ids:
287
+ lane = self.lane_id_map[lane_id]
288
+ for wp_idx in range(len(lane['path']) - 1):
289
+ draw_waypoint_union(debug, lane['path'][wp_idx], lane['path'][wp_idx +1], lt=600)
290
+ if lane_id not in lane_relation:
291
+ continue
292
+ for next_lane_id, relation_type in lane_relation[lane_id]:
293
+ next_lane = self.lane_id_map[next_lane_id]
294
+ draw_waypoint_union(debug, lane['path'][-1], next_lane['path'][0], lt=600)
295
+ return
296
+ def get_lane_relation(self,):
297
+ lane_relation = {}
298
+ merge_lane = {}
299
+ for src, dests in self.road_relation.items():
300
+ src_lane = self.lane_id_map[src]
301
+ if src not in self.select_lane_ids or src_lane['is_junction']:
302
+ continue
303
+ for dest in dests:
304
+ next_lane = self.lane_id_map[dest]
305
+ if next_lane['is_junction']: # next lane by other road
306
+ if dest in self.road_relation:
307
+ sec_dests = self.road_relation[dest]
308
+ for sec_dest in sec_dests:
309
+ if sec_dest not in self.select_lane_ids:
310
+ continue
311
+ sec_dest_lane = self.lane_id_map[sec_dest]
312
+ dest_waypoint = sec_dest_lane['path'][0]
313
+ src_waypoint = src_lane['path'][0]
314
+ src_transform = src_waypoint.transform
315
+ dest_transform = dest_waypoint.transform
316
+ s2d_degree = get_angle(src_transform.get_forward_vector(), dest_transform.get_forward_vector())
317
+ relation = 'straight'
318
+ if -10 < s2d_degree < 10:
319
+ relation = 'straight'
320
+ elif 80 < s2d_degree < 100:
321
+ relation = 'right'
322
+ elif -100 < s2d_degree < -80:
323
+ relation = 'left'
324
+ elif 170 < s2d_degree < 190:
325
+ relation = 'back'
326
+ else:
327
+ relation = 'other'
328
+ if src not in lane_relation:
329
+ lane_relation[src] = [(sec_dest,relation)]
330
+ else:
331
+ if sec_dest in lane_relation[src]:
332
+ print('double exist road relation', src, sec_dest)
333
+ lane_relation[src].append((sec_dest,relation))
334
+ else:
335
+ if dest in self.select_lane_ids:
336
+ src_waypoint = src_lane['path'][0]
337
+ dest_lane = self.lane_id_map[dest]
338
+ dest_waypoint = dest_lane['path'][0]
339
+ src_transform = src_waypoint.transform
340
+ dest_transform = dest_waypoint.transform
341
+ s2d_degree = get_angle(src_transform.get_forward_vector(),dest_transform.get_forward_vector())
342
+ relation = 'straight'
343
+
344
+ if -10 < s2d_degree < 10:
345
+ relation = 'straight'
346
+ if len(dests) == 1:
347
+ if dest not in merge_lane:
348
+ merge_lane[src] = [src, dest]
349
+ merge_lane[dest] = []
350
+ else:
351
+ merge_lane[src] = [src] + merge_lane[dest]
352
+ merge_lane[dest] = []
353
+
354
+ elif 80 < s2d_degree < 100:
355
+ relation = 'right'
356
+ elif -100 < s2d_degree < -80:
357
+ relation = 'left'
358
+ elif 170 < s2d_degree < 190:
359
+ relation = 'back'
360
+ else:
361
+ relation = 'other'
362
+ if src not in lane_relation:
363
+ lane_relation[src] = [(dest, relation)]
364
+ else:
365
+ lane_relation[src].append((dest,relation))
366
+ for i in range(6):
367
+ for lane in merge_lane.keys():
368
+ if len(merge_lane[lane]) == 0:
369
+ continue
370
+ next_lane = merge_lane[lane][-1]
371
+ while (next_lane in merge_lane and len(merge_lane[next_lane])) > 0:
372
+
373
+ merge_lane[lane] = merge_lane[lane] + merge_lane[next_lane][1:]
374
+ merge_lane[next_lane] = []
375
+ remove_selected_lanes = []
376
+ for _, lanes in merge_lane.items():
377
+ if len(lanes) < 1:
378
+ continue
379
+ target = lanes[-1]
380
+ target_lane = self.lane_id_map[target]
381
+ new_path = []
382
+ for lane_id in lanes[0:-1]:
383
+ if lane_id in self.select_lane_ids:
384
+ self.select_lane_ids.remove(lane_id)
385
+ if lane_id in lane_relation:
386
+ if len(lane_relation[lane_id]) >1 :
387
+ print('muti relation in merged lane')
388
+ lane_relation.pop(lane_id)
389
+ for idx, lane in enumerate(self.selected_map['lanes']):
390
+ if lane['lane_id'] == lane_id:
391
+ if idx == 0:
392
+ target_lane['entry'] = lane['entry']
393
+ target_lane['entryxyz'] = lane['entryxyz']
394
+ if idx == len(self.selected_map['lanes']) - 1:
395
+ target_lane['exit'] = lane['exit']
396
+ target_lane['exitxyz'] = lane['exitxyz']
397
+ new_path.extend(lane['path'])
398
+ remove_selected_lanes.append(lane)
399
+ new_path.extend(target_lane['path'])
400
+ target_lane['path'] = new_path
401
+ for item in remove_selected_lanes:
402
+ self.selected_map['lanes'].remove(item)
403
+ # print(self.selected_map['lanes'])
404
+ return lane_relation
405
+
406
+
407
+ def get_same_road_relation(self,):
408
+ same_road = []
409
+ for k, v in self.road_id_lanes.items():
410
+ same_forward = []
411
+ same_backward = []
412
+ for l, lane_id in v.items():
413
+ if lane_id in self.select_lane_ids:
414
+ if l > 0:
415
+ same_forward.append(lane_id)
416
+ else:
417
+ same_backward.append(lane_id)
418
+ if len(same_forward) != 0:
419
+ same_road.append(same_forward)
420
+ if len(same_backward) != 0:
421
+ same_road.append(same_backward)
422
+ self.same_road = same_road
423
+ return same_road
424
+ def generate_map_info(self, loc):
425
+ self.get_selected_map(loc)
426
+ lane_relation = self.get_lane_relation()
427
+ road_relation = self.get_same_road_relation()
428
+ select_lanes = []
429
+ selected_map = {}
430
+ for lane in self.selected_map['lanes']:
431
+ lane_js = {
432
+ 'entryxyz':lane['entryxyz'],
433
+ 'exitxyz':lane['exitxyz'],
434
+ 'path': [self.waypoint2dict(w) for w in lane['path']],
435
+ 'lane':lane['lane'],
436
+ 'lane_id':lane['lane_id'],
437
+ 'heading':lane['heading'],
438
+ 'road_id':lane['road_id'],
439
+ }
440
+ select_lanes.append(lane_js)
441
+ selected_map['lanes'] = select_lanes
442
+ selected_map['lane_relations'] = lane_relation
443
+ selected_map['road'] = road_relation
444
+ return selected_map
445
+
446
+ def main():
447
+ args = argparser.parse_args()
448
+
449
+ try:
450
+ client = carla.Client(args.host, args.port)
451
+ client.set_timeout(2.0)
452
+ if args.world is None:
453
+ world = client.get_world()
454
+ else:
455
+ world = client.load_world(args.world)
456
+ m, debug = world.get_map(), world.debug
457
+ map_name = str(m.name).split("/")[-1]
458
+ if "_" in map_name:
459
+ map_name = map_name.split("_")[0]
460
+ random.seed(args.seed)
461
+ loc = carla.Location(args.x, args.y, args.z)
462
+ # print("Initial location: ", loc)
463
+ scenario_map = ScenarioMap(m)
464
+ data = scenario_map.generate_map_info(loc)
465
+
466
+ data["relation"] = data.pop("lane_relations")
467
+
468
+ lanes = data["lanes"]
469
+ real_lanes = []
470
+ waypoint_id = []
471
+ for lane in lanes:
472
+ waypoint_id.extend([node["w_id"] for node in lane["path"]])
473
+
474
+ waypoint_id = list(set(waypoint_id))
475
+ mapping = {}
476
+ value = 0
477
+ for key in waypoint_id:
478
+ mapping[key] = value
479
+ value += 1
480
+
481
+ for lane in lanes:
482
+ lane_path = [{"location": node["location"], "id":mapping[node["w_id"]]} for node in lane["path"]]
483
+ real_lanes.append({"lane_id":lane["lane_id"], "path":lane_path})
484
+
485
+ data["lanes"] = real_lanes
486
+
487
+
488
+ formatted_data = json.dumps(data, indent=4, sort_keys=True, ensure_ascii=False)
489
+
490
+ if os.path.exists(args.output) == False:
491
+ os.mkdir(args.output)
492
+
493
+ with open(os.path.join(args.output, f"{map_name}|{int(args.x)}|{int(args.y)}.json"), "w") as f:
494
+ f.write(formatted_data)
495
+
496
+ print("Finish!!!!")
497
+ if args.debug == True:
498
+ scenario_map.visualize(debug=debug)
499
+ finally:
500
+ pass
501
+
502
+
503
+ if __name__ == '__main__':
504
+ main()
generate_scenario/carla_waypoint/load_map_database.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import os
3
+
4
+ class Map_database(object):
5
+ def __init__(self, database="location_database"):
6
+ path = database
7
+ files = os.listdir(path)
8
+ self.dict = {}
9
+ for file in files:
10
+ if file.endswith(".json"):
11
+ Map = file[:-5]
12
+ with open( os.path.join(path, file)) as f:
13
+ self.dict[Map] = json.load(f)
14
+
15
+ self.types = ["Crossroad", "T-junction","Straight", "Freeway Entrance", "Freeway Exit", ]
16
+
17
+ def get( self, curr_type, locations ):
18
+ for loc in locations:
19
+ if loc["tag"] == curr_type:
20
+ return loc["location"]
21
+ return None
22
+ def query( self, curr_type, Map):
23
+
24
+ if curr_type not in self.types:
25
+ return []
26
+
27
+ ret = []
28
+ for loc in self.dict[Map]:
29
+ if loc["tag"] == curr_type:
30
+ ret.append( loc["location"])
31
+ return ret
32
+ if __name__ == "__main__":
33
+ curr_map = Map_database()
34
+ print(curr_map.query("Crossroad", "Town10HD"))
generate_scenario/carla_waypoint/location_database/Town04.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "location":{
4
+ "x":-68.0,
5
+ "y":11.0,
6
+ "z":0.0
7
+ },
8
+ "tag":"Freeway Exit"
9
+ },
10
+ {
11
+ "location":{
12
+ "x":-381.0,
13
+ "y":10.0,
14
+ "z":0.0
15
+ },
16
+ "tag":"T-junction"
17
+ },
18
+ {
19
+ "location":{
20
+ "x":16.0,
21
+ "y":101.0,
22
+ "z":0.0
23
+ },
24
+ "tag":"Freeway Entrance"
25
+ },
26
+ {
27
+ "location":{
28
+ "x":13.0,
29
+ "y":-61.0,
30
+ "z":0.0
31
+ },
32
+ "tag":"Freeway Exit"
33
+ },
34
+ {
35
+ "location":{
36
+ "x":392.0,
37
+ "y":14.0,
38
+ "z":0.0
39
+ },
40
+ "tag":"Freeway Entrance"
41
+ }
42
+ ]
generate_scenario/carla_waypoint/location_database/Town10HD.json ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "location":{
4
+ "x":103.0,
5
+ "y":17.0,
6
+ "z":0.0
7
+ },
8
+ "tag":"T-junction"
9
+ },
10
+ {
11
+ "location":{
12
+ "x":-109.0,
13
+ "y":23.0,
14
+ "z":0.0
15
+ },
16
+ "tag":"T-junction"
17
+ },
18
+ {
19
+ "location":{
20
+ "x":-52.0,
21
+ "y":135.0,
22
+ "z":0.0
23
+ },
24
+ "tag":"T-junction"
25
+ },
26
+ {
27
+ "location":{
28
+ "x":32.0,
29
+ "y":135.0,
30
+ "z":0.0
31
+ },
32
+ "tag":"Straight"
33
+ },
34
+ {
35
+ "location":{
36
+ "x":-50.0,
37
+ "y":23.0,
38
+ "z":0.0
39
+ },
40
+ "tag":"Crossroad"
41
+ },
42
+ {
43
+ "location":{
44
+ "x":5.0,
45
+ "y":-64.0,
46
+ "z":0.0
47
+ },
48
+ "tag":"Straight"
49
+ }
50
+ ]
generate_scenario/carla_waypoint/map.json ADDED
@@ -0,0 +1,1228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 22,
5
+ "path": [
6
+ {
7
+ "id": 99,
8
+ "location": [
9
+ -52,
10
+ -43,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 77,
16
+ "location": [
17
+ -52,
18
+ -35,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 68,
24
+ "location": [
25
+ -52,
26
+ -27,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 103,
32
+ "location": [
33
+ -52,
34
+ -19,
35
+ 0
36
+ ]
37
+ },
38
+ {
39
+ "id": 28,
40
+ "location": [
41
+ -52,
42
+ -17,
43
+ 0
44
+ ]
45
+ }
46
+ ]
47
+ },
48
+ {
49
+ "lane_id": 23,
50
+ "path": [
51
+ {
52
+ "id": 8,
53
+ "location": [
54
+ -49,
55
+ -43,
56
+ 0
57
+ ]
58
+ },
59
+ {
60
+ "id": 59,
61
+ "location": [
62
+ -49,
63
+ -35,
64
+ 0
65
+ ]
66
+ },
67
+ {
68
+ "id": 22,
69
+ "location": [
70
+ -49,
71
+ -27,
72
+ 0
73
+ ]
74
+ },
75
+ {
76
+ "id": 44,
77
+ "location": [
78
+ -49,
79
+ -19,
80
+ 0
81
+ ]
82
+ },
83
+ {
84
+ "id": 3,
85
+ "location": [
86
+ -49,
87
+ -17,
88
+ 0
89
+ ]
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "lane_id": 24,
95
+ "path": [
96
+ {
97
+ "id": 88,
98
+ "location": [
99
+ -45,
100
+ -17,
101
+ 0
102
+ ]
103
+ },
104
+ {
105
+ "id": 9,
106
+ "location": [
107
+ -45,
108
+ -25,
109
+ 0
110
+ ]
111
+ },
112
+ {
113
+ "id": 89,
114
+ "location": [
115
+ -45,
116
+ -33,
117
+ 0
118
+ ]
119
+ },
120
+ {
121
+ "id": 21,
122
+ "location": [
123
+ -45,
124
+ -41,
125
+ 0
126
+ ]
127
+ },
128
+ {
129
+ "id": 91,
130
+ "location": [
131
+ -45,
132
+ -43,
133
+ 0
134
+ ]
135
+ }
136
+ ]
137
+ },
138
+ {
139
+ "lane_id": 25,
140
+ "path": [
141
+ {
142
+ "id": 95,
143
+ "location": [
144
+ -42,
145
+ -17,
146
+ 0
147
+ ]
148
+ },
149
+ {
150
+ "id": 41,
151
+ "location": [
152
+ -42,
153
+ -25,
154
+ 0
155
+ ]
156
+ },
157
+ {
158
+ "id": 33,
159
+ "location": [
160
+ -42,
161
+ -33,
162
+ 0
163
+ ]
164
+ },
165
+ {
166
+ "id": 70,
167
+ "location": [
168
+ -42,
169
+ -41,
170
+ 0
171
+ ]
172
+ },
173
+ {
174
+ "id": 56,
175
+ "location": [
176
+ -42,
177
+ -43,
178
+ 0
179
+ ]
180
+ }
181
+ ]
182
+ },
183
+ {
184
+ "lane_id": 35,
185
+ "path": [
186
+ {
187
+ "id": 51,
188
+ "location": [
189
+ -29,
190
+ 28,
191
+ 0
192
+ ]
193
+ },
194
+ {
195
+ "id": 55,
196
+ "location": [
197
+ -21,
198
+ 28,
199
+ 0
200
+ ]
201
+ },
202
+ {
203
+ "id": 105,
204
+ "location": [
205
+ -13,
206
+ 28,
207
+ 0
208
+ ]
209
+ },
210
+ {
211
+ "id": 71,
212
+ "location": [
213
+ -5,
214
+ 28,
215
+ 0
216
+ ]
217
+ },
218
+ {
219
+ "id": 18,
220
+ "location": [
221
+ 3,
222
+ 28,
223
+ 0
224
+ ]
225
+ },
226
+ {
227
+ "id": 57,
228
+ "location": [
229
+ 11,
230
+ 28,
231
+ 0
232
+ ]
233
+ },
234
+ {
235
+ "id": 97,
236
+ "location": [
237
+ 19,
238
+ 28,
239
+ 0
240
+ ]
241
+ },
242
+ {
243
+ "id": 81,
244
+ "location": [
245
+ 26,
246
+ 28,
247
+ 0
248
+ ]
249
+ }
250
+ ]
251
+ },
252
+ {
253
+ "lane_id": 36,
254
+ "path": [
255
+ {
256
+ "id": 73,
257
+ "location": [
258
+ -29,
259
+ 25,
260
+ 0
261
+ ]
262
+ },
263
+ {
264
+ "id": 104,
265
+ "location": [
266
+ -21,
267
+ 25,
268
+ 0
269
+ ]
270
+ },
271
+ {
272
+ "id": 23,
273
+ "location": [
274
+ -13,
275
+ 25,
276
+ 0
277
+ ]
278
+ },
279
+ {
280
+ "id": 53,
281
+ "location": [
282
+ -5,
283
+ 25,
284
+ 0
285
+ ]
286
+ },
287
+ {
288
+ "id": 31,
289
+ "location": [
290
+ 3,
291
+ 25,
292
+ 0
293
+ ]
294
+ },
295
+ {
296
+ "id": 63,
297
+ "location": [
298
+ 11,
299
+ 25,
300
+ 0
301
+ ]
302
+ },
303
+ {
304
+ "id": 66,
305
+ "location": [
306
+ 19,
307
+ 25,
308
+ 0
309
+ ]
310
+ },
311
+ {
312
+ "id": 17,
313
+ "location": [
314
+ 26,
315
+ 25,
316
+ 0
317
+ ]
318
+ }
319
+ ]
320
+ },
321
+ {
322
+ "lane_id": 37,
323
+ "path": [
324
+ {
325
+ "id": 15,
326
+ "location": [
327
+ 26,
328
+ 17,
329
+ 0
330
+ ]
331
+ },
332
+ {
333
+ "id": 46,
334
+ "location": [
335
+ 18,
336
+ 17,
337
+ 0
338
+ ]
339
+ },
340
+ {
341
+ "id": 58,
342
+ "location": [
343
+ 10,
344
+ 17,
345
+ 0
346
+ ]
347
+ },
348
+ {
349
+ "id": 34,
350
+ "location": [
351
+ 2,
352
+ 17,
353
+ 0
354
+ ]
355
+ },
356
+ {
357
+ "id": 67,
358
+ "location": [
359
+ -6,
360
+ 17,
361
+ 0
362
+ ]
363
+ },
364
+ {
365
+ "id": 54,
366
+ "location": [
367
+ -14,
368
+ 17,
369
+ 0
370
+ ]
371
+ },
372
+ {
373
+ "id": 4,
374
+ "location": [
375
+ -22,
376
+ 17,
377
+ 0
378
+ ]
379
+ },
380
+ {
381
+ "id": 52,
382
+ "location": [
383
+ -29,
384
+ 17,
385
+ 0
386
+ ]
387
+ }
388
+ ]
389
+ },
390
+ {
391
+ "lane_id": 38,
392
+ "path": [
393
+ {
394
+ "id": 79,
395
+ "location": [
396
+ 26,
397
+ 13,
398
+ 0
399
+ ]
400
+ },
401
+ {
402
+ "id": 35,
403
+ "location": [
404
+ 18,
405
+ 13,
406
+ 0
407
+ ]
408
+ },
409
+ {
410
+ "id": 0,
411
+ "location": [
412
+ 10,
413
+ 13,
414
+ 0
415
+ ]
416
+ },
417
+ {
418
+ "id": 85,
419
+ "location": [
420
+ 2,
421
+ 13,
422
+ 0
423
+ ]
424
+ },
425
+ {
426
+ "id": 74,
427
+ "location": [
428
+ -6,
429
+ 13,
430
+ 0
431
+ ]
432
+ },
433
+ {
434
+ "id": 107,
435
+ "location": [
436
+ -14,
437
+ 13,
438
+ 0
439
+ ]
440
+ },
441
+ {
442
+ "id": 60,
443
+ "location": [
444
+ -22,
445
+ 13,
446
+ 0
447
+ ]
448
+ },
449
+ {
450
+ "id": 14,
451
+ "location": [
452
+ -29,
453
+ 13,
454
+ 0
455
+ ]
456
+ }
457
+ ]
458
+ },
459
+ {
460
+ "lane_id": 41,
461
+ "path": [
462
+ {
463
+ "id": 19,
464
+ "location": [
465
+ -78,
466
+ 28,
467
+ 0
468
+ ]
469
+ },
470
+ {
471
+ "id": 29,
472
+ "location": [
473
+ -70,
474
+ 28,
475
+ 0
476
+ ]
477
+ },
478
+ {
479
+ "id": 101,
480
+ "location": [
481
+ -67,
482
+ 28,
483
+ 0
484
+ ]
485
+ }
486
+ ]
487
+ },
488
+ {
489
+ "lane_id": 42,
490
+ "path": [
491
+ {
492
+ "id": 87,
493
+ "location": [
494
+ -78,
495
+ 24,
496
+ 0
497
+ ]
498
+ },
499
+ {
500
+ "id": 84,
501
+ "location": [
502
+ -70,
503
+ 24,
504
+ 0
505
+ ]
506
+ },
507
+ {
508
+ "id": 2,
509
+ "location": [
510
+ -67,
511
+ 24,
512
+ 0
513
+ ]
514
+ }
515
+ ]
516
+ },
517
+ {
518
+ "lane_id": 43,
519
+ "path": [
520
+ {
521
+ "id": 82,
522
+ "location": [
523
+ -67,
524
+ 16,
525
+ 0
526
+ ]
527
+ },
528
+ {
529
+ "id": 65,
530
+ "location": [
531
+ -75,
532
+ 16,
533
+ 0
534
+ ]
535
+ },
536
+ {
537
+ "id": 69,
538
+ "location": [
539
+ -78,
540
+ 16,
541
+ 0
542
+ ]
543
+ }
544
+ ]
545
+ },
546
+ {
547
+ "lane_id": 44,
548
+ "path": [
549
+ {
550
+ "id": 72,
551
+ "location": [
552
+ -67,
553
+ 13,
554
+ 0
555
+ ]
556
+ },
557
+ {
558
+ "id": 7,
559
+ "location": [
560
+ -75,
561
+ 13,
562
+ 0
563
+ ]
564
+ },
565
+ {
566
+ "id": 98,
567
+ "location": [
568
+ -78,
569
+ 13,
570
+ 0
571
+ ]
572
+ }
573
+ ]
574
+ },
575
+ {
576
+ "lane_id": 46,
577
+ "path": [
578
+ {
579
+ "id": 24,
580
+ "location": [
581
+ -89,
582
+ 28,
583
+ 0
584
+ ]
585
+ },
586
+ {
587
+ "id": 86,
588
+ "location": [
589
+ -81,
590
+ 28,
591
+ 0
592
+ ]
593
+ },
594
+ {
595
+ "id": 32,
596
+ "location": [
597
+ -78,
598
+ 28,
599
+ 0
600
+ ]
601
+ }
602
+ ]
603
+ },
604
+ {
605
+ "lane_id": 47,
606
+ "path": [
607
+ {
608
+ "id": 102,
609
+ "location": [
610
+ -89,
611
+ 24,
612
+ 0
613
+ ]
614
+ },
615
+ {
616
+ "id": 12,
617
+ "location": [
618
+ -81,
619
+ 24,
620
+ 0
621
+ ]
622
+ },
623
+ {
624
+ "id": 5,
625
+ "location": [
626
+ -78,
627
+ 24,
628
+ 0
629
+ ]
630
+ }
631
+ ]
632
+ },
633
+ {
634
+ "lane_id": 48,
635
+ "path": [
636
+ {
637
+ "id": 64,
638
+ "location": [
639
+ -78,
640
+ 16,
641
+ 0
642
+ ]
643
+ },
644
+ {
645
+ "id": 37,
646
+ "location": [
647
+ -86,
648
+ 16,
649
+ 0
650
+ ]
651
+ },
652
+ {
653
+ "id": 92,
654
+ "location": [
655
+ -89,
656
+ 16,
657
+ 0
658
+ ]
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "lane_id": 49,
664
+ "path": [
665
+ {
666
+ "id": 11,
667
+ "location": [
668
+ -78,
669
+ 13,
670
+ 0
671
+ ]
672
+ },
673
+ {
674
+ "id": 10,
675
+ "location": [
676
+ -86,
677
+ 13,
678
+ 0
679
+ ]
680
+ },
681
+ {
682
+ "id": 106,
683
+ "location": [
684
+ -89,
685
+ 13,
686
+ 0
687
+ ]
688
+ }
689
+ ]
690
+ },
691
+ {
692
+ "lane_id": 54,
693
+ "path": [
694
+ {
695
+ "id": 36,
696
+ "location": [
697
+ -42,
698
+ -5,
699
+ 0
700
+ ]
701
+ },
702
+ {
703
+ "id": 76,
704
+ "location": [
705
+ -42,
706
+ -13,
707
+ 0
708
+ ]
709
+ },
710
+ {
711
+ "id": 96,
712
+ "location": [
713
+ -42,
714
+ -17,
715
+ 0
716
+ ]
717
+ }
718
+ ]
719
+ },
720
+ {
721
+ "lane_id": 55,
722
+ "path": [
723
+ {
724
+ "id": 26,
725
+ "location": [
726
+ -45,
727
+ -5,
728
+ 0
729
+ ]
730
+ },
731
+ {
732
+ "id": 30,
733
+ "location": [
734
+ -45,
735
+ -13,
736
+ 0
737
+ ]
738
+ },
739
+ {
740
+ "id": 38,
741
+ "location": [
742
+ -45,
743
+ -17,
744
+ 0
745
+ ]
746
+ }
747
+ ]
748
+ },
749
+ {
750
+ "lane_id": 56,
751
+ "path": [
752
+ {
753
+ "id": 90,
754
+ "location": [
755
+ -49,
756
+ -17,
757
+ 0
758
+ ]
759
+ },
760
+ {
761
+ "id": 100,
762
+ "location": [
763
+ -49,
764
+ -9,
765
+ 0
766
+ ]
767
+ },
768
+ {
769
+ "id": 27,
770
+ "location": [
771
+ -49,
772
+ -5,
773
+ 0
774
+ ]
775
+ }
776
+ ]
777
+ },
778
+ {
779
+ "lane_id": 57,
780
+ "path": [
781
+ {
782
+ "id": 1,
783
+ "location": [
784
+ -52,
785
+ -17,
786
+ 0
787
+ ]
788
+ },
789
+ {
790
+ "id": 42,
791
+ "location": [
792
+ -52,
793
+ -9,
794
+ 0
795
+ ]
796
+ },
797
+ {
798
+ "id": 50,
799
+ "location": [
800
+ -52,
801
+ -5,
802
+ 0
803
+ ]
804
+ }
805
+ ]
806
+ },
807
+ {
808
+ "lane_id": 58,
809
+ "path": [
810
+ {
811
+ "id": 45,
812
+ "location": [
813
+ -42,
814
+ -2,
815
+ 0
816
+ ]
817
+ },
818
+ {
819
+ "id": 93,
820
+ "location": [
821
+ -42,
822
+ -5,
823
+ 0
824
+ ]
825
+ }
826
+ ]
827
+ },
828
+ {
829
+ "lane_id": 59,
830
+ "path": [
831
+ {
832
+ "id": 78,
833
+ "location": [
834
+ -45,
835
+ -2,
836
+ 0
837
+ ]
838
+ },
839
+ {
840
+ "id": 75,
841
+ "location": [
842
+ -45,
843
+ -5,
844
+ 0
845
+ ]
846
+ }
847
+ ]
848
+ },
849
+ {
850
+ "lane_id": 60,
851
+ "path": [
852
+ {
853
+ "id": 16,
854
+ "location": [
855
+ -49,
856
+ -5,
857
+ 0
858
+ ]
859
+ },
860
+ {
861
+ "id": 13,
862
+ "location": [
863
+ -49,
864
+ -2,
865
+ 0
866
+ ]
867
+ }
868
+ ]
869
+ },
870
+ {
871
+ "lane_id": 61,
872
+ "path": [
873
+ {
874
+ "id": 43,
875
+ "location": [
876
+ -52,
877
+ -5,
878
+ 0
879
+ ]
880
+ },
881
+ {
882
+ "id": 39,
883
+ "location": [
884
+ -52,
885
+ -2,
886
+ 0
887
+ ]
888
+ }
889
+ ]
890
+ },
891
+ {
892
+ "lane_id": 138,
893
+ "path": [
894
+ {
895
+ "id": 61,
896
+ "location": [
897
+ -42,
898
+ 52,
899
+ 0
900
+ ]
901
+ },
902
+ {
903
+ "id": 49,
904
+ "location": [
905
+ -42,
906
+ 44,
907
+ 0
908
+ ]
909
+ },
910
+ {
911
+ "id": 47,
912
+ "location": [
913
+ -42,
914
+ 43,
915
+ 0
916
+ ]
917
+ }
918
+ ]
919
+ },
920
+ {
921
+ "lane_id": 139,
922
+ "path": [
923
+ {
924
+ "id": 62,
925
+ "location": [
926
+ -45,
927
+ 52,
928
+ 0
929
+ ]
930
+ },
931
+ {
932
+ "id": 6,
933
+ "location": [
934
+ -45,
935
+ 44,
936
+ 0
937
+ ]
938
+ },
939
+ {
940
+ "id": 48,
941
+ "location": [
942
+ -45,
943
+ 43,
944
+ 0
945
+ ]
946
+ }
947
+ ]
948
+ },
949
+ {
950
+ "lane_id": 140,
951
+ "path": [
952
+ {
953
+ "id": 94,
954
+ "location": [
955
+ -49,
956
+ 43,
957
+ 0
958
+ ]
959
+ },
960
+ {
961
+ "id": 80,
962
+ "location": [
963
+ -49,
964
+ 51,
965
+ 0
966
+ ]
967
+ },
968
+ {
969
+ "id": 20,
970
+ "location": [
971
+ -49,
972
+ 52,
973
+ 0
974
+ ]
975
+ }
976
+ ]
977
+ },
978
+ {
979
+ "lane_id": 141,
980
+ "path": [
981
+ {
982
+ "id": 83,
983
+ "location": [
984
+ -52,
985
+ 43,
986
+ 0
987
+ ]
988
+ },
989
+ {
990
+ "id": 25,
991
+ "location": [
992
+ -52,
993
+ 51,
994
+ 0
995
+ ]
996
+ },
997
+ {
998
+ "id": 40,
999
+ "location": [
1000
+ -52,
1001
+ 52,
1002
+ 0
1003
+ ]
1004
+ }
1005
+ ]
1006
+ }
1007
+ ],
1008
+ "relation": {
1009
+ "138": [
1010
+ [
1011
+ 58,
1012
+ "straight"
1013
+ ],
1014
+ [
1015
+ 35,
1016
+ "right"
1017
+ ]
1018
+ ],
1019
+ "139": [
1020
+ [
1021
+ 59,
1022
+ "straight"
1023
+ ],
1024
+ [
1025
+ 43,
1026
+ "left"
1027
+ ]
1028
+ ],
1029
+ "22": [
1030
+ [
1031
+ 57,
1032
+ "straight"
1033
+ ]
1034
+ ],
1035
+ "23": [
1036
+ [
1037
+ 56,
1038
+ "straight"
1039
+ ]
1040
+ ],
1041
+ "37": [
1042
+ [
1043
+ 43,
1044
+ "straight"
1045
+ ],
1046
+ [
1047
+ 140,
1048
+ "left"
1049
+ ]
1050
+ ],
1051
+ "38": [
1052
+ [
1053
+ 58,
1054
+ "right"
1055
+ ],
1056
+ [
1057
+ 44,
1058
+ "straight"
1059
+ ]
1060
+ ],
1061
+ "41": [
1062
+ [
1063
+ 35,
1064
+ "straight"
1065
+ ],
1066
+ [
1067
+ 141,
1068
+ "right"
1069
+ ]
1070
+ ],
1071
+ "42": [
1072
+ [
1073
+ 36,
1074
+ "straight"
1075
+ ],
1076
+ [
1077
+ 59,
1078
+ "left"
1079
+ ],
1080
+ [
1081
+ 58,
1082
+ "left"
1083
+ ]
1084
+ ],
1085
+ "43": [
1086
+ [
1087
+ 48,
1088
+ "straight"
1089
+ ]
1090
+ ],
1091
+ "44": [
1092
+ [
1093
+ 49,
1094
+ "straight"
1095
+ ]
1096
+ ],
1097
+ "46": [
1098
+ [
1099
+ 41,
1100
+ "straight"
1101
+ ]
1102
+ ],
1103
+ "47": [
1104
+ [
1105
+ 42,
1106
+ "straight"
1107
+ ]
1108
+ ],
1109
+ "54": [
1110
+ [
1111
+ 25,
1112
+ "straight"
1113
+ ]
1114
+ ],
1115
+ "55": [
1116
+ [
1117
+ 24,
1118
+ "straight"
1119
+ ]
1120
+ ],
1121
+ "56": [
1122
+ [
1123
+ 60,
1124
+ "straight"
1125
+ ]
1126
+ ],
1127
+ "57": [
1128
+ [
1129
+ 61,
1130
+ "straight"
1131
+ ]
1132
+ ],
1133
+ "58": [
1134
+ [
1135
+ 54,
1136
+ "straight"
1137
+ ]
1138
+ ],
1139
+ "59": [
1140
+ [
1141
+ 55,
1142
+ "straight"
1143
+ ]
1144
+ ],
1145
+ "60": [
1146
+ [
1147
+ 140,
1148
+ "straight"
1149
+ ],
1150
+ [
1151
+ 35,
1152
+ "left"
1153
+ ],
1154
+ [
1155
+ 36,
1156
+ "left"
1157
+ ]
1158
+ ],
1159
+ "61": [
1160
+ [
1161
+ 141,
1162
+ "straight"
1163
+ ],
1164
+ [
1165
+ 44,
1166
+ "right"
1167
+ ]
1168
+ ]
1169
+ },
1170
+ "road": [
1171
+ [
1172
+ 24,
1173
+ 25
1174
+ ],
1175
+ [
1176
+ 22,
1177
+ 23
1178
+ ],
1179
+ [
1180
+ 37,
1181
+ 38
1182
+ ],
1183
+ [
1184
+ 35,
1185
+ 36
1186
+ ],
1187
+ [
1188
+ 43,
1189
+ 44
1190
+ ],
1191
+ [
1192
+ 41,
1193
+ 42
1194
+ ],
1195
+ [
1196
+ 48,
1197
+ 49
1198
+ ],
1199
+ [
1200
+ 46,
1201
+ 47
1202
+ ],
1203
+ [
1204
+ 56,
1205
+ 57
1206
+ ],
1207
+ [
1208
+ 54,
1209
+ 55
1210
+ ],
1211
+ [
1212
+ 60,
1213
+ 61
1214
+ ],
1215
+ [
1216
+ 58,
1217
+ 59
1218
+ ],
1219
+ [
1220
+ 140,
1221
+ 141
1222
+ ],
1223
+ [
1224
+ 138,
1225
+ 139
1226
+ ]
1227
+ ]
1228
+ }
generate_scenario/carla_waypoint/map.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ {'lanes': [{'entryxyz': [-45.0, -17.0, 0.0], 'exitxyz': [-45.0, -43.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -1, 'road_id': 15, 'lane_width': 3.5, 'location': [-45, -2, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -1, 'road_id': 15, 'lane_width': 3.5, 'location': [-45, -5, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -1, 'road_id': 16, 'lane_width': 3.5, 'location': [-45, -5, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -1, 'road_id': 16, 'lane_width': 3.5, 'location': [-45, -13, 0], 'heading': 270}, {'is_junction': False, 'lane_id': -1, 'road_id': 16, 'lane_width': 3.5, 'location': [-45, -17, 0], 'heading': -90}, {'is_junction': False, 'lane_id': 1, 'road_id': 22, 'lane_width': 3.5, 'location': [-45, -17, 0], 'heading': 270}, {'is_junction': False, 'lane_id': 1, 'road_id': 22, 'lane_width': 3.5, 'location': [-45, -25, 0], 'heading': 270}, {'is_junction': False, 'lane_id': 1, 'road_id': 22, 'lane_width': 3.5, 'location': [-45, -33, 0], 'heading': 270}, {'is_junction': False, 'lane_id': 1, 'road_id': 22, 'lane_width': 3.5, 'location': [-45, -41, 0], 'heading': 270}, {'is_junction': False, 'lane_id': 1, 'road_id': 22, 'lane_width': 3.5, 'location': [-45, -43, 0], 'heading': 270}], 'lane': 1, 'lane_id': 24, 'heading': 270, 'road_id': 22}, {'entryxyz': [-42.0, -17.0, 0.0], 'exitxyz': [-42.0, -43.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -2, 'road_id': 15, 'lane_width': 3.5, 'location': [-42, -2, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -2, 'road_id': 15, 'lane_width': 3.5, 'location': [-42, -5, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -2, 'road_id': 16, 'lane_width': 3.5, 'location': [-42, -5, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -2, 'road_id': 16, 'lane_width': 3.5, 'location': [-42, -13, 0], 'heading': 270}, {'is_junction': False, 'lane_id': -2, 'road_id': 16, 'lane_width': 3.5, 'location': [-42, -17, 0], 'heading': -90}, {'is_junction': False, 'lane_id': 2, 'road_id': 22, 'lane_width': 3.5, 'location': [-42, -17, 0], 'heading': 270}, {'is_junction': False, 'lane_id': 2, 'road_id': 22, 'lane_width': 3.5, 'location': [-42, -25, 0], 'heading': 270}, {'is_junction': False, 'lane_id': 2, 'road_id': 22, 'lane_width': 3.5, 'location': [-42, -33, 0], 'heading': 270}, {'is_junction': False, 'lane_id': 2, 'road_id': 22, 'lane_width': 3.5, 'location': [-42, -41, 0], 'heading': 270}, {'is_junction': False, 'lane_id': 2, 'road_id': 22, 'lane_width': 3.5, 'location': [-42, -43, 0], 'heading': 270}], 'lane': 2, 'lane_id': 25, 'heading': 270, 'road_id': 22}, {'entryxyz': [-29.0, 28.0, 0.0], 'exitxyz': [26.0, 28.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -2, 'road_id': 20, 'lane_width': 3.5, 'location': [-29, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 20, 'lane_width': 3.5, 'location': [-21, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 20, 'lane_width': 3.5, 'location': [-13, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 20, 'lane_width': 3.5, 'location': [-5, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 20, 'lane_width': 3.5, 'location': [3, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 20, 'lane_width': 3.5, 'location': [11, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 20, 'lane_width': 3.5, 'location': [19, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 20, 'lane_width': 3.5, 'location': [26, 28, 0], 'heading': 0}], 'lane': -2, 'lane_id': 35, 'heading': 0, 'road_id': 20}, {'entryxyz': [-29.0, 25.0, 0.0], 'exitxyz': [26.0, 25.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -1, 'road_id': 20, 'lane_width': 3.5, 'location': [-29, 25, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 20, 'lane_width': 3.5, 'location': [-21, 25, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 20, 'lane_width': 3.5, 'location': [-13, 25, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 20, 'lane_width': 3.5, 'location': [-5, 25, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 20, 'lane_width': 3.5, 'location': [3, 25, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 20, 'lane_width': 3.5, 'location': [11, 25, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 20, 'lane_width': 3.5, 'location': [19, 25, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 20, 'lane_width': 3.5, 'location': [26, 25, 0], 'heading': 0}], 'lane': -1, 'lane_id': 36, 'heading': 0, 'road_id': 20}, {'entryxyz': [26.0, 17.0, 0.0], 'exitxyz': [-29.0, 17.0, 0.0], 'path': [{'is_junction': False, 'lane_id': 4, 'road_id': 20, 'lane_width': 3.5, 'location': [26, 17, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 20, 'lane_width': 3.5, 'location': [18, 17, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 20, 'lane_width': 3.5, 'location': [10, 17, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 20, 'lane_width': 3.5, 'location': [2, 17, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 20, 'lane_width': 3.5, 'location': [-6, 17, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 20, 'lane_width': 3.5, 'location': [-14, 17, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 20, 'lane_width': 3.5, 'location': [-22, 17, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 20, 'lane_width': 3.5, 'location': [-29, 17, 0], 'heading': 180}], 'lane': 4, 'lane_id': 37, 'heading': 180, 'road_id': 20}, {'entryxyz': [26.0, 13.0, 0.0], 'exitxyz': [-29.0, 13.0, 0.0], 'path': [{'is_junction': False, 'lane_id': 5, 'road_id': 20, 'lane_width': 3.5, 'location': [26, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 20, 'lane_width': 3.5, 'location': [18, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 20, 'lane_width': 3.5, 'location': [10, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 20, 'lane_width': 3.5, 'location': [2, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 20, 'lane_width': 3.5, 'location': [-6, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 20, 'lane_width': 3.5, 'location': [-14, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 20, 'lane_width': 3.5, 'location': [-22, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 20, 'lane_width': 3.5, 'location': [-29, 13, 0], 'heading': 180}], 'lane': 5, 'lane_id': 38, 'heading': 180, 'road_id': 20}, {'entryxyz': [-78.0, 28.0, 0.0], 'exitxyz': [-67.0, 28.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -2, 'road_id': 18, 'lane_width': 3.5, 'location': [-89, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 18, 'lane_width': 3.5, 'location': [-81, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 18, 'lane_width': 3.5, 'location': [-78, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 19, 'lane_width': 3.5, 'location': [-78, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 19, 'lane_width': 3.5, 'location': [-70, 28, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -2, 'road_id': 19, 'lane_width': 3.5, 'location': [-67, 28, 0], 'heading': 0}], 'lane': -2, 'lane_id': 41, 'heading': 0, 'road_id': 19}, {'entryxyz': [-78.0, 24.0, 0.0], 'exitxyz': [-67.0, 24.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -1, 'road_id': 18, 'lane_width': 3.5, 'location': [-89, 24, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 18, 'lane_width': 3.5, 'location': [-81, 24, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 18, 'lane_width': 3.5, 'location': [-78, 24, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 19, 'lane_width': 3.5, 'location': [-78, 24, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 19, 'lane_width': 3.5, 'location': [-70, 24, 0], 'heading': 0}, {'is_junction': False, 'lane_id': -1, 'road_id': 19, 'lane_width': 3.5, 'location': [-67, 24, 0], 'heading': 0}], 'lane': -1, 'lane_id': 42, 'heading': 0, 'road_id': 19}, {'entryxyz': [-78.0, 16.0, 0.0], 'exitxyz': [-89.0, 16.0, 0.0], 'path': [{'is_junction': False, 'lane_id': 4, 'road_id': 19, 'lane_width': 3.5, 'location': [-67, 16, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 19, 'lane_width': 3.5, 'location': [-75, 16, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 19, 'lane_width': 3.5, 'location': [-78, 16, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 18, 'lane_width': 3.5, 'location': [-78, 16, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 18, 'lane_width': 3.5, 'location': [-86, 16, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 4, 'road_id': 18, 'lane_width': 3.5, 'location': [-89, 16, 0], 'heading': 180}], 'lane': 4, 'lane_id': 48, 'heading': 180, 'road_id': 18}, {'entryxyz': [-78.0, 13.0, 0.0], 'exitxyz': [-89.0, 13.0, 0.0], 'path': [{'is_junction': False, 'lane_id': 5, 'road_id': 19, 'lane_width': 3.5, 'location': [-67, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 19, 'lane_width': 3.5, 'location': [-75, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 19, 'lane_width': 3.5, 'location': [-78, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 18, 'lane_width': 3.5, 'location': [-78, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 18, 'lane_width': 3.5, 'location': [-86, 13, 0], 'heading': 180}, {'is_junction': False, 'lane_id': 5, 'road_id': 18, 'lane_width': 3.5, 'location': [-89, 13, 0], 'heading': 180}], 'lane': 5, 'lane_id': 49, 'heading': 180, 'road_id': 18}, {'entryxyz': [-49.0, -5.0, 0.0], 'exitxyz': [-49.0, -2.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -1, 'road_id': 22, 'lane_width': 3.5, 'location': [-49, -43, 0], 'heading': 90}, {'is_junction': False, 'lane_id': -1, 'road_id': 22, 'lane_width': 3.5, 'location': [-49, -35, 0], 'heading': 90}, {'is_junction': False, 'lane_id': -1, 'road_id': 22, 'lane_width': 3.5, 'location': [-49, -27, 0], 'heading': 90}, {'is_junction': False, 'lane_id': -1, 'road_id': 22, 'lane_width': 3.5, 'location': [-49, -19, 0], 'heading': 90}, {'is_junction': False, 'lane_id': -1, 'road_id': 22, 'lane_width': 3.5, 'location': [-49, -17, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 1, 'road_id': 16, 'lane_width': 3.5, 'location': [-49, -17, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 1, 'road_id': 16, 'lane_width': 3.5, 'location': [-49, -9, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 1, 'road_id': 16, 'lane_width': 3.5, 'location': [-49, -5, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 1, 'road_id': 15, 'lane_width': 3.5, 'location': [-49, -5, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 1, 'road_id': 15, 'lane_width': 3.5, 'location': [-49, -2, 0], 'heading': 90}], 'lane': 1, 'lane_id': 60, 'heading': 90, 'road_id': 15}, {'entryxyz': [-52.0, -43.0, 0.0], 'exitxyz': [-52.0, -2.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -2, 'road_id': 22, 'lane_width': 3.5, 'location': [-52, -43, 0], 'heading': 90}, {'is_junction': False, 'lane_id': -2, 'road_id': 22, 'lane_width': 3.5, 'location': [-52, -35, 0], 'heading': 90}, {'is_junction': False, 'lane_id': -2, 'road_id': 22, 'lane_width': 3.5, 'location': [-52, -27, 0], 'heading': 90}, {'is_junction': False, 'lane_id': -2, 'road_id': 22, 'lane_width': 3.5, 'location': [-52, -19, 0], 'heading': 90}, {'is_junction': False, 'lane_id': -2, 'road_id': 22, 'lane_width': 3.5, 'location': [-52, -17, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 2, 'road_id': 16, 'lane_width': 3.5, 'location': [-52, -17, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 2, 'road_id': 16, 'lane_width': 3.5, 'location': [-52, -9, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 2, 'road_id': 16, 'lane_width': 3.5, 'location': [-52, -5, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 2, 'road_id': 15, 'lane_width': 3.5, 'location': [-52, -5, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 2, 'road_id': 15, 'lane_width': 3.5, 'location': [-52, -2, 0], 'heading': 90}], 'lane': 2, 'lane_id': 61, 'heading': 90, 'road_id': 15}, {'entryxyz': [-42.0, 52.0, 0.0], 'exitxyz': [-42.0, 43.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -2, 'road_id': 14, 'lane_width': 3.5, 'location': [-42, 52, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -2, 'road_id': 14, 'lane_width': 3.5, 'location': [-42, 44, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -2, 'road_id': 14, 'lane_width': 3.5, 'location': [-42, 43, 0], 'heading': -90}], 'lane': -2, 'lane_id': 138, 'heading': -90, 'road_id': 14}, {'entryxyz': [-45.0, 52.0, 0.0], 'exitxyz': [-45.0, 43.0, 0.0], 'path': [{'is_junction': False, 'lane_id': -1, 'road_id': 14, 'lane_width': 3.5, 'location': [-45, 52, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -1, 'road_id': 14, 'lane_width': 3.5, 'location': [-45, 44, 0], 'heading': -90}, {'is_junction': False, 'lane_id': -1, 'road_id': 14, 'lane_width': 3.5, 'location': [-45, 43, 0], 'heading': -90}], 'lane': -1, 'lane_id': 139, 'heading': -90, 'road_id': 14}, {'entryxyz': [-49.0, 43.0, 0.0], 'exitxyz': [-49.0, 52.0, 0.0], 'path': [{'is_junction': False, 'lane_id': 1, 'road_id': 14, 'lane_width': 3.5, 'location': [-49, 43, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 1, 'road_id': 14, 'lane_width': 3.5, 'location': [-49, 51, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 1, 'road_id': 14, 'lane_width': 3.5, 'location': [-49, 52, 0], 'heading': 90}], 'lane': 1, 'lane_id': 140, 'heading': 90, 'road_id': 14}, {'entryxyz': [-52.0, 43.0, 0.0], 'exitxyz': [-52.0, 52.0, 0.0], 'path': [{'is_junction': False, 'lane_id': 2, 'road_id': 14, 'lane_width': 3.5, 'location': [-52, 43, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 2, 'road_id': 14, 'lane_width': 3.5, 'location': [-52, 51, 0], 'heading': 90}, {'is_junction': False, 'lane_id': 2, 'road_id': 14, 'lane_width': 3.5, 'location': [-52, 52, 0], 'heading': 90}], 'lane': 2, 'lane_id': 141, 'heading': 90, 'road_id': 14}], 'lane_relations': {37: [(43, 'straight'), (140, 'left')], 38: [(58, 'right'), (44, 'straight')], 41: [(35, 'straight'), (141, 'right')], 42: [(36, 'straight'), (59, 'left'), (58, 'left')], 60: [(140, 'straight'), (35, 'left'), (36, 'left')], 61: [(141, 'straight'), (44, 'right')], 138: [(58, 'straight'), (35, 'right')], 139: [(59, 'straight'), (43, 'left')]}, 'road': [[24, 25], [37, 38], [35, 36], [41, 42], [48, 49], [60, 61], [140, 141], [138, 139]]}
generate_scenario/carla_waypoint/map_database/Town04|-381|10.json ADDED
@@ -0,0 +1,678 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 70,
5
+ "path": [
6
+ {
7
+ "id": 53,
8
+ "location": [
9
+ -378,
10
+ -34,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 51,
16
+ "location": [
17
+ -381,
18
+ -26,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 1,
24
+ "location": [
25
+ -383,
26
+ -18,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 44,
32
+ "location": [
33
+ -384,
34
+ -12,
35
+ 0
36
+ ]
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "lane_id": 71,
42
+ "path": [
43
+ {
44
+ "id": 41,
45
+ "location": [
46
+ -375,
47
+ -33,
48
+ 0
49
+ ]
50
+ },
51
+ {
52
+ "id": 23,
53
+ "location": [
54
+ -378,
55
+ -25,
56
+ 0
57
+ ]
58
+ },
59
+ {
60
+ "id": 18,
61
+ "location": [
62
+ -380,
63
+ -17,
64
+ 0
65
+ ]
66
+ },
67
+ {
68
+ "id": 25,
69
+ "location": [
70
+ -381,
71
+ -12,
72
+ 0
73
+ ]
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "lane_id": 243,
79
+ "path": [
80
+ {
81
+ "id": 7,
82
+ "location": [
83
+ -337,
84
+ 5,
85
+ 0
86
+ ]
87
+ },
88
+ {
89
+ "id": 14,
90
+ "location": [
91
+ -345,
92
+ 5,
93
+ 0
94
+ ]
95
+ },
96
+ {
97
+ "id": 33,
98
+ "location": [
99
+ -353,
100
+ 5,
101
+ 0
102
+ ]
103
+ },
104
+ {
105
+ "id": 27,
106
+ "location": [
107
+ -358,
108
+ 6,
109
+ 0
110
+ ]
111
+ }
112
+ ]
113
+ },
114
+ {
115
+ "lane_id": 244,
116
+ "path": [
117
+ {
118
+ "id": 40,
119
+ "location": [
120
+ -337,
121
+ 9,
122
+ 0
123
+ ]
124
+ },
125
+ {
126
+ "id": 59,
127
+ "location": [
128
+ -345,
129
+ 9,
130
+ 0
131
+ ]
132
+ },
133
+ {
134
+ "id": 10,
135
+ "location": [
136
+ -353,
137
+ 9,
138
+ 0
139
+ ]
140
+ },
141
+ {
142
+ "id": 17,
143
+ "location": [
144
+ -358,
145
+ 9,
146
+ 0
147
+ ]
148
+ }
149
+ ]
150
+ },
151
+ {
152
+ "lane_id": 245,
153
+ "path": [
154
+ {
155
+ "id": 20,
156
+ "location": [
157
+ -337,
158
+ 12,
159
+ 0
160
+ ]
161
+ },
162
+ {
163
+ "id": 0,
164
+ "location": [
165
+ -345,
166
+ 12,
167
+ 0
168
+ ]
169
+ },
170
+ {
171
+ "id": 9,
172
+ "location": [
173
+ -353,
174
+ 12,
175
+ 0
176
+ ]
177
+ },
178
+ {
179
+ "id": 15,
180
+ "location": [
181
+ -358,
182
+ 13,
183
+ 0
184
+ ]
185
+ }
186
+ ]
187
+ },
188
+ {
189
+ "lane_id": 246,
190
+ "path": [
191
+ {
192
+ "id": 48,
193
+ "location": [
194
+ -337,
195
+ 16,
196
+ 0
197
+ ]
198
+ },
199
+ {
200
+ "id": 56,
201
+ "location": [
202
+ -345,
203
+ 16,
204
+ 0
205
+ ]
206
+ },
207
+ {
208
+ "id": 16,
209
+ "location": [
210
+ -353,
211
+ 16,
212
+ 0
213
+ ]
214
+ },
215
+ {
216
+ "id": 19,
217
+ "location": [
218
+ -358,
219
+ 16,
220
+ 0
221
+ ]
222
+ }
223
+ ]
224
+ },
225
+ {
226
+ "lane_id": 247,
227
+ "path": [
228
+ {
229
+ "id": 12,
230
+ "location": [
231
+ -358,
232
+ 27,
233
+ 0
234
+ ]
235
+ },
236
+ {
237
+ "id": 26,
238
+ "location": [
239
+ -350,
240
+ 26,
241
+ 0
242
+ ]
243
+ },
244
+ {
245
+ "id": 42,
246
+ "location": [
247
+ -342,
248
+ 26,
249
+ 0
250
+ ]
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "lane_id": 248,
256
+ "path": [
257
+ {
258
+ "id": 37,
259
+ "location": [
260
+ -358,
261
+ 30,
262
+ 0
263
+ ]
264
+ },
265
+ {
266
+ "id": 43,
267
+ "location": [
268
+ -350,
269
+ 30,
270
+ 0
271
+ ]
272
+ },
273
+ {
274
+ "id": 47,
275
+ "location": [
276
+ -342,
277
+ 30,
278
+ 0
279
+ ]
280
+ }
281
+ ]
282
+ },
283
+ {
284
+ "lane_id": 249,
285
+ "path": [
286
+ {
287
+ "id": 13,
288
+ "location": [
289
+ -358,
290
+ 34,
291
+ 0
292
+ ]
293
+ },
294
+ {
295
+ "id": 6,
296
+ "location": [
297
+ -350,
298
+ 33,
299
+ 0
300
+ ]
301
+ },
302
+ {
303
+ "id": 58,
304
+ "location": [
305
+ -342,
306
+ 33,
307
+ 0
308
+ ]
309
+ }
310
+ ]
311
+ },
312
+ {
313
+ "lane_id": 250,
314
+ "path": [
315
+ {
316
+ "id": 39,
317
+ "location": [
318
+ -358,
319
+ 37,
320
+ 0
321
+ ]
322
+ },
323
+ {
324
+ "id": 38,
325
+ "location": [
326
+ -350,
327
+ 37,
328
+ 0
329
+ ]
330
+ },
331
+ {
332
+ "id": 54,
333
+ "location": [
334
+ -342,
335
+ 37,
336
+ 0
337
+ ]
338
+ }
339
+ ]
340
+ },
341
+ {
342
+ "lane_id": 251,
343
+ "path": [
344
+ {
345
+ "id": 29,
346
+ "location": [
347
+ -413,
348
+ 6,
349
+ 0
350
+ ]
351
+ },
352
+ {
353
+ "id": 46,
354
+ "location": [
355
+ -421,
356
+ 6,
357
+ 0
358
+ ]
359
+ },
360
+ {
361
+ "id": 28,
362
+ "location": [
363
+ -430,
364
+ 6,
365
+ 0
366
+ ]
367
+ }
368
+ ]
369
+ },
370
+ {
371
+ "lane_id": 252,
372
+ "path": [
373
+ {
374
+ "id": 3,
375
+ "location": [
376
+ -413,
377
+ 9,
378
+ 0
379
+ ]
380
+ },
381
+ {
382
+ "id": 34,
383
+ "location": [
384
+ -421,
385
+ 9,
386
+ 0
387
+ ]
388
+ },
389
+ {
390
+ "id": 2,
391
+ "location": [
392
+ -429,
393
+ 10,
394
+ 0
395
+ ]
396
+ }
397
+ ]
398
+ },
399
+ {
400
+ "lane_id": 253,
401
+ "path": [
402
+ {
403
+ "id": 8,
404
+ "location": [
405
+ -413,
406
+ 13,
407
+ 0
408
+ ]
409
+ },
410
+ {
411
+ "id": 30,
412
+ "location": [
413
+ -421,
414
+ 13,
415
+ 0
416
+ ]
417
+ },
418
+ {
419
+ "id": 31,
420
+ "location": [
421
+ -429,
422
+ 13,
423
+ 0
424
+ ]
425
+ }
426
+ ]
427
+ },
428
+ {
429
+ "lane_id": 254,
430
+ "path": [
431
+ {
432
+ "id": 50,
433
+ "location": [
434
+ -413,
435
+ 16,
436
+ 0
437
+ ]
438
+ },
439
+ {
440
+ "id": 45,
441
+ "location": [
442
+ -421,
443
+ 16,
444
+ 0
445
+ ]
446
+ },
447
+ {
448
+ "id": 32,
449
+ "location": [
450
+ -429,
451
+ 17,
452
+ 0
453
+ ]
454
+ }
455
+ ]
456
+ },
457
+ {
458
+ "lane_id": 255,
459
+ "path": [
460
+ {
461
+ "id": 57,
462
+ "location": [
463
+ -422,
464
+ 27,
465
+ 0
466
+ ]
467
+ },
468
+ {
469
+ "id": 35,
470
+ "location": [
471
+ -414,
472
+ 27,
473
+ 0
474
+ ]
475
+ },
476
+ {
477
+ "id": 4,
478
+ "location": [
479
+ -413,
480
+ 27,
481
+ 0
482
+ ]
483
+ }
484
+ ]
485
+ },
486
+ {
487
+ "lane_id": 256,
488
+ "path": [
489
+ {
490
+ "id": 55,
491
+ "location": [
492
+ -422,
493
+ 30,
494
+ 0
495
+ ]
496
+ },
497
+ {
498
+ "id": 36,
499
+ "location": [
500
+ -414,
501
+ 30,
502
+ 0
503
+ ]
504
+ },
505
+ {
506
+ "id": 21,
507
+ "location": [
508
+ -412,
509
+ 30,
510
+ 0
511
+ ]
512
+ }
513
+ ]
514
+ },
515
+ {
516
+ "lane_id": 257,
517
+ "path": [
518
+ {
519
+ "id": 5,
520
+ "location": [
521
+ -422,
522
+ 34,
523
+ 0
524
+ ]
525
+ },
526
+ {
527
+ "id": 22,
528
+ "location": [
529
+ -414,
530
+ 34,
531
+ 0
532
+ ]
533
+ },
534
+ {
535
+ "id": 52,
536
+ "location": [
537
+ -412,
538
+ 34,
539
+ 0
540
+ ]
541
+ }
542
+ ]
543
+ },
544
+ {
545
+ "lane_id": 258,
546
+ "path": [
547
+ {
548
+ "id": 49,
549
+ "location": [
550
+ -422,
551
+ 37,
552
+ 0
553
+ ]
554
+ },
555
+ {
556
+ "id": 11,
557
+ "location": [
558
+ -414,
559
+ 37,
560
+ 0
561
+ ]
562
+ },
563
+ {
564
+ "id": 24,
565
+ "location": [
566
+ -412,
567
+ 37,
568
+ 0
569
+ ]
570
+ }
571
+ ]
572
+ }
573
+ ],
574
+ "relation": {
575
+ "70": [
576
+ [
577
+ 251,
578
+ "other"
579
+ ]
580
+ ],
581
+ "71": [
582
+ [
583
+ 250,
584
+ "other"
585
+ ],
586
+ [
587
+ 249,
588
+ "other"
589
+ ],
590
+ [
591
+ 248,
592
+ "other"
593
+ ],
594
+ [
595
+ 247,
596
+ "other"
597
+ ]
598
+ ],
599
+ "243": [
600
+ [
601
+ 251,
602
+ "straight"
603
+ ]
604
+ ],
605
+ "244": [
606
+ [
607
+ 252,
608
+ "straight"
609
+ ]
610
+ ],
611
+ "245": [
612
+ [
613
+ 253,
614
+ "straight"
615
+ ]
616
+ ],
617
+ "246": [
618
+ [
619
+ 254,
620
+ "straight"
621
+ ]
622
+ ],
623
+ "255": [
624
+ [
625
+ 247,
626
+ "straight"
627
+ ]
628
+ ],
629
+ "256": [
630
+ [
631
+ 248,
632
+ "straight"
633
+ ]
634
+ ],
635
+ "257": [
636
+ [
637
+ 249,
638
+ "straight"
639
+ ]
640
+ ],
641
+ "258": [
642
+ [
643
+ 250,
644
+ "straight"
645
+ ]
646
+ ]
647
+ },
648
+ "road": [
649
+ [
650
+ 70,
651
+ 71
652
+ ],
653
+ [
654
+ 247,
655
+ 248,
656
+ 249,
657
+ 250
658
+ ],
659
+ [
660
+ 243,
661
+ 244,
662
+ 245,
663
+ 246
664
+ ],
665
+ [
666
+ 255,
667
+ 256,
668
+ 257,
669
+ 258
670
+ ],
671
+ [
672
+ 251,
673
+ 252,
674
+ 253,
675
+ 254
676
+ ]
677
+ ]
678
+ }
generate_scenario/carla_waypoint/map_database/Town04|-68|11.json ADDED
@@ -0,0 +1,531 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 234,
5
+ "path": [
6
+ {
7
+ "id": 27,
8
+ "location": [
9
+ -22,
10
+ 6,
11
+ 11
12
+ ]
13
+ },
14
+ {
15
+ "id": 11,
16
+ "location": [
17
+ -30,
18
+ 6,
19
+ 10
20
+ ]
21
+ },
22
+ {
23
+ "id": 22,
24
+ "location": [
25
+ -38,
26
+ 6,
27
+ 10
28
+ ]
29
+ },
30
+ {
31
+ "id": 9,
32
+ "location": [
33
+ -46,
34
+ 6,
35
+ 10
36
+ ]
37
+ },
38
+ {
39
+ "id": 17,
40
+ "location": [
41
+ -54,
42
+ 6,
43
+ 10
44
+ ]
45
+ },
46
+ {
47
+ "id": 5,
48
+ "location": [
49
+ -62,
50
+ 6,
51
+ 10
52
+ ]
53
+ },
54
+ {
55
+ "id": 8,
56
+ "location": [
57
+ -68,
58
+ 6,
59
+ 10
60
+ ]
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "lane_id": 235,
66
+ "path": [
67
+ {
68
+ "id": 43,
69
+ "location": [
70
+ -22,
71
+ 9,
72
+ 11
73
+ ]
74
+ },
75
+ {
76
+ "id": 34,
77
+ "location": [
78
+ -30,
79
+ 9,
80
+ 10
81
+ ]
82
+ },
83
+ {
84
+ "id": 2,
85
+ "location": [
86
+ -38,
87
+ 9,
88
+ 10
89
+ ]
90
+ },
91
+ {
92
+ "id": 46,
93
+ "location": [
94
+ -46,
95
+ 9,
96
+ 10
97
+ ]
98
+ },
99
+ {
100
+ "id": 37,
101
+ "location": [
102
+ -54,
103
+ 9,
104
+ 10
105
+ ]
106
+ },
107
+ {
108
+ "id": 21,
109
+ "location": [
110
+ -62,
111
+ 9,
112
+ 10
113
+ ]
114
+ },
115
+ {
116
+ "id": 47,
117
+ "location": [
118
+ -68,
119
+ 9,
120
+ 10
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ {
126
+ "lane_id": 236,
127
+ "path": [
128
+ {
129
+ "id": 3,
130
+ "location": [
131
+ -22,
132
+ 13,
133
+ 11
134
+ ]
135
+ },
136
+ {
137
+ "id": 35,
138
+ "location": [
139
+ -30,
140
+ 13,
141
+ 10
142
+ ]
143
+ },
144
+ {
145
+ "id": 23,
146
+ "location": [
147
+ -38,
148
+ 13,
149
+ 10
150
+ ]
151
+ },
152
+ {
153
+ "id": 48,
154
+ "location": [
155
+ -46,
156
+ 13,
157
+ 10
158
+ ]
159
+ },
160
+ {
161
+ "id": 55,
162
+ "location": [
163
+ -54,
164
+ 13,
165
+ 10
166
+ ]
167
+ },
168
+ {
169
+ "id": 24,
170
+ "location": [
171
+ -62,
172
+ 13,
173
+ 10
174
+ ]
175
+ },
176
+ {
177
+ "id": 32,
178
+ "location": [
179
+ -68,
180
+ 13,
181
+ 10
182
+ ]
183
+ }
184
+ ]
185
+ },
186
+ {
187
+ "lane_id": 237,
188
+ "path": [
189
+ {
190
+ "id": 15,
191
+ "location": [
192
+ -22,
193
+ 16,
194
+ 11
195
+ ]
196
+ },
197
+ {
198
+ "id": 16,
199
+ "location": [
200
+ -30,
201
+ 16,
202
+ 10
203
+ ]
204
+ },
205
+ {
206
+ "id": 31,
207
+ "location": [
208
+ -38,
209
+ 16,
210
+ 10
211
+ ]
212
+ },
213
+ {
214
+ "id": 0,
215
+ "location": [
216
+ -46,
217
+ 16,
218
+ 10
219
+ ]
220
+ },
221
+ {
222
+ "id": 25,
223
+ "location": [
224
+ -54,
225
+ 16,
226
+ 10
227
+ ]
228
+ },
229
+ {
230
+ "id": 10,
231
+ "location": [
232
+ -62,
233
+ 16,
234
+ 10
235
+ ]
236
+ },
237
+ {
238
+ "id": 19,
239
+ "location": [
240
+ -68,
241
+ 16,
242
+ 10
243
+ ]
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ "lane_id": 238,
249
+ "path": [
250
+ {
251
+ "id": 36,
252
+ "location": [
253
+ -68,
254
+ 27,
255
+ 10
256
+ ]
257
+ },
258
+ {
259
+ "id": 45,
260
+ "location": [
261
+ -60,
262
+ 27,
263
+ 10
264
+ ]
265
+ },
266
+ {
267
+ "id": 7,
268
+ "location": [
269
+ -52,
270
+ 27,
271
+ 10
272
+ ]
273
+ },
274
+ {
275
+ "id": 26,
276
+ "location": [
277
+ -44,
278
+ 27,
279
+ 10
280
+ ]
281
+ },
282
+ {
283
+ "id": 14,
284
+ "location": [
285
+ -36,
286
+ 27,
287
+ 10
288
+ ]
289
+ },
290
+ {
291
+ "id": 54,
292
+ "location": [
293
+ -28,
294
+ 27,
295
+ 11
296
+ ]
297
+ }
298
+ ]
299
+ },
300
+ {
301
+ "lane_id": 239,
302
+ "path": [
303
+ {
304
+ "id": 4,
305
+ "location": [
306
+ -68,
307
+ 30,
308
+ 10
309
+ ]
310
+ },
311
+ {
312
+ "id": 38,
313
+ "location": [
314
+ -60,
315
+ 30,
316
+ 10
317
+ ]
318
+ },
319
+ {
320
+ "id": 40,
321
+ "location": [
322
+ -52,
323
+ 30,
324
+ 10
325
+ ]
326
+ },
327
+ {
328
+ "id": 12,
329
+ "location": [
330
+ -44,
331
+ 30,
332
+ 10
333
+ ]
334
+ },
335
+ {
336
+ "id": 42,
337
+ "location": [
338
+ -36,
339
+ 30,
340
+ 10
341
+ ]
342
+ },
343
+ {
344
+ "id": 44,
345
+ "location": [
346
+ -28,
347
+ 30,
348
+ 11
349
+ ]
350
+ }
351
+ ]
352
+ },
353
+ {
354
+ "lane_id": 240,
355
+ "path": [
356
+ {
357
+ "id": 33,
358
+ "location": [
359
+ -68,
360
+ 34,
361
+ 10
362
+ ]
363
+ },
364
+ {
365
+ "id": 56,
366
+ "location": [
367
+ -60,
368
+ 34,
369
+ 10
370
+ ]
371
+ },
372
+ {
373
+ "id": 39,
374
+ "location": [
375
+ -52,
376
+ 34,
377
+ 10
378
+ ]
379
+ },
380
+ {
381
+ "id": 29,
382
+ "location": [
383
+ -44,
384
+ 34,
385
+ 10
386
+ ]
387
+ },
388
+ {
389
+ "id": 49,
390
+ "location": [
391
+ -36,
392
+ 34,
393
+ 10
394
+ ]
395
+ },
396
+ {
397
+ "id": 51,
398
+ "location": [
399
+ -28,
400
+ 34,
401
+ 11
402
+ ]
403
+ }
404
+ ]
405
+ },
406
+ {
407
+ "lane_id": 241,
408
+ "path": [
409
+ {
410
+ "id": 28,
411
+ "location": [
412
+ -68,
413
+ 37,
414
+ 10
415
+ ]
416
+ },
417
+ {
418
+ "id": 53,
419
+ "location": [
420
+ -60,
421
+ 37,
422
+ 10
423
+ ]
424
+ },
425
+ {
426
+ "id": 18,
427
+ "location": [
428
+ -52,
429
+ 37,
430
+ 10
431
+ ]
432
+ },
433
+ {
434
+ "id": 50,
435
+ "location": [
436
+ -44,
437
+ 37,
438
+ 10
439
+ ]
440
+ },
441
+ {
442
+ "id": 1,
443
+ "location": [
444
+ -36,
445
+ 37,
446
+ 10
447
+ ]
448
+ },
449
+ {
450
+ "id": 6,
451
+ "location": [
452
+ -28,
453
+ 37,
454
+ 11
455
+ ]
456
+ }
457
+ ]
458
+ },
459
+ {
460
+ "lane_id": 449,
461
+ "path": [
462
+ {
463
+ "id": 20,
464
+ "location": [
465
+ -102,
466
+ 46,
467
+ 9
468
+ ]
469
+ },
470
+ {
471
+ "id": 41,
472
+ "location": [
473
+ -95,
474
+ 43,
475
+ 9
476
+ ]
477
+ },
478
+ {
479
+ "id": 52,
480
+ "location": [
481
+ -89,
482
+ 40,
483
+ 9
484
+ ]
485
+ },
486
+ {
487
+ "id": 30,
488
+ "location": [
489
+ -82,
490
+ 38,
491
+ 10
492
+ ]
493
+ },
494
+ {
495
+ "id": 13,
496
+ "location": [
497
+ -74,
498
+ 37,
499
+ 10
500
+ ]
501
+ },
502
+ {
503
+ "id": 28,
504
+ "location": [
505
+ -68,
506
+ 37,
507
+ 10
508
+ ]
509
+ }
510
+ ]
511
+ }
512
+ ],
513
+ "relation": {},
514
+ "road": [
515
+ [
516
+ 238,
517
+ 239,
518
+ 240,
519
+ 241
520
+ ],
521
+ [
522
+ 234,
523
+ 235,
524
+ 236,
525
+ 237
526
+ ],
527
+ [
528
+ 449
529
+ ]
530
+ ]
531
+ }
generate_scenario/carla_waypoint/map_database/Town04|13|-61.json ADDED
@@ -0,0 +1,660 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 149,
5
+ "path": [
6
+ {
7
+ "id": 49,
8
+ "location": [
9
+ -29,
10
+ -84,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 53,
16
+ "location": [
17
+ -25,
18
+ -78,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 0,
24
+ "location": [
25
+ -21,
26
+ -72,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 3,
32
+ "location": [
33
+ -19,
34
+ -65,
35
+ 0
36
+ ]
37
+ },
38
+ {
39
+ "id": 44,
40
+ "location": [
41
+ -17,
42
+ -58,
43
+ 0
44
+ ]
45
+ },
46
+ {
47
+ "id": 12,
48
+ "location": [
49
+ -16,
50
+ -51,
51
+ 0
52
+ ]
53
+ },
54
+ {
55
+ "id": 54,
56
+ "location": [
57
+ -16,
58
+ -47,
59
+ 0
60
+ ]
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "lane_id": 182,
66
+ "path": [
67
+ {
68
+ "id": 27,
69
+ "location": [
70
+ 34,
71
+ -90,
72
+ 0
73
+ ]
74
+ },
75
+ {
76
+ "id": 4,
77
+ "location": [
78
+ 39,
79
+ -95,
80
+ 0
81
+ ]
82
+ },
83
+ {
84
+ "id": 55,
85
+ "location": [
86
+ 46,
87
+ -98,
88
+ 0
89
+ ]
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "lane_id": 310,
95
+ "path": [
96
+ {
97
+ "id": 32,
98
+ "location": [
99
+ 15,
100
+ -14,
101
+ 0
102
+ ]
103
+ },
104
+ {
105
+ "id": 41,
106
+ "location": [
107
+ 15,
108
+ -22,
109
+ 0
110
+ ]
111
+ },
112
+ {
113
+ "id": 18,
114
+ "location": [
115
+ 15,
116
+ -30,
117
+ 0
118
+ ]
119
+ },
120
+ {
121
+ "id": 13,
122
+ "location": [
123
+ 15,
124
+ -38,
125
+ 0
126
+ ]
127
+ },
128
+ {
129
+ "id": 28,
130
+ "location": [
131
+ 15,
132
+ -46,
133
+ 0
134
+ ]
135
+ },
136
+ {
137
+ "id": 58,
138
+ "location": [
139
+ 15,
140
+ -47,
141
+ 0
142
+ ]
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ "lane_id": 311,
148
+ "path": [
149
+ {
150
+ "id": 52,
151
+ "location": [
152
+ 12,
153
+ -14,
154
+ 0
155
+ ]
156
+ },
157
+ {
158
+ "id": 21,
159
+ "location": [
160
+ 12,
161
+ -22,
162
+ 0
163
+ ]
164
+ },
165
+ {
166
+ "id": 16,
167
+ "location": [
168
+ 12,
169
+ -30,
170
+ 0
171
+ ]
172
+ },
173
+ {
174
+ "id": 5,
175
+ "location": [
176
+ 12,
177
+ -38,
178
+ 0
179
+ ]
180
+ },
181
+ {
182
+ "id": 39,
183
+ "location": [
184
+ 12,
185
+ -46,
186
+ 0
187
+ ]
188
+ },
189
+ {
190
+ "id": 20,
191
+ "location": [
192
+ 12,
193
+ -47,
194
+ 0
195
+ ]
196
+ }
197
+ ]
198
+ },
199
+ {
200
+ "lane_id": 312,
201
+ "path": [
202
+ {
203
+ "id": 36,
204
+ "location": [
205
+ 8,
206
+ -14,
207
+ 0
208
+ ]
209
+ },
210
+ {
211
+ "id": 59,
212
+ "location": [
213
+ 8,
214
+ -22,
215
+ 0
216
+ ]
217
+ },
218
+ {
219
+ "id": 14,
220
+ "location": [
221
+ 8,
222
+ -30,
223
+ 0
224
+ ]
225
+ },
226
+ {
227
+ "id": 48,
228
+ "location": [
229
+ 8,
230
+ -38,
231
+ 0
232
+ ]
233
+ },
234
+ {
235
+ "id": 40,
236
+ "location": [
237
+ 8,
238
+ -46,
239
+ 0
240
+ ]
241
+ },
242
+ {
243
+ "id": 22,
244
+ "location": [
245
+ 8,
246
+ -47,
247
+ 0
248
+ ]
249
+ }
250
+ ]
251
+ },
252
+ {
253
+ "lane_id": 313,
254
+ "path": [
255
+ {
256
+ "id": 46,
257
+ "location": [
258
+ 5,
259
+ -14,
260
+ 0
261
+ ]
262
+ },
263
+ {
264
+ "id": 35,
265
+ "location": [
266
+ 5,
267
+ -22,
268
+ 0
269
+ ]
270
+ },
271
+ {
272
+ "id": 33,
273
+ "location": [
274
+ 5,
275
+ -30,
276
+ 0
277
+ ]
278
+ },
279
+ {
280
+ "id": 56,
281
+ "location": [
282
+ 5,
283
+ -38,
284
+ 0
285
+ ]
286
+ },
287
+ {
288
+ "id": 29,
289
+ "location": [
290
+ 5,
291
+ -46,
292
+ 0
293
+ ]
294
+ },
295
+ {
296
+ "id": 7,
297
+ "location": [
298
+ 5,
299
+ -47,
300
+ 0
301
+ ]
302
+ }
303
+ ]
304
+ },
305
+ {
306
+ "lane_id": 314,
307
+ "path": [
308
+ {
309
+ "id": 1,
310
+ "location": [
311
+ -6,
312
+ -47,
313
+ 0
314
+ ]
315
+ },
316
+ {
317
+ "id": 11,
318
+ "location": [
319
+ -6,
320
+ -39,
321
+ 0
322
+ ]
323
+ },
324
+ {
325
+ "id": 10,
326
+ "location": [
327
+ -6,
328
+ -31,
329
+ 0
330
+ ]
331
+ },
332
+ {
333
+ "id": 6,
334
+ "location": [
335
+ -6,
336
+ -23,
337
+ 0
338
+ ]
339
+ },
340
+ {
341
+ "id": 50,
342
+ "location": [
343
+ -6,
344
+ -15,
345
+ 0
346
+ ]
347
+ }
348
+ ]
349
+ },
350
+ {
351
+ "lane_id": 315,
352
+ "path": [
353
+ {
354
+ "id": 42,
355
+ "location": [
356
+ -9,
357
+ -47,
358
+ 0
359
+ ]
360
+ },
361
+ {
362
+ "id": 30,
363
+ "location": [
364
+ -9,
365
+ -39,
366
+ 0
367
+ ]
368
+ },
369
+ {
370
+ "id": 57,
371
+ "location": [
372
+ -9,
373
+ -31,
374
+ 0
375
+ ]
376
+ },
377
+ {
378
+ "id": 34,
379
+ "location": [
380
+ -9,
381
+ -23,
382
+ 0
383
+ ]
384
+ }
385
+ ]
386
+ },
387
+ {
388
+ "lane_id": 316,
389
+ "path": [
390
+ {
391
+ "id": 8,
392
+ "location": [
393
+ -13,
394
+ -47,
395
+ 0
396
+ ]
397
+ },
398
+ {
399
+ "id": 19,
400
+ "location": [
401
+ -13,
402
+ -39,
403
+ 0
404
+ ]
405
+ },
406
+ {
407
+ "id": 2,
408
+ "location": [
409
+ -13,
410
+ -31,
411
+ 0
412
+ ]
413
+ },
414
+ {
415
+ "id": 47,
416
+ "location": [
417
+ -13,
418
+ -23,
419
+ 0
420
+ ]
421
+ }
422
+ ]
423
+ },
424
+ {
425
+ "lane_id": 317,
426
+ "path": [
427
+ {
428
+ "id": 54,
429
+ "location": [
430
+ -16,
431
+ -47,
432
+ 0
433
+ ]
434
+ },
435
+ {
436
+ "id": 26,
437
+ "location": [
438
+ -16,
439
+ -39,
440
+ 0
441
+ ]
442
+ },
443
+ {
444
+ "id": 43,
445
+ "location": [
446
+ -16,
447
+ -31,
448
+ 0
449
+ ]
450
+ },
451
+ {
452
+ "id": 51,
453
+ "location": [
454
+ -16,
455
+ -23,
456
+ 0
457
+ ]
458
+ }
459
+ ]
460
+ },
461
+ {
462
+ "lane_id": 321,
463
+ "path": [
464
+ {
465
+ "id": 60,
466
+ "location": [
467
+ 15,
468
+ -99,
469
+ 0
470
+ ]
471
+ },
472
+ {
473
+ "id": 17,
474
+ "location": [
475
+ 15,
476
+ -107,
477
+ 0
478
+ ]
479
+ }
480
+ ]
481
+ },
482
+ {
483
+ "lane_id": 322,
484
+ "path": [
485
+ {
486
+ "id": 23,
487
+ "location": [
488
+ 12,
489
+ -99,
490
+ 0
491
+ ]
492
+ },
493
+ {
494
+ "id": 15,
495
+ "location": [
496
+ 12,
497
+ -107,
498
+ 0
499
+ ]
500
+ }
501
+ ]
502
+ },
503
+ {
504
+ "lane_id": 323,
505
+ "path": [
506
+ {
507
+ "id": 24,
508
+ "location": [
509
+ 8,
510
+ -99,
511
+ 0
512
+ ]
513
+ },
514
+ {
515
+ "id": 25,
516
+ "location": [
517
+ 8,
518
+ -107,
519
+ 0
520
+ ]
521
+ }
522
+ ]
523
+ },
524
+ {
525
+ "lane_id": 324,
526
+ "path": [
527
+ {
528
+ "id": 45,
529
+ "location": [
530
+ 5,
531
+ -99,
532
+ 0
533
+ ]
534
+ },
535
+ {
536
+ "id": 61,
537
+ "location": [
538
+ 5,
539
+ -107,
540
+ 0
541
+ ]
542
+ }
543
+ ]
544
+ },
545
+ {
546
+ "lane_id": 325,
547
+ "path": [
548
+ {
549
+ "id": 37,
550
+ "location": [
551
+ -6,
552
+ -105,
553
+ 0
554
+ ]
555
+ },
556
+ {
557
+ "id": 38,
558
+ "location": [
559
+ -6,
560
+ -99,
561
+ 0
562
+ ]
563
+ }
564
+ ]
565
+ },
566
+ {
567
+ "lane_id": 326,
568
+ "path": [
569
+ {
570
+ "id": 31,
571
+ "location": [
572
+ -9,
573
+ -105,
574
+ 0
575
+ ]
576
+ },
577
+ {
578
+ "id": 9,
579
+ "location": [
580
+ -9,
581
+ -99,
582
+ 0
583
+ ]
584
+ }
585
+ ]
586
+ }
587
+ ],
588
+ "relation": {
589
+ "310": [
590
+ [
591
+ 182,
592
+ "other"
593
+ ],
594
+ [
595
+ 321,
596
+ "straight"
597
+ ]
598
+ ],
599
+ "311": [
600
+ [
601
+ 322,
602
+ "straight"
603
+ ]
604
+ ],
605
+ "312": [
606
+ [
607
+ 323,
608
+ "straight"
609
+ ]
610
+ ],
611
+ "313": [
612
+ [
613
+ 324,
614
+ "straight"
615
+ ]
616
+ ],
617
+ "325": [
618
+ [
619
+ 314,
620
+ "straight"
621
+ ]
622
+ ],
623
+ "326": [
624
+ [
625
+ 315,
626
+ "straight"
627
+ ]
628
+ ]
629
+ },
630
+ "road": [
631
+ [
632
+ 149
633
+ ],
634
+ [
635
+ 182
636
+ ],
637
+ [
638
+ 314,
639
+ 315,
640
+ 316,
641
+ 317
642
+ ],
643
+ [
644
+ 310,
645
+ 311,
646
+ 312,
647
+ 313
648
+ ],
649
+ [
650
+ 325,
651
+ 326
652
+ ],
653
+ [
654
+ 321,
655
+ 322,
656
+ 323,
657
+ 324
658
+ ]
659
+ ]
660
+ }
generate_scenario/carla_waypoint/map_database/Town04|16|101.json ADDED
@@ -0,0 +1,422 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 174,
5
+ "path": [
6
+ {
7
+ "id": 25,
8
+ "location": [
9
+ 42,
10
+ 138,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 30,
16
+ "location": [
17
+ 36,
18
+ 134,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 24,
24
+ "location": [
25
+ 35,
26
+ 133,
27
+ 0
28
+ ]
29
+ }
30
+ ]
31
+ },
32
+ {
33
+ "lane_id": 301,
34
+ "path": [
35
+ {
36
+ "id": 8,
37
+ "location": [
38
+ 16,
39
+ 144,
40
+ 0
41
+ ]
42
+ },
43
+ {
44
+ "id": 32,
45
+ "location": [
46
+ 16,
47
+ 141,
48
+ 0
49
+ ]
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "lane_id": 302,
55
+ "path": [
56
+ {
57
+ "id": 29,
58
+ "location": [
59
+ 13,
60
+ 144,
61
+ 0
62
+ ]
63
+ },
64
+ {
65
+ "id": 9,
66
+ "location": [
67
+ 13,
68
+ 141,
69
+ 0
70
+ ]
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "lane_id": 303,
76
+ "path": [
77
+ {
78
+ "id": 26,
79
+ "location": [
80
+ 9,
81
+ 144,
82
+ 0
83
+ ]
84
+ },
85
+ {
86
+ "id": 13,
87
+ "location": [
88
+ 9,
89
+ 141,
90
+ 0
91
+ ]
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "lane_id": 304,
97
+ "path": [
98
+ {
99
+ "id": 19,
100
+ "location": [
101
+ 6,
102
+ 144,
103
+ 0
104
+ ]
105
+ },
106
+ {
107
+ "id": 0,
108
+ "location": [
109
+ 6,
110
+ 141,
111
+ 0
112
+ ]
113
+ }
114
+ ]
115
+ },
116
+ {
117
+ "lane_id": 310,
118
+ "path": [
119
+ {
120
+ "id": 10,
121
+ "location": [
122
+ 16,
123
+ 66,
124
+ 0
125
+ ]
126
+ },
127
+ {
128
+ "id": 2,
129
+ "location": [
130
+ 16,
131
+ 58,
132
+ 0
133
+ ]
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "lane_id": 311,
139
+ "path": [
140
+ {
141
+ "id": 4,
142
+ "location": [
143
+ 12,
144
+ 66,
145
+ 0
146
+ ]
147
+ },
148
+ {
149
+ "id": 16,
150
+ "location": [
151
+ 12,
152
+ 58,
153
+ 0
154
+ ]
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "lane_id": 312,
160
+ "path": [
161
+ {
162
+ "id": 7,
163
+ "location": [
164
+ 9,
165
+ 66,
166
+ 0
167
+ ]
168
+ },
169
+ {
170
+ "id": 15,
171
+ "location": [
172
+ 9,
173
+ 58,
174
+ 0
175
+ ]
176
+ }
177
+ ]
178
+ },
179
+ {
180
+ "lane_id": 313,
181
+ "path": [
182
+ {
183
+ "id": 31,
184
+ "location": [
185
+ 5,
186
+ 66,
187
+ 0
188
+ ]
189
+ },
190
+ {
191
+ "id": 21,
192
+ "location": [
193
+ 5,
194
+ 58,
195
+ 0
196
+ ]
197
+ }
198
+ ]
199
+ },
200
+ {
201
+ "lane_id": 314,
202
+ "path": [
203
+ {
204
+ "id": 3,
205
+ "location": [
206
+ -5,
207
+ 57,
208
+ 0
209
+ ]
210
+ },
211
+ {
212
+ "id": 6,
213
+ "location": [
214
+ -5,
215
+ 65,
216
+ 0
217
+ ]
218
+ },
219
+ {
220
+ "id": 23,
221
+ "location": [
222
+ -5,
223
+ 66,
224
+ 0
225
+ ]
226
+ }
227
+ ]
228
+ },
229
+ {
230
+ "lane_id": 315,
231
+ "path": [
232
+ {
233
+ "id": 28,
234
+ "location": [
235
+ -9,
236
+ 65,
237
+ 0
238
+ ]
239
+ },
240
+ {
241
+ "id": 27,
242
+ "location": [
243
+ -9,
244
+ 66,
245
+ 0
246
+ ]
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "lane_id": 316,
252
+ "path": [
253
+ {
254
+ "id": 1,
255
+ "location": [
256
+ -12,
257
+ 65,
258
+ 0
259
+ ]
260
+ },
261
+ {
262
+ "id": 11,
263
+ "location": [
264
+ -12,
265
+ 66,
266
+ 0
267
+ ]
268
+ }
269
+ ]
270
+ },
271
+ {
272
+ "lane_id": 352,
273
+ "path": [
274
+ {
275
+ "id": 20,
276
+ "location": [
277
+ 35,
278
+ 133,
279
+ 0
280
+ ]
281
+ },
282
+ {
283
+ "id": 5,
284
+ "location": [
285
+ 29,
286
+ 128,
287
+ 0
288
+ ]
289
+ },
290
+ {
291
+ "id": 17,
292
+ "location": [
293
+ 25,
294
+ 122,
295
+ 0
296
+ ]
297
+ },
298
+ {
299
+ "id": 34,
300
+ "location": [
301
+ 21,
302
+ 116,
303
+ 0
304
+ ]
305
+ },
306
+ {
307
+ "id": 35,
308
+ "location": [
309
+ 19,
310
+ 109,
311
+ 0
312
+ ]
313
+ },
314
+ {
315
+ "id": 22,
316
+ "location": [
317
+ 17,
318
+ 102,
319
+ 0
320
+ ]
321
+ },
322
+ {
323
+ "id": 18,
324
+ "location": [
325
+ 16,
326
+ 95,
327
+ 0
328
+ ]
329
+ },
330
+ {
331
+ "id": 14,
332
+ "location": [
333
+ 16,
334
+ 87,
335
+ 0
336
+ ]
337
+ },
338
+ {
339
+ "id": 33,
340
+ "location": [
341
+ 16,
342
+ 79,
343
+ 0
344
+ ]
345
+ },
346
+ {
347
+ "id": 12,
348
+ "location": [
349
+ 16,
350
+ 71,
351
+ 0
352
+ ]
353
+ },
354
+ {
355
+ "id": 10,
356
+ "location": [
357
+ 16,
358
+ 66,
359
+ 0
360
+ ]
361
+ }
362
+ ]
363
+ }
364
+ ],
365
+ "relation": {
366
+ "174": [
367
+ [
368
+ 310,
369
+ "other"
370
+ ]
371
+ ],
372
+ "301": [
373
+ [
374
+ 310,
375
+ "straight"
376
+ ]
377
+ ],
378
+ "302": [
379
+ [
380
+ 311,
381
+ "straight"
382
+ ]
383
+ ],
384
+ "303": [
385
+ [
386
+ 312,
387
+ "straight"
388
+ ]
389
+ ],
390
+ "304": [
391
+ [
392
+ 313,
393
+ "straight"
394
+ ]
395
+ ]
396
+ },
397
+ "road": [
398
+ [
399
+ 174
400
+ ],
401
+ [
402
+ 301,
403
+ 302,
404
+ 303,
405
+ 304
406
+ ],
407
+ [
408
+ 314,
409
+ 315,
410
+ 316
411
+ ],
412
+ [
413
+ 310,
414
+ 311,
415
+ 312,
416
+ 313
417
+ ],
418
+ [
419
+ 352
420
+ ]
421
+ ]
422
+ }
generate_scenario/carla_waypoint/map_database/Town04|392|14.json ADDED
@@ -0,0 +1,746 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 73,
5
+ "path": [
6
+ {
7
+ "id": 38,
8
+ "location": [
9
+ 397,
10
+ 62,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 16,
16
+ "location": [
17
+ 399,
18
+ 54,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 20,
24
+ "location": [
25
+ 401,
26
+ 46,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 36,
32
+ "location": [
33
+ 401,
34
+ 42,
35
+ 0
36
+ ]
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "lane_id": 74,
42
+ "path": [
43
+ {
44
+ "id": 54,
45
+ "location": [
46
+ 394,
47
+ 61,
48
+ 0
49
+ ]
50
+ },
51
+ {
52
+ "id": 69,
53
+ "location": [
54
+ 396,
55
+ 53,
56
+ 0
57
+ ]
58
+ },
59
+ {
60
+ "id": 6,
61
+ "location": [
62
+ 397,
63
+ 45,
64
+ 0
65
+ ]
66
+ },
67
+ {
68
+ "id": 45,
69
+ "location": [
70
+ 398,
71
+ 41,
72
+ 0
73
+ ]
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "lane_id": 207,
79
+ "path": [
80
+ {
81
+ "id": 28,
82
+ "location": [
83
+ 381,
84
+ -32,
85
+ 0
86
+ ]
87
+ },
88
+ {
89
+ "id": 19,
90
+ "location": [
91
+ 381,
92
+ -25,
93
+ 0
94
+ ]
95
+ },
96
+ {
97
+ "id": 7,
98
+ "location": [
99
+ 380,
100
+ -19,
101
+ 0
102
+ ]
103
+ },
104
+ {
105
+ "id": 17,
106
+ "location": [
107
+ 380,
108
+ -19,
109
+ 0
110
+ ]
111
+ }
112
+ ]
113
+ },
114
+ {
115
+ "lane_id": 208,
116
+ "path": [
117
+ {
118
+ "id": 48,
119
+ "location": [
120
+ 384,
121
+ -32,
122
+ 0
123
+ ]
124
+ },
125
+ {
126
+ "id": 41,
127
+ "location": [
128
+ 384,
129
+ -25,
130
+ 0
131
+ ]
132
+ },
133
+ {
134
+ "id": 35,
135
+ "location": [
136
+ 383,
137
+ -18,
138
+ 0
139
+ ]
140
+ },
141
+ {
142
+ "id": 39,
143
+ "location": [
144
+ 383,
145
+ -18,
146
+ 0
147
+ ]
148
+ }
149
+ ]
150
+ },
151
+ {
152
+ "lane_id": 209,
153
+ "path": [
154
+ {
155
+ "id": 11,
156
+ "location": [
157
+ 388,
158
+ -32,
159
+ 0
160
+ ]
161
+ },
162
+ {
163
+ "id": 22,
164
+ "location": [
165
+ 388,
166
+ -24,
167
+ 0
168
+ ]
169
+ },
170
+ {
171
+ "id": 29,
172
+ "location": [
173
+ 387,
174
+ -18,
175
+ 0
176
+ ]
177
+ },
178
+ {
179
+ "id": 44,
180
+ "location": [
181
+ 387,
182
+ -18,
183
+ 0
184
+ ]
185
+ }
186
+ ]
187
+ },
188
+ {
189
+ "lane_id": 210,
190
+ "path": [
191
+ {
192
+ "id": 61,
193
+ "location": [
194
+ 391,
195
+ -32,
196
+ 0
197
+ ]
198
+ },
199
+ {
200
+ "id": 0,
201
+ "location": [
202
+ 391,
203
+ -24,
204
+ 0
205
+ ]
206
+ },
207
+ {
208
+ "id": 46,
209
+ "location": [
210
+ 390,
211
+ -17,
212
+ 0
213
+ ]
214
+ },
215
+ {
216
+ "id": 27,
217
+ "location": [
218
+ 390,
219
+ -17,
220
+ 0
221
+ ]
222
+ }
223
+ ]
224
+ },
225
+ {
226
+ "lane_id": 211,
227
+ "path": [
228
+ {
229
+ "id": 25,
230
+ "location": [
231
+ 400,
232
+ -14,
233
+ 0
234
+ ]
235
+ },
236
+ {
237
+ "id": 33,
238
+ "location": [
239
+ 401,
240
+ -23,
241
+ 0
242
+ ]
243
+ },
244
+ {
245
+ "id": 3,
246
+ "location": [
247
+ 402,
248
+ -31,
249
+ 0
250
+ ]
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "lane_id": 212,
256
+ "path": [
257
+ {
258
+ "id": 64,
259
+ "location": [
260
+ 404,
261
+ -14,
262
+ 0
263
+ ]
264
+ },
265
+ {
266
+ "id": 68,
267
+ "location": [
268
+ 405,
269
+ -23,
270
+ 0
271
+ ]
272
+ },
273
+ {
274
+ "id": 10,
275
+ "location": [
276
+ 405,
277
+ -31,
278
+ 0
279
+ ]
280
+ }
281
+ ]
282
+ },
283
+ {
284
+ "lane_id": 213,
285
+ "path": [
286
+ {
287
+ "id": 60,
288
+ "location": [
289
+ 407,
290
+ -13,
291
+ 0
292
+ ]
293
+ },
294
+ {
295
+ "id": 51,
296
+ "location": [
297
+ 408,
298
+ -23,
299
+ 0
300
+ ]
301
+ },
302
+ {
303
+ "id": 5,
304
+ "location": [
305
+ 409,
306
+ -31,
307
+ 0
308
+ ]
309
+ }
310
+ ]
311
+ },
312
+ {
313
+ "lane_id": 214,
314
+ "path": [
315
+ {
316
+ "id": 13,
317
+ "location": [
318
+ 410,
319
+ -12,
320
+ 0
321
+ ]
322
+ },
323
+ {
324
+ "id": 4,
325
+ "location": [
326
+ 412,
327
+ -22,
328
+ 0
329
+ ]
330
+ },
331
+ {
332
+ "id": 32,
333
+ "location": [
334
+ 412,
335
+ -31,
336
+ 0
337
+ ]
338
+ }
339
+ ]
340
+ },
341
+ {
342
+ "lane_id": 226,
343
+ "path": [
344
+ {
345
+ "id": 24,
346
+ "location": [
347
+ 364,
348
+ 4,
349
+ 0
350
+ ]
351
+ },
352
+ {
353
+ "id": 50,
354
+ "location": [
355
+ 359,
356
+ 7,
357
+ 0
358
+ ]
359
+ },
360
+ {
361
+ "id": 66,
362
+ "location": [
363
+ 353,
364
+ 9,
365
+ 0
366
+ ]
367
+ },
368
+ {
369
+ "id": 8,
370
+ "location": [
371
+ 348,
372
+ 10,
373
+ 0
374
+ ]
375
+ },
376
+ {
377
+ "id": 21,
378
+ "location": [
379
+ 342,
380
+ 11,
381
+ 0
382
+ ]
383
+ }
384
+ ]
385
+ },
386
+ {
387
+ "lane_id": 227,
388
+ "path": [
389
+ {
390
+ "id": 30,
391
+ "location": [
392
+ 365,
393
+ 7,
394
+ 0
395
+ ]
396
+ },
397
+ {
398
+ "id": 67,
399
+ "location": [
400
+ 360,
401
+ 10,
402
+ 0
403
+ ]
404
+ },
405
+ {
406
+ "id": 55,
407
+ "location": [
408
+ 354,
409
+ 12,
410
+ 0
411
+ ]
412
+ },
413
+ {
414
+ "id": 62,
415
+ "location": [
416
+ 348,
417
+ 14,
418
+ 0
419
+ ]
420
+ },
421
+ {
422
+ "id": 2,
423
+ "location": [
424
+ 342,
425
+ 14,
426
+ 0
427
+ ]
428
+ }
429
+ ]
430
+ },
431
+ {
432
+ "lane_id": 228,
433
+ "path": [
434
+ {
435
+ "id": 65,
436
+ "location": [
437
+ 367,
438
+ 10,
439
+ 0
440
+ ]
441
+ },
442
+ {
443
+ "id": 31,
444
+ "location": [
445
+ 362,
446
+ 13,
447
+ 0
448
+ ]
449
+ },
450
+ {
451
+ "id": 42,
452
+ "location": [
453
+ 355,
454
+ 16,
455
+ 0
456
+ ]
457
+ },
458
+ {
459
+ "id": 34,
460
+ "location": [
461
+ 349,
462
+ 17,
463
+ 0
464
+ ]
465
+ }
466
+ ]
467
+ },
468
+ {
469
+ "lane_id": 229,
470
+ "path": [
471
+ {
472
+ "id": 12,
473
+ "location": [
474
+ 369,
475
+ 13,
476
+ 0
477
+ ]
478
+ },
479
+ {
480
+ "id": 9,
481
+ "location": [
482
+ 363,
483
+ 17,
484
+ 0
485
+ ]
486
+ },
487
+ {
488
+ "id": 14,
489
+ "location": [
490
+ 356,
491
+ 19,
492
+ 0
493
+ ]
494
+ },
495
+ {
496
+ "id": 52,
497
+ "location": [
498
+ 349,
499
+ 21,
500
+ 0
501
+ ]
502
+ }
503
+ ]
504
+ },
505
+ {
506
+ "lane_id": 230,
507
+ "path": [
508
+ {
509
+ "id": 26,
510
+ "location": [
511
+ 353,
512
+ 31,
513
+ 0
514
+ ]
515
+ },
516
+ {
517
+ "id": 23,
518
+ "location": [
519
+ 362,
520
+ 28,
521
+ 0
522
+ ]
523
+ },
524
+ {
525
+ "id": 47,
526
+ "location": [
527
+ 370,
528
+ 25,
529
+ 0
530
+ ]
531
+ },
532
+ {
533
+ "id": 40,
534
+ "location": [
535
+ 375,
536
+ 22,
537
+ 0
538
+ ]
539
+ }
540
+ ]
541
+ },
542
+ {
543
+ "lane_id": 231,
544
+ "path": [
545
+ {
546
+ "id": 63,
547
+ "location": [
548
+ 354,
549
+ 34,
550
+ 0
551
+ ]
552
+ },
553
+ {
554
+ "id": 56,
555
+ "location": [
556
+ 363,
557
+ 32,
558
+ 0
559
+ ]
560
+ },
561
+ {
562
+ "id": 37,
563
+ "location": [
564
+ 371,
565
+ 28,
566
+ 0
567
+ ]
568
+ },
569
+ {
570
+ "id": 53,
571
+ "location": [
572
+ 377,
573
+ 25,
574
+ 0
575
+ ]
576
+ }
577
+ ]
578
+ },
579
+ {
580
+ "lane_id": 232,
581
+ "path": [
582
+ {
583
+ "id": 18,
584
+ "location": [
585
+ 354,
586
+ 38,
587
+ 0
588
+ ]
589
+ },
590
+ {
591
+ "id": 15,
592
+ "location": [
593
+ 364,
594
+ 35,
595
+ 0
596
+ ]
597
+ },
598
+ {
599
+ "id": 57,
600
+ "location": [
601
+ 373,
602
+ 31,
603
+ 0
604
+ ]
605
+ },
606
+ {
607
+ "id": 49,
608
+ "location": [
609
+ 379,
610
+ 28,
611
+ 0
612
+ ]
613
+ }
614
+ ]
615
+ },
616
+ {
617
+ "lane_id": 233,
618
+ "path": [
619
+ {
620
+ "id": 43,
621
+ "location": [
622
+ 355,
623
+ 41,
624
+ 0
625
+ ]
626
+ },
627
+ {
628
+ "id": 58,
629
+ "location": [
630
+ 365,
631
+ 38,
632
+ 0
633
+ ]
634
+ },
635
+ {
636
+ "id": 59,
637
+ "location": [
638
+ 375,
639
+ 34,
640
+ 0
641
+ ]
642
+ },
643
+ {
644
+ "id": 1,
645
+ "location": [
646
+ 381,
647
+ 31,
648
+ 0
649
+ ]
650
+ }
651
+ ]
652
+ }
653
+ ],
654
+ "relation": {
655
+ "73": [
656
+ [
657
+ 214,
658
+ "straight"
659
+ ]
660
+ ],
661
+ "74": [
662
+ [
663
+ 213,
664
+ "straight"
665
+ ]
666
+ ],
667
+ "207": [
668
+ [
669
+ 226,
670
+ "other"
671
+ ]
672
+ ],
673
+ "208": [
674
+ [
675
+ 227,
676
+ "other"
677
+ ]
678
+ ],
679
+ "209": [
680
+ [
681
+ 228,
682
+ "other"
683
+ ]
684
+ ],
685
+ "210": [
686
+ [
687
+ 229,
688
+ "other"
689
+ ]
690
+ ],
691
+ "230": [
692
+ [
693
+ 211,
694
+ "other"
695
+ ]
696
+ ],
697
+ "231": [
698
+ [
699
+ 212,
700
+ "other"
701
+ ]
702
+ ],
703
+ "232": [
704
+ [
705
+ 213,
706
+ "other"
707
+ ]
708
+ ],
709
+ "233": [
710
+ [
711
+ 214,
712
+ "other"
713
+ ]
714
+ ]
715
+ },
716
+ "road": [
717
+ [
718
+ 73,
719
+ 74
720
+ ],
721
+ [
722
+ 211,
723
+ 212,
724
+ 213,
725
+ 214
726
+ ],
727
+ [
728
+ 207,
729
+ 208,
730
+ 209,
731
+ 210
732
+ ],
733
+ [
734
+ 230,
735
+ 231,
736
+ 232,
737
+ 233
738
+ ],
739
+ [
740
+ 226,
741
+ 227,
742
+ 228,
743
+ 229
744
+ ]
745
+ ]
746
+ }
generate_scenario/carla_waypoint/map_database/Town10HD|-109|23.json ADDED
@@ -0,0 +1,612 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 41,
5
+ "path": [
6
+ {
7
+ "id": 14,
8
+ "location": [
9
+ -89,
10
+ 28,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 15,
16
+ "location": [
17
+ -81,
18
+ 28,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 30,
24
+ "location": [
25
+ -78,
26
+ 28,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 55,
32
+ "location": [
33
+ -78,
34
+ 28,
35
+ 0
36
+ ]
37
+ },
38
+ {
39
+ "id": 23,
40
+ "location": [
41
+ -70,
42
+ 28,
43
+ 0
44
+ ]
45
+ },
46
+ {
47
+ "id": 50,
48
+ "location": [
49
+ -67,
50
+ 28,
51
+ 0
52
+ ]
53
+ }
54
+ ]
55
+ },
56
+ {
57
+ "lane_id": 42,
58
+ "path": [
59
+ {
60
+ "id": 51,
61
+ "location": [
62
+ -89,
63
+ 24,
64
+ 0
65
+ ]
66
+ },
67
+ {
68
+ "id": 28,
69
+ "location": [
70
+ -81,
71
+ 24,
72
+ 0
73
+ ]
74
+ },
75
+ {
76
+ "id": 11,
77
+ "location": [
78
+ -78,
79
+ 24,
80
+ 0
81
+ ]
82
+ },
83
+ {
84
+ "id": 16,
85
+ "location": [
86
+ -78,
87
+ 24,
88
+ 0
89
+ ]
90
+ },
91
+ {
92
+ "id": 12,
93
+ "location": [
94
+ -70,
95
+ 24,
96
+ 0
97
+ ]
98
+ },
99
+ {
100
+ "id": 4,
101
+ "location": [
102
+ -67,
103
+ 24,
104
+ 0
105
+ ]
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ "lane_id": 48,
111
+ "path": [
112
+ {
113
+ "id": 6,
114
+ "location": [
115
+ -67,
116
+ 16,
117
+ 0
118
+ ]
119
+ },
120
+ {
121
+ "id": 34,
122
+ "location": [
123
+ -75,
124
+ 16,
125
+ 0
126
+ ]
127
+ },
128
+ {
129
+ "id": 43,
130
+ "location": [
131
+ -78,
132
+ 16,
133
+ 0
134
+ ]
135
+ },
136
+ {
137
+ "id": 31,
138
+ "location": [
139
+ -78,
140
+ 16,
141
+ 0
142
+ ]
143
+ },
144
+ {
145
+ "id": 47,
146
+ "location": [
147
+ -86,
148
+ 16,
149
+ 0
150
+ ]
151
+ },
152
+ {
153
+ "id": 24,
154
+ "location": [
155
+ -89,
156
+ 16,
157
+ 0
158
+ ]
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "lane_id": 49,
164
+ "path": [
165
+ {
166
+ "id": 48,
167
+ "location": [
168
+ -67,
169
+ 13,
170
+ 0
171
+ ]
172
+ },
173
+ {
174
+ "id": 13,
175
+ "location": [
176
+ -75,
177
+ 13,
178
+ 0
179
+ ]
180
+ },
181
+ {
182
+ "id": 40,
183
+ "location": [
184
+ -78,
185
+ 13,
186
+ 0
187
+ ]
188
+ },
189
+ {
190
+ "id": 25,
191
+ "location": [
192
+ -78,
193
+ 13,
194
+ 0
195
+ ]
196
+ },
197
+ {
198
+ "id": 19,
199
+ "location": [
200
+ -86,
201
+ 13,
202
+ 0
203
+ ]
204
+ },
205
+ {
206
+ "id": 52,
207
+ "location": [
208
+ -89,
209
+ 13,
210
+ 0
211
+ ]
212
+ }
213
+ ]
214
+ },
215
+ {
216
+ "lane_id": 96,
217
+ "path": [
218
+ {
219
+ "id": 56,
220
+ "location": [
221
+ -104,
222
+ 71,
223
+ 0
224
+ ]
225
+ },
226
+ {
227
+ "id": 46,
228
+ "location": [
229
+ -104,
230
+ 63,
231
+ 0
232
+ ]
233
+ },
234
+ {
235
+ "id": 36,
236
+ "location": [
237
+ -104,
238
+ 55,
239
+ 0
240
+ ]
241
+ },
242
+ {
243
+ "id": 44,
244
+ "location": [
245
+ -104,
246
+ 47,
247
+ 0
248
+ ]
249
+ },
250
+ {
251
+ "id": 49,
252
+ "location": [
253
+ -104,
254
+ 44,
255
+ 0
256
+ ]
257
+ }
258
+ ]
259
+ },
260
+ {
261
+ "lane_id": 97,
262
+ "path": [
263
+ {
264
+ "id": 21,
265
+ "location": [
266
+ -108,
267
+ 71,
268
+ 0
269
+ ]
270
+ },
271
+ {
272
+ "id": 7,
273
+ "location": [
274
+ -107,
275
+ 63,
276
+ 0
277
+ ]
278
+ },
279
+ {
280
+ "id": 32,
281
+ "location": [
282
+ -107,
283
+ 55,
284
+ 0
285
+ ]
286
+ },
287
+ {
288
+ "id": 2,
289
+ "location": [
290
+ -107,
291
+ 47,
292
+ 0
293
+ ]
294
+ },
295
+ {
296
+ "id": 27,
297
+ "location": [
298
+ -107,
299
+ 44,
300
+ 0
301
+ ]
302
+ }
303
+ ]
304
+ },
305
+ {
306
+ "lane_id": 98,
307
+ "path": [
308
+ {
309
+ "id": 39,
310
+ "location": [
311
+ -111,
312
+ 44,
313
+ 0
314
+ ]
315
+ },
316
+ {
317
+ "id": 53,
318
+ "location": [
319
+ -111,
320
+ 52,
321
+ 0
322
+ ]
323
+ },
324
+ {
325
+ "id": 41,
326
+ "location": [
327
+ -111,
328
+ 60,
329
+ 0
330
+ ]
331
+ },
332
+ {
333
+ "id": 54,
334
+ "location": [
335
+ -111,
336
+ 68,
337
+ 0
338
+ ]
339
+ }
340
+ ]
341
+ },
342
+ {
343
+ "lane_id": 99,
344
+ "path": [
345
+ {
346
+ "id": 29,
347
+ "location": [
348
+ -114,
349
+ 44,
350
+ 0
351
+ ]
352
+ },
353
+ {
354
+ "id": 57,
355
+ "location": [
356
+ -114,
357
+ 52,
358
+ 0
359
+ ]
360
+ },
361
+ {
362
+ "id": 5,
363
+ "location": [
364
+ -114,
365
+ 60,
366
+ 0
367
+ ]
368
+ },
369
+ {
370
+ "id": 33,
371
+ "location": [
372
+ -115,
373
+ 68,
374
+ 0
375
+ ]
376
+ }
377
+ ]
378
+ },
379
+ {
380
+ "lane_id": 100,
381
+ "path": [
382
+ {
383
+ "id": 8,
384
+ "location": [
385
+ -103,
386
+ -2,
387
+ 0
388
+ ]
389
+ },
390
+ {
391
+ "id": 20,
392
+ "location": [
393
+ -103,
394
+ -10,
395
+ 0
396
+ ]
397
+ },
398
+ {
399
+ "id": 1,
400
+ "location": [
401
+ -103,
402
+ -18,
403
+ 0
404
+ ]
405
+ },
406
+ {
407
+ "id": 35,
408
+ "location": [
409
+ -103,
410
+ -26,
411
+ 0
412
+ ]
413
+ }
414
+ ]
415
+ },
416
+ {
417
+ "lane_id": 101,
418
+ "path": [
419
+ {
420
+ "id": 3,
421
+ "location": [
422
+ -107,
423
+ -2,
424
+ 0
425
+ ]
426
+ },
427
+ {
428
+ "id": 18,
429
+ "location": [
430
+ -107,
431
+ -10,
432
+ 0
433
+ ]
434
+ },
435
+ {
436
+ "id": 45,
437
+ "location": [
438
+ -107,
439
+ -18,
440
+ 0
441
+ ]
442
+ },
443
+ {
444
+ "id": 37,
445
+ "location": [
446
+ -106,
447
+ -26,
448
+ 0
449
+ ]
450
+ }
451
+ ]
452
+ },
453
+ {
454
+ "lane_id": 102,
455
+ "path": [
456
+ {
457
+ "id": 9,
458
+ "location": [
459
+ -110,
460
+ -24,
461
+ 0
462
+ ]
463
+ },
464
+ {
465
+ "id": 38,
466
+ "location": [
467
+ -110,
468
+ -16,
469
+ 0
470
+ ]
471
+ },
472
+ {
473
+ "id": 10,
474
+ "location": [
475
+ -110,
476
+ -8,
477
+ 0
478
+ ]
479
+ },
480
+ {
481
+ "id": 26,
482
+ "location": [
483
+ -110,
484
+ -2,
485
+ 0
486
+ ]
487
+ }
488
+ ]
489
+ },
490
+ {
491
+ "lane_id": 103,
492
+ "path": [
493
+ {
494
+ "id": 0,
495
+ "location": [
496
+ -113,
497
+ -24,
498
+ 0
499
+ ]
500
+ },
501
+ {
502
+ "id": 17,
503
+ "location": [
504
+ -114,
505
+ -16,
506
+ 0
507
+ ]
508
+ },
509
+ {
510
+ "id": 42,
511
+ "location": [
512
+ -114,
513
+ -8,
514
+ 0
515
+ ]
516
+ },
517
+ {
518
+ "id": 22,
519
+ "location": [
520
+ -114,
521
+ -2,
522
+ 0
523
+ ]
524
+ }
525
+ ]
526
+ }
527
+ ],
528
+ "relation": {
529
+ "48": [
530
+ [
531
+ 98,
532
+ "left"
533
+ ],
534
+ [
535
+ 99,
536
+ "left"
537
+ ]
538
+ ],
539
+ "49": [
540
+ [
541
+ 101,
542
+ "right"
543
+ ],
544
+ [
545
+ 100,
546
+ "right"
547
+ ]
548
+ ],
549
+ "96": [
550
+ [
551
+ 46,
552
+ "right"
553
+ ]
554
+ ],
555
+ "97": [
556
+ [
557
+ 47,
558
+ "right"
559
+ ],
560
+ [
561
+ 101,
562
+ "straight"
563
+ ]
564
+ ],
565
+ "102": [
566
+ [
567
+ 46,
568
+ "left"
569
+ ],
570
+ [
571
+ 47,
572
+ "left"
573
+ ],
574
+ [
575
+ 98,
576
+ "straight"
577
+ ]
578
+ ],
579
+ "103": [
580
+ [
581
+ 99,
582
+ "straight"
583
+ ]
584
+ ]
585
+ },
586
+ "road": [
587
+ [
588
+ 41,
589
+ 42
590
+ ],
591
+ [
592
+ 48,
593
+ 49
594
+ ],
595
+ [
596
+ 98,
597
+ 99
598
+ ],
599
+ [
600
+ 96,
601
+ 97
602
+ ],
603
+ [
604
+ 102,
605
+ 103
606
+ ],
607
+ [
608
+ 100,
609
+ 101
610
+ ]
611
+ ]
612
+ }
generate_scenario/carla_waypoint/map_database/Town10HD|-50|23.json ADDED
@@ -0,0 +1,848 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 24,
5
+ "path": [
6
+ {
7
+ "id": 57,
8
+ "location": [
9
+ -45,
10
+ -2,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 55,
16
+ "location": [
17
+ -45,
18
+ -5,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 19,
24
+ "location": [
25
+ -45,
26
+ -5,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 22,
32
+ "location": [
33
+ -45,
34
+ -13,
35
+ 0
36
+ ]
37
+ },
38
+ {
39
+ "id": 27,
40
+ "location": [
41
+ -45,
42
+ -17,
43
+ 0
44
+ ]
45
+ },
46
+ {
47
+ "id": 64,
48
+ "location": [
49
+ -45,
50
+ -17,
51
+ 0
52
+ ]
53
+ },
54
+ {
55
+ "id": 7,
56
+ "location": [
57
+ -45,
58
+ -25,
59
+ 0
60
+ ]
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "lane_id": 25,
66
+ "path": [
67
+ {
68
+ "id": 34,
69
+ "location": [
70
+ -42,
71
+ -2,
72
+ 0
73
+ ]
74
+ },
75
+ {
76
+ "id": 67,
77
+ "location": [
78
+ -42,
79
+ -5,
80
+ 0
81
+ ]
82
+ },
83
+ {
84
+ "id": 25,
85
+ "location": [
86
+ -42,
87
+ -5,
88
+ 0
89
+ ]
90
+ },
91
+ {
92
+ "id": 56,
93
+ "location": [
94
+ -42,
95
+ -13,
96
+ 0
97
+ ]
98
+ },
99
+ {
100
+ "id": 70,
101
+ "location": [
102
+ -42,
103
+ -17,
104
+ 0
105
+ ]
106
+ },
107
+ {
108
+ "id": 69,
109
+ "location": [
110
+ -42,
111
+ -17,
112
+ 0
113
+ ]
114
+ },
115
+ {
116
+ "id": 30,
117
+ "location": [
118
+ -42,
119
+ -25,
120
+ 0
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ {
126
+ "lane_id": 35,
127
+ "path": [
128
+ {
129
+ "id": 39,
130
+ "location": [
131
+ -29,
132
+ 28,
133
+ 0
134
+ ]
135
+ },
136
+ {
137
+ "id": 43,
138
+ "location": [
139
+ -21,
140
+ 28,
141
+ 0
142
+ ]
143
+ },
144
+ {
145
+ "id": 77,
146
+ "location": [
147
+ -13,
148
+ 28,
149
+ 0
150
+ ]
151
+ },
152
+ {
153
+ "id": 51,
154
+ "location": [
155
+ -5,
156
+ 28,
157
+ 0
158
+ ]
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "lane_id": 36,
164
+ "path": [
165
+ {
166
+ "id": 53,
167
+ "location": [
168
+ -29,
169
+ 25,
170
+ 0
171
+ ]
172
+ },
173
+ {
174
+ "id": 76,
175
+ "location": [
176
+ -21,
177
+ 25,
178
+ 0
179
+ ]
180
+ },
181
+ {
182
+ "id": 16,
183
+ "location": [
184
+ -13,
185
+ 25,
186
+ 0
187
+ ]
188
+ },
189
+ {
190
+ "id": 41,
191
+ "location": [
192
+ -5,
193
+ 25,
194
+ 0
195
+ ]
196
+ }
197
+ ]
198
+ },
199
+ {
200
+ "lane_id": 37,
201
+ "path": [
202
+ {
203
+ "id": 49,
204
+ "location": [
205
+ -6,
206
+ 17,
207
+ 0
208
+ ]
209
+ },
210
+ {
211
+ "id": 42,
212
+ "location": [
213
+ -14,
214
+ 17,
215
+ 0
216
+ ]
217
+ },
218
+ {
219
+ "id": 2,
220
+ "location": [
221
+ -22,
222
+ 17,
223
+ 0
224
+ ]
225
+ },
226
+ {
227
+ "id": 40,
228
+ "location": [
229
+ -29,
230
+ 17,
231
+ 0
232
+ ]
233
+ }
234
+ ]
235
+ },
236
+ {
237
+ "lane_id": 38,
238
+ "path": [
239
+ {
240
+ "id": 54,
241
+ "location": [
242
+ -6,
243
+ 13,
244
+ 0
245
+ ]
246
+ },
247
+ {
248
+ "id": 79,
249
+ "location": [
250
+ -14,
251
+ 13,
252
+ 0
253
+ ]
254
+ },
255
+ {
256
+ "id": 44,
257
+ "location": [
258
+ -22,
259
+ 13,
260
+ 0
261
+ ]
262
+ },
263
+ {
264
+ "id": 12,
265
+ "location": [
266
+ -29,
267
+ 13,
268
+ 0
269
+ ]
270
+ }
271
+ ]
272
+ },
273
+ {
274
+ "lane_id": 41,
275
+ "path": [
276
+ {
277
+ "id": 17,
278
+ "location": [
279
+ -89,
280
+ 28,
281
+ 0
282
+ ]
283
+ },
284
+ {
285
+ "id": 62,
286
+ "location": [
287
+ -81,
288
+ 28,
289
+ 0
290
+ ]
291
+ },
292
+ {
293
+ "id": 24,
294
+ "location": [
295
+ -78,
296
+ 28,
297
+ 0
298
+ ]
299
+ },
300
+ {
301
+ "id": 14,
302
+ "location": [
303
+ -78,
304
+ 28,
305
+ 0
306
+ ]
307
+ },
308
+ {
309
+ "id": 23,
310
+ "location": [
311
+ -70,
312
+ 28,
313
+ 0
314
+ ]
315
+ },
316
+ {
317
+ "id": 73,
318
+ "location": [
319
+ -67,
320
+ 28,
321
+ 0
322
+ ]
323
+ }
324
+ ]
325
+ },
326
+ {
327
+ "lane_id": 42,
328
+ "path": [
329
+ {
330
+ "id": 74,
331
+ "location": [
332
+ -89,
333
+ 24,
334
+ 0
335
+ ]
336
+ },
337
+ {
338
+ "id": 10,
339
+ "location": [
340
+ -81,
341
+ 24,
342
+ 0
343
+ ]
344
+ },
345
+ {
346
+ "id": 4,
347
+ "location": [
348
+ -78,
349
+ 24,
350
+ 0
351
+ ]
352
+ },
353
+ {
354
+ "id": 63,
355
+ "location": [
356
+ -78,
357
+ 24,
358
+ 0
359
+ ]
360
+ },
361
+ {
362
+ "id": 61,
363
+ "location": [
364
+ -70,
365
+ 24,
366
+ 0
367
+ ]
368
+ },
369
+ {
370
+ "id": 1,
371
+ "location": [
372
+ -67,
373
+ 24,
374
+ 0
375
+ ]
376
+ }
377
+ ]
378
+ },
379
+ {
380
+ "lane_id": 48,
381
+ "path": [
382
+ {
383
+ "id": 59,
384
+ "location": [
385
+ -67,
386
+ 16,
387
+ 0
388
+ ]
389
+ },
390
+ {
391
+ "id": 48,
392
+ "location": [
393
+ -75,
394
+ 16,
395
+ 0
396
+ ]
397
+ },
398
+ {
399
+ "id": 50,
400
+ "location": [
401
+ -78,
402
+ 16,
403
+ 0
404
+ ]
405
+ },
406
+ {
407
+ "id": 47,
408
+ "location": [
409
+ -78,
410
+ 16,
411
+ 0
412
+ ]
413
+ },
414
+ {
415
+ "id": 26,
416
+ "location": [
417
+ -86,
418
+ 16,
419
+ 0
420
+ ]
421
+ },
422
+ {
423
+ "id": 66,
424
+ "location": [
425
+ -89,
426
+ 16,
427
+ 0
428
+ ]
429
+ }
430
+ ]
431
+ },
432
+ {
433
+ "lane_id": 49,
434
+ "path": [
435
+ {
436
+ "id": 52,
437
+ "location": [
438
+ -67,
439
+ 13,
440
+ 0
441
+ ]
442
+ },
443
+ {
444
+ "id": 6,
445
+ "location": [
446
+ -75,
447
+ 13,
448
+ 0
449
+ ]
450
+ },
451
+ {
452
+ "id": 71,
453
+ "location": [
454
+ -78,
455
+ 13,
456
+ 0
457
+ ]
458
+ },
459
+ {
460
+ "id": 9,
461
+ "location": [
462
+ -78,
463
+ 13,
464
+ 0
465
+ ]
466
+ },
467
+ {
468
+ "id": 8,
469
+ "location": [
470
+ -86,
471
+ 13,
472
+ 0
473
+ ]
474
+ },
475
+ {
476
+ "id": 78,
477
+ "location": [
478
+ -89,
479
+ 13,
480
+ 0
481
+ ]
482
+ }
483
+ ]
484
+ },
485
+ {
486
+ "lane_id": 60,
487
+ "path": [
488
+ {
489
+ "id": 33,
490
+ "location": [
491
+ -49,
492
+ -19,
493
+ 0
494
+ ]
495
+ },
496
+ {
497
+ "id": 3,
498
+ "location": [
499
+ -49,
500
+ -17,
501
+ 0
502
+ ]
503
+ },
504
+ {
505
+ "id": 65,
506
+ "location": [
507
+ -49,
508
+ -17,
509
+ 0
510
+ ]
511
+ },
512
+ {
513
+ "id": 72,
514
+ "location": [
515
+ -49,
516
+ -9,
517
+ 0
518
+ ]
519
+ },
520
+ {
521
+ "id": 20,
522
+ "location": [
523
+ -49,
524
+ -5,
525
+ 0
526
+ ]
527
+ },
528
+ {
529
+ "id": 13,
530
+ "location": [
531
+ -49,
532
+ -5,
533
+ 0
534
+ ]
535
+ },
536
+ {
537
+ "id": 11,
538
+ "location": [
539
+ -49,
540
+ -2,
541
+ 0
542
+ ]
543
+ }
544
+ ]
545
+ },
546
+ {
547
+ "lane_id": 61,
548
+ "path": [
549
+ {
550
+ "id": 75,
551
+ "location": [
552
+ -52,
553
+ -19,
554
+ 0
555
+ ]
556
+ },
557
+ {
558
+ "id": 21,
559
+ "location": [
560
+ -52,
561
+ -17,
562
+ 0
563
+ ]
564
+ },
565
+ {
566
+ "id": 0,
567
+ "location": [
568
+ -52,
569
+ -17,
570
+ 0
571
+ ]
572
+ },
573
+ {
574
+ "id": 31,
575
+ "location": [
576
+ -52,
577
+ -9,
578
+ 0
579
+ ]
580
+ },
581
+ {
582
+ "id": 38,
583
+ "location": [
584
+ -52,
585
+ -5,
586
+ 0
587
+ ]
588
+ },
589
+ {
590
+ "id": 32,
591
+ "location": [
592
+ -52,
593
+ -5,
594
+ 0
595
+ ]
596
+ },
597
+ {
598
+ "id": 28,
599
+ "location": [
600
+ -52,
601
+ -2,
602
+ 0
603
+ ]
604
+ }
605
+ ]
606
+ },
607
+ {
608
+ "lane_id": 138,
609
+ "path": [
610
+ {
611
+ "id": 45,
612
+ "location": [
613
+ -42,
614
+ 52,
615
+ 0
616
+ ]
617
+ },
618
+ {
619
+ "id": 37,
620
+ "location": [
621
+ -42,
622
+ 44,
623
+ 0
624
+ ]
625
+ },
626
+ {
627
+ "id": 36,
628
+ "location": [
629
+ -42,
630
+ 43,
631
+ 0
632
+ ]
633
+ }
634
+ ]
635
+ },
636
+ {
637
+ "lane_id": 139,
638
+ "path": [
639
+ {
640
+ "id": 46,
641
+ "location": [
642
+ -45,
643
+ 52,
644
+ 0
645
+ ]
646
+ },
647
+ {
648
+ "id": 5,
649
+ "location": [
650
+ -45,
651
+ 44,
652
+ 0
653
+ ]
654
+ },
655
+ {
656
+ "id": 35,
657
+ "location": [
658
+ -45,
659
+ 43,
660
+ 0
661
+ ]
662
+ }
663
+ ]
664
+ },
665
+ {
666
+ "lane_id": 140,
667
+ "path": [
668
+ {
669
+ "id": 68,
670
+ "location": [
671
+ -49,
672
+ 43,
673
+ 0
674
+ ]
675
+ },
676
+ {
677
+ "id": 58,
678
+ "location": [
679
+ -49,
680
+ 51,
681
+ 0
682
+ ]
683
+ },
684
+ {
685
+ "id": 15,
686
+ "location": [
687
+ -49,
688
+ 52,
689
+ 0
690
+ ]
691
+ }
692
+ ]
693
+ },
694
+ {
695
+ "lane_id": 141,
696
+ "path": [
697
+ {
698
+ "id": 60,
699
+ "location": [
700
+ -52,
701
+ 43,
702
+ 0
703
+ ]
704
+ },
705
+ {
706
+ "id": 18,
707
+ "location": [
708
+ -52,
709
+ 51,
710
+ 0
711
+ ]
712
+ },
713
+ {
714
+ "id": 29,
715
+ "location": [
716
+ -52,
717
+ 52,
718
+ 0
719
+ ]
720
+ }
721
+ ]
722
+ }
723
+ ],
724
+ "relation": {
725
+ "37": [
726
+ [
727
+ 43,
728
+ "straight"
729
+ ],
730
+ [
731
+ 140,
732
+ "left"
733
+ ]
734
+ ],
735
+ "38": [
736
+ [
737
+ 58,
738
+ "right"
739
+ ],
740
+ [
741
+ 44,
742
+ "straight"
743
+ ]
744
+ ],
745
+ "41": [
746
+ [
747
+ 35,
748
+ "straight"
749
+ ],
750
+ [
751
+ 141,
752
+ "right"
753
+ ]
754
+ ],
755
+ "42": [
756
+ [
757
+ 36,
758
+ "straight"
759
+ ],
760
+ [
761
+ 59,
762
+ "left"
763
+ ],
764
+ [
765
+ 58,
766
+ "left"
767
+ ]
768
+ ],
769
+ "60": [
770
+ [
771
+ 140,
772
+ "straight"
773
+ ],
774
+ [
775
+ 35,
776
+ "left"
777
+ ],
778
+ [
779
+ 36,
780
+ "left"
781
+ ]
782
+ ],
783
+ "61": [
784
+ [
785
+ 141,
786
+ "straight"
787
+ ],
788
+ [
789
+ 44,
790
+ "right"
791
+ ]
792
+ ],
793
+ "138": [
794
+ [
795
+ 58,
796
+ "straight"
797
+ ],
798
+ [
799
+ 35,
800
+ "right"
801
+ ]
802
+ ],
803
+ "139": [
804
+ [
805
+ 59,
806
+ "straight"
807
+ ],
808
+ [
809
+ 43,
810
+ "left"
811
+ ]
812
+ ]
813
+ },
814
+ "road": [
815
+ [
816
+ 24,
817
+ 25
818
+ ],
819
+ [
820
+ 37,
821
+ 38
822
+ ],
823
+ [
824
+ 35,
825
+ 36
826
+ ],
827
+ [
828
+ 41,
829
+ 42
830
+ ],
831
+ [
832
+ 48,
833
+ 49
834
+ ],
835
+ [
836
+ 60,
837
+ 61
838
+ ],
839
+ [
840
+ 140,
841
+ 141
842
+ ],
843
+ [
844
+ 138,
845
+ 139
846
+ ]
847
+ ]
848
+ }
generate_scenario/carla_waypoint/map_database/Town10HD|-52|135.json ADDED
@@ -0,0 +1,568 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 62,
5
+ "path": [
6
+ {
7
+ "id": 8,
8
+ "location": [
9
+ -41,
10
+ 115,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 19,
16
+ "location": [
17
+ -42,
18
+ 107,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 6,
24
+ "location": [
25
+ -42,
26
+ 99,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 39,
32
+ "location": [
33
+ -42,
34
+ 91,
35
+ 0
36
+ ]
37
+ }
38
+ ]
39
+ },
40
+ {
41
+ "lane_id": 63,
42
+ "path": [
43
+ {
44
+ "id": 34,
45
+ "location": [
46
+ -45,
47
+ 115,
48
+ 0
49
+ ]
50
+ },
51
+ {
52
+ "id": 52,
53
+ "location": [
54
+ -45,
55
+ 107,
56
+ 0
57
+ ]
58
+ },
59
+ {
60
+ "id": 33,
61
+ "location": [
62
+ -45,
63
+ 99,
64
+ 0
65
+ ]
66
+ },
67
+ {
68
+ "id": 3,
69
+ "location": [
70
+ -45,
71
+ 91,
72
+ 0
73
+ ]
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "lane_id": 64,
79
+ "path": [
80
+ {
81
+ "id": 40,
82
+ "location": [
83
+ -49,
84
+ 91,
85
+ 0
86
+ ]
87
+ },
88
+ {
89
+ "id": 38,
90
+ "location": [
91
+ -49,
92
+ 99,
93
+ 0
94
+ ]
95
+ },
96
+ {
97
+ "id": 27,
98
+ "location": [
99
+ -49,
100
+ 107,
101
+ 0
102
+ ]
103
+ },
104
+ {
105
+ "id": 49,
106
+ "location": [
107
+ -48,
108
+ 115,
109
+ 0
110
+ ]
111
+ },
112
+ {
113
+ "id": 42,
114
+ "location": [
115
+ -48,
116
+ 115,
117
+ 0
118
+ ]
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "lane_id": 65,
124
+ "path": [
125
+ {
126
+ "id": 48,
127
+ "location": [
128
+ -52,
129
+ 91,
130
+ 0
131
+ ]
132
+ },
133
+ {
134
+ "id": 10,
135
+ "location": [
136
+ -52,
137
+ 99,
138
+ 0
139
+ ]
140
+ },
141
+ {
142
+ "id": 21,
143
+ "location": [
144
+ -52,
145
+ 107,
146
+ 0
147
+ ]
148
+ },
149
+ {
150
+ "id": 16,
151
+ "location": [
152
+ -52,
153
+ 115,
154
+ 0
155
+ ]
156
+ },
157
+ {
158
+ "id": 4,
159
+ "location": [
160
+ -52,
161
+ 115,
162
+ 0
163
+ ]
164
+ }
165
+ ]
166
+ },
167
+ {
168
+ "lane_id": 92,
169
+ "path": [
170
+ {
171
+ "id": 50,
172
+ "location": [
173
+ -8,
174
+ 130,
175
+ 0
176
+ ]
177
+ },
178
+ {
179
+ "id": 36,
180
+ "location": [
181
+ -16,
182
+ 130,
183
+ 0
184
+ ]
185
+ },
186
+ {
187
+ "id": 46,
188
+ "location": [
189
+ -24,
190
+ 130,
191
+ 0
192
+ ]
193
+ },
194
+ {
195
+ "id": 43,
196
+ "location": [
197
+ -29,
198
+ 130,
199
+ 0
200
+ ]
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "lane_id": 93,
206
+ "path": [
207
+ {
208
+ "id": 35,
209
+ "location": [
210
+ -8,
211
+ 134,
212
+ 0
213
+ ]
214
+ },
215
+ {
216
+ "id": 31,
217
+ "location": [
218
+ -16,
219
+ 134,
220
+ 0
221
+ ]
222
+ },
223
+ {
224
+ "id": 2,
225
+ "location": [
226
+ -24,
227
+ 134,
228
+ 0
229
+ ]
230
+ },
231
+ {
232
+ "id": 41,
233
+ "location": [
234
+ -29,
235
+ 134,
236
+ 0
237
+ ]
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ "lane_id": 94,
243
+ "path": [
244
+ {
245
+ "id": 32,
246
+ "location": [
247
+ -29,
248
+ 137,
249
+ 0
250
+ ]
251
+ },
252
+ {
253
+ "id": 9,
254
+ "location": [
255
+ -21,
256
+ 137,
257
+ 0
258
+ ]
259
+ },
260
+ {
261
+ "id": 51,
262
+ "location": [
263
+ -13,
264
+ 137,
265
+ 0
266
+ ]
267
+ },
268
+ {
269
+ "id": 26,
270
+ "location": [
271
+ -5,
272
+ 137,
273
+ 0
274
+ ]
275
+ }
276
+ ]
277
+ },
278
+ {
279
+ "lane_id": 95,
280
+ "path": [
281
+ {
282
+ "id": 12,
283
+ "location": [
284
+ -29,
285
+ 141,
286
+ 0
287
+ ]
288
+ },
289
+ {
290
+ "id": 29,
291
+ "location": [
292
+ -21,
293
+ 141,
294
+ 0
295
+ ]
296
+ },
297
+ {
298
+ "id": 15,
299
+ "location": [
300
+ -13,
301
+ 141,
302
+ 0
303
+ ]
304
+ },
305
+ {
306
+ "id": 7,
307
+ "location": [
308
+ -5,
309
+ 141,
310
+ 0
311
+ ]
312
+ }
313
+ ]
314
+ },
315
+ {
316
+ "lane_id": 96,
317
+ "path": [
318
+ {
319
+ "id": 1,
320
+ "location": [
321
+ -70,
322
+ 129,
323
+ 0
324
+ ]
325
+ },
326
+ {
327
+ "id": 17,
328
+ "location": [
329
+ -77,
330
+ 127,
331
+ 0
332
+ ]
333
+ },
334
+ {
335
+ "id": 0,
336
+ "location": [
337
+ -83,
338
+ 123,
339
+ 0
340
+ ]
341
+ },
342
+ {
343
+ "id": 25,
344
+ "location": [
345
+ -89,
346
+ 119,
347
+ 0
348
+ ]
349
+ },
350
+ {
351
+ "id": 18,
352
+ "location": [
353
+ -93,
354
+ 113,
355
+ 0
356
+ ]
357
+ }
358
+ ]
359
+ },
360
+ {
361
+ "lane_id": 97,
362
+ "path": [
363
+ {
364
+ "id": 53,
365
+ "location": [
366
+ -71,
367
+ 132,
368
+ 0
369
+ ]
370
+ },
371
+ {
372
+ "id": 13,
373
+ "location": [
374
+ -79,
375
+ 130,
376
+ 0
377
+ ]
378
+ },
379
+ {
380
+ "id": 14,
381
+ "location": [
382
+ -85,
383
+ 126,
384
+ 0
385
+ ]
386
+ },
387
+ {
388
+ "id": 23,
389
+ "location": [
390
+ -91,
391
+ 121,
392
+ 0
393
+ ]
394
+ },
395
+ {
396
+ "id": 20,
397
+ "location": [
398
+ -96,
399
+ 115,
400
+ 0
401
+ ]
402
+ }
403
+ ]
404
+ },
405
+ {
406
+ "lane_id": 98,
407
+ "path": [
408
+ {
409
+ "id": 37,
410
+ "location": [
411
+ -96,
412
+ 122,
413
+ 0
414
+ ]
415
+ },
416
+ {
417
+ "id": 22,
418
+ "location": [
419
+ -90,
420
+ 127,
421
+ 0
422
+ ]
423
+ },
424
+ {
425
+ "id": 5,
426
+ "location": [
427
+ -83,
428
+ 132,
429
+ 0
430
+ ]
431
+ },
432
+ {
433
+ "id": 11,
434
+ "location": [
435
+ -75,
436
+ 135,
437
+ 0
438
+ ]
439
+ },
440
+ {
441
+ "id": 24,
442
+ "location": [
443
+ -72,
444
+ 136,
445
+ 0
446
+ ]
447
+ }
448
+ ]
449
+ },
450
+ {
451
+ "lane_id": 99,
452
+ "path": [
453
+ {
454
+ "id": 45,
455
+ "location": [
456
+ -98,
457
+ 124,
458
+ 0
459
+ ]
460
+ },
461
+ {
462
+ "id": 47,
463
+ "location": [
464
+ -92,
465
+ 130,
466
+ 0
467
+ ]
468
+ },
469
+ {
470
+ "id": 28,
471
+ "location": [
472
+ -84,
473
+ 135,
474
+ 0
475
+ ]
476
+ },
477
+ {
478
+ "id": 44,
479
+ "location": [
480
+ -76,
481
+ 138,
482
+ 0
483
+ ]
484
+ },
485
+ {
486
+ "id": 30,
487
+ "location": [
488
+ -73,
489
+ 139,
490
+ 0
491
+ ]
492
+ }
493
+ ]
494
+ }
495
+ ],
496
+ "relation": {
497
+ "64": [
498
+ [
499
+ 97,
500
+ "other"
501
+ ]
502
+ ],
503
+ "65": [
504
+ [
505
+ 96,
506
+ "other"
507
+ ]
508
+ ],
509
+ "92": [
510
+ [
511
+ 96,
512
+ "other"
513
+ ],
514
+ [
515
+ 63,
516
+ "right"
517
+ ],
518
+ [
519
+ 62,
520
+ "right"
521
+ ]
522
+ ],
523
+ "93": [
524
+ [
525
+ 97,
526
+ "other"
527
+ ]
528
+ ],
529
+ "98": [
530
+ [
531
+ 94,
532
+ "other"
533
+ ]
534
+ ],
535
+ "99": [
536
+ [
537
+ 95,
538
+ "other"
539
+ ]
540
+ ]
541
+ },
542
+ "road": [
543
+ [
544
+ 64,
545
+ 65
546
+ ],
547
+ [
548
+ 62,
549
+ 63
550
+ ],
551
+ [
552
+ 94,
553
+ 95
554
+ ],
555
+ [
556
+ 92,
557
+ 93
558
+ ],
559
+ [
560
+ 98,
561
+ 99
562
+ ],
563
+ [
564
+ 96,
565
+ 97
566
+ ]
567
+ ]
568
+ }
generate_scenario/carla_waypoint/map_database/Town10HD|103|17.json ADDED
@@ -0,0 +1,670 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 26,
5
+ "path": [
6
+ {
7
+ "id": 8,
8
+ "location": [
9
+ 57,
10
+ 28,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 31,
16
+ "location": [
17
+ 65,
18
+ 28,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 49,
24
+ "location": [
25
+ 73,
26
+ 28,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 20,
32
+ "location": [
33
+ 81,
34
+ 28,
35
+ 0
36
+ ]
37
+ },
38
+ {
39
+ "id": 35,
40
+ "location": [
41
+ 83,
42
+ 28,
43
+ 0
44
+ ]
45
+ }
46
+ ]
47
+ },
48
+ {
49
+ "lane_id": 27,
50
+ "path": [
51
+ {
52
+ "id": 54,
53
+ "location": [
54
+ 57,
55
+ 25,
56
+ 0
57
+ ]
58
+ },
59
+ {
60
+ "id": 47,
61
+ "location": [
62
+ 65,
63
+ 25,
64
+ 0
65
+ ]
66
+ },
67
+ {
68
+ "id": 11,
69
+ "location": [
70
+ 73,
71
+ 25,
72
+ 0
73
+ ]
74
+ },
75
+ {
76
+ "id": 44,
77
+ "location": [
78
+ 81,
79
+ 25,
80
+ 0
81
+ ]
82
+ },
83
+ {
84
+ "id": 29,
85
+ "location": [
86
+ 83,
87
+ 25,
88
+ 0
89
+ ]
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "lane_id": 28,
95
+ "path": [
96
+ {
97
+ "id": 46,
98
+ "location": [
99
+ 83,
100
+ 17,
101
+ 0
102
+ ]
103
+ },
104
+ {
105
+ "id": 26,
106
+ "location": [
107
+ 75,
108
+ 17,
109
+ 0
110
+ ]
111
+ },
112
+ {
113
+ "id": 32,
114
+ "location": [
115
+ 67,
116
+ 17,
117
+ 0
118
+ ]
119
+ },
120
+ {
121
+ "id": 17,
122
+ "location": [
123
+ 59,
124
+ 17,
125
+ 0
126
+ ]
127
+ },
128
+ {
129
+ "id": 57,
130
+ "location": [
131
+ 57,
132
+ 17,
133
+ 0
134
+ ]
135
+ }
136
+ ]
137
+ },
138
+ {
139
+ "lane_id": 29,
140
+ "path": [
141
+ {
142
+ "id": 33,
143
+ "location": [
144
+ 83,
145
+ 13,
146
+ 0
147
+ ]
148
+ },
149
+ {
150
+ "id": 60,
151
+ "location": [
152
+ 75,
153
+ 13,
154
+ 0
155
+ ]
156
+ },
157
+ {
158
+ "id": 58,
159
+ "location": [
160
+ 67,
161
+ 13,
162
+ 0
163
+ ]
164
+ },
165
+ {
166
+ "id": 55,
167
+ "location": [
168
+ 59,
169
+ 13,
170
+ 0
171
+ ]
172
+ },
173
+ {
174
+ "id": 56,
175
+ "location": [
176
+ 57,
177
+ 13,
178
+ 0
179
+ ]
180
+ }
181
+ ]
182
+ },
183
+ {
184
+ "lane_id": 78,
185
+ "path": [
186
+ {
187
+ "id": 39,
188
+ "location": [
189
+ 110,
190
+ 53,
191
+ 0
192
+ ]
193
+ },
194
+ {
195
+ "id": 4,
196
+ "location": [
197
+ 110,
198
+ 45,
199
+ 0
200
+ ]
201
+ },
202
+ {
203
+ "id": 21,
204
+ "location": [
205
+ 110,
206
+ 42,
207
+ 0
208
+ ]
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "lane_id": 79,
214
+ "path": [
215
+ {
216
+ "id": 14,
217
+ "location": [
218
+ 106,
219
+ 53,
220
+ 0
221
+ ]
222
+ },
223
+ {
224
+ "id": 18,
225
+ "location": [
226
+ 106,
227
+ 45,
228
+ 0
229
+ ]
230
+ },
231
+ {
232
+ "id": 42,
233
+ "location": [
234
+ 106,
235
+ 42,
236
+ 0
237
+ ]
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ "lane_id": 80,
243
+ "path": [
244
+ {
245
+ "id": 50,
246
+ "location": [
247
+ 103,
248
+ 42,
249
+ 0
250
+ ]
251
+ },
252
+ {
253
+ "id": 15,
254
+ "location": [
255
+ 103,
256
+ 50,
257
+ 0
258
+ ]
259
+ },
260
+ {
261
+ "id": 25,
262
+ "location": [
263
+ 103,
264
+ 53,
265
+ 0
266
+ ]
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "lane_id": 81,
272
+ "path": [
273
+ {
274
+ "id": 10,
275
+ "location": [
276
+ 99,
277
+ 42,
278
+ 0
279
+ ]
280
+ },
281
+ {
282
+ "id": 43,
283
+ "location": [
284
+ 99,
285
+ 50,
286
+ 0
287
+ ]
288
+ },
289
+ {
290
+ "id": 34,
291
+ "location": [
292
+ 99,
293
+ 53,
294
+ 0
295
+ ]
296
+ }
297
+ ]
298
+ },
299
+ {
300
+ "lane_id": 88,
301
+ "path": [
302
+ {
303
+ "id": 38,
304
+ "location": [
305
+ 103,
306
+ -23,
307
+ 0
308
+ ]
309
+ },
310
+ {
311
+ "id": 7,
312
+ "location": [
313
+ 103,
314
+ -15,
315
+ 0
316
+ ]
317
+ },
318
+ {
319
+ "id": 9,
320
+ "location": [
321
+ 103,
322
+ -9,
323
+ 0
324
+ ]
325
+ },
326
+ {
327
+ "id": 59,
328
+ "location": [
329
+ 103,
330
+ -9,
331
+ 0
332
+ ]
333
+ },
334
+ {
335
+ "id": 27,
336
+ "location": [
337
+ 103,
338
+ -4,
339
+ 0
340
+ ]
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "lane_id": 89,
346
+ "path": [
347
+ {
348
+ "id": 3,
349
+ "location": [
350
+ 99,
351
+ -23,
352
+ 0
353
+ ]
354
+ },
355
+ {
356
+ "id": 23,
357
+ "location": [
358
+ 99,
359
+ -15,
360
+ 0
361
+ ]
362
+ },
363
+ {
364
+ "id": 13,
365
+ "location": [
366
+ 99,
367
+ -9,
368
+ 0
369
+ ]
370
+ },
371
+ {
372
+ "id": 5,
373
+ "location": [
374
+ 99,
375
+ -9,
376
+ 0
377
+ ]
378
+ },
379
+ {
380
+ "id": 22,
381
+ "location": [
382
+ 99,
383
+ -4,
384
+ 0
385
+ ]
386
+ }
387
+ ]
388
+ },
389
+ {
390
+ "lane_id": 119,
391
+ "path": [
392
+ {
393
+ "id": 0,
394
+ "location": [
395
+ 110,
396
+ -4,
397
+ 0
398
+ ]
399
+ },
400
+ {
401
+ "id": 30,
402
+ "location": [
403
+ 110,
404
+ -9,
405
+ 0
406
+ ]
407
+ },
408
+ {
409
+ "id": 24,
410
+ "location": [
411
+ 110,
412
+ -9,
413
+ 0
414
+ ]
415
+ },
416
+ {
417
+ "id": 12,
418
+ "location": [
419
+ 110,
420
+ -17,
421
+ 0
422
+ ]
423
+ },
424
+ {
425
+ "id": 16,
426
+ "location": [
427
+ 110,
428
+ -23,
429
+ 0
430
+ ]
431
+ },
432
+ {
433
+ "id": 19,
434
+ "location": [
435
+ 110,
436
+ -23,
437
+ 0
438
+ ]
439
+ },
440
+ {
441
+ "id": 1,
442
+ "location": [
443
+ 109,
444
+ -32,
445
+ 0
446
+ ]
447
+ }
448
+ ]
449
+ },
450
+ {
451
+ "lane_id": 120,
452
+ "path": [
453
+ {
454
+ "id": 61,
455
+ "location": [
456
+ 106,
457
+ -4,
458
+ 0
459
+ ]
460
+ },
461
+ {
462
+ "id": 28,
463
+ "location": [
464
+ 106,
465
+ -9,
466
+ 0
467
+ ]
468
+ },
469
+ {
470
+ "id": 40,
471
+ "location": [
472
+ 106,
473
+ -9,
474
+ 0
475
+ ]
476
+ },
477
+ {
478
+ "id": 2,
479
+ "location": [
480
+ 106,
481
+ -17,
482
+ 0
483
+ ]
484
+ },
485
+ {
486
+ "id": 6,
487
+ "location": [
488
+ 106,
489
+ -23,
490
+ 0
491
+ ]
492
+ },
493
+ {
494
+ "id": 52,
495
+ "location": [
496
+ 106,
497
+ -23,
498
+ 0
499
+ ]
500
+ },
501
+ {
502
+ "id": 36,
503
+ "location": [
504
+ 106,
505
+ -31,
506
+ 0
507
+ ]
508
+ }
509
+ ]
510
+ },
511
+ {
512
+ "lane_id": 121,
513
+ "path": [
514
+ {
515
+ "id": 37,
516
+ "location": [
517
+ 102,
518
+ -31,
519
+ 0
520
+ ]
521
+ },
522
+ {
523
+ "id": 53,
524
+ "location": [
525
+ 103,
526
+ -23,
527
+ 0
528
+ ]
529
+ },
530
+ {
531
+ "id": 45,
532
+ "location": [
533
+ 103,
534
+ -23,
535
+ 0
536
+ ]
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "lane_id": 122,
542
+ "path": [
543
+ {
544
+ "id": 41,
545
+ "location": [
546
+ 99,
547
+ -30,
548
+ 0
549
+ ]
550
+ },
551
+ {
552
+ "id": 48,
553
+ "location": [
554
+ 99,
555
+ -23,
556
+ 0
557
+ ]
558
+ },
559
+ {
560
+ "id": 51,
561
+ "location": [
562
+ 99,
563
+ -23,
564
+ 0
565
+ ]
566
+ }
567
+ ]
568
+ }
569
+ ],
570
+ "relation": {
571
+ "26": [
572
+ [
573
+ 80,
574
+ "right"
575
+ ],
576
+ [
577
+ 81,
578
+ "right"
579
+ ]
580
+ ],
581
+ "27": [
582
+ [
583
+ 87,
584
+ "left"
585
+ ],
586
+ [
587
+ 86,
588
+ "left"
589
+ ]
590
+ ],
591
+ "78": [
592
+ [
593
+ 86,
594
+ "straight"
595
+ ]
596
+ ],
597
+ "79": [
598
+ [
599
+ 28,
600
+ "left"
601
+ ],
602
+ [
603
+ 29,
604
+ "left"
605
+ ],
606
+ [
607
+ 87,
608
+ "straight"
609
+ ]
610
+ ],
611
+ "88": [
612
+ [
613
+ 80,
614
+ "straight"
615
+ ]
616
+ ],
617
+ "89": [
618
+ [
619
+ 29,
620
+ "right"
621
+ ],
622
+ [
623
+ 81,
624
+ "straight"
625
+ ]
626
+ ],
627
+ "121": [
628
+ [
629
+ 70,
630
+ "other"
631
+ ]
632
+ ],
633
+ "122": [
634
+ [
635
+ 71,
636
+ "other"
637
+ ]
638
+ ]
639
+ },
640
+ "road": [
641
+ [
642
+ 28,
643
+ 29
644
+ ],
645
+ [
646
+ 26,
647
+ 27
648
+ ],
649
+ [
650
+ 80,
651
+ 81
652
+ ],
653
+ [
654
+ 78,
655
+ 79
656
+ ],
657
+ [
658
+ 88,
659
+ 89
660
+ ],
661
+ [
662
+ 121,
663
+ 122
664
+ ],
665
+ [
666
+ 119,
667
+ 120
668
+ ]
669
+ ]
670
+ }
generate_scenario/carla_waypoint/map_database/Town10HD|32|135.json ADDED
@@ -0,0 +1,558 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 92,
5
+ "path": [
6
+ {
7
+ "id": 50,
8
+ "location": [
9
+ 19,
10
+ 130,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 0,
16
+ "location": [
17
+ 11,
18
+ 130,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 52,
24
+ "location": [
25
+ 3,
26
+ 130,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 7,
32
+ "location": [
33
+ 0,
34
+ 130,
35
+ 0
36
+ ]
37
+ },
38
+ {
39
+ "id": 24,
40
+ "location": [
41
+ 0,
42
+ 130,
43
+ 0
44
+ ]
45
+ },
46
+ {
47
+ "id": 60,
48
+ "location": [
49
+ -8,
50
+ 130,
51
+ 0
52
+ ]
53
+ },
54
+ {
55
+ "id": 48,
56
+ "location": [
57
+ -16,
58
+ 130,
59
+ 0
60
+ ]
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "lane_id": 93,
66
+ "path": [
67
+ {
68
+ "id": 35,
69
+ "location": [
70
+ 19,
71
+ 134,
72
+ 0
73
+ ]
74
+ },
75
+ {
76
+ "id": 13,
77
+ "location": [
78
+ 11,
79
+ 134,
80
+ 0
81
+ ]
82
+ },
83
+ {
84
+ "id": 9,
85
+ "location": [
86
+ 3,
87
+ 134,
88
+ 0
89
+ ]
90
+ },
91
+ {
92
+ "id": 2,
93
+ "location": [
94
+ 0,
95
+ 134,
96
+ 0
97
+ ]
98
+ },
99
+ {
100
+ "id": 41,
101
+ "location": [
102
+ 0,
103
+ 134,
104
+ 0
105
+ ]
106
+ },
107
+ {
108
+ "id": 47,
109
+ "location": [
110
+ -8,
111
+ 134,
112
+ 0
113
+ ]
114
+ },
115
+ {
116
+ "id": 42,
117
+ "location": [
118
+ -16,
119
+ 134,
120
+ 0
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ {
126
+ "lane_id": 161,
127
+ "path": [
128
+ {
129
+ "id": 20,
130
+ "location": [
131
+ -13,
132
+ 141,
133
+ 0
134
+ ]
135
+ },
136
+ {
137
+ "id": 8,
138
+ "location": [
139
+ -5,
140
+ 141,
141
+ 0
142
+ ]
143
+ },
144
+ {
145
+ "id": 53,
146
+ "location": [
147
+ 0,
148
+ 141,
149
+ 0
150
+ ]
151
+ },
152
+ {
153
+ "id": 30,
154
+ "location": [
155
+ 0,
156
+ 141,
157
+ 0
158
+ ]
159
+ },
160
+ {
161
+ "id": 10,
162
+ "location": [
163
+ 8,
164
+ 141,
165
+ 0
166
+ ]
167
+ },
168
+ {
169
+ "id": 32,
170
+ "location": [
171
+ 16,
172
+ 141,
173
+ 0
174
+ ]
175
+ },
176
+ {
177
+ "id": 36,
178
+ "location": [
179
+ 19,
180
+ 141,
181
+ 0
182
+ ]
183
+ },
184
+ {
185
+ "id": 46,
186
+ "location": [
187
+ 19,
188
+ 141,
189
+ 0
190
+ ]
191
+ },
192
+ {
193
+ "id": 59,
194
+ "location": [
195
+ 27,
196
+ 141,
197
+ 0
198
+ ]
199
+ },
200
+ {
201
+ "id": 45,
202
+ "location": [
203
+ 35,
204
+ 141,
205
+ 0
206
+ ]
207
+ },
208
+ {
209
+ "id": 37,
210
+ "location": [
211
+ 43,
212
+ 141,
213
+ 0
214
+ ]
215
+ },
216
+ {
217
+ "id": 23,
218
+ "location": [
219
+ 51,
220
+ 141,
221
+ 0
222
+ ]
223
+ },
224
+ {
225
+ "id": 16,
226
+ "location": [
227
+ 59,
228
+ 141,
229
+ 0
230
+ ]
231
+ },
232
+ {
233
+ "id": 14,
234
+ "location": [
235
+ 68,
236
+ 141,
237
+ 0
238
+ ]
239
+ },
240
+ {
241
+ "id": 51,
242
+ "location": [
243
+ 77,
244
+ 139,
245
+ 0
246
+ ]
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "lane_id": 162,
252
+ "path": [
253
+ {
254
+ "id": 61,
255
+ "location": [
256
+ -13,
257
+ 137,
258
+ 0
259
+ ]
260
+ },
261
+ {
262
+ "id": 38,
263
+ "location": [
264
+ -5,
265
+ 137,
266
+ 0
267
+ ]
268
+ },
269
+ {
270
+ "id": 3,
271
+ "location": [
272
+ 0,
273
+ 137,
274
+ 0
275
+ ]
276
+ },
277
+ {
278
+ "id": 29,
279
+ "location": [
280
+ 0,
281
+ 137,
282
+ 0
283
+ ]
284
+ },
285
+ {
286
+ "id": 11,
287
+ "location": [
288
+ 8,
289
+ 137,
290
+ 0
291
+ ]
292
+ },
293
+ {
294
+ "id": 26,
295
+ "location": [
296
+ 16,
297
+ 137,
298
+ 0
299
+ ]
300
+ },
301
+ {
302
+ "id": 55,
303
+ "location": [
304
+ 19,
305
+ 137,
306
+ 0
307
+ ]
308
+ },
309
+ {
310
+ "id": 12,
311
+ "location": [
312
+ 19,
313
+ 137,
314
+ 0
315
+ ]
316
+ },
317
+ {
318
+ "id": 27,
319
+ "location": [
320
+ 27,
321
+ 138,
322
+ 0
323
+ ]
324
+ },
325
+ {
326
+ "id": 15,
327
+ "location": [
328
+ 35,
329
+ 138,
330
+ 0
331
+ ]
332
+ },
333
+ {
334
+ "id": 22,
335
+ "location": [
336
+ 43,
337
+ 138,
338
+ 0
339
+ ]
340
+ },
341
+ {
342
+ "id": 33,
343
+ "location": [
344
+ 51,
345
+ 138,
346
+ 0
347
+ ]
348
+ },
349
+ {
350
+ "id": 6,
351
+ "location": [
352
+ 59,
353
+ 138,
354
+ 0
355
+ ]
356
+ },
357
+ {
358
+ "id": 43,
359
+ "location": [
360
+ 67,
361
+ 138,
362
+ 0
363
+ ]
364
+ },
365
+ {
366
+ "id": 39,
367
+ "location": [
368
+ 76,
369
+ 136,
370
+ 0
371
+ ]
372
+ }
373
+ ]
374
+ },
375
+ {
376
+ "lane_id": 163,
377
+ "path": [
378
+ {
379
+ "id": 4,
380
+ "location": [
381
+ 82,
382
+ 130,
383
+ 0
384
+ ]
385
+ },
386
+ {
387
+ "id": 25,
388
+ "location": [
389
+ 75,
390
+ 133,
391
+ 0
392
+ ]
393
+ },
394
+ {
395
+ "id": 58,
396
+ "location": [
397
+ 67,
398
+ 134,
399
+ 0
400
+ ]
401
+ },
402
+ {
403
+ "id": 5,
404
+ "location": [
405
+ 59,
406
+ 134,
407
+ 0
408
+ ]
409
+ },
410
+ {
411
+ "id": 1,
412
+ "location": [
413
+ 51,
414
+ 134,
415
+ 0
416
+ ]
417
+ },
418
+ {
419
+ "id": 57,
420
+ "location": [
421
+ 43,
422
+ 134,
423
+ 0
424
+ ]
425
+ },
426
+ {
427
+ "id": 31,
428
+ "location": [
429
+ 35,
430
+ 134,
431
+ 0
432
+ ]
433
+ },
434
+ {
435
+ "id": 21,
436
+ "location": [
437
+ 27,
438
+ 134,
439
+ 0
440
+ ]
441
+ },
442
+ {
443
+ "id": 18,
444
+ "location": [
445
+ 19,
446
+ 134,
447
+ 0
448
+ ]
449
+ }
450
+ ]
451
+ },
452
+ {
453
+ "lane_id": 164,
454
+ "path": [
455
+ {
456
+ "id": 49,
457
+ "location": [
458
+ 80,
459
+ 127,
460
+ 0
461
+ ]
462
+ },
463
+ {
464
+ "id": 28,
465
+ "location": [
466
+ 74,
467
+ 129,
468
+ 0
469
+ ]
470
+ },
471
+ {
472
+ "id": 56,
473
+ "location": [
474
+ 67,
475
+ 131,
476
+ 0
477
+ ]
478
+ },
479
+ {
480
+ "id": 19,
481
+ "location": [
482
+ 59,
483
+ 131,
484
+ 0
485
+ ]
486
+ },
487
+ {
488
+ "id": 34,
489
+ "location": [
490
+ 51,
491
+ 131,
492
+ 0
493
+ ]
494
+ },
495
+ {
496
+ "id": 40,
497
+ "location": [
498
+ 43,
499
+ 131,
500
+ 0
501
+ ]
502
+ },
503
+ {
504
+ "id": 44,
505
+ "location": [
506
+ 35,
507
+ 131,
508
+ 0
509
+ ]
510
+ },
511
+ {
512
+ "id": 54,
513
+ "location": [
514
+ 27,
515
+ 131,
516
+ 0
517
+ ]
518
+ },
519
+ {
520
+ "id": 17,
521
+ "location": [
522
+ 19,
523
+ 130,
524
+ 0
525
+ ]
526
+ }
527
+ ]
528
+ }
529
+ ],
530
+ "relation": {
531
+ "163": [
532
+ [
533
+ 115,
534
+ "other"
535
+ ]
536
+ ],
537
+ "164": [
538
+ [
539
+ 116,
540
+ "other"
541
+ ]
542
+ ]
543
+ },
544
+ "road": [
545
+ [
546
+ 92,
547
+ 93
548
+ ],
549
+ [
550
+ 163,
551
+ 164
552
+ ],
553
+ [
554
+ 161,
555
+ 162
556
+ ]
557
+ ]
558
+ }
generate_scenario/carla_waypoint/map_database/Town10HD|5|-64.json ADDED
@@ -0,0 +1,830 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "lane_id": 108,
5
+ "path": [
6
+ {
7
+ "id": 54,
8
+ "location": [
9
+ 7,
10
+ -64,
11
+ 0
12
+ ]
13
+ },
14
+ {
15
+ "id": 90,
16
+ "location": [
17
+ -1,
18
+ -64,
19
+ 0
20
+ ]
21
+ },
22
+ {
23
+ "id": 15,
24
+ "location": [
25
+ -5,
26
+ -65,
27
+ 0
28
+ ]
29
+ },
30
+ {
31
+ "id": 72,
32
+ "location": [
33
+ -5,
34
+ -65,
35
+ 0
36
+ ]
37
+ },
38
+ {
39
+ "id": 87,
40
+ "location": [
41
+ -13,
42
+ -65,
43
+ 0
44
+ ]
45
+ },
46
+ {
47
+ "id": 1,
48
+ "location": [
49
+ -21,
50
+ -65,
51
+ 0
52
+ ]
53
+ },
54
+ {
55
+ "id": 66,
56
+ "location": [
57
+ -28,
58
+ -65,
59
+ 0
60
+ ]
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "lane_id": 109,
66
+ "path": [
67
+ {
68
+ "id": 52,
69
+ "location": [
70
+ 7,
71
+ -68,
72
+ 0
73
+ ]
74
+ },
75
+ {
76
+ "id": 91,
77
+ "location": [
78
+ -1,
79
+ -68,
80
+ 0
81
+ ]
82
+ },
83
+ {
84
+ "id": 43,
85
+ "location": [
86
+ -5,
87
+ -68,
88
+ 0
89
+ ]
90
+ },
91
+ {
92
+ "id": 9,
93
+ "location": [
94
+ -5,
95
+ -68,
96
+ 0
97
+ ]
98
+ },
99
+ {
100
+ "id": 49,
101
+ "location": [
102
+ -13,
103
+ -68,
104
+ 0
105
+ ]
106
+ },
107
+ {
108
+ "id": 3,
109
+ "location": [
110
+ -21,
111
+ -68,
112
+ 0
113
+ ]
114
+ },
115
+ {
116
+ "id": 4,
117
+ "location": [
118
+ -28,
119
+ -68,
120
+ 0
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ {
126
+ "lane_id": 119,
127
+ "path": [
128
+ {
129
+ "id": 71,
130
+ "location": [
131
+ 110,
132
+ -23,
133
+ 0
134
+ ]
135
+ },
136
+ {
137
+ "id": 19,
138
+ "location": [
139
+ 109,
140
+ -32,
141
+ 0
142
+ ]
143
+ },
144
+ {
145
+ "id": 16,
146
+ "location": [
147
+ 107,
148
+ -40,
149
+ 0
150
+ ]
151
+ },
152
+ {
153
+ "id": 11,
154
+ "location": [
155
+ 102,
156
+ -48,
157
+ 0
158
+ ]
159
+ },
160
+ {
161
+ "id": 93,
162
+ "location": [
163
+ 97,
164
+ -55,
165
+ 0
166
+ ]
167
+ },
168
+ {
169
+ "id": 20,
170
+ "location": [
171
+ 89,
172
+ -61,
173
+ 0
174
+ ]
175
+ },
176
+ {
177
+ "id": 89,
178
+ "location": [
179
+ 81,
180
+ -65,
181
+ 0
182
+ ]
183
+ },
184
+ {
185
+ "id": 38,
186
+ "location": [
187
+ 73,
188
+ -67,
189
+ 0
190
+ ]
191
+ },
192
+ {
193
+ "id": 65,
194
+ "location": [
195
+ 64,
196
+ -68,
197
+ 0
198
+ ]
199
+ },
200
+ {
201
+ "id": 95,
202
+ "location": [
203
+ 56,
204
+ -68,
205
+ 0
206
+ ]
207
+ },
208
+ {
209
+ "id": 0,
210
+ "location": [
211
+ 48,
212
+ -68,
213
+ 0
214
+ ]
215
+ },
216
+ {
217
+ "id": 24,
218
+ "location": [
219
+ 40,
220
+ -68,
221
+ 0
222
+ ]
223
+ },
224
+ {
225
+ "id": 62,
226
+ "location": [
227
+ 32,
228
+ -68,
229
+ 0
230
+ ]
231
+ },
232
+ {
233
+ "id": 45,
234
+ "location": [
235
+ 24,
236
+ -68,
237
+ 0
238
+ ]
239
+ },
240
+ {
241
+ "id": 92,
242
+ "location": [
243
+ 16,
244
+ -68,
245
+ 0
246
+ ]
247
+ },
248
+ {
249
+ "id": 46,
250
+ "location": [
251
+ 8,
252
+ -68,
253
+ 0
254
+ ]
255
+ },
256
+ {
257
+ "id": 36,
258
+ "location": [
259
+ 7,
260
+ -68,
261
+ 0
262
+ ]
263
+ }
264
+ ]
265
+ },
266
+ {
267
+ "lane_id": 120,
268
+ "path": [
269
+ {
270
+ "id": 64,
271
+ "location": [
272
+ 106,
273
+ -23,
274
+ 0
275
+ ]
276
+ },
277
+ {
278
+ "id": 77,
279
+ "location": [
280
+ 106,
281
+ -31,
282
+ 0
283
+ ]
284
+ },
285
+ {
286
+ "id": 88,
287
+ "location": [
288
+ 103,
289
+ -39,
290
+ 0
291
+ ]
292
+ },
293
+ {
294
+ "id": 26,
295
+ "location": [
296
+ 99,
297
+ -46,
298
+ 0
299
+ ]
300
+ },
301
+ {
302
+ "id": 74,
303
+ "location": [
304
+ 94,
305
+ -53,
306
+ 0
307
+ ]
308
+ },
309
+ {
310
+ "id": 80,
311
+ "location": [
312
+ 88,
313
+ -58,
314
+ 0
315
+ ]
316
+ },
317
+ {
318
+ "id": 81,
319
+ "location": [
320
+ 80,
321
+ -62,
322
+ 0
323
+ ]
324
+ },
325
+ {
326
+ "id": 59,
327
+ "location": [
328
+ 72,
329
+ -64,
330
+ 0
331
+ ]
332
+ },
333
+ {
334
+ "id": 34,
335
+ "location": [
336
+ 64,
337
+ -64,
338
+ 0
339
+ ]
340
+ },
341
+ {
342
+ "id": 12,
343
+ "location": [
344
+ 56,
345
+ -64,
346
+ 0
347
+ ]
348
+ },
349
+ {
350
+ "id": 39,
351
+ "location": [
352
+ 48,
353
+ -64,
354
+ 0
355
+ ]
356
+ },
357
+ {
358
+ "id": 42,
359
+ "location": [
360
+ 40,
361
+ -64,
362
+ 0
363
+ ]
364
+ },
365
+ {
366
+ "id": 69,
367
+ "location": [
368
+ 32,
369
+ -64,
370
+ 0
371
+ ]
372
+ },
373
+ {
374
+ "id": 21,
375
+ "location": [
376
+ 24,
377
+ -64,
378
+ 0
379
+ ]
380
+ },
381
+ {
382
+ "id": 48,
383
+ "location": [
384
+ 16,
385
+ -64,
386
+ 0
387
+ ]
388
+ },
389
+ {
390
+ "id": 44,
391
+ "location": [
392
+ 8,
393
+ -64,
394
+ 0
395
+ ]
396
+ },
397
+ {
398
+ "id": 30,
399
+ "location": [
400
+ 7,
401
+ -64,
402
+ 0
403
+ ]
404
+ }
405
+ ]
406
+ },
407
+ {
408
+ "lane_id": 121,
409
+ "path": [
410
+ {
411
+ "id": 47,
412
+ "location": [
413
+ -28,
414
+ -61,
415
+ 0
416
+ ]
417
+ },
418
+ {
419
+ "id": 5,
420
+ "location": [
421
+ -20,
422
+ -61,
423
+ 0
424
+ ]
425
+ },
426
+ {
427
+ "id": 70,
428
+ "location": [
429
+ -12,
430
+ -61,
431
+ 0
432
+ ]
433
+ },
434
+ {
435
+ "id": 86,
436
+ "location": [
437
+ -5,
438
+ -61,
439
+ 0
440
+ ]
441
+ },
442
+ {
443
+ "id": 75,
444
+ "location": [
445
+ -5,
446
+ -61,
447
+ 0
448
+ ]
449
+ },
450
+ {
451
+ "id": 58,
452
+ "location": [
453
+ 3,
454
+ -61,
455
+ 0
456
+ ]
457
+ },
458
+ {
459
+ "id": 18,
460
+ "location": [
461
+ 7,
462
+ -61,
463
+ 0
464
+ ]
465
+ },
466
+ {
467
+ "id": 28,
468
+ "location": [
469
+ 7,
470
+ -61,
471
+ 0
472
+ ]
473
+ },
474
+ {
475
+ "id": 60,
476
+ "location": [
477
+ 15,
478
+ -61,
479
+ 0
480
+ ]
481
+ },
482
+ {
483
+ "id": 94,
484
+ "location": [
485
+ 23,
486
+ -61,
487
+ 0
488
+ ]
489
+ },
490
+ {
491
+ "id": 23,
492
+ "location": [
493
+ 31,
494
+ -61,
495
+ 0
496
+ ]
497
+ },
498
+ {
499
+ "id": 50,
500
+ "location": [
501
+ 39,
502
+ -61,
503
+ 0
504
+ ]
505
+ },
506
+ {
507
+ "id": 68,
508
+ "location": [
509
+ 47,
510
+ -61,
511
+ 0
512
+ ]
513
+ },
514
+ {
515
+ "id": 2,
516
+ "location": [
517
+ 55,
518
+ -61,
519
+ 0
520
+ ]
521
+ },
522
+ {
523
+ "id": 51,
524
+ "location": [
525
+ 63,
526
+ -61,
527
+ 0
528
+ ]
529
+ },
530
+ {
531
+ "id": 17,
532
+ "location": [
533
+ 71,
534
+ -60,
535
+ 0
536
+ ]
537
+ },
538
+ {
539
+ "id": 73,
540
+ "location": [
541
+ 78,
542
+ -59,
543
+ 0
544
+ ]
545
+ },
546
+ {
547
+ "id": 32,
548
+ "location": [
549
+ 85,
550
+ -55,
551
+ 0
552
+ ]
553
+ },
554
+ {
555
+ "id": 55,
556
+ "location": [
557
+ 91,
558
+ -50,
559
+ 0
560
+ ]
561
+ },
562
+ {
563
+ "id": 40,
564
+ "location": [
565
+ 96,
566
+ -45,
567
+ 0
568
+ ]
569
+ },
570
+ {
571
+ "id": 14,
572
+ "location": [
573
+ 100,
574
+ -38,
575
+ 0
576
+ ]
577
+ },
578
+ {
579
+ "id": 29,
580
+ "location": [
581
+ 102,
582
+ -31,
583
+ 0
584
+ ]
585
+ },
586
+ {
587
+ "id": 13,
588
+ "location": [
589
+ 103,
590
+ -23,
591
+ 0
592
+ ]
593
+ },
594
+ {
595
+ "id": 85,
596
+ "location": [
597
+ 103,
598
+ -23,
599
+ 0
600
+ ]
601
+ }
602
+ ]
603
+ },
604
+ {
605
+ "lane_id": 122,
606
+ "path": [
607
+ {
608
+ "id": 79,
609
+ "location": [
610
+ -28,
611
+ -58,
612
+ 0
613
+ ]
614
+ },
615
+ {
616
+ "id": 22,
617
+ "location": [
618
+ -20,
619
+ -58,
620
+ 0
621
+ ]
622
+ },
623
+ {
624
+ "id": 57,
625
+ "location": [
626
+ -12,
627
+ -58,
628
+ 0
629
+ ]
630
+ },
631
+ {
632
+ "id": 31,
633
+ "location": [
634
+ -5,
635
+ -58,
636
+ 0
637
+ ]
638
+ },
639
+ {
640
+ "id": 8,
641
+ "location": [
642
+ -5,
643
+ -58,
644
+ 0
645
+ ]
646
+ },
647
+ {
648
+ "id": 25,
649
+ "location": [
650
+ 3,
651
+ -57,
652
+ 0
653
+ ]
654
+ },
655
+ {
656
+ "id": 84,
657
+ "location": [
658
+ 7,
659
+ -57,
660
+ 0
661
+ ]
662
+ },
663
+ {
664
+ "id": 7,
665
+ "location": [
666
+ 7,
667
+ -57,
668
+ 0
669
+ ]
670
+ },
671
+ {
672
+ "id": 67,
673
+ "location": [
674
+ 15,
675
+ -57,
676
+ 0
677
+ ]
678
+ },
679
+ {
680
+ "id": 78,
681
+ "location": [
682
+ 23,
683
+ -57,
684
+ 0
685
+ ]
686
+ },
687
+ {
688
+ "id": 41,
689
+ "location": [
690
+ 31,
691
+ -57,
692
+ 0
693
+ ]
694
+ },
695
+ {
696
+ "id": 76,
697
+ "location": [
698
+ 39,
699
+ -57,
700
+ 0
701
+ ]
702
+ },
703
+ {
704
+ "id": 61,
705
+ "location": [
706
+ 47,
707
+ -57,
708
+ 0
709
+ ]
710
+ },
711
+ {
712
+ "id": 33,
713
+ "location": [
714
+ 55,
715
+ -57,
716
+ 0
717
+ ]
718
+ },
719
+ {
720
+ "id": 82,
721
+ "location": [
722
+ 63,
723
+ -57,
724
+ 0
725
+ ]
726
+ },
727
+ {
728
+ "id": 56,
729
+ "location": [
730
+ 71,
731
+ -57,
732
+ 0
733
+ ]
734
+ },
735
+ {
736
+ "id": 53,
737
+ "location": [
738
+ 77,
739
+ -55,
740
+ 0
741
+ ]
742
+ },
743
+ {
744
+ "id": 10,
745
+ "location": [
746
+ 83,
747
+ -52,
748
+ 0
749
+ ]
750
+ },
751
+ {
752
+ "id": 83,
753
+ "location": [
754
+ 89,
755
+ -48,
756
+ 0
757
+ ]
758
+ },
759
+ {
760
+ "id": 27,
761
+ "location": [
762
+ 93,
763
+ -43,
764
+ 0
765
+ ]
766
+ },
767
+ {
768
+ "id": 37,
769
+ "location": [
770
+ 97,
771
+ -37,
772
+ 0
773
+ ]
774
+ },
775
+ {
776
+ "id": 6,
777
+ "location": [
778
+ 99,
779
+ -30,
780
+ 0
781
+ ]
782
+ },
783
+ {
784
+ "id": 35,
785
+ "location": [
786
+ 99,
787
+ -23,
788
+ 0
789
+ ]
790
+ },
791
+ {
792
+ "id": 63,
793
+ "location": [
794
+ 99,
795
+ -23,
796
+ 0
797
+ ]
798
+ }
799
+ ]
800
+ }
801
+ ],
802
+ "relation": {
803
+ "119": [
804
+ [
805
+ 50,
806
+ "left"
807
+ ]
808
+ ],
809
+ "120": [
810
+ [
811
+ 51,
812
+ "left"
813
+ ]
814
+ ]
815
+ },
816
+ "road": [
817
+ [
818
+ 108,
819
+ 109
820
+ ],
821
+ [
822
+ 121,
823
+ 122
824
+ ],
825
+ [
826
+ 119,
827
+ 120
828
+ ]
829
+ ]
830
+ }
generate_scenario/carla_waypoint/map_info.json ADDED
@@ -0,0 +1,902 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "lanes": [
3
+ {
4
+ "id": 22,
5
+ "nodes": [
6
+ 99,
7
+ 77,
8
+ 68,
9
+ 103,
10
+ 28
11
+ ]
12
+ },
13
+ {
14
+ "id": 23,
15
+ "nodes": [
16
+ 8,
17
+ 59,
18
+ 22,
19
+ 44,
20
+ 3
21
+ ]
22
+ },
23
+ {
24
+ "id": 24,
25
+ "nodes": [
26
+ 88,
27
+ 9,
28
+ 89,
29
+ 21,
30
+ 91
31
+ ]
32
+ },
33
+ {
34
+ "id": 25,
35
+ "nodes": [
36
+ 95,
37
+ 41,
38
+ 33,
39
+ 70,
40
+ 56
41
+ ]
42
+ },
43
+ {
44
+ "id": 35,
45
+ "nodes": [
46
+ 51,
47
+ 55,
48
+ 105,
49
+ 71,
50
+ 18,
51
+ 57,
52
+ 97,
53
+ 81
54
+ ]
55
+ },
56
+ {
57
+ "id": 36,
58
+ "nodes": [
59
+ 73,
60
+ 104,
61
+ 23,
62
+ 53,
63
+ 31,
64
+ 63,
65
+ 66,
66
+ 17
67
+ ]
68
+ },
69
+ {
70
+ "id": 37,
71
+ "nodes": [
72
+ 15,
73
+ 46,
74
+ 58,
75
+ 34,
76
+ 67,
77
+ 54,
78
+ 4,
79
+ 52
80
+ ]
81
+ },
82
+ {
83
+ "id": 38,
84
+ "nodes": [
85
+ 79,
86
+ 35,
87
+ 0,
88
+ 85,
89
+ 74,
90
+ 107,
91
+ 60,
92
+ 14
93
+ ]
94
+ },
95
+ {
96
+ "id": 41,
97
+ "nodes": [
98
+ 19,
99
+ 29,
100
+ 101
101
+ ]
102
+ },
103
+ {
104
+ "id": 42,
105
+ "nodes": [
106
+ 87,
107
+ 84,
108
+ 2
109
+ ]
110
+ },
111
+ {
112
+ "id": 43,
113
+ "nodes": [
114
+ 82,
115
+ 65,
116
+ 69
117
+ ]
118
+ },
119
+ {
120
+ "id": 44,
121
+ "nodes": [
122
+ 72,
123
+ 7,
124
+ 98
125
+ ]
126
+ },
127
+ {
128
+ "id": 46,
129
+ "nodes": [
130
+ 24,
131
+ 86,
132
+ 32
133
+ ]
134
+ },
135
+ {
136
+ "id": 47,
137
+ "nodes": [
138
+ 102,
139
+ 12,
140
+ 5
141
+ ]
142
+ },
143
+ {
144
+ "id": 48,
145
+ "nodes": [
146
+ 64,
147
+ 37,
148
+ 92
149
+ ]
150
+ },
151
+ {
152
+ "id": 49,
153
+ "nodes": [
154
+ 11,
155
+ 10,
156
+ 106
157
+ ]
158
+ },
159
+ {
160
+ "id": 54,
161
+ "nodes": [
162
+ 36,
163
+ 76,
164
+ 96
165
+ ]
166
+ },
167
+ {
168
+ "id": 55,
169
+ "nodes": [
170
+ 26,
171
+ 30,
172
+ 38
173
+ ]
174
+ },
175
+ {
176
+ "id": 56,
177
+ "nodes": [
178
+ 90,
179
+ 100,
180
+ 27
181
+ ]
182
+ },
183
+ {
184
+ "id": 57,
185
+ "nodes": [
186
+ 1,
187
+ 42,
188
+ 50
189
+ ]
190
+ },
191
+ {
192
+ "id": 58,
193
+ "nodes": [
194
+ 45,
195
+ 93
196
+ ]
197
+ },
198
+ {
199
+ "id": 59,
200
+ "nodes": [
201
+ 78,
202
+ 75
203
+ ]
204
+ },
205
+ {
206
+ "id": 60,
207
+ "nodes": [
208
+ 16,
209
+ 13
210
+ ]
211
+ },
212
+ {
213
+ "id": 61,
214
+ "nodes": [
215
+ 43,
216
+ 39
217
+ ]
218
+ },
219
+ {
220
+ "id": 138,
221
+ "nodes": [
222
+ 61,
223
+ 49,
224
+ 47
225
+ ]
226
+ },
227
+ {
228
+ "id": 139,
229
+ "nodes": [
230
+ 62,
231
+ 6,
232
+ 48
233
+ ]
234
+ },
235
+ {
236
+ "id": 140,
237
+ "nodes": [
238
+ 94,
239
+ 80,
240
+ 20
241
+ ]
242
+ },
243
+ {
244
+ "id": 141,
245
+ "nodes": [
246
+ 83,
247
+ 25,
248
+ 40
249
+ ]
250
+ }
251
+ ],
252
+ "nodes": [
253
+ {
254
+ "id": 99,
255
+ "x": -52,
256
+ "y": -43,
257
+ "z": 0
258
+ },
259
+ {
260
+ "id": 77,
261
+ "x": -52,
262
+ "y": -35,
263
+ "z": 0
264
+ },
265
+ {
266
+ "id": 68,
267
+ "x": -52,
268
+ "y": -27,
269
+ "z": 0
270
+ },
271
+ {
272
+ "id": 103,
273
+ "x": -52,
274
+ "y": -19,
275
+ "z": 0
276
+ },
277
+ {
278
+ "id": 28,
279
+ "x": -52,
280
+ "y": -17,
281
+ "z": 0
282
+ },
283
+ {
284
+ "id": 8,
285
+ "x": -49,
286
+ "y": -43,
287
+ "z": 0
288
+ },
289
+ {
290
+ "id": 59,
291
+ "x": -49,
292
+ "y": -35,
293
+ "z": 0
294
+ },
295
+ {
296
+ "id": 22,
297
+ "x": -49,
298
+ "y": -27,
299
+ "z": 0
300
+ },
301
+ {
302
+ "id": 44,
303
+ "x": -49,
304
+ "y": -19,
305
+ "z": 0
306
+ },
307
+ {
308
+ "id": 3,
309
+ "x": -49,
310
+ "y": -17,
311
+ "z": 0
312
+ },
313
+ {
314
+ "id": 88,
315
+ "x": -45,
316
+ "y": -17,
317
+ "z": 0
318
+ },
319
+ {
320
+ "id": 9,
321
+ "x": -45,
322
+ "y": -25,
323
+ "z": 0
324
+ },
325
+ {
326
+ "id": 89,
327
+ "x": -45,
328
+ "y": -33,
329
+ "z": 0
330
+ },
331
+ {
332
+ "id": 21,
333
+ "x": -45,
334
+ "y": -41,
335
+ "z": 0
336
+ },
337
+ {
338
+ "id": 91,
339
+ "x": -45,
340
+ "y": -43,
341
+ "z": 0
342
+ },
343
+ {
344
+ "id": 95,
345
+ "x": -42,
346
+ "y": -17,
347
+ "z": 0
348
+ },
349
+ {
350
+ "id": 41,
351
+ "x": -42,
352
+ "y": -25,
353
+ "z": 0
354
+ },
355
+ {
356
+ "id": 33,
357
+ "x": -42,
358
+ "y": -33,
359
+ "z": 0
360
+ },
361
+ {
362
+ "id": 70,
363
+ "x": -42,
364
+ "y": -41,
365
+ "z": 0
366
+ },
367
+ {
368
+ "id": 56,
369
+ "x": -42,
370
+ "y": -43,
371
+ "z": 0
372
+ },
373
+ {
374
+ "id": 51,
375
+ "x": -29,
376
+ "y": 28,
377
+ "z": 0
378
+ },
379
+ {
380
+ "id": 55,
381
+ "x": -21,
382
+ "y": 28,
383
+ "z": 0
384
+ },
385
+ {
386
+ "id": 105,
387
+ "x": -13,
388
+ "y": 28,
389
+ "z": 0
390
+ },
391
+ {
392
+ "id": 71,
393
+ "x": -5,
394
+ "y": 28,
395
+ "z": 0
396
+ },
397
+ {
398
+ "id": 18,
399
+ "x": 3,
400
+ "y": 28,
401
+ "z": 0
402
+ },
403
+ {
404
+ "id": 57,
405
+ "x": 11,
406
+ "y": 28,
407
+ "z": 0
408
+ },
409
+ {
410
+ "id": 97,
411
+ "x": 19,
412
+ "y": 28,
413
+ "z": 0
414
+ },
415
+ {
416
+ "id": 81,
417
+ "x": 26,
418
+ "y": 28,
419
+ "z": 0
420
+ },
421
+ {
422
+ "id": 73,
423
+ "x": -29,
424
+ "y": 25,
425
+ "z": 0
426
+ },
427
+ {
428
+ "id": 104,
429
+ "x": -21,
430
+ "y": 25,
431
+ "z": 0
432
+ },
433
+ {
434
+ "id": 23,
435
+ "x": -13,
436
+ "y": 25,
437
+ "z": 0
438
+ },
439
+ {
440
+ "id": 53,
441
+ "x": -5,
442
+ "y": 25,
443
+ "z": 0
444
+ },
445
+ {
446
+ "id": 31,
447
+ "x": 3,
448
+ "y": 25,
449
+ "z": 0
450
+ },
451
+ {
452
+ "id": 63,
453
+ "x": 11,
454
+ "y": 25,
455
+ "z": 0
456
+ },
457
+ {
458
+ "id": 66,
459
+ "x": 19,
460
+ "y": 25,
461
+ "z": 0
462
+ },
463
+ {
464
+ "id": 17,
465
+ "x": 26,
466
+ "y": 25,
467
+ "z": 0
468
+ },
469
+ {
470
+ "id": 15,
471
+ "x": 26,
472
+ "y": 17,
473
+ "z": 0
474
+ },
475
+ {
476
+ "id": 46,
477
+ "x": 18,
478
+ "y": 17,
479
+ "z": 0
480
+ },
481
+ {
482
+ "id": 58,
483
+ "x": 10,
484
+ "y": 17,
485
+ "z": 0
486
+ },
487
+ {
488
+ "id": 34,
489
+ "x": 2,
490
+ "y": 17,
491
+ "z": 0
492
+ },
493
+ {
494
+ "id": 67,
495
+ "x": -6,
496
+ "y": 17,
497
+ "z": 0
498
+ },
499
+ {
500
+ "id": 54,
501
+ "x": -14,
502
+ "y": 17,
503
+ "z": 0
504
+ },
505
+ {
506
+ "id": 4,
507
+ "x": -22,
508
+ "y": 17,
509
+ "z": 0
510
+ },
511
+ {
512
+ "id": 52,
513
+ "x": -29,
514
+ "y": 17,
515
+ "z": 0
516
+ },
517
+ {
518
+ "id": 79,
519
+ "x": 26,
520
+ "y": 13,
521
+ "z": 0
522
+ },
523
+ {
524
+ "id": 35,
525
+ "x": 18,
526
+ "y": 13,
527
+ "z": 0
528
+ },
529
+ {
530
+ "id": 0,
531
+ "x": 10,
532
+ "y": 13,
533
+ "z": 0
534
+ },
535
+ {
536
+ "id": 85,
537
+ "x": 2,
538
+ "y": 13,
539
+ "z": 0
540
+ },
541
+ {
542
+ "id": 74,
543
+ "x": -6,
544
+ "y": 13,
545
+ "z": 0
546
+ },
547
+ {
548
+ "id": 107,
549
+ "x": -14,
550
+ "y": 13,
551
+ "z": 0
552
+ },
553
+ {
554
+ "id": 60,
555
+ "x": -22,
556
+ "y": 13,
557
+ "z": 0
558
+ },
559
+ {
560
+ "id": 14,
561
+ "x": -29,
562
+ "y": 13,
563
+ "z": 0
564
+ },
565
+ {
566
+ "id": 19,
567
+ "x": -78,
568
+ "y": 28,
569
+ "z": 0
570
+ },
571
+ {
572
+ "id": 29,
573
+ "x": -70,
574
+ "y": 28,
575
+ "z": 0
576
+ },
577
+ {
578
+ "id": 101,
579
+ "x": -67,
580
+ "y": 28,
581
+ "z": 0
582
+ },
583
+ {
584
+ "id": 87,
585
+ "x": -78,
586
+ "y": 24,
587
+ "z": 0
588
+ },
589
+ {
590
+ "id": 84,
591
+ "x": -70,
592
+ "y": 24,
593
+ "z": 0
594
+ },
595
+ {
596
+ "id": 2,
597
+ "x": -67,
598
+ "y": 24,
599
+ "z": 0
600
+ },
601
+ {
602
+ "id": 82,
603
+ "x": -67,
604
+ "y": 16,
605
+ "z": 0
606
+ },
607
+ {
608
+ "id": 65,
609
+ "x": -75,
610
+ "y": 16,
611
+ "z": 0
612
+ },
613
+ {
614
+ "id": 69,
615
+ "x": -78,
616
+ "y": 16,
617
+ "z": 0
618
+ },
619
+ {
620
+ "id": 72,
621
+ "x": -67,
622
+ "y": 13,
623
+ "z": 0
624
+ },
625
+ {
626
+ "id": 7,
627
+ "x": -75,
628
+ "y": 13,
629
+ "z": 0
630
+ },
631
+ {
632
+ "id": 98,
633
+ "x": -78,
634
+ "y": 13,
635
+ "z": 0
636
+ },
637
+ {
638
+ "id": 24,
639
+ "x": -89,
640
+ "y": 28,
641
+ "z": 0
642
+ },
643
+ {
644
+ "id": 86,
645
+ "x": -81,
646
+ "y": 28,
647
+ "z": 0
648
+ },
649
+ {
650
+ "id": 32,
651
+ "x": -78,
652
+ "y": 28,
653
+ "z": 0
654
+ },
655
+ {
656
+ "id": 102,
657
+ "x": -89,
658
+ "y": 24,
659
+ "z": 0
660
+ },
661
+ {
662
+ "id": 12,
663
+ "x": -81,
664
+ "y": 24,
665
+ "z": 0
666
+ },
667
+ {
668
+ "id": 5,
669
+ "x": -78,
670
+ "y": 24,
671
+ "z": 0
672
+ },
673
+ {
674
+ "id": 64,
675
+ "x": -78,
676
+ "y": 16,
677
+ "z": 0
678
+ },
679
+ {
680
+ "id": 37,
681
+ "x": -86,
682
+ "y": 16,
683
+ "z": 0
684
+ },
685
+ {
686
+ "id": 92,
687
+ "x": -89,
688
+ "y": 16,
689
+ "z": 0
690
+ },
691
+ {
692
+ "id": 11,
693
+ "x": -78,
694
+ "y": 13,
695
+ "z": 0
696
+ },
697
+ {
698
+ "id": 10,
699
+ "x": -86,
700
+ "y": 13,
701
+ "z": 0
702
+ },
703
+ {
704
+ "id": 106,
705
+ "x": -89,
706
+ "y": 13,
707
+ "z": 0
708
+ },
709
+ {
710
+ "id": 36,
711
+ "x": -42,
712
+ "y": -5,
713
+ "z": 0
714
+ },
715
+ {
716
+ "id": 76,
717
+ "x": -42,
718
+ "y": -13,
719
+ "z": 0
720
+ },
721
+ {
722
+ "id": 96,
723
+ "x": -42,
724
+ "y": -17,
725
+ "z": 0
726
+ },
727
+ {
728
+ "id": 26,
729
+ "x": -45,
730
+ "y": -5,
731
+ "z": 0
732
+ },
733
+ {
734
+ "id": 30,
735
+ "x": -45,
736
+ "y": -13,
737
+ "z": 0
738
+ },
739
+ {
740
+ "id": 38,
741
+ "x": -45,
742
+ "y": -17,
743
+ "z": 0
744
+ },
745
+ {
746
+ "id": 90,
747
+ "x": -49,
748
+ "y": -17,
749
+ "z": 0
750
+ },
751
+ {
752
+ "id": 100,
753
+ "x": -49,
754
+ "y": -9,
755
+ "z": 0
756
+ },
757
+ {
758
+ "id": 27,
759
+ "x": -49,
760
+ "y": -5,
761
+ "z": 0
762
+ },
763
+ {
764
+ "id": 1,
765
+ "x": -52,
766
+ "y": -17,
767
+ "z": 0
768
+ },
769
+ {
770
+ "id": 42,
771
+ "x": -52,
772
+ "y": -9,
773
+ "z": 0
774
+ },
775
+ {
776
+ "id": 50,
777
+ "x": -52,
778
+ "y": -5,
779
+ "z": 0
780
+ },
781
+ {
782
+ "id": 45,
783
+ "x": -42,
784
+ "y": -2,
785
+ "z": 0
786
+ },
787
+ {
788
+ "id": 93,
789
+ "x": -42,
790
+ "y": -5,
791
+ "z": 0
792
+ },
793
+ {
794
+ "id": 78,
795
+ "x": -45,
796
+ "y": -2,
797
+ "z": 0
798
+ },
799
+ {
800
+ "id": 75,
801
+ "x": -45,
802
+ "y": -5,
803
+ "z": 0
804
+ },
805
+ {
806
+ "id": 16,
807
+ "x": -49,
808
+ "y": -5,
809
+ "z": 0
810
+ },
811
+ {
812
+ "id": 13,
813
+ "x": -49,
814
+ "y": -2,
815
+ "z": 0
816
+ },
817
+ {
818
+ "id": 43,
819
+ "x": -52,
820
+ "y": -5,
821
+ "z": 0
822
+ },
823
+ {
824
+ "id": 39,
825
+ "x": -52,
826
+ "y": -2,
827
+ "z": 0
828
+ },
829
+ {
830
+ "id": 61,
831
+ "x": -42,
832
+ "y": 52,
833
+ "z": 0
834
+ },
835
+ {
836
+ "id": 49,
837
+ "x": -42,
838
+ "y": 44,
839
+ "z": 0
840
+ },
841
+ {
842
+ "id": 47,
843
+ "x": -42,
844
+ "y": 43,
845
+ "z": 0
846
+ },
847
+ {
848
+ "id": 62,
849
+ "x": -45,
850
+ "y": 52,
851
+ "z": 0
852
+ },
853
+ {
854
+ "id": 6,
855
+ "x": -45,
856
+ "y": 44,
857
+ "z": 0
858
+ },
859
+ {
860
+ "id": 48,
861
+ "x": -45,
862
+ "y": 43,
863
+ "z": 0
864
+ },
865
+ {
866
+ "id": 94,
867
+ "x": -49,
868
+ "y": 43,
869
+ "z": 0
870
+ },
871
+ {
872
+ "id": 80,
873
+ "x": -49,
874
+ "y": 51,
875
+ "z": 0
876
+ },
877
+ {
878
+ "id": 20,
879
+ "x": -49,
880
+ "y": 52,
881
+ "z": 0
882
+ },
883
+ {
884
+ "id": 83,
885
+ "x": -52,
886
+ "y": 43,
887
+ "z": 0
888
+ },
889
+ {
890
+ "id": 25,
891
+ "x": -52,
892
+ "y": 51,
893
+ "z": 0
894
+ },
895
+ {
896
+ "id": 40,
897
+ "x": -52,
898
+ "y": 52,
899
+ "z": 0
900
+ }
901
+ ]
902
+ }
generate_scenario/carla_waypoint/map_prompt.txt ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <lane id=22>
2
+ [99, 77, 68, 103, 28]
3
+ </lane>
4
+ <lane id=23>
5
+ [8, 59, 22, 44, 3]
6
+ </lane>
7
+ <lane id=24>
8
+ [88, 9, 89, 21, 91]
9
+ </lane>
10
+ <lane id=25>
11
+ [95, 41, 33, 70, 56]
12
+ </lane>
13
+ <lane id=35>
14
+ [51, 55, 105, 71, 18, 57, 97, 81]
15
+ </lane>
16
+ <lane id=36>
17
+ [73, 104, 23, 53, 31, 63, 66, 17]
18
+ </lane>
19
+ <lane id=37>
20
+ [15, 46, 58, 34, 67, 54, 4, 52]
21
+ </lane>
22
+ <lane id=38>
23
+ [79, 35, 0, 85, 74, 107, 60, 14]
24
+ </lane>
25
+ <lane id=41>
26
+ [19, 29, 101]
27
+ </lane>
28
+ <lane id=42>
29
+ [87, 84, 2]
30
+ </lane>
31
+ <lane id=43>
32
+ [82, 65, 69]
33
+ </lane>
34
+ <lane id=44>
35
+ [72, 7, 98]
36
+ </lane>
37
+ <lane id=46>
38
+ [24, 86, 32]
39
+ </lane>
40
+ <lane id=47>
41
+ [102, 12, 5]
42
+ </lane>
43
+ <lane id=48>
44
+ [64, 37, 92]
45
+ </lane>
46
+ <lane id=49>
47
+ [11, 10, 106]
48
+ </lane>
49
+ <lane id=54>
50
+ [36, 76, 96]
51
+ </lane>
52
+ <lane id=55>
53
+ [26, 30, 38]
54
+ </lane>
55
+ <lane id=56>
56
+ [90, 100, 27]
57
+ </lane>
58
+ <lane id=57>
59
+ [1, 42, 50]
60
+ </lane>
61
+ <lane id=58>
62
+ [45, 93]
63
+ </lane>
64
+ <lane id=59>
65
+ [78, 75]
66
+ </lane>
67
+ <lane id=60>
68
+ [16, 13]
69
+ </lane>
70
+ <lane id=61>
71
+ [43, 39]
72
+ </lane>
73
+ <lane id=138>
74
+ [61, 49, 47]
75
+ </lane>
76
+ <lane id=139>
77
+ [62, 6, 48]
78
+ </lane>
79
+ <lane id=140>
80
+ [94, 80, 20]
81
+ </lane>
82
+ <lane id=141>
83
+ [83, 25, 40]
84
+ </lane>
85
+ <pair>
86
+ [24, 25]
87
+ </pair>
88
+ <pair>
89
+ [22, 23]
90
+ </pair>
91
+ <pair>
92
+ [37, 38]
93
+ </pair>
94
+ <pair>
95
+ [35, 36]
96
+ </pair>
97
+ <pair>
98
+ [43, 44]
99
+ </pair>
100
+ <pair>
101
+ [41, 42]
102
+ </pair>
103
+ <pair>
104
+ [48, 49]
105
+ </pair>
106
+ <pair>
107
+ [46, 47]
108
+ </pair>
109
+ <pair>
110
+ [56, 57]
111
+ </pair>
112
+ <pair>
113
+ [54, 55]
114
+ </pair>
115
+ <pair>
116
+ [60, 61]
117
+ </pair>
118
+ <pair>
119
+ [58, 59]
120
+ </pair>
121
+ <pair>
122
+ [140, 141]
123
+ </pair>
124
+ <pair>
125
+ [138, 139]
126
+ </pair>
127
+ <relation type='straight' first_id=138 second_id=58/>
128
+ <relation type='right' first_id=138 second_id=35/>
129
+ <relation type='straight' first_id=139 second_id=59/>
130
+ <relation type='left' first_id=139 second_id=43/>
131
+ <relation type='straight' first_id=22 second_id=57/>
132
+ <relation type='straight' first_id=23 second_id=56/>
133
+ <relation type='straight' first_id=37 second_id=43/>
134
+ <relation type='left' first_id=37 second_id=140/>
135
+ <relation type='right' first_id=38 second_id=58/>
136
+ <relation type='straight' first_id=38 second_id=44/>
137
+ <relation type='straight' first_id=41 second_id=35/>
138
+ <relation type='right' first_id=41 second_id=141/>
139
+ <relation type='straight' first_id=42 second_id=36/>
140
+ <relation type='left' first_id=42 second_id=59/>
141
+ <relation type='left' first_id=42 second_id=58/>
142
+ <relation type='straight' first_id=43 second_id=48/>
143
+ <relation type='straight' first_id=44 second_id=49/>
144
+ <relation type='straight' first_id=46 second_id=41/>
145
+ <relation type='straight' first_id=47 second_id=42/>
146
+ <relation type='straight' first_id=54 second_id=25/>
147
+ <relation type='straight' first_id=55 second_id=24/>
148
+ <relation type='straight' first_id=56 second_id=60/>
149
+ <relation type='straight' first_id=57 second_id=61/>
150
+ <relation type='straight' first_id=58 second_id=54/>
151
+ <relation type='straight' first_id=59 second_id=55/>
152
+ <relation type='straight' first_id=60 second_id=140/>
153
+ <relation type='left' first_id=60 second_id=35/>
154
+ <relation type='left' first_id=60 second_id=36/>
155
+ <relation type='straight' first_id=61 second_id=141/>
156
+ <relation type='right' first_id=61 second_id=44/>
generate_scenario/carla_waypoint/script.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ from load_map_database import Map_database
4
+ import time
5
+
6
+ map_database = Map_database()
7
+
8
+ for map_name in map_database.dict:
9
+
10
+ for locations in map_database.dict[map_name]:
11
+ loc = locations["location"]
12
+ x = int(loc["x"])
13
+ y = int(loc["y"])
14
+ z = int(loc["z"])
15
+
16
+ command = f"python lane_explorer.py -x {x} -y {y} -z {z} --world {map_name} --debug False"
17
+ os.system(command)
18
+ time.sleep(10)
generate_scenario/carla_waypoint/select_map.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import json
3
+
4
+ from .choose_map import choose
5
+ from .get_map_prompt import Map_Prompt
6
+ from .get_map_info import Map_info
7
+ from .config import current_dir
8
+ map_database_path = "map_database"
9
+
10
+ class select(object):
11
+ def __init__(self, map="Town10HD"):
12
+ self.choose_map = choose(map)
13
+ self.map = map
14
+
15
+ def load_map(self, description:str):
16
+
17
+ loc = self.choose_map.load_map(description)
18
+ x = int(loc['x'])
19
+ y = int(loc['y'])
20
+ path = os.path.join(current_dir,map_database_path, f"{self.map}|{x}|{y}.json")
21
+ map_prompt = Map_Prompt(path)
22
+ map_info = Map_info(path)
23
+
24
+ return map_prompt.parse(), map_info.parse()
25
+
26
+ if __name__ == "__main__":
27
+ select_map = select()
28
+ descriptions = ["""the Vehicle A was traveling normally on the road, when vehicle B rear-ended vehicle A.""",
29
+ """Vehicle carA is driving normally. Later, carA will turn left and vehicle carB, traveling in the opposite direction on a different lane, will have collision with carA. Additionally, on the same lane of carA, carC is driving normally on the rear of carA"""
30
+ ]
31
+ for description in descriptions:
32
+ prompt, info = select_map.load_map(description)
33
+ print(prompt)
34
+ print(info)
35
+ print("-----------------------------")
generate_scenario/final.py ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from .carla_waypoint.select_map import select
3
+ from .generate_init.get_initial import get_initial_point
4
+ from .load_xosc_base.xosc_init import base_xosc
5
+ from .search_xosc.prompt_xosc import final_xosc
6
+ import json
7
+
8
+ os.environ["OPENAI_API_TYPE"] = "azure"
9
+ os.environ["OPENAI_API_VERSION"] = "2023-03-15-preview"
10
+ os.environ["OPENAI_API_BASE"] = "https://scenariogen.openai.azure.com/"
11
+ os.environ["OPENAI_API_KEY"] = "02c96d0cde1f4b07a7e77948d57aaaec"
12
+
13
+ class GENETRAFFICAPI(object):
14
+ def __init__(self, description, moving_description, map="Town10HD"):
15
+ self.description = description
16
+ self.moving_description = moving_description
17
+ self.map = map
18
+
19
+ def generate_xosc(self):
20
+
21
+ select_map = select(self.map)
22
+ print("ALIVE!!!")
23
+ map_prompt, map_info = select_map.load_map(self.description)
24
+ print("ALIVE!!!")
25
+ # generate init
26
+ with open("map_info.txt","w") as f:
27
+ f.write( str(map_info) )
28
+
29
+ with open("map_prompt.txt","w") as f:
30
+ f.write( map_prompt )
31
+
32
+ # with open("map_info.txt","r") as f:
33
+ # map_info = json.load(f)
34
+
35
+ # with open("map_prompt.txt","r") as f:
36
+ # map_prompt = f.read()
37
+
38
+ get_init = get_initial_point(map_prompt)
39
+ print("ALIVE!!!")
40
+ init_location = get_init.get_init(self.description)
41
+ print("ALIVE!!!")
42
+ with open("init_location.txt","w") as f:
43
+ f.write( init_location )
44
+
45
+ # with open("init_location.txt","r") as f:
46
+ # init_location = f.read()
47
+ xosc_initial = base_xosc(init_location, map_info)
48
+ print("ALIVE!!!")
49
+ xosc_base = xosc_initial.get_xosc()
50
+ print("ALIVE!!!")
51
+ with open("xosc_base.txt","w") as f:
52
+ f.write( xosc_base )
53
+ # search xosc
54
+
55
+
56
+ final = final_xosc()
57
+ print("ALIVE!!!")
58
+ result = final.generate_xosc(self.moving_description,xosc_base)
59
+ print(result)
60
+ with open("result.xosc","w") as f:
61
+ f.write(result)
62
+
63
+ return result
64
+
65
+
66
+
67
+ if __name__ == "__main__":
68
+ descriptions = ["""the Vehicle A was traveling normally on the road, when vehicle B rear-ended vehicle A.""",
69
+ """Vehicle carA is driving normally. Later, carA will turn left and vehicle carB, traveling in the opposite direction on a different lane, will have collision with carA. Additionally, on the same lane of carA, carC is driving normally on the rear of carA"""
70
+ ]
71
+ description = descriptions[0]
72
+ moving_description = "Event1: the adversary car move with speed 27 when it's at the distance of 21 from hero car. Event2:the adversary car stop when the collision happen on hero car."
73
+ curr_map = "Town10HD"
74
+ gen = GENETRAFFICAPI(description,moving_description,curr_map)
75
+ gen.generate_xosc()
generate_scenario/generate_init/__init__.py ADDED
File without changes
generate_scenario/generate_init/__pycache__/__init__.cpython-38.pyc ADDED
Binary file (165 Bytes). View file
 
generate_scenario/generate_init/__pycache__/get_initial.cpython-38.pyc ADDED
Binary file (4.33 kB). View file
 
generate_scenario/generate_init/__pycache__/map_prompts.cpython-38.pyc ADDED
Binary file (15.5 kB). View file
 
generate_scenario/generate_init/get_initial.py ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Program name: Initial node generator
2
+ # Author: Jiayi Chen
3
+ # Date: 2023/7/27
4
+ # Description: This program will automatically generate the initial node of a traffic scenario by map and scenario description
5
+
6
+ from langchain.chat_models import ChatOpenAI, AzureChatOpenAI
7
+
8
+ from langchain.prompts.chat import (
9
+ ChatPromptTemplate,
10
+ SystemMessagePromptTemplate,
11
+ HumanMessagePromptTemplate,
12
+ )
13
+ from langchain.schema.messages import BaseMessage
14
+ from langchain.memory.chat_message_histories import ChatMessageHistory
15
+ import time
16
+ import json
17
+ import copy
18
+ import os
19
+
20
+ from generate_scenario.generate_init import map_prompts
21
+
22
+
23
+ def parse_json(s:str)->object:
24
+ try:
25
+ p = json.loads(s)
26
+ except:
27
+ return s
28
+ return p
29
+
30
+ def check_format(history:ChatMessageHistory, chat:AzureChatOpenAI, prompt_template:ChatPromptTemplate, formaterror:str, result:BaseMessage)->bool:
31
+ keep_history = copy.deepcopy(history)
32
+ history.add_ai_message(result.content)
33
+ cnt = 0
34
+ while type(parse_json(result.content)) == str and cnt < 5:
35
+ print(result.content)
36
+ result = chat(prompt_template.format_prompt(text=formaterror).to_messages(), history=history)
37
+ history.add_user_message(formaterror)
38
+ history.add_ai_message(result.content)
39
+ cnt += 1
40
+
41
+ if type(parse_json(result.content)) != str:
42
+ history = copy.deepcopy(keep_history)
43
+ history.add_ai_message(result.content)
44
+ return True
45
+ else:
46
+ return False
47
+
48
+ def decode_judge( scenario:str, judgement:str, curr_score, curr_ans ):
49
+ judgement = parse_json(judgement)
50
+ if type(judgement) == str:
51
+ print("Cannot decode the string, it's not in json format")
52
+ exit(-1)
53
+ score = judgement["score"]
54
+ lst_error = ""
55
+ for index, data in enumerate(judgement["mistake"], start=1):
56
+ lst_error += f"mistake {index}: " + data["description"] + "\n"
57
+ if lst_error != "":
58
+ lst_error += "You should correct the mistake and regenerate the initial node. Please output in only one json file"
59
+ if score > curr_score:
60
+ return score, scenario, lst_error
61
+ return curr_score, curr_ans, lst_error
62
+
63
+ def find_json(answer:str):
64
+ start = answer.find("{")
65
+ if start == -1:
66
+ return ""
67
+ end = answer.rfind("}")
68
+ if end == -1:
69
+ return ""
70
+ json_answer = answer[start:end+1]
71
+ return json_answer
72
+
73
+ os.environ["OPENAI_API_TYPE"] = "azure"
74
+ os.environ["OPENAI_API_VERSION"] = "2023-03-15-preview"
75
+ os.environ["OPENAI_API_BASE"] = "https://scenariogen.openai.azure.com/"
76
+ os.environ["OPENAI_API_KEY"] = "02c96d0cde1f4b07a7e77948d57aaaec"
77
+
78
+
79
+
80
+ class get_initial_point(object):
81
+
82
+ def __init__(self, map_prompt):
83
+ self.generator = AzureChatOpenAI(
84
+ deployment_name="gpt35turbo16k",
85
+ model_name="gpt-35-turbo-16k",
86
+ temperature=0.9,
87
+ max_tokens=3000,
88
+ )
89
+
90
+ self.judge = AzureChatOpenAI(
91
+ deployment_name="gpt35turbo16k",
92
+ model_name="gpt-35-turbo-16k",
93
+ temperature=0.9,
94
+ max_tokens=3000,
95
+ )
96
+ self.curr_gene_text = map_prompts.generator_prompts + "\nNext is the current map information\n" + map_prompt + "\n" + map_prompts.generator_answer
97
+ curr_judge_text = map_prompts.judge_prompts + "\nNext is the current map information\n" + map_prompt + "\n" + map_prompts.judge_answer
98
+ human_template="{text}"
99
+ system_prompt_gene = SystemMessagePromptTemplate.from_template(self.curr_gene_text)
100
+ system_prompt_judge = SystemMessagePromptTemplate.from_template(curr_judge_text)
101
+ human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
102
+ self.gene_prompt = ChatPromptTemplate.from_messages([system_prompt_gene, human_message_prompt])
103
+ self.judge_prompt = ChatPromptTemplate.from_messages([system_prompt_judge, human_message_prompt])
104
+ self.gene_formaterror = "Please check the format of your answer. You should only output the json format answer. e.g.\n" + map_prompts.generator_answer
105
+ self.judge_formaterror = "Please check the format of your answer. You should only output the json format answer. e.g.\n" + map_prompts.judge_answer
106
+
107
+
108
+ def get_init(self, description):
109
+
110
+ scena_gen = description + "\nYou have to select the location of these vehicle.Use #inner_monologue to indicate the thinking process and #json_answer to indicate the json format answer.Anything that are not relevent are not required\n"
111
+
112
+ print(scena_gen)
113
+ result_gene = self.generator(self.gene_prompt.format_prompt(text=scena_gen).to_messages())
114
+ print(result_gene.content)
115
+ ans = result_gene.content
116
+
117
+ return find_json(ans)
118
+ scena_judge = description + "\n--------------------\nhere's the json file from the scenario generator\n" + json_answer_gene + "\n----------------------------\nPlease help to judge the initial nodes"
119
+ result_judge = self.judge(self.judge_prompt.format_prompt(text=scena_judge).to_messages())
120
+
121
+ start = result_judge.content.find("#json_answer") + len("#json_answer")
122
+ end = len(result_judge.content)
123
+ json_answer = result_judge.content[start:end]
124
+
125
+
126
+ # curr_score = 0
127
+ # curr_ans = ""
128
+ # print("----------------------------------------------------")
129
+ # print(json_answer)
130
+ # x = input("pauseLLLLL1111")
131
+ # history_judge = ChatMessageHistory()
132
+ # history_judge.add_user_message(curr_judge_text + "\n" + scena_judge)
133
+ # if check_format(history_judge, judge, judge_prompt, judge_formaterror, result_judge) == False:
134
+ # print("Error in judge!!!!!")
135
+ # break
136
+ # time.sleep(60)
137
+ # curr_score, curr_ans, lst_error = decode_judge(result_gene.content, result_judge.content, curr_score, curr_ans )
138
+ # cnt = 0
139
+ # while cnt <= 5:
140
+ # cnt += 1
141
+ # if lst_error == "":
142
+ # break
143
+ # result_gene = generator(gene_prompt.format_prompt(text=lst_error, history = history_gene.messages).to_messages())
144
+ # print(result_judge.content)
145
+ # history_gene = ChatMessageHistory()
146
+ # history_gene.add_user_message(lst_error)
147
+ # if check_format(history_gene, generator, gene_prompt, gene_formaterror, result_gene) == False:
148
+ # print("Error in gene!!!!!")
149
+ # break
150
+ # scena_judge = scena + "\n--------------------\nhere's the json file from the scenario generator\n" + result_gene.content + "\n----------------------------\nPlease help to judge the initial nodes and output your answer with only one json format file"
151
+ # result_judge = judge(judge_prompt.format_prompt(text=scena_judge).to_messages())
152
+ # print(result_judge.content)
153
+ # history_judge = ChatMessageHistory()
154
+ # history_judge.add_user_message(curr_judge_text + "\n" + scena_judge)
155
+ # if check_format(history_judge, judge, judge_prompt, judge_formaterror, result_judge) == False:
156
+ # print("Error in judge!!!!!")
157
+ # break
158
+ # curr_score, curr_ans, lst_error = decode_judge(result_gene.content, result_judge.content, curr_score, curr_ans )
159
+ # time.sleep(60)
160
+ # print( curr_ans)
161
+ # print(curr_score)
162
+ # x = input("pauseLLLL")
generate_scenario/generate_init/map_prompts.py ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ generator_prompts = """You are a scenario generator, you should generate the initial node of vehicles in a scenario based on the scenario data and the scenario description I provided.
2
+ I will provide you with some data of a driving scenario in XML format. The lane of the scenario is in the format <lane>[node1,node2,node3...]</lane>. The "lane" tag represents a lane, and it contains the "id" variable that represents its unique identifier. The order of "node" IDs inside the way corresponds to the specified driving direction for vehicles. For example: <lane id="1001">[4,3,5,2,1]</lane> indicates that this lane has 5 nodes, and the vehicle's driving direction is from node 4 to node 3 to node 5 to node 2 to node 1.
3
+ If two lane share the same node, it means these two lane intersect. and thus collision may happen
4
+ There is also additional data in the format <pair>[lane1,lane2,lane3...]</pair>, representing lanes that are part of the same road segment, i.e., vehicles can change their lanes in the same "pair". For example: <pair>[1001,1003]</pair> indicates that lane_1001 and lane_1003 are part of the same road segment and a car can change it's lane from 1001 to 1003 or from 1003 to 1001.
5
+ Furthermore, there is more data in the format <relation type="Type" first_id=xxx second_id=xxx/>, which represents the relationship between two lane. "first_id" corresponds to the ID of the first lane, and "second_id" corresponds to the ID of the second lane. The "Type" attribute can take values such as "turn_left," "turn_right," or "straight_on." For example: <relation type="turn_left" first_id="10" second_id="11"/> indicates that a car on lane 10 can go to lane 11 by turns left, or if you are asked to choose a scenario in which a car need to turn, you can choose lane 10.
6
+ Based on this data and the scenario description I provided, you need to help me choose several node as the initial generating node for vehicles."Important": You must choose one node for each car. The process should follow the following steps:
7
+ Step 1. Analyze the relationships between "lane" based on the included nodes, and also the "pair" and "relation" data. The relationships include: no association, intersection, left turn, right turn, and lanes on the same road segment. If there has a "relation" data, prioritize using that information; otherwise, use the "pair" information to determine lanes on the same road segment first.
8
+ Step 2. Prioritize selecting appropriate lanes for some vehicles based on the main part of the scenario description, as well as the data from "lane" and "pair" sections. If there are constraints on the paths of the vehicles (e.g., same path or different paths), prioritize meeting these requirements.
9
+ Step 3. Analyzing the detail position relationship between cars, specify if one car should be on the front/rear of another car by hidden information in description. Based on the driving directions of the vehicles, select suitable points as their initial generating positions. Please avoid as much as possible not to select the node on the edge of a lane. e.g., <lane id=1001>[3,2,4,8,6]</lane> then please avoid to select node_3 or node_6 as much as possible if there are no constrain in the scenario description. You should focus on the description such as "front" and "rear", combine the information with the "lane" information and decide whether node A is in front of node B, or node B is in front of node A.
10
+ Step 4. Consider any additional requirements from the scenario, such as one vehicle (e.g., carA) being in front of another vehicle (e.g., carB). Utilize the information from the "node" section, the previously selected generating nodes for vehicles, and select appropriate nodes to fulfill these additional requirements.
11
+ Before outputting the answer in JSON format, check if each vehicle's selected node is on their chosen lane, and if the relationships between lanes and nodes are in accordance with the scenario description.
12
+ You should generate the scenario and double check following these hints:
13
+ Hint 1: You must distinguish between primary information and additional information and follow the steps to complete the selection of initial generating points.
14
+ Hint 2: Pay attention to any indications of vehicles traveling in the opposite direction and adjust their initial positions based on the normal driving direction of that "lane".
15
+ Hint 3: Double-check for any identical nodes when judging the inclusion of nodes in a "lane." Finally, before outputting the answer, verify that each vehicle's generating point ("node") is on the selected path ("lane").
16
+ Hint 4: No two car can have the same initial node, if two car have the same initial node, regenerate node for all these two car.
17
+ """
18
+ generator_answer= """
19
+ You should only answer in one JSON format file, similar to the example below:
20
+ {{
21
+ "carA": {{
22
+ "lane": xxx,
23
+ "node": xxx,
24
+ "direct": xxx
25
+ }},
26
+ "carB": {{
27
+ "lane": xxx,
28
+ "node": xxx,
29
+ "direct": xxx
30
+ }}
31
+ }}
32
+ "direct" can be either 'same' or 'opposite'. Meaning the vehicle will driving in the same/opposite direction of the road
33
+ Use #inner_monologue to indicate the thinking process and #json_answer to indicate the json format answer.
34
+ """
35
+
36
+
37
+ judge_prompts = """Now you are a scenario judger, you will receive a scenario information describe the map, and also a scenario description. Another one called scenario generator have already generate the initial node of all the vehicle, your goal is to 1. check if the initial nodes best matches the scenario description. 2. point out the mistake have made, including which node is wrong and why, also, you should consider the scenario description. 3. judge the score of this generated initial point, score from 0 to 10. 10 means perfect, 0 means awful. You can only judge this based on the description and following the step.
38
+ ---------------------------------------------------------------
39
+ Data for scenario Map:
40
+ I will provide you with some data of a driving scenario in XML format. The lane of the scenario is in the format <lane>[node1,node2,node3...]</lane>. The "lane" tag represents a lane, and it contains the "id" variable that represents its unique identifier. The order of "node" IDs inside the way corresponds to the specified driving direction for vehicles. Also, the right nodes is in front of the left one, the left node is in rear of the right one. For example: <lane id="1001">[4,3,5,2,1]</lane> indicates that this lane has 5 nodes, and the vehicle's driving direction is from node 4 to node 3 to node 5 to node 2 to node 1. Node 4 is in rear of node 5 and node 2 is in front of node 3. If two lane share the same node, it means these two lane intersect.
41
+ There is also additional data in the format <pair>[lane1,lane2,lane3...]</pair>, representing lanes that are part of the same road segment, i.e., vehicles can change their lanes in the same "pair". For example: <pair>[1001,1003]</pair> indicates that lane_1001 and lane_1003 are part of the same road segment and a car can change it's lane from 1001 to 1003 or from 1003 to 1001.
42
+ Furthermore, there is more data in the format <relation type="Type" first_id=xxx second_id=xxx/>, which represents the relationship between two lane. "first_id" corresponds to the ID of the first lane, and "second_id" corresponds to the ID of the second lane. The "Type" attribute can take values such as "turn_left," "turn_right," or "straight_on." For example: <relation type="turn_left" first_id="10" second_id="11"/> indicates that a car on lane 10 can go to lane 11 by turns left, or if you are asked to choose a scenario in which a car need to turn, you can choose lane 10.
43
+ ----------------------------------------------------------
44
+ Based on this data and the scenario description, the generator will choose several node as the initial generating node for vehicles.The process that the generator choose the initial node is:
45
+ Step 1. Analyze the relationships between "lane" based on the included nodes, and also the "pair" and "relation" data. The relationships include: no association, intersection, left turn, right turn, and lanes on the same road segment. If there has a "relation" data, prioritize using that information; otherwise, use the "pair" information to determine lanes on the same road segment first.
46
+ Step 2. Prioritize selecting appropriate lanes for some vehicles based on the main part of the scenario description, as well as the data from "lane" and "pair" sections. If there are constraints on the paths of the vehicles (e.g., same path or different paths), prioritize meeting these requirements.
47
+ Step 3. Analyzing the detail position relationship between cars, specify if one car should be on the front/rear of another car by hidden information in description. Based on the driving directions of the vehicles, select suitable points as their initial generating positions. Please avoid as much as possible not to select the node on the edge of a lane. e.g., <lane id=1001>[3,2,4,8,6]</lane> then please avoid to select node_3 or node_6 as much as possible if there are no constrain in the scenario description. You should focus on the description such as "front" and "rear", combine the information with the "lane" information and decide whether node A is in front of node B, or node B is in front of node A.
48
+ Step 4. Consider any additional requirements from the scenario, such as one vehicle (e.g., carA) being in front of another vehicle (e.g., carB). Utilize the information from the "node" section, the previously selected generating nodes for vehicles, and select appropriate nodes to fulfill these additional requirements.
49
+ -----------------------------------------------------------
50
+ You, a scenario checker who should find out all then mistake(if have) from the json file represents the initial node of the scenario description provided by the generatorand score it from 0 to 10.
51
+ You will receive the json file in JSON format, similar to the example below:
52
+ {{
53
+ "carA": {{
54
+ "lane": xxx,
55
+ "node": xxx,
56
+ "direct": xxx
57
+ }},
58
+ "carB": {{
59
+ "lane": xxx,
60
+ "node": xxx,
61
+ "direct": xxx
62
+ }}
63
+ }}
64
+ "direct" can be either 'same' or 'opposite'. Meaning the vehicle will driving in the same/opposite direction of the road
65
+ ----------------------------------------------------
66
+ The initial point is 10, means perfect, by following the step you should return the mistake happen in this json and score it from 0 to 10.
67
+ The judgement standard and step is:
68
+ Step1: Check if all the vehicle mentioned in the scenario description appear in the json file. If a car exist in the description does not appear in the json file, point out the mistake in format: You miss the vehicle xxxx, and score zero.
69
+ Step2: The node selected for different car should not be same. If there exist same node selected, point out the mistake and the name of the cars, and score zero.
70
+ Step3: The node selected for each car should be exist in the map and on the corresponding lane.You should check the vehicle one by one, list all the node from the lane and compare them with the node in json file. If some of the node and lane does not match, or some of the node's id does not exactly match that in the lane, point out those mistake with explanation, and minus 3 to the score for each mistake detected.
71
+ Step4: Check if the driving direction in the json file is matched with that in the scenario description. All the car will drive in the same direction as the road by default. Only when mentioned in the scenario description will the vehicle be requested to drive on the opposite direction of the lane. If not, point out the mistake with car name and explain it, and minus 2 to the score for each mistake.
72
+ Step5: Check the constrain in details and hidden information in scenario description, focus on relation "front" and "rear". For example: <lane id="1001">[4,3,5,2,1]</lane> indicates that node 4 is in rear of node 5 because 4 appear early than 5 and thus the car will drive from 4 to 3 to 5. And node 2 is in front of node 3 because 3 appear earlier than 2 and thus the car will drive from 3 to 1 to 2. You should compare the relation with the json file, and tell if the initial point match with those constrians. If not, point out this mistakes with the name of the vehicle and the relation and explain it. Minus 1 to the score for each mistake.
73
+ Step6: Check if the requirement in scenario description is satisfied, which means you should ignore the driving process but focusing on checking if the vehicles with these initial point provided in the json file satisfied the relative relation hidding in scenario description. You just need to judge if the main relation of the initial point is satisfied by comparing the lane relation and node relation with scenario description. If not, point out the mistake with original text from scenario description, explain it and minus 1 to the score.
74
+ Also, you should remember, the score cannot be less than 0, so you should change the score less than 0 to 0.
75
+ """
76
+ judge_answer = """You should return both the thinking process and the result in a Json format file, in the format:
77
+ {{
78
+ "mistake":[{{"description":"xxxx"}},{{"description":"xxxx"}}....],
79
+ "score":xxxx
80
+ }}
81
+ e.g. If there are no mistake, then you should return:
82
+ {{
83
+ "mistake":[],
84
+ "score":10
85
+ }}
86
+ Use #inner_monologue to indicate the thinking process and #json_answer to indicate the json format answer.
87
+ """
88
+
89
+ example_map_1 = """
90
+ <lane id=1001>
91
+ [1,2,3,4,5,6]
92
+ </lane>
93
+ <lane id=1002>
94
+ [7,8,9,10]
95
+ </lane>
96
+ <lane id=1003>
97
+ [11,12,13,14]
98
+ </lane>
99
+
100
+ <relation type="straight_on" first_id=1001 second_id=1003/>
101
+ <relation type="straight_on" first_id=1002 second_id=1003/>
102
+ """
103
+
104
+ example_map = """
105
+ <lane id=1001>
106
+ [1,2,3,4,5,6]
107
+ </lane>
108
+ <lane id=1002>
109
+ [7,8,9,10,11,12]
110
+ </lane>
111
+ <lane id=1003>
112
+ [13,14,15,16,23,24]
113
+ </lane>
114
+ <lane id=1004>
115
+ [17,18,19,20,21,22]
116
+ </lane>
117
+ <pair>
118
+ [1001,1002]
119
+ </pair>
120
+ <pair>
121
+ [1003,1004]
122
+ </pair>
123
+ <relation type="turn_right" first_id=1001 second_id=1003/>
124
+ <relation type="turn_right" first_id=1002 second_id=1003/>
125
+ <relation type="turn_left" first_id=1001 second_id=1004/>
126
+ <relation type="turn_left" first_id=1002 second_id=1004/>
127
+ """
128
+
129
+ Scenaro_library = [
130
+ """On a cross junction, Vehicle carA is driving normally. As carA goes straight on, vehicle carB, traveling on the lane that is on the right of carA’s lane, drives in the opposite direction and collides with carA. Additionally, on the same lane as carA, vehicle carC is driving normally behind carA.""",
131
+ """Vehicle carA is driving normally. Vehicle carB, on the other lane, driving normally and have collision with carA""",
132
+ """Vehicle A was traveling normally on the road, when vehicle B rear-ended vehicle A.""",
133
+ """Scenario Description 1: Vehicle carA is driving normally. Later, carA will turn left and vehicle carB, traveling in the opposite direction on a different lane, will have collision with carA. Additionally, on the same lane of carA, carC is driving normally on the rear of carA""",
134
+ """Scenario Description 2: Vehicle carA and vehicle carB are in the same lane. carA will overtakes carB later. Additionally, at the vicinity of carA but on a different lane, there is another vehicle carC driving normally.""",
135
+ """Scenario Description 3: Three vehicle carA, carB and carC driving normally. carA and carB are in the same lane while carC is on another lane, but with the same road segment of the lane of carA."""
136
+ ]
137
+
generate_scenario/generate_init/test.xosc ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <OpenSCENARIO>
3
+ <FileHeader revMajor="1" revMinor="0" date="2023-08-20T15:44:03" description="CARLA:CyclistCrossing" author="Jiayi Chen"/>
4
+ <ParameterDeclarations/>
5
+ <CatalogLocations/>
6
+ <RoadNetwork>
7
+ <LogicFile filepath="Town10HD"/>
8
+ <SceneGraphFile filepath=""/>
9
+ </RoadNetwork>
10
+ <Entities>
11
+ <ScenarioObject name="hero">
12
+ <Vehicle name="vehicle.volkswagen.t2_2021" vehicleCategory="car">
13
+ <ParameterDeclarations/>
14
+ <Performance maxSpeed="20" maxAcceleration="30" maxDeceleration="10.0"/>
15
+ <BoundingBox>
16
+ <Center x="1.5" y="0.0" z="0.9"/>
17
+ <Dimensions width="2.1" length="4.5" height="1.8"/>
18
+ </BoundingBox>
19
+ <Axles>
20
+ <FrontAxle maxSteering="0.5" wheelDiameter="0.6" trackWidth="1.8" positionX="3.1" positionZ="0.3"/>
21
+ <RearAxle maxSteering="0.0" wheelDiameter="0.6" trackWidth="1.8" positionX="0.0" positionZ="0.3"/>
22
+ </Axles>
23
+ <Properties>
24
+ <Property name="type" value="ego_vehicle"/>
25
+ </Properties>
26
+ </Vehicle>
27
+ </ScenarioObject>
28
+ <ScenarioObject name="carB">
29
+ <Vehicle name="vehicle.jeep.wrangler_rubicon" vehicleCategory="car">
30
+ <ParameterDeclarations/>
31
+ <Performance maxSpeed="20" maxAcceleration="30" maxDeceleration="10.0"/>
32
+ <BoundingBox>
33
+ <Center x="1.5" y="0.0" z="0.9"/>
34
+ <Dimensions width="2.1" length="4.5" height="1.8"/>
35
+ </BoundingBox>
36
+ <Axles>
37
+ <FrontAxle maxSteering="0.5" wheelDiameter="0.6" trackWidth="1.8" positionX="3.1" positionZ="0.3"/>
38
+ <RearAxle maxSteering="0.0" wheelDiameter="0.6" trackWidth="1.8" positionX="0.0" positionZ="0.3"/>
39
+ </Axles>
40
+ <Properties>
41
+ <Property name="type" value="simulation"/>
42
+ </Properties>
43
+ </Vehicle>
44
+ </ScenarioObject>
45
+
46
+ </Entities>
47
+ <Storyboard>
48
+ <Init>
49
+ <Actions>
50
+ <GlobalAction>
51
+ <EnvironmentAction>
52
+ <Environment name="Environment1">
53
+ <TimeOfDay animation="false" dateTime="2019-06-25T12:00:00"/>
54
+ <Weather cloudState="free">
55
+ <Sun intensity="0.85" azimuth="0" elevation="1.31"/>
56
+ <Fog visualRange="100000.0"/>
57
+ <Precipitation precipitationType="dry" intensity="0.0"/>
58
+ </Weather>
59
+ <RoadCondition frictionScaleFactor="1.0"/>
60
+ </Environment>
61
+ </EnvironmentAction>
62
+ </GlobalAction>
63
+ <Private entityRef="hero">
64
+ <PrivateAction>
65
+ <TeleportAction>
66
+ <Position>
67
+ <WorldPosition x="15.0" y="25.0" z="0.0" h="0.7853981633974483"/>
68
+ </Position>
69
+ </TeleportAction>
70
+ </PrivateAction>
71
+ <PrivateAction>
72
+ <ControllerAction>
73
+ <AssignControllerAction>
74
+ <Controller name="HeroAgent">
75
+ <Properties>
76
+ <Property name="module" value="external_control"/>
77
+ </Properties>
78
+ </Controller>
79
+ </AssignControllerAction>
80
+ <OverrideControllerValueAction>
81
+ <Throttle value="0" active="false"/>
82
+ <Brake value="0" active="false"/>
83
+ <Clutch value="0" active="false"/>
84
+ <ParkingBrake value="0" active="false"/>
85
+ <SteeringWheel value="0" active="false"/>
86
+ <Gear number="0" active="false"/>
87
+ </OverrideControllerValueAction>
88
+ </ControllerAction>
89
+ </PrivateAction>
90
+ </Private>
91
+ <Private entityRef="carB">
92
+ <PrivateAction>
93
+ <TeleportAction>
94
+ <Position>
95
+ <WorldPosition x="20.0" y="30.0" z="100" h="0.7853981633974483"/>
96
+ </Position>
97
+ </TeleportAction>
98
+ </PrivateAction>
99
+ <PrivateAction>
100
+ <ControllerAction>
101
+ <AssignControllerAction>
102
+ <Controller name="AdversaryAgent">
103
+ <Properties>
104
+ <Property name="module" value="vehicle_longitudinal_control"/>
105
+ </Properties>
106
+ </Controller>
107
+ </AssignControllerAction>
108
+ <OverrideControllerValueAction>
109
+ <Throttle value="0" active="false"/>
110
+ <Brake value="0" active="false"/>
111
+ <Clutch value="0" active="false"/>
112
+ <ParkingBrake value="0" active="false"/>
113
+ <SteeringWheel value="0" active="false"/>
114
+ <Gear number="0" active="false"/>
115
+ </OverrideControllerValueAction>
116
+ </ControllerAction>
117
+ </PrivateAction>
118
+ </Private>
119
+
120
+ </Actions>
121
+ </Init>
122
+ <Story name="MyStory">
123
+ <Act name="Behavior">
124
+ <ManeuverGroup maximumExecutionCount="1" name="ManeuverSequence">
125
+ <Actors selectTriggeringEntities="false">
126
+ <EntityRef entityRef="carB"/>
127
+ </Actors>
128
+ <Maneuver name="VehicleCollision">
129
+ {}
130
+ </Maneuver>
131
+ </ManeuverGroup>
132
+ <StartTrigger>
133
+ <ConditionGroup>
134
+ <Condition name="OverallStartCondition" delay="0" conditionEdge="rising">
135
+ <ByEntityCondition>
136
+ <TriggeringEntities triggeringEntitiesRule="any">
137
+ <EntityRef entityRef="hero"/>
138
+ </TriggeringEntities>
139
+ <EntityCondition>
140
+ <TraveledDistanceCondition value="1.0"/>
141
+ </EntityCondition>
142
+ </ByEntityCondition>
143
+ </Condition>
144
+ </ConditionGroup>
145
+ </StartTrigger>
146
+ <StopTrigger>
147
+ <ConditionGroup>
148
+ <Condition name="EndCondition" delay="0" conditionEdge="rising">
149
+ <ByEntityCondition>
150
+ <TriggeringEntities triggeringEntitiesRule="any">
151
+ <EntityRef entityRef="hero"/>
152
+ </TriggeringEntities>
153
+ <EntityCondition>
154
+ <TraveledDistanceCondition value="400.0"/>
155
+ </EntityCondition>
156
+ </ByEntityCondition>
157
+ </Condition>
158
+ </ConditionGroup>
159
+ </StopTrigger>
160
+ </Act>
161
+ </Story>
162
+ <StopTrigger>
163
+ <ConditionGroup>
164
+ <Condition name="criteria_RunningStopTest" delay="0" conditionEdge="rising">
165
+ <ByValueCondition>
166
+ <ParameterCondition parameterRef="" value="" rule="lessThan"/>
167
+ </ByValueCondition>
168
+ </Condition>
169
+ <Condition name="criteria_RunningRedLightTest" delay="0" conditionEdge="rising">
170
+ <ByValueCondition>
171
+ <ParameterCondition parameterRef="" value="" rule="lessThan"/>
172
+ </ByValueCondition>
173
+ </Condition>
174
+ <Condition name="criteria_WrongLaneTest" delay="0" conditionEdge="rising">
175
+ <ByValueCondition>
176
+ <ParameterCondition parameterRef="" value="" rule="lessThan"/>
177
+ </ByValueCondition>
178
+ </Condition>
179
+ <Condition name="criteria_OnSidewalkTest" delay="0" conditionEdge="rising">
180
+ <ByValueCondition>
181
+ <ParameterCondition parameterRef="" value="" rule="lessThan"/>
182
+ </ByValueCondition>
183
+ </Condition>
184
+ <Condition name="criteria_KeepLaneTest" delay="0" conditionEdge="rising">
185
+ <ByValueCondition>
186
+ <ParameterCondition parameterRef="" value="" rule="lessThan"/>
187
+ </ByValueCondition>
188
+ </Condition>
189
+ <Condition name="criteria_CollisionTest" delay="0" conditionEdge="rising">
190
+ <ByValueCondition>
191
+ <ParameterCondition parameterRef="" value="" rule="lessThan"/>
192
+ </ByValueCondition>
193
+ </Condition>
194
+ <Condition name="criteria_DrivenDistanceTest" delay="0" conditionEdge="rising">
195
+ <ByValueCondition>
196
+ <ParameterCondition parameterRef="distance_success" value="400" rule="lessThan"/>
197
+ </ByValueCondition>
198
+ </Condition>
199
+ </ConditionGroup>
200
+ </StopTrigger>
201
+ </Storyboard>
202
+ </OpenSCENARIO>
generate_scenario/init_location.txt ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "vehicleA": {
3
+ "lane": 109,
4
+ "node": 3,
5
+ "direct": "same"
6
+ },
7
+ "vehicleB": {
8
+ "lane": 109,
9
+ "node": 4,
10
+ "direct": "same"
11
+ }
12
+ }
generate_scenario/load_xosc_base/__init__.py ADDED
File without changes