更新:1、调整向站/背站的判断逻辑,解决速度模糊时判断有误的问题;
Signed-off-by: waiwaylee <waiwaylee@foxmail.com>
This commit is contained in:
@@ -268,10 +268,13 @@ int Data_Process:: track_delete(int delete_track_num, //手动
|
|||||||
int Data_Process::primary_target_add(int track_index)
|
int Data_Process::primary_target_add(int track_index)
|
||||||
{
|
{
|
||||||
|
|
||||||
for ( size_t i=0; i<trust_track.size();i++)
|
for ( size_t i=0; i<trust_track.size();i++){
|
||||||
if(trust_track[i].Track_Index==track_index)
|
if(trust_track[i].Track_Index==track_index)
|
||||||
{
|
{
|
||||||
trust_track[i].primary_target_flag = 1;
|
trust_track[i].primary_target_flag = 1;
|
||||||
|
//std::cout<< "Add primary target :" << trust_track[i].Track_Index << std::endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -285,6 +288,8 @@ int Data_Process::primary_target_cancel(int track_index)
|
|||||||
if(trust_track[i].Track_Index==track_index)
|
if(trust_track[i].Track_Index==track_index)
|
||||||
{
|
{
|
||||||
trust_track[i].primary_target_flag = 0;
|
trust_track[i].primary_target_flag = 0;
|
||||||
|
//std::cout<< "Cancel primary target :" << trust_track[i].Track_Index << std::endl;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -295,10 +300,12 @@ int Data_Process::primary_target_cancel(int track_index)
|
|||||||
int Data_Process:: tracking_start(int track_index) //需要手动转入TAS跟踪的航迹号
|
int Data_Process:: tracking_start(int track_index) //需要手动转入TAS跟踪的航迹号
|
||||||
{
|
{
|
||||||
|
|
||||||
for ( size_t i=0; i<trust_track.size();i++)
|
for ( size_t i=0; i<trust_track.size();i++){
|
||||||
if(trust_track[i].Track_Index==track_index)
|
if(trust_track[i].Track_Index==track_index)
|
||||||
{
|
{
|
||||||
trust_track[i].manual_tracking_flag = 1;
|
trust_track[i].manual_tracking_flag = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -313,6 +320,7 @@ int Data_Process:: tracking_stop(int track_index) //需要手动转
|
|||||||
{
|
{
|
||||||
trust_track[i].manual_tracking_flag = 0;
|
trust_track[i].manual_tracking_flag = 0;
|
||||||
trust_track[i].Track_Mode = 0;
|
trust_track[i].Track_Mode = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,8 +65,6 @@ int Track_Asso:: track_asso_process(std::vector<PointRecv> *point_
|
|||||||
//输出航迹
|
//输出航迹
|
||||||
for (size_t i=0;i<trust_track->size();i++)
|
for (size_t i=0;i<trust_track->size();i++)
|
||||||
{ // 输出更新航迹条件:
|
{ // 输出更新航迹条件:
|
||||||
// if((*trust_track)[i].manual_tracking_flag==0)
|
|
||||||
// {
|
|
||||||
if((*trust_track)[i].Track_Update_Flag==1){
|
if((*trust_track)[i].Track_Update_Flag==1){
|
||||||
(*trust_track)[i].Track_Update_Flag=0;
|
(*trust_track)[i].Track_Update_Flag=0;
|
||||||
*Trust_track_num_Output= *Trust_track_num_Output+1;
|
*Trust_track_num_Output= *Trust_track_num_Output+1;
|
||||||
@@ -111,7 +109,6 @@ int Track_Asso:: track_asso_process(std::vector<PointRecv> *point_
|
|||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].point_type=0;
|
Trust_Track_Output[*Trust_track_num_Output-1][0].point_type=0;
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].prf_point = static_cast<float>((*trust_track)[i].prf_point);
|
Trust_Track_Output[*Trust_track_num_Output-1][0].prf_point = static_cast<float>((*trust_track)[i].prf_point);
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].track_snr = static_cast<float>((*trust_track)[i].snr_point);
|
Trust_Track_Output[*Trust_track_num_Output-1][0].track_snr = static_cast<float>((*trust_track)[i].snr_point);
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=Trust_Track_Output[*Trust_track_num_Output-1][0].vr_point>0?1:0;
|
|
||||||
|
|
||||||
//直接输出点迹高度-20260605
|
//直接输出点迹高度-20260605
|
||||||
//Trust_Track_Output[*Trust_track_num_Output-1][0].z = (*trust_track)[i].range_point * sin((*trust_track)[i].elev_point/180.0*PI);
|
//Trust_Track_Output[*Trust_track_num_Output-1][0].z = (*trust_track)[i].range_point * sin((*trust_track)[i].elev_point/180.0*PI);
|
||||||
@@ -125,6 +122,26 @@ int Track_Asso:: track_asso_process(std::vector<PointRecv> *point_
|
|||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].v_x=static_cast<float>((*trust_track)[i].X[1]);
|
Trust_Track_Output[*Trust_track_num_Output-1][0].v_x=static_cast<float>((*trust_track)[i].X[1]);
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].v_y=static_cast<float>((*trust_track)[i].X[4]);
|
Trust_Track_Output[*Trust_track_num_Output-1][0].v_y=static_cast<float>((*trust_track)[i].X[4]);
|
||||||
|
|
||||||
|
// Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=Trust_Track_Output[*Trust_track_num_Output-1][0].vr_point>0?1:0;
|
||||||
|
|
||||||
|
if(acos((-x * (*trust_track)[i].X[1] - y * (*trust_track)[i].X[4]) / r / Trust_Track_Output[*Trust_track_num_Output-1][0].Range_V) < PI / 4)
|
||||||
|
{
|
||||||
|
Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=1;
|
||||||
|
// if(r*abs(sin(azi - Direction_Angle))<500)
|
||||||
|
// {
|
||||||
|
// Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=1;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=0;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].track_rcs = static_cast<float>((*trust_track)[i].RCS);
|
Trust_Track_Output[*Trust_track_num_Output-1][0].track_rcs = static_cast<float>((*trust_track)[i].RCS);
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].pitch_num = (*trust_track)[i].pitch_num;
|
Trust_Track_Output[*Trust_track_num_Output-1][0].pitch_num = (*trust_track)[i].pitch_num;
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,24 @@ long long latest_timestamp //最新时间戳
|
|||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].v_y=static_cast<float>((*trust_track)[i].X[4]);
|
Trust_Track_Output[*Trust_track_num_Output-1][0].v_y=static_cast<float>((*trust_track)[i].X[4]);
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].track_rcs = static_cast<float>((*trust_track)[i].RCS);
|
Trust_Track_Output[*Trust_track_num_Output-1][0].track_rcs = static_cast<float>((*trust_track)[i].RCS);
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].pitch_num = (*trust_track)[i].pitch_num;
|
Trust_Track_Output[*Trust_track_num_Output-1][0].pitch_num = (*trust_track)[i].pitch_num;
|
||||||
Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=Trust_Track_Output[*Trust_track_num_Output-1][0].vr_point>0?1:0;
|
// Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=Trust_Track_Output[*Trust_track_num_Output-1][0].vr_point>0?1:0;
|
||||||
|
|
||||||
|
if(acos((-x * (*trust_track)[i].X[1] - y * (*trust_track)[i].X[4]) / r / Trust_Track_Output[*Trust_track_num_Output-1][0].Range_V) < PI / 4)
|
||||||
|
{
|
||||||
|
Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=1;
|
||||||
|
// if(r*abs(sin(azi - Direction_Angle))<500)
|
||||||
|
// {
|
||||||
|
// Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=1;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=0;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Trust_Track_Output[*Trust_track_num_Output-1][0].Flag_Direction=0;
|
||||||
|
}
|
||||||
|
|
||||||
std::memcpy(Trust_Track_Output[*Trust_track_num_Output-1][0].speed_dim, (*trust_track)[i].speed_dim, sizeof(Trust_Track_Output[*Trust_track_num_Output-1][0].speed_dim));
|
std::memcpy(Trust_Track_Output[*Trust_track_num_Output-1][0].speed_dim, (*trust_track)[i].speed_dim, sizeof(Trust_Track_Output[*Trust_track_num_Output-1][0].speed_dim));
|
||||||
std::memcpy(Trust_Track_Output[*Trust_track_num_Output-1][0].range_dim, (*trust_track)[i].range_dim, sizeof(Trust_Track_Output[*Trust_track_num_Output-1][0].range_dim));
|
std::memcpy(Trust_Track_Output[*Trust_track_num_Output-1][0].range_dim, (*trust_track)[i].range_dim, sizeof(Trust_Track_Output[*Trust_track_num_Output-1][0].range_dim));
|
||||||
|
|||||||
Reference in New Issue
Block a user