BrakeWithHighSpeed.go 709 B

1234567891011121314151617181920212223242526272829303132333435
  1. package main
  2. import (
  3. "cicv-data-closedloop/pjisuv_msgs"
  4. "fmt"
  5. "sync"
  6. )
  7. var (
  8. threshold float64 = 5.4
  9. )
  10. func Topic() string {
  11. return "/cicv_location"
  12. }
  13. // 禁止存在下划线_
  14. func Label() string {
  15. return "BrakeWithHighSpeed"
  16. }
  17. func Rule(shareVars *sync.Map, data *pjisuv_msgs.PerceptionLocalization) string {
  18. defer func() {
  19. if r := recover(); r != nil {
  20. fmt.Println("Recovered from panic:", r)
  21. }
  22. }()
  23. OutsideWorkshopFlag, _ := shareVars.Load("OutsideWorkshopFlag")
  24. OutsideWorkshopFlag = OutsideWorkshopFlag.(bool)
  25. AbsSpeed, _ := shareVars.Load("AbsSpeed")
  26. if data.AccelX*9.8 < -12.0 && OutsideWorkshopFlag == true && AbsSpeed.(float64) > threshold {
  27. return Label()
  28. }
  29. return ""
  30. }