更新:1、调整航迹质量下降逻辑;

2、普通航迹消亡条件改为由航迹质量确定;

Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
This commit is contained in:
2026-10-20 10:47:05 +08:00
parent 4b70b24515
commit 782bff5e8e
3 changed files with 11 additions and 16 deletions
+4 -12
View File
@@ -57,7 +57,8 @@
#define TRACK_QUALITY_SNR_WEIGHT 0.3
#define TRACK_QUALITY_LEN_WEIGHT 0.2
#define TRACK_QUALITY_ITER_COEFF 0.8
#define TRACK_QUALITY_DECREASE_COEFF 0.005
#define TRACK_QUALITY_DECREASE_COEFF_O2 -0.0008
#define TRACK_QUALITY_DECREASE_COEFF_O1 -0.0025
//航迹起批质量条件
#define TRACK_START_QUALITY_L3 0.7
@@ -67,17 +68,8 @@
#define TRACK_START_QUALITY_L7 0.3
//航迹消批质量条件
#define TRACK_DIE_QUALITY_E4 0.3
#define TRACK_DIE_QUALITY_E5 0.4
#define TRACK_DIE_QUALITY_E6 0.5
#define TRACK_DIE_QUALITY_E7 0.6
#define TRACK_DIE_QUALITY_E8 0.7
#define TRACK_DIE_QUALITY_PRAMARY_E6 0.3
#define TRACK_DIE_QUALITY_PRAMARY_E7 0.4
#define TRACK_DIE_QUALITY_PRAMARY_E8 0.5
#define TRACK_DIE_QUALITY_PRAMARY_E9 0.6
#define TRACK_DIE_QUALITY_PRAMARY_E10 0.7
#define TRACK_DIE_QUALITY 0.3
#define TRACK_DIE_QUALITY_PRAMARY 0.3
#ifdef MECHANICAL_SCANNING
/******************************机扫数据处理参数**************************************/
+6 -3
View File
@@ -793,21 +793,24 @@ void Track_Asso:: model_filter(std::vector <Trust_Track> *trust_track,struct Ra
(*trust_track)[i].circle_id++;
(*trust_track)[i].T_track = static_cast<long long>((*trust_track)[i].T_track+delta_T*1000.0); //更新航迹时间
(*trust_track)[i].GNSS_time = static_cast<long long>((*trust_track)[i].GNSS_time+delta_T*1000.0); //更新航迹时间
(*trust_track)[i].Unupdated_time += static_cast<long long>(delta_T*1000.0);
(*trust_track)[i].Extrapolate_round =(*trust_track)[i].Extrapolate_round+1; //连续未用实点更新时间
(*trust_track)[i].point_flag=0; //虚点
(*trust_track)[i].Track_Update_Flag = 1; //航迹更新标志
}else{
(*trust_track)[i].Extrapolate_round =(*trust_track)[i].Extrapolate_round+1; //连续未用实点更新时间
(*trust_track)[i].Unupdated_time += static_cast<long long>(delta_T*1000.0);
(*trust_track)[i].point_flag=0; //虚点
(*trust_track)[i].Track_Update_Flag = 0; //航迹更新标志
}
//航迹质量递减
(*trust_track)[i].Quality -= (*trust_track)[i].Unupdated_time / 1000.0 * TRACK_QUALITY_DECREASE_COEFF;
double t = (*trust_track)[i].Unupdated_time / 1000.0;
(*trust_track)[i].Quality -= t * t * TRACK_QUALITY_DECREASE_COEFF_O2 + t * TRACK_QUALITY_DECREASE_COEFF_O1;
(*trust_track)[i].Unupdated_time += static_cast<long long>(delta_T*1000.0);
t = (*trust_track)[i].Unupdated_time / 1000.0;
(*trust_track)[i].Quality += t * t * TRACK_QUALITY_DECREASE_COEFF_O2 + t * TRACK_QUALITY_DECREASE_COEFF_O1;
(*trust_track)[i].Quality = (*trust_track)[i].Quality < 0.0 ? 0.0 : (*trust_track)[i].Quality;
(*trust_track)[i].Point_sum = (*trust_track)[i].Point_sum + 1;
}
}
}
+1 -1
View File
@@ -23,7 +23,7 @@ void Track_Die::track_die_process( std::vector <Trust_Track> *trust_track,
}
//非重点航迹自动消亡
if((*Iter).Track_Mode == 0 && (*Iter).primary_target_flag == 0 && (*Iter).Extrapolate_round > TRACK_DIE_ROUND)
if((*Iter).Track_Mode == 0 && (*Iter).primary_target_flag == 0 && (*Iter).Quality < TRACK_DIE_QUALITY)
{
die_flag = true;
}