更新:1、修复取消TAS时的判断条件问题;
2、修复TWS时错误的将TAS航迹外推的问题; 3、修复非重点航迹消亡的条件判断的问题; 4、修改航迹指纹计算的问题; Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
This commit is contained in:
@@ -205,7 +205,7 @@ void TAS_Ctrl::tas_target_del(std::vector<Trust_Track> *trust_track,
|
||||
for (size_t j=0;j<trust_track->size();j++){
|
||||
if(tas_target_queue[i].Index==(*trust_track)[j].Track_Index){
|
||||
track_index = static_cast<int>(j);
|
||||
if((*trust_track)[j].Track_Mode == 1 && (*trust_track)[j].manual_tracking_flag == 1){
|
||||
if((*trust_track)[j].Track_Mode == 1 && (*trust_track)[j].manual_untracking_flag != 1){
|
||||
flag=1;
|
||||
}
|
||||
break;
|
||||
@@ -362,7 +362,6 @@ void TAS_Ctrl::tas_beam_output(std::vector<Trust_Track> *trust_track
|
||||
if(earliest_track_idx == -1)
|
||||
{
|
||||
Tracking_beam->open_flag = 0;
|
||||
// RDP_LOG_INFO("TAS close {} {} {}", CPI_time, earliest_CPI_time, delta_T_last_track);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -378,19 +377,12 @@ void TAS_Ctrl::tas_beam_output(std::vector<Trust_Track> *trust_track
|
||||
|
||||
//目标距离
|
||||
Tracking_beam->Range=(float)range;
|
||||
|
||||
//目标方位
|
||||
Tracking_beam->Azi=(float)amzi/PI*180;
|
||||
// Tracking_beam->Azi+=6;
|
||||
|
||||
//目标俯仰角
|
||||
double elev=asin(H_track/range)/PI*180;
|
||||
|
||||
// if(elev<=0)
|
||||
// elev=0;
|
||||
// else if(elev>=40)
|
||||
// elev=40;
|
||||
// else
|
||||
// elev=elev;
|
||||
|
||||
Tracking_beam->Elev= max((float)elev, rdp_parameter.tas_beam_pitch_min);
|
||||
|
||||
//跟踪波束类型
|
||||
@@ -402,7 +394,7 @@ void TAS_Ctrl::tas_beam_output(std::vector<Trust_Track> *trust_track
|
||||
//跟踪波束开关开启
|
||||
Tracking_beam->open_flag=1;
|
||||
|
||||
// RDP_LOG_INFO("TAS <{}> output: range: {} azi: {} pit: {}", Tracking_beam->TAS_track_index, Tracking_beam->Range, Tracking_beam->Azi, Tracking_beam->Elev);
|
||||
RDP_LOG_DEBUG("TAS <{}-{}> : range: {} azi: {} pit: {}", (*trust_track)[earliest_track_idx].Track_Index, Tracking_beam->TAS_track_index, Tracking_beam->Range, Tracking_beam->Azi, Tracking_beam->Elev);
|
||||
}
|
||||
|
||||
int TAS_Ctrl::tas_auto_start(double v, double r, double h)
|
||||
|
||||
@@ -775,7 +775,7 @@ void Track_Asso:: model_filter(std::vector <Trust_Track> *trust_track, long long
|
||||
//未关联上的航迹 进行外推 tws
|
||||
for (size_t i =0; i<(*trust_track).size();i++ )
|
||||
{
|
||||
if((*trust_track)[i].point_flag == 0 && (*trust_track)[i].manual_tracking_flag == 0) //未关联上点迹的航迹进行外推
|
||||
if((*trust_track)[i].point_flag == 0 && (*trust_track)[i].Track_Mode == 0) //未关联上点迹的航迹进行外推
|
||||
{
|
||||
double delta_T = 0;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "track_die.h"
|
||||
#include "kalman.h"
|
||||
#include "coor_trans.h"
|
||||
#include "rdp_log.h"
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
@@ -32,7 +33,7 @@ void Track_Die::track_die_process( std::vector <Trust_Track> *trust_track,
|
||||
}else{
|
||||
//按圈数条件消亡
|
||||
//非重点航迹自动消亡
|
||||
if((*Iter).Track_Mode == 0 && (*Iter).primary_target_flag == 0 && (*Iter).Extrapolate_round < rdp_parameter.track_die_round)
|
||||
if((*Iter).Track_Mode == 0 && (*Iter).primary_target_flag == 0 && (*Iter).Extrapolate_round > rdp_parameter.track_die_round)
|
||||
{
|
||||
die_flag = true;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "track_init.h"
|
||||
#include "kalman.h"
|
||||
#include "coor_trans.h"
|
||||
#include "rdp_log.h"
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
@@ -633,7 +634,7 @@ void Track_Init::tmp_track_to_trust_track(std::vector<Trust_Track> *trust_tra
|
||||
memcpy(trust_track_tmp.P, P, 6*6*sizeof(double));
|
||||
|
||||
//计算航迹指纹
|
||||
trust_track_tmp.Track_fingerprint = computeFingerprint(Track_to_start[i][L-1].r, Track_to_start[i][L-1].azi, Track_to_start[i][L-1].vr, Track_to_start[i][L-1].RCS, Track_to_start[i][L-1].CPI_time);
|
||||
trust_track_tmp.Track_fingerprint = computeFingerprint(Track_to_start[i][0].r, Track_to_start[i][0].azi, Track_to_start[i][0].vr, Track_to_start[i][0].RCS, Track_to_start[i][0].CPI_time);
|
||||
|
||||
trust_track_tmp.track_id = Track_to_start[i][L-1].temp_track_id;
|
||||
trust_track_tmp.point_id = Track_to_start[i][L-1].point_id;
|
||||
|
||||
Reference in New Issue
Block a user