Skip to content
Merged
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
498cd2e
调整数据格式
liuao08 Nov 11, 2025
1a6aa7d
Merge branch 'OpenHUTB:main' into main
liuao08 Nov 18, 2025
8e2c769
自定义数据集模型训练
liuao08 Nov 18, 2025
e904363
Merge branch 'OpenHUTB:main' into main
liuao08 Nov 23, 2025
aacbc00
在deepsort方法中得到单路口轨迹
liuao08 Nov 23, 2025
5a4f6d3
Merge branch 'OpenHUTB:main' into main
liuao08 Nov 25, 2025
1479574
调整自定义数据集配置文件
liuao08 Nov 25, 2025
6d55799
添加.yaml文件
liuao08 Nov 25, 2025
38c995b
Merge branch 'OpenHUTB:main' into main
liuao08 Dec 9, 2025
b0d8577
优化调用逻辑
liuao08 Dec 9, 2025
6ea93a7
Merge branch 'OpenHUTB:main' into main
liuao08 Dec 10, 2025
630a606
将3D检测框输入到JPDA跟踪器
liuao08 Dec 10, 2025
e519b31
Merge branch 'OpenHUTB:main' into main
liuao08 Dec 12, 2025
3308350
关闭测试集数据增强,优化数据路径并生成人车轨迹
liuao08 Dec 12, 2025
9740195
Merge branch 'OpenHUTB:main' into main
liuao08 Dec 24, 2025
0751990
为轨迹添加类别标签
liuao08 Dec 24, 2025
50e79e1
Merge branch 'OpenHUTB:main' into main
liuao08 Dec 26, 2025
111d2c5
漏洞修复
liuao08 Dec 26, 2025
f106214
Merge branch 'OpenHUTB:main' into main
liuao08 Dec 30, 2025
3c7737e
得到孪生轨迹
liuao08 Dec 30, 2025
cf69317
获取复现轨迹
liuao08 Dec 30, 2025
5f35836
删除多余文件
liuao08 Dec 30, 2025
8db57a3
Merge branch 'OpenHUTB:main' into main
liuao08 Jan 6, 2026
76d0616
分别计算人车孪生轨迹并保存
liuao08 Jan 6, 2026
1e58554
Merge branch 'OpenHUTB:main' into main
liuao08 Jan 8, 2026
c66c396
排除不合理的人车轨迹
liuao08 Jan 8, 2026
cb6600d
添加几种行人位置判断类别
liuao08 Jan 8, 2026
3f1b3ab
Merge branch 'OpenHUTB:main' into main
liuao08 Jan 14, 2026
27871fc
添加行人移动脚本
liuao08 Jan 14, 2026
688fc07
添加行人移动方法
liuao08 Jan 14, 2026
87b7765
Merge branch 'OpenHUTB:main' into main
liuao08 Jan 15, 2026
b4a17e3
保存移动路径点并设置安全条件
liuao08 Jan 15, 2026
8363960
Merge branch 'OpenHUTB:main' into main
liuao08 Jan 20, 2026
9c6c7b0
获取完整复现轨迹
liuao08 Jan 20, 2026
59433be
Merge branch 'OpenHUTB:main' into main
liuao08 Jan 23, 2026
76a2f67
控制行人复现轨迹
liuao08 Jan 23, 2026
3fccb77
Merge branch 'OpenHUTB:main' into main
liuao08 Jan 29, 2026
3ad00b5
优化多路口轨迹匹配逻辑
liuao08 Jan 29, 2026
f615c43
添加论文提纲
liuao08 Feb 4, 2026
b17798b
修改编码格式
liuao08 Feb 4, 2026
9aa1af5
删除多余文件
liuao08 Feb 4, 2026
81a174e
Merge branch 'OpenHUTB:main' into main
liuao08 Feb 4, 2026
f59f04a
Merge branch 'OpenHUTB:main' into main
liuao08 Feb 5, 2026
57365ed
修改论文提纲
liuao08 Feb 5, 2026
2b088c6
Merge branch 'OpenHUTB:main' into main
liuao08 Feb 28, 2026
892ab67
为轨迹匹配添加速度限制
liuao08 Feb 28, 2026
f40c37c
合并历史记录
liuao08 Feb 28, 2026
4e387c2
Merge branch 'OpenHUTB:main' into main
liuao08 Mar 10, 2026
d1abdbc
添加V2X传感器
liuao08 Mar 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -622,6 +622,53 @@ def spawn_autonomous_pedestrians(world, num_pedestrians=100, random_seed=20):
return pedestrian_list


def spawn_v2x_sensors(world, lidar_transform, z_height=2.62):
sensors = {} # 字典

# 用字典直接给坐标命名,明确区分
coordinates = {
"v2x_left": (3.0, 4.0),
"v2x_right": (3.0, -4.0),
"v2x_center": (1.0, 0.0)
}

# 获取传感器蓝图
bp = world.get_blueprint_library().find('sensor.other.v2x_custom')
# 定义通信频道
bp.set_attribute("channel_id", "5")

for name, (x, y)in coordinates:
# 直接使用原始坐标
transform = lidar_transform(x=x, y=y, z=z_height)
# 生成V2X传感器
sensor = world.spawn_actor(bp, transform)
# 激活传感器
sensor.listen(lambda data: _on_v2x_received(data))
# 将生成的传感器以名字存入字典
sensors[name] = sensor

return sensors

def spawn_v2x_receiver(world):
transform = carla.Location(x=0, y=0, z=2.62)

# 获取传感器蓝图
bp = world.get_blueprint_library().find('sensor.other.v2x_custom')
# 定义通信频道
bp.set_attribute("channel_id", "5")
# 生成传感器
receiver = world.spawn_actor(bp, transform)
receiver.listen(lambda data: _on_v2x_received(data))

return receiver

def _on_v2x_received(sensor_data):
for data in sensor_data:
msg_dict = data.get()
raw_bytes = msg_dict["Message"]["Message"]["Bytes"]
content = raw_bytes.decode('utf-8', errors='ignore')
print(f" [接收端] 收到消息 ")

def destroy_actor(lidar, camera_dict, vehicles, sensor_queue, pedestrians):
if lidar is not None:
lidar.stop() # 确保停止传感器线程
Expand All @@ -648,7 +695,7 @@ def destroy_actor(lidar, camera_dict, vehicles, sensor_queue, pedestrians):
# python用法
# 创建保存雷达数据的文件夹
def create_radar_folder_py(town_folder, junc):
folder_name = os.path.join("train_data", town_folder, junc, "point")
folder_name = os.path.join("train_data", town_folder, junc, "points")
# 检查文件夹是否已存在,若不存在则创建
if not os.path.exists(folder_name):
os.makedirs(folder_name)
Expand All @@ -664,7 +711,7 @@ def create_radar_folder_py(town_folder, junc):
# return folder_name
# 创建保存标签数据的文件夹
def create_label_folder(town_folder, junc):
folder_name = os.path.join("train_data", town_folder, junc, "label")
folder_name = os.path.join("train_data", town_folder, junc, "labels")
if not os.path.exists(folder_name):
os.makedirs(folder_name)
print(f"Created folder: {folder_name}")
Expand Down Expand Up @@ -723,7 +770,7 @@ def main():
argparser.add_argument(
'-i', '--intersection',
metavar='INTERSECTION',
default='road_intersection_1', # 默认路口
default='road_intersection_5', # 默认路口
help='Name of the intersection within the town (default: road_intersection_1)'
)
args = argparser.parse_args()
Expand Down Expand Up @@ -805,6 +852,10 @@ def main():
sensor_queue = Queue()
# 启动相机、雷达传感器
lidar, camera_dict = setup_sensors(world, addtion_param, sensor_queue, lidar_transform, camera_loc)
# 生成并启动V2X数据传输端
sensors = spawn_v2x_sensors(world, lidar_transform, z_height=2.62)
# 生成并启动V2X数据收集端
receiver = spawn_v2x_receiver(world)
actual_vehicle_num = []
actual_pedestrian_num = []
all_vehicle_labels = []
Expand Down