TargetAhead.go 831 B

123456789101112131415161718192021222324252627282930313233
  1. package main
  2. import (
  3. "cicv-data-closedloop/pjisuv_msgs"
  4. "cicv-data-closedloop/pjisuv_param"
  5. "fmt"
  6. "math"
  7. )
  8. func Topic() string {
  9. return "/tpperception"
  10. }
  11. // Label todo 禁止存在下划线_
  12. func Label() string {
  13. return "TargetAhead"
  14. }
  15. func Rule(data *pjisuv_msgs.PerceptionObjects, param *pjisuv_param.PjisuvParam) string {
  16. defer func() {
  17. if r := recover(); r != nil {
  18. fmt.Println("Recovered from panic:", r)
  19. }
  20. }()
  21. for _, obj := range data.Objs {
  22. if math.Abs(float64(obj.Y)) <= 2.3 && obj.X >= 0 && obj.X <= 13 && param.AngularVelocityZOfCicvLocation < 5.5 && math.Abs(param.VelocityXOfCicvLocation) >= 0.5 {
  23. //event_label := "TargetAhead" //测试车正前方10米范围内有目标物(过滤掉测试车转弯的情况)
  24. //fmt.Println(event_label)
  25. return "TargetAhead"
  26. }
  27. }
  28. return ""
  29. }