孟令鑫 před 1 rokem
rodič
revize
3ef8f90947

+ 7 - 12
aarch64/kinglong/master/package/service/produce_window.go

@@ -14,15 +14,10 @@ import (
 )
 
 var (
-	subscriber0Mutex sync.Mutex
-	subscriber1Mutex sync.Mutex
-	subscriber2Mutex sync.Mutex
-	subscriber3Mutex sync.Mutex
-	subscriber4Mutex sync.Mutex
-	m                sync.RWMutex
-	velocityX        float64
-	velocityY        float64
-	yaw              float64
+	m         sync.RWMutex
+	velocityX float64
+	velocityY float64
+	yaw       float64
 )
 
 // PrepareTimeWindowProducerQueue 负责监听所有主题并修改时间窗口
@@ -36,7 +31,7 @@ func PrepareTimeWindowProducerQueue() {
 	subscribersMutexes := make([]sync.Mutex, len(commonConfig.SubscribeTopics))
 	for i, topic := range commonConfig.SubscribeTopics {
 		c_log.GlobalLogger.Info("创建订阅者订阅话题:" + topic)
-		if topic == masterConfig.TopicOfCicvLocation {
+		if topic == masterConfig.TopicOfCicvLocation && len(masterConfig.RuleOfCicvLocation) > 0 {
 			subscribers[i], err = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  commonConfig.RosNode,
 				Topic: topic,
@@ -72,7 +67,7 @@ func PrepareTimeWindowProducerQueue() {
 			})
 		}
 
-		if topic == masterConfig.TopicOfTpperception {
+		if topic == masterConfig.TopicOfTpperception && len(masterConfig.RuleOfTpperception) > 0 {
 			subscribers[i], err = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  commonConfig.RosNode,
 				Topic: topic,
@@ -106,7 +101,7 @@ func PrepareTimeWindowProducerQueue() {
 				Node:  commonConfig.RosNode,
 				Topic: topic,
 				Callback: func(data *kinglong_msgs.Retrieval) {
-					if len(masterConfig.TopicOfDataRead) == 0 {
+					if len(masterConfig.TopicOfDataRead) == 0 && len(masterConfig.RuleOfDataRead) > 0 {
 						c_log.GlobalLogger.Infof("话题 %v 没有触发器", topic)
 						return
 					}

+ 1 - 1
aarch64/pji/master/package/service/produce_window.go

@@ -23,7 +23,7 @@ func PrepareTimeWindowProducerQueue() {
 	subscribersMutexes := make([]sync.Mutex, len(commonConfig.SubscribeTopics))
 	for i, topic := range commonConfig.SubscribeTopics {
 		c_log.GlobalLogger.Info("创建订阅者订阅话题:" + topic)
-		if topic == masterConfig.TopicOfObstacleDetection {
+		if topic == masterConfig.TopicOfObstacleDetection && len(masterConfig.RuleOfObstacleDetection) > 0 {
 			subscribers[i], err = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  commonConfig.RosNode,
 				Topic: topic,

+ 3 - 3
aarch64/pjisuv/master/package/service/produce_window.go

@@ -32,7 +32,7 @@ func PrepareTimeWindowProducerQueue() {
 	subscribersMutexes := make([]sync.Mutex, len(commonConfig.SubscribeTopics))
 	for i, topic := range commonConfig.SubscribeTopics {
 		c_log.GlobalLogger.Info("创建订阅者订阅话题:" + topic)
-		if topic == masterConfig.TopicOfCicvLocation {
+		if topic == masterConfig.TopicOfCicvLocation && len(masterConfig.RuleOfCicvLocation) > 0 {
 			subscribers[i], err = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  commonConfig.RosNode,
 				Topic: topic,
@@ -68,7 +68,7 @@ func PrepareTimeWindowProducerQueue() {
 			})
 		}
 
-		if topic == masterConfig.TopicOfTpperception {
+		if topic == masterConfig.TopicOfTpperception && len(masterConfig.RuleOfTpperception) > 0 {
 			subscribers[i], err = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  commonConfig.RosNode,
 				Topic: topic,
@@ -97,7 +97,7 @@ func PrepareTimeWindowProducerQueue() {
 			})
 		}
 
-		if topic == masterConfig.TopicOfDataRead {
+		if topic == masterConfig.TopicOfDataRead && len(masterConfig.RuleOfDataRead) > 0 {
 			subscribers[i], err = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  commonConfig.RosNode,
 				Topic: topic,