Spin_detect
此函数是陀螺状态的入口函数
/** 锁定装甲板状态 */
else{
if(track_start){
t = time;
track_start = false;
return false;
}
dt = seconds_duration (time - t).count(); // 计算时间间隔
t = time; // 更新时间
/** 锁定装甲板 */
if(!Lock_Armor(Armors,dt)) return false;
/** 已锁定装甲板,进行枪管角度计算 */
Eigen::Vector3d rpy = AS.Barrel_Solve(enemy_armor.world_position);
Solve_pitch = rpy[1];
Solve_yaw = rpy[2];
/** 进入跟踪状态,进行陀螺检测 */
if(tracker_state == TRACKING){
Spin_detect(); // 陀螺状态检测
}
}
上面的代码是Track函数的代码截取,可以看到,只有在跟踪状态下才会进行陀螺的检测
分为4个模块:跟踪器选择模块、跟踪器维护模块、跟踪器新增判断模块、陀螺分数维护模块
分成4章单独讲解