激光雷达使用不同的盲区延时和动态盲区时距参数
This commit is contained in:
@@ -206,11 +206,15 @@ class AmapNaviServ:
|
||||
self.rightFrontTarget = RadarSpeedEstimator()
|
||||
self.rightBehindTarget = RadarSpeedEstimator()
|
||||
|
||||
self.min_drel_vego_time = 1.0
|
||||
self.min_vrel_vego_time = 1.0
|
||||
self.sideBsdDelayTime = 2.
|
||||
self.sideRelDistTime = 1.
|
||||
self.sidevRelDistTime = 1.
|
||||
self.min_front_drel_vego_time = 3.0
|
||||
self.min_front_vrel_vego_time = 3.0
|
||||
self.min_behind_drel_vego_time = 3.0
|
||||
self.min_behind_vrel_vego_time = 3.0
|
||||
self.lidarBsdDelayTime = 1.
|
||||
self.lidarFrontVDistTime = 3.
|
||||
self.lidarFrontVRelDistTime = 3.
|
||||
self.lidarBehindVDistTime = 3.
|
||||
self.lidarBehindVRelDistTime = 3.
|
||||
self.disableBlindSpot = False
|
||||
self.dynamicBlindRange = 0
|
||||
self.dynamicBlindDistance = 0
|
||||
@@ -275,12 +279,16 @@ class AmapNaviServ:
|
||||
|
||||
def update_param(self):
|
||||
if self.frame % 100 == 0:
|
||||
self.sideBsdDelayTime = self.params.get_int("SideBsdDelayTime") * 0.1
|
||||
self.sideRelDistTime = self.params.get_int("SideRelDistTime") * 0.1
|
||||
self.sidevRelDistTime = self.params.get_int("SidevRelDistTime") * 0.1
|
||||
self.min_drel_vego_time = self.sideRelDistTime
|
||||
self.min_vrel_vego_time = self.sidevRelDistTime
|
||||
self.min_object_detected_count_thr = int(-1 * self.sideBsdDelayTime / DT_BROADCAST)
|
||||
self.lidarBsdDelayTime = self.params.get_int("LidarBsdDelayTime") * 0.1
|
||||
self.lidarFrontVDistTime = self.params.get_int("LidarFrontVDistTime") * 0.1
|
||||
self.lidarFrontVRelDistTime = self.params.get_int("LidarFrontVRelDistTime") * 0.1
|
||||
self.lidarBehindVDistTime = self.params.get_int("LidarBehindVDistTime") * 0.1
|
||||
self.lidarBehindVRelDistTime = self.params.get_int("LidarBehindVRelDistTime") * 0.1
|
||||
self.min_front_drel_vego_time = self.lidarFrontVDistTime
|
||||
self.min_front_vrel_vego_time = self.lidarFrontVRelDistTime
|
||||
self.min_behind_drel_vego_time = self.lidarBehindVDistTime
|
||||
self.min_behind_vrel_vego_time = self.lidarBehindVRelDistTime
|
||||
self.min_object_detected_count_thr = int(-1 * self.lidarBsdDelayTime / DT_BROADCAST)
|
||||
self.disableBlindSpot = self.params.get_bool("DisableBlindSpot")
|
||||
self.dynamicBlindRange = self.params.get_int("DynamicBlindRange")
|
||||
self.dynamicBlindDistance = self.params.get_int("DynamicBlindDistance")
|
||||
@@ -896,9 +904,9 @@ class AmapNaviServ:
|
||||
self.shared_data.lb_vrel = self.leftFrontTarget.update(lb_dreltmp, dist_timems)
|
||||
#动态时距盲区判断
|
||||
self.lf_object_detected = self.is_side_object_risky(lf_dreltmp, self.shared_data.lf_vrel, self.shared_data.v_ego_m,
|
||||
self.min_vrel_vego_time, self.min_drel_vego_time)
|
||||
self.min_front_vrel_vego_time, self.min_front_drel_vego_time)
|
||||
self.lb_object_detected = self.is_side_object_risky(lb_dreltmp, self.shared_data.lb_vrel, self.shared_data.v_ego_m,
|
||||
self.min_vrel_vego_time, self.min_drel_vego_time)
|
||||
self.min_behind_vrel_vego_time, self.min_behind_drel_vego_time)
|
||||
if detect_side & 2:
|
||||
# 右前方
|
||||
if rf_drel is None: rf_drel = old_info.get("rf_drel", None) # 距离数据消抖
|
||||
@@ -924,13 +932,13 @@ class AmapNaviServ:
|
||||
self.shared_data.rb_vrel = self.rightBehindTarget.update(rb_dreltmp, dist_timems)
|
||||
#动态时距盲区判断
|
||||
self.rf_object_detected = self.is_side_object_risky(rf_dreltmp, self.shared_data.rf_vrel, self.shared_data.v_ego_m,
|
||||
self.min_vrel_vego_time, self.min_drel_vego_time)
|
||||
self.min_front_vrel_vego_time, self.min_front_drel_vego_time)
|
||||
self.rb_object_detected = self.is_side_object_risky(rb_dreltmp, self.shared_data.rb_vrel, self.shared_data.v_ego_m,
|
||||
self.min_vrel_vego_time, self.min_drel_vego_time)
|
||||
self.min_behind_vrel_vego_time, self.min_behind_drel_vego_time)
|
||||
#self.rb_object_detected = self.is_side_object_risky_debug(rb_drel, self.shared_data.rb_vrel,
|
||||
# self.shared_data.v_ego_m,
|
||||
# self.min_vrel_vego_time,
|
||||
# self.min_drel_vego_time, "RB")
|
||||
# self.min_front_vrel_vego_time,
|
||||
# self.min_front_drel_vego_time, "RB")
|
||||
|
||||
# 通讯时间检查
|
||||
now = time.time()
|
||||
@@ -1091,7 +1099,7 @@ class AmapNaviServ:
|
||||
danger_dist = max(v_ego_mps * min_drel_scale, 15)
|
||||
|
||||
# 未来距离预测
|
||||
future_dist = drel - closing_speed * time_horizon * 3
|
||||
future_dist = drel - closing_speed * time_horizon #* 3
|
||||
|
||||
# 判定规则:
|
||||
# 1) 未来距离过小(可调阈值 3~5m,我设成 4m)
|
||||
|
||||
@@ -156,6 +156,13 @@ class UnifiedParams:
|
||||
"SideRelDistTime": 10,
|
||||
"SidevRelDistTime": 10,
|
||||
"SideRadarMinDist": 0,
|
||||
|
||||
"LidarBsdDelayTime": 10,
|
||||
"LidarFrontVDistTime": 10,
|
||||
"LidarFrontvRelDistTime": 30,
|
||||
"LidarBehindVDistTime": 10,
|
||||
"LidarBehindvRelDistTime": 30,
|
||||
|
||||
"AutoTurnInNotRoadEdge": 1,
|
||||
"ContinuousLaneChange": 1,
|
||||
"ContinuousLaneChangeCnt": 4,
|
||||
|
||||
@@ -561,34 +561,34 @@
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"BsdDelayTime": {
|
||||
chineseName: "后盲区有车延时(20x0.1s)",
|
||||
chineseName: "原车雷达后盲区有车延时(x0.1s)",
|
||||
defaultValue: 20,
|
||||
description: "当后盲区有车信号消失后,经过延时的秒数后允许变道",
|
||||
description: "当原车雷达后盲区有车信号消失后,经过延时的秒数后允许变道",
|
||||
inputRange: [0, 100],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"SideBsdDelayTime": {
|
||||
chineseName: "侧前方有车延时(20x0.1s)",
|
||||
chineseName: "原车雷达侧前方有车延时(x0.1s)",
|
||||
defaultValue: 20,
|
||||
description: "当侧前方有车信号消失后,经过延时的秒数后允许变道",
|
||||
description: "当原车雷达侧前方有车信号消失后,经过延时的秒数后允许变道",
|
||||
inputRange: [0, 100],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"SideRelDistTime": {
|
||||
chineseName: "侧前方有车变道相对距离",
|
||||
chineseName: "原车雷达侧前方有车变道绝对速度时距(x0.1s)",
|
||||
defaultValue: 10,
|
||||
description: "当与侧前方车辆相对距离小于本车速度x时间时不允许变道,单位0.1秒",
|
||||
description: "当与原车雷达侧前方车辆的距离大于'本车速度x时间'时允许变道,单位0.1秒",
|
||||
inputRange: [0, 50],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"SidevRelDistTime": {
|
||||
chineseName: "侧前方有车变道等效距离",
|
||||
chineseName: "原车雷达侧前方有车允许变道相对速度时距(x0.1s)",
|
||||
defaultValue: 10,
|
||||
description: "侧前方车辆速度x3+相对距离小于本车速度x(时间+3)时,不允许变道,单位0.1秒",
|
||||
inputRange: [0, 50],
|
||||
@@ -597,14 +597,59 @@
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"SideRadarMinDist": {
|
||||
chineseName: "侧面最小雷达距离(0m)",
|
||||
chineseName: "原车雷达侧前方最小距离过滤(0m)",
|
||||
defaultValue: 0,
|
||||
description: "在左右两侧的车道上,忽略小于此雷达探测距离的车辆,单位为0.1m",
|
||||
description: "在原车雷达探测左右车道侧前方车辆时,小于设定距离的目标会被忽略,单位为0.1m",
|
||||
inputRange: [-50, 100],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"LidarBsdDelayTime": {
|
||||
chineseName: "激光雷达侧面车道有车延时(x0.1s)",
|
||||
defaultValue: 20,
|
||||
description: "当激光雷达探测侧面车道有车信号消失后,经过延时的秒数后允许变道",
|
||||
inputRange: [0, 100],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"LidarFrontVDistTime": {
|
||||
chineseName: "激光雷达侧前方有车允许变道绝对速度时距(x0.1s)",
|
||||
defaultValue: 10,
|
||||
description: "当与激光雷达侧前方车辆的距离大于'本车速度x时间'时允许变道,单位0.1秒",
|
||||
inputRange: [0, 50],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"LidarFrontvRelDistTime": {
|
||||
chineseName: "激光雷达侧前方有车允许变道相对速度时距(x0.1s)",
|
||||
defaultValue: 30,
|
||||
description: "当'本车相对于侧前方车辆的速度差x时间'小于两车距离时,允许变道,单位0.1秒",
|
||||
inputRange: [0, 200],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"LidarBehindVDistTime": {
|
||||
chineseName: "激光雷达侧后方有车允许变道的绝对速度时距(x0.1s)",
|
||||
defaultValue: 10,
|
||||
description: "当与激光雷达侧后方车辆的距离大于'对方速度x时间'时允许变道,单位0.1秒",
|
||||
inputRange: [0, 50],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"LidarBehindvRelDistTime": {
|
||||
chineseName: "激光雷达侧后方有车允许变道的相对速度时距(x0.1s)",
|
||||
defaultValue: 30,
|
||||
description: "当'侧后方车辆的相对于本车的速度差x时间'小于两车距离时,允许变道,单位0.1秒",
|
||||
inputRange: [0, 200],
|
||||
step: 1,
|
||||
uiType: "number",
|
||||
category: "公共参数设置"
|
||||
},
|
||||
"DynamicExperimentalSpeed": {
|
||||
chineseName: "实验模式:条件实验模式速度(-5)",
|
||||
defaultValue: -5,
|
||||
|
||||
Reference in New Issue
Block a user