孟令鑫 1 vuosi sitten
vanhempi
commit
66043eb730

+ 1 - 1
pji_msgs/common_msgs.go

@@ -1,4 +1,4 @@
-package ros_message
+package pji_msgs
 
 import (
 	"github.com/bluenviron/goroslib/v2/pkg/msg"

+ 20 - 0
trigger/cpuoveroccupied/main/cpuoveroccupied.go

@@ -0,0 +1,20 @@
+package main
+
+import (
+	"cicv-data-closedloop/pji_msgs"
+)
+
+func Topic() string {
+	return "/sys_info"
+}
+
+func Label() string {
+	return "cpuoveroccupied"
+}
+
+func Rule(data *pji_msgs.SysInfo) string {
+	if data.CpuOccupied > 99 {
+		return "cpuoveroccupied"
+	}
+	return ""
+}

+ 20 - 0
trigger/detectfault/main/detectfault.go

@@ -0,0 +1,20 @@
+package main
+
+import (
+	"github.com/bluenviron/goroslib/v2/pkg/msgs/diagnostic_msgs"
+)
+
+func Topic() string {
+	return "/diagnostics"
+}
+
+func Label() string {
+	return "detectfault"
+}
+
+func Rule(data *diagnostic_msgs.DiagnosticArray) string {
+	if data.Status[0].Level >= 3 {
+		return "detectfault"
+	}
+	return ""
+}

+ 20 - 0
trigger/locationfailed/main/locationfailed.go

@@ -0,0 +1,20 @@
+package main
+
+import (
+	"cicv-data-closedloop/pji_msgs"
+)
+
+func Topic() string {
+	return "/locate_info"
+}
+
+func Label() string {
+	return "locationfailed"
+}
+
+func Rule(data *pji_msgs.LocateInfo) string {
+	if data.LocateStatus == 0 {
+		return "locationfailed"
+	}
+	return ""
+}

+ 20 - 0
trigger/memoveroccupied/main/memoveroccupied.go

@@ -0,0 +1,20 @@
+package main
+
+import (
+	"cicv-data-closedloop/pji_msgs"
+)
+
+func Topic() string {
+	return "/sys_info"
+}
+
+func Label() string {
+	return "memoveroccupied"
+}
+
+func Rule(data *pji_msgs.SysInfo) string {
+	if data.MemOccupied > 99 {
+		return "memoveroccupied"
+	}
+	return ""
+}

+ 21 - 0
trigger/obstacledetection/main/obstacledetection.go

@@ -0,0 +1,21 @@
+package main
+
+import (
+	"github.com/bluenviron/goroslib/v2/pkg/msgs/std_msgs"
+)
+
+func Topic() string {
+	return "/obstacle_detection"
+}
+
+func Label() string {
+	return "obstacledetection"
+}
+
+// TODO 如果速度很小则不触发
+func Rule(data *std_msgs.UInt8) string {
+	if data.Data != 0 {
+		return "obstacledetection"
+	}
+	return ""
+}

+ 24 - 0
trigger/overspeed/main/overspeed.go

@@ -0,0 +1,24 @@
+package main
+
+import (
+	"github.com/bluenviron/goroslib/v2/pkg/msgs/nav_msgs"
+	"math"
+)
+
+func Topic() string {
+	return "/odom"
+}
+
+func Label() string {
+	return "overspeed"
+}
+
+func Rule(data *nav_msgs.Odometry) string {
+	velocityX := data.Twist.Twist.Linear.X
+	velocityY := data.Twist.Twist.Linear.Y
+	absV := math.Pow(math.Pow(velocityX, 2)+math.Pow(velocityY, 2), 0.5)
+	if absV*3.6 > 0 {
+		return "overspeed"
+	}
+	return ""
+}

+ 21 - 0
trigger/unstabledriving/main/unstabledriving.go

@@ -0,0 +1,21 @@
+package main
+
+import (
+	"github.com/bluenviron/goroslib/v2/pkg/msgs/sensor_msgs"
+	"math"
+)
+
+func Topic() string {
+	return "/imu"
+}
+
+func Label() string {
+	return "unstabledriving"
+}
+
+func Rule(data *sensor_msgs.Imu) string {
+	if math.Abs(data.LinearAcceleration.X) >= 0.7 && math.Abs(data.LinearAcceleration.Y) >= 0.7 {
+		return "unstabledriving"
+	}
+	return ""
+}