package main import ( "cicv-data-closedloop/pjisuv_msgs" "fmt" "sync" ) func Topic() string { return "/tpperception" } // 禁止存在下划线_ func Label() string { return "NumTargetsExceedThreshold" } func Rule(shareVars *sync.Map, data *pjisuv_msgs.PerceptionObjects) string { NumTargets := 0 defer func() { if r := recover(); r != nil { fmt.Println("Recovered from panic:", r) } }() velocityXOfCicvLocation, ok := shareVars.Load("VelocityXOfCicvLocation") if ok { if velocityXOfCicvLocation.(float64) > 2.5 && len(data.Objs) > 6 { for _, obj := range data.Objs { if obj.Type != 0 && obj.X >= 2 { NumTargets++ } } if NumTargets >= 5 { return Label() } } } return "" }