package main import ( "cicv-data-closedloop/pjisuv_msgs" "fmt" "math" "sync" ) // 记得在produce_window.go中将Yowslice的注释解除!!! var ( count1 int = 0 ) func Topic() string { return "/cicv_location" } // 禁止存在下划线_ func Label() string { return "TurnAround" } func IfTurnAround(Yowslice []float64) bool { diffangle := math.Abs(Yowslice[0] - Yowslice[len(Yowslice)-1]) //fmt.Println(diffangle) if diffangle >= 110 { return true } return false } func Rule(shareVars *sync.Map, data *pjisuv_msgs.PerceptionLocalization) string { defer func() { if r := recover(); r != nil { fmt.Println("Recovered from panic:", r) } }() if count1%200 == 0 { OutsideWorkshopFlag, ok3 := shareVars.Load("OutsideWorkshopFlag") Yowslice, ok := shareVars.Load("Yowslice") if ok3 && ok && OutsideWorkshopFlag.(bool) { if IfTurnAround(Yowslice.([]float64)) { eventLabel := "TurnAround" fmt.Println(eventLabel) count1 = 1 Yowslice = make([]float64, 0) shareVars.Store("Yowslice", Yowslice) return Label() } } count1 = 1 } count1++ return "" }