package main

import (
	"cicv-data-closedloop/pjisuv_msgs"
	"cicv-data-closedloop/pjisuv_param"
	"fmt"
	"math"
)

func Topic() string {
	return "/tpperception"
}

// Label todo 禁止存在下划线_
func Label() string {
	return "TargetAhead"
}

func Rule(data *pjisuv_msgs.PerceptionObjects, param *pjisuv_param.PjisuvParam) string {
	defer func() {
		if r := recover(); r != nil {
			fmt.Println("Recovered from panic:", r)
		}
	}()
	for _, obj := range data.Objs {
		if math.Abs(float64(obj.Y)) <= 2.3 && obj.X >= 0 && obj.X <= 13 && param.AngularVelocityZOfCicvLocation < 5.5 && math.Abs(param.VelocityXOfCicvLocation) >= 0.5 {
			//event_label := "TargetAhead" //测试车正前方10米范围内有目标物(过滤掉测试车转弯的情况)
			//fmt.Println(event_label)
			return "TargetAhead"
		}
	}
	return ""
}