123456789101112131415161718192021222324252627282930313233343536 |
- package main
- import (
- "cicv-data-closedloop/pjisuv_msgs"
- "cicv-data-closedloop/pjisuv_param"
- "fmt"
- "math"
- )
- func Topic() string {
- return "/cicv_location"
- }
- // Label todo 禁止存在下划线_
- func Label() string {
- return "LocationJump"
- }
- // 主进程的逻辑是先判断触发再缓存全局变量
- func Rule(data *pjisuv_msgs.PerceptionLocalization, param *pjisuv_param.PjisuvParam) string {
- defer func() {
- if r := recover(); r != nil {
- fmt.Println("Recovered from panic:", r)
- }
- }()
- if param.PositionXOfCicvLocation != 0 && param.PositionYOfCicvLocation != 0 {
- d := math.Sqrt((param.PositionXOfCicvLocation-data.PositionX)*(param.PositionXOfCicvLocation-data.PositionX) + (param.PositionYOfCicvLocation-data.PositionY)*(param.PositionYOfCicvLocation-data.PositionY))
- if d >= 2 {
- eventLabel := "LocationJump"
- fmt.Println(eventLabel)
- return "LocationJump"
- }
- }
- return ""
- }
|