LingxinMeng 11 mēneši atpakaļ
vecāks
revīzija
6712c7837b
1 mainītis faili ar 40 papildinājumiem un 38 dzēšanām
  1. 40 38
      aarch64/pjisuv/master/service/produce_window.go

+ 40 - 38
aarch64/pjisuv/master/service/produce_window.go

@@ -28,6 +28,8 @@ var (
 		ObjTypeDicOfTpperception:  make(map[uint32]uint8),
 		ObjSpeedDicOfTpperception: make(map[uint32]float64),
 	}
+	// 每个触发器5秒触发一次
+	triggerInterval = 5.0
 	// 保存时间窗口需要锁,防止数据竟态
 	saveTimeWindowMutex sync.Mutex
 	// /cicv_location
@@ -81,7 +83,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *visualization_msgs.MarkerArray) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -123,7 +125,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.BoundingBoxArray) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -165,7 +167,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.FaultVec) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -207,7 +209,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.Frame) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -249,7 +251,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.PointCloud2) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -291,7 +293,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.PointCloud2) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -333,7 +335,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.LaserScan) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -375,7 +377,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.PointCloud2) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -417,7 +419,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.LaserScan) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -459,7 +461,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.PerceptionCicvMovingObjects) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -502,7 +504,7 @@ func PrepareTimeWindowProducerQueue() {
 				Callback: func(data *pjisuv_msgs.Trajectory) {
 
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -568,7 +570,7 @@ func PrepareTimeWindowProducerQueue() {
 					mutexOfCicvLocation.RUnlock()
 
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -610,7 +612,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.AutowareCloudClusterArray) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -654,7 +656,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.HeartBeatInfo) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -696,7 +698,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *geometry_msgs.Vector3Stamped) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -740,7 +742,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *nav_msgs.Odometry) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -784,7 +786,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *geometry_msgs.PolygonStamped) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -828,7 +830,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *nav_msgs.Path) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -872,7 +874,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *nav_msgs.Path) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -916,7 +918,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.PolygonStamped) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -960,7 +962,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *visualization_msgs.MarkerArray) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1015,7 +1017,7 @@ func PrepareTimeWindowProducerQueue() {
 					}
 					mutexOfPjControlPub.RUnlock()
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1059,7 +1061,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.PointCloud2) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1103,7 +1105,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.PointCloud2) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1147,7 +1149,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *nav_msgs.Path) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1191,7 +1193,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.Trajectory) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1235,7 +1237,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.PointCloud2) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1279,7 +1281,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *nav_msgs.Path) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1323,7 +1325,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *tf2_msgs.TFMessage) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1385,7 +1387,7 @@ func PrepareTimeWindowProducerQueue() {
 					}
 					mutexOfTpperception.RUnlock()
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1438,7 +1440,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *visualization_msgs.MarkerArray) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1482,7 +1484,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.RoutePlan) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1526,7 +1528,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *nav_msgs.Path) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1570,7 +1572,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.PointCloud2) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1614,7 +1616,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *sensor_msgs.Image) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1669,7 +1671,7 @@ func PrepareTimeWindowProducerQueue() {
 					}
 					mutexOfDataRead.RUnlock()
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1712,7 +1714,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.PerceptionLocalization) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口
@@ -1756,7 +1758,7 @@ func PrepareTimeWindowProducerQueue() {
 				Topic: topic,
 				Callback: func(data *pjisuv_msgs.VehicleFdb) {
 					subscribersTimeMutexes[i].Lock()
-					if time.Since(subscribersTimes[i]).Seconds() > 1 {
+					if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 						subscribersMutexes[i].Lock()
 						faultHappenTime := util.GetNowTimeCustom()         // 获取当前故障发生时间
 						lastTimeWindow := commonEntity.GetLastTimeWindow() // 获取最后一个时间窗口