OverSwing.go 989 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package main
  2. import (
  3. "cicv-data-closedloop/pjisuv_msgs"
  4. "cicv-data-closedloop/pjisuv_param"
  5. "fmt"
  6. "math"
  7. )
  8. /*
  9. def callback_cicv_location(data):
  10. global angular_velocity_z
  11. global Ego_position_x
  12. global Ego_position_y
  13. global Ego_yaw
  14. Ego_position_x=data.position_x
  15. Ego_position_y=data.position_y
  16. Ego_yaw=data.yaw
  17. #print(Ego_yaw)
  18. angular_velocity_z=data.angular_velocity_z
  19. #print(angular_velocity_z)
  20. if abs(angular_velocity_z)>=27:
  21. event_label='overswing' #横摆角速度过大
  22. print(event_label)
  23. */
  24. func Topic() string {
  25. return "/cicv_location"
  26. }
  27. func Label() string {
  28. return "OverSwing"
  29. }
  30. func Rule(data *pjisuv_msgs.PerceptionLocalization, param *pjisuv_param.PjisuvParam) string {
  31. defer func() {
  32. if r := recover(); r != nil {
  33. fmt.Println("Recovered from panic:", r)
  34. }
  35. }()
  36. if math.Abs(data.AngularVelocityZ) >= 27.0 && param.AutomodeOfPjVehicleFdbPub == 1 {
  37. return "OverSwing"
  38. } else {
  39. return ""
  40. }
  41. }