LingxinMeng 9 月之前
父節點
當前提交
3dfe3ea23b

+ 4 - 1
aarch64/pjisuv/README.md

@@ -9,4 +9,7 @@
 
 
 # 添加共享变量
-./master/service/produce_window.go
+./master/service/produce_window.go
+
+## 已保存共享变量
+- 

+ 0 - 157
aarch64/pjisuv/master/config/trigger_init.go

@@ -5,7 +5,6 @@ import (
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/util"
 	"cicv-data-closedloop/pjisuv_msgs"
-	entity "cicv-data-closedloop/pjisuv_param"
 	"cicv-data-closedloop/pjisuv_ticker"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/geometry_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/nav_msgs"
@@ -95,10 +94,6 @@ func InitTriggerConfig() {
 				RuleOfAmrPose1 = append(RuleOfAmrPose1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *visualization_msgs.MarkerArray, param *entity.PjisuvParam) string); ok2 {
-				RuleOfAmrPose2 = append(RuleOfAmrPose2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string); ok3 {
 				RuleOfAmrPose3 = append(RuleOfAmrPose3, f)
 				goto JudgeDone
@@ -110,10 +105,6 @@ func InitTriggerConfig() {
 				RuleOfBoundingBoxesFast1 = append(RuleOfBoundingBoxesFast1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.BoundingBoxArray, param *entity.PjisuvParam) string); ok2 {
-				RuleOfBoundingBoxesFast2 = append(RuleOfBoundingBoxesFast2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.BoundingBoxArray) string); ok3 {
 				RuleOfBoundingBoxesFast3 = append(RuleOfBoundingBoxesFast3, f)
 				goto JudgeDone
@@ -125,10 +116,6 @@ func InitTriggerConfig() {
 				RuleOfCameraFault1 = append(RuleOfCameraFault1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.FaultVec, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCameraFault2 = append(RuleOfCameraFault2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.FaultVec) string); ok3 {
 				RuleOfCameraFault3 = append(RuleOfCameraFault3, f)
 				goto JudgeDone
@@ -140,10 +127,6 @@ func InitTriggerConfig() {
 				RuleOfCanData1 = append(RuleOfCanData1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.Frame, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCanData2 = append(RuleOfCanData2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.Frame) string); ok3 {
 				RuleOfCanData3 = append(RuleOfCanData3, f)
 				goto JudgeDone
@@ -155,10 +138,6 @@ func InitTriggerConfig() {
 				RuleOfCh128x1LslidarPointCloud1 = append(RuleOfCh128x1LslidarPointCloud1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCh128x1LslidarPointCloud2 = append(RuleOfCh128x1LslidarPointCloud2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string); ok3 {
 				RuleOfCh128x1LslidarPointCloud3 = append(RuleOfCh128x1LslidarPointCloud3, f)
 				goto JudgeDone
@@ -170,10 +149,6 @@ func InitTriggerConfig() {
 				RuleOfCh64wLLslidarPointCloud1 = append(RuleOfCh64wLLslidarPointCloud1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCh64wLLslidarPointCloud2 = append(RuleOfCh64wLLslidarPointCloud2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string); ok3 {
 				RuleOfCh64wLLslidarPointCloud3 = append(RuleOfCh64wLLslidarPointCloud3, f)
 				goto JudgeDone
@@ -185,10 +160,6 @@ func InitTriggerConfig() {
 				RuleOfCh64wLScan1 = append(RuleOfCh64wLScan1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.LaserScan, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCh64wLScan2 = append(RuleOfCh64wLScan2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.LaserScan) string); ok3 {
 				RuleOfCh64wLScan3 = append(RuleOfCh64wLScan3, f)
 				goto JudgeDone
@@ -200,10 +171,6 @@ func InitTriggerConfig() {
 				RuleOfCh64wRLslidarPointCloud1 = append(RuleOfCh64wRLslidarPointCloud1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCh64wRLslidarPointCloud2 = append(RuleOfCh64wRLslidarPointCloud2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string); ok3 {
 				RuleOfCh64wRLslidarPointCloud3 = append(RuleOfCh64wRLslidarPointCloud3, f)
 				goto JudgeDone
@@ -215,10 +182,6 @@ func InitTriggerConfig() {
 				RuleOfCh64wRScan1 = append(RuleOfCh64wRScan1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.LaserScan, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCh64wRScan2 = append(RuleOfCh64wRScan2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.LaserScan) string); ok3 {
 				RuleOfCh64wRScan3 = append(RuleOfCh64wRScan3, f)
 				goto JudgeDone
@@ -230,10 +193,6 @@ func InitTriggerConfig() {
 				RuleOfCicvLidarclusterMovingObjects1 = append(RuleOfCicvLidarclusterMovingObjects1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.PerceptionCicvMovingObjects, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCicvLidarclusterMovingObjects2 = append(RuleOfCicvLidarclusterMovingObjects2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionCicvMovingObjects) string); ok3 {
 				RuleOfCicvLidarclusterMovingObjects3 = append(RuleOfCicvLidarclusterMovingObjects3, f)
 				goto JudgeDone
@@ -245,10 +204,6 @@ func InitTriggerConfig() {
 				RuleOfCicvAmrTrajectory1 = append(RuleOfCicvAmrTrajectory1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.Trajectory, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCicvAmrTrajectory2 = append(RuleOfCicvAmrTrajectory2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.Trajectory) string); ok3 {
 				RuleOfCicvAmrTrajectory3 = append(RuleOfCicvAmrTrajectory3, f)
 				goto JudgeDone
@@ -260,10 +215,6 @@ func InitTriggerConfig() {
 				RuleOfCicvLocation1 = append(RuleOfCicvLocation1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.PerceptionLocalization, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCicvLocation2 = append(RuleOfCicvLocation2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionLocalization) string); ok3 {
 				RuleOfCicvLocation3 = append(RuleOfCicvLocation3, f)
 				goto JudgeDone
@@ -275,10 +226,6 @@ func InitTriggerConfig() {
 				RuleOfCloudClusters1 = append(RuleOfCloudClusters1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.AutowareCloudClusterArray, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCloudClusters2 = append(RuleOfCloudClusters2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.AutowareCloudClusterArray) string); ok3 {
 				RuleOfCloudClusters3 = append(RuleOfCloudClusters3, f)
 				goto JudgeDone
@@ -290,10 +237,6 @@ func InitTriggerConfig() {
 				RuleOfHeartbeatInfo1 = append(RuleOfHeartbeatInfo1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.HeartBeatInfo, param *entity.PjisuvParam) string); ok2 {
-				RuleOfHeartbeatInfo2 = append(RuleOfHeartbeatInfo2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.HeartBeatInfo) string); ok3 {
 				RuleOfHeartbeatInfo3 = append(RuleOfHeartbeatInfo3, f)
 				goto JudgeDone
@@ -305,10 +248,6 @@ func InitTriggerConfig() {
 				RuleOfLidarPretreatmentCost1 = append(RuleOfLidarPretreatmentCost1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *geometry_msgs.Vector3Stamped, param *entity.PjisuvParam) string); ok2 {
-				RuleOfLidarPretreatmentCost2 = append(RuleOfLidarPretreatmentCost2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *geometry_msgs.Vector3Stamped) string); ok3 {
 				RuleOfLidarPretreatmentCost3 = append(RuleOfLidarPretreatmentCost3, f)
 				goto JudgeDone
@@ -320,10 +259,6 @@ func InitTriggerConfig() {
 				RuleOfLidarPretreatmentOdometry1 = append(RuleOfLidarPretreatmentOdometry1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *nav_msgs.Odometry, param *entity.PjisuvParam) string); ok2 {
-				RuleOfLidarPretreatmentOdometry2 = append(RuleOfLidarPretreatmentOdometry2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *nav_msgs.Odometry) string); ok3 {
 				RuleOfLidarPretreatmentOdometry3 = append(RuleOfLidarPretreatmentOdometry3, f)
 				goto JudgeDone
@@ -335,10 +270,6 @@ func InitTriggerConfig() {
 				RuleOfLidarRoi1 = append(RuleOfLidarRoi1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *geometry_msgs.PolygonStamped, param *entity.PjisuvParam) string); ok2 {
-				RuleOfLidarRoi2 = append(RuleOfLidarRoi2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *geometry_msgs.PolygonStamped) string); ok3 {
 				RuleOfLidarRoi3 = append(RuleOfLidarRoi3, f)
 				goto JudgeDone
@@ -350,10 +281,6 @@ func InitTriggerConfig() {
 				RuleOfLine11 = append(RuleOfLine11, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *nav_msgs.Path, param *entity.PjisuvParam) string); ok2 {
-				RuleOfLine12 = append(RuleOfLine12, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *nav_msgs.Path) string); ok3 {
 				RuleOfLine13 = append(RuleOfLine13, f)
 				goto JudgeDone
@@ -365,10 +292,6 @@ func InitTriggerConfig() {
 				RuleOfLine21 = append(RuleOfLine21, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *nav_msgs.Path, param *entity.PjisuvParam) string); ok2 {
-				RuleOfLine22 = append(RuleOfLine22, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *nav_msgs.Path) string); ok3 {
 				RuleOfLine23 = append(RuleOfLine23, f)
 				goto JudgeDone
@@ -380,10 +303,6 @@ func InitTriggerConfig() {
 				RuleOfMapPolygon1 = append(RuleOfMapPolygon1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.PolygonStamped, param *entity.PjisuvParam) string); ok2 {
-				RuleOfMapPolygon2 = append(RuleOfMapPolygon2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.PolygonStamped) string); ok3 {
 				RuleOfMapPolygon3 = append(RuleOfMapPolygon3, f)
 				goto JudgeDone
@@ -395,10 +314,6 @@ func InitTriggerConfig() {
 				RuleOfObstacleDisplay1 = append(RuleOfObstacleDisplay1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *visualization_msgs.MarkerArray, param *entity.PjisuvParam) string); ok2 {
-				RuleOfObstacleDisplay2 = append(RuleOfObstacleDisplay2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string); ok3 {
 				RuleOfObstacleDisplay3 = append(RuleOfObstacleDisplay3, f)
 				goto JudgeDone
@@ -410,10 +325,6 @@ func InitTriggerConfig() {
 				RuleOfPjControlPub1 = append(RuleOfPjControlPub1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.CommonVehicleCmd, param *entity.PjisuvParam) string); ok2 {
-				RuleOfPjControlPub2 = append(RuleOfPjControlPub2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.CommonVehicleCmd) string); ok3 {
 				RuleOfPjControlPub3 = append(RuleOfPjControlPub3, f)
 				goto JudgeDone
@@ -425,10 +336,6 @@ func InitTriggerConfig() {
 				RuleOfPointsCluster1 = append(RuleOfPointsCluster1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string); ok2 {
-				RuleOfPointsCluster2 = append(RuleOfPointsCluster2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string); ok3 {
 				RuleOfPointsCluster3 = append(RuleOfPointsCluster3, f)
 				goto JudgeDone
@@ -440,10 +347,6 @@ func InitTriggerConfig() {
 				RuleOfPointsConcat1 = append(RuleOfPointsConcat1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string); ok2 {
-				RuleOfPointsConcat2 = append(RuleOfPointsConcat2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string); ok3 {
 				RuleOfPointsConcat3 = append(RuleOfPointsConcat3, f)
 				goto JudgeDone
@@ -455,10 +358,6 @@ func InitTriggerConfig() {
 				RuleOfReferenceDisplay1 = append(RuleOfReferenceDisplay1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *nav_msgs.Path, param *entity.PjisuvParam) string); ok2 {
-				RuleOfReferenceDisplay2 = append(RuleOfReferenceDisplay2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *nav_msgs.Path) string); ok3 {
 				RuleOfReferenceDisplay3 = append(RuleOfReferenceDisplay3, f)
 				goto JudgeDone
@@ -470,10 +369,6 @@ func InitTriggerConfig() {
 				RuleOfReferenceTrajectory1 = append(RuleOfReferenceTrajectory1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.Trajectory, param *entity.PjisuvParam) string); ok2 {
-				RuleOfReferenceTrajectory2 = append(RuleOfReferenceTrajectory2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.Trajectory) string); ok3 {
 				RuleOfReferenceTrajectory3 = append(RuleOfReferenceTrajectory3, f)
 				goto JudgeDone
@@ -485,10 +380,6 @@ func InitTriggerConfig() {
 				RuleOfRoiPoints1 = append(RuleOfRoiPoints1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string); ok2 {
-				RuleOfRoiPoints2 = append(RuleOfRoiPoints2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string); ok3 {
 				RuleOfRoiPoints3 = append(RuleOfRoiPoints3, f)
 				goto JudgeDone
@@ -500,10 +391,6 @@ func InitTriggerConfig() {
 				RuleOfRoiPolygon1 = append(RuleOfRoiPolygon1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *nav_msgs.Path, param *entity.PjisuvParam) string); ok2 {
-				RuleOfRoiPolygon2 = append(RuleOfRoiPolygon2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *nav_msgs.Path) string); ok3 {
 				RuleOfRoiPolygon3 = append(RuleOfRoiPolygon3, f)
 				goto JudgeDone
@@ -515,10 +402,6 @@ func InitTriggerConfig() {
 				RuleOfTf1 = append(RuleOfTf1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *tf2_msgs.TFMessage, param *entity.PjisuvParam) string); ok2 {
-				RuleOfTf2 = append(RuleOfTf2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *tf2_msgs.TFMessage) string); ok3 {
 				RuleOfTf3 = append(RuleOfTf3, f)
 				goto JudgeDone
@@ -530,10 +413,6 @@ func InitTriggerConfig() {
 				RuleOfTpperception1 = append(RuleOfTpperception1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.PerceptionObjects, param *entity.PjisuvParam) string); ok2 {
-				RuleOfTpperception2 = append(RuleOfTpperception2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionObjects) string); ok3 {
 				RuleOfTpperception3 = append(RuleOfTpperception3, f)
 				goto JudgeDone
@@ -545,10 +424,6 @@ func InitTriggerConfig() {
 				RuleOfTpperceptionVis1 = append(RuleOfTpperceptionVis1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *visualization_msgs.MarkerArray, param *entity.PjisuvParam) string); ok2 {
-				RuleOfTpperceptionVis2 = append(RuleOfTpperceptionVis2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string); ok3 {
 				RuleOfTpperceptionVis3 = append(RuleOfTpperceptionVis3, f)
 				goto JudgeDone
@@ -560,10 +435,6 @@ func InitTriggerConfig() {
 				RuleOfTprouteplan1 = append(RuleOfTprouteplan1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.RoutePlan, param *entity.PjisuvParam) string); ok2 {
-				RuleOfTprouteplan2 = append(RuleOfTprouteplan2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.RoutePlan) string); ok3 {
 				RuleOfTprouteplan3 = append(RuleOfTprouteplan3, f)
 				goto JudgeDone
@@ -575,10 +446,6 @@ func InitTriggerConfig() {
 				RuleOfTrajectoryDisplay1 = append(RuleOfTrajectoryDisplay1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *nav_msgs.Path, param *entity.PjisuvParam) string); ok2 {
-				RuleOfTrajectoryDisplay2 = append(RuleOfTrajectoryDisplay2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *nav_msgs.Path) string); ok3 {
 				RuleOfTrajectoryDisplay3 = append(RuleOfTrajectoryDisplay3, f)
 				goto JudgeDone
@@ -590,10 +457,6 @@ func InitTriggerConfig() {
 				RuleOfUngroundCloudpoints1 = append(RuleOfUngroundCloudpoints1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string); ok2 {
-				RuleOfUngroundCloudpoints2 = append(RuleOfUngroundCloudpoints2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string); ok3 {
 				RuleOfUngroundCloudpoints3 = append(RuleOfUngroundCloudpoints3, f)
 				goto JudgeDone
@@ -605,10 +468,6 @@ func InitTriggerConfig() {
 				RuleOfCameraImage1 = append(RuleOfCameraImage1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *sensor_msgs.Image, param *entity.PjisuvParam) string); ok2 {
-				RuleOfCameraImage2 = append(RuleOfCameraImage2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *sensor_msgs.Image) string); ok3 {
 				RuleOfCameraImage3 = append(RuleOfCameraImage3, f)
 				goto JudgeDone
@@ -620,10 +479,6 @@ func InitTriggerConfig() {
 				RuleOfDataRead1 = append(RuleOfDataRead1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.Retrieval, param *entity.PjisuvParam) string); ok2 {
-				RuleOfDataRead2 = append(RuleOfDataRead2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.Retrieval) string); ok3 {
 				RuleOfDataRead3 = append(RuleOfDataRead3, f)
 				goto JudgeDone
@@ -635,10 +490,6 @@ func InitTriggerConfig() {
 				RuleOfPjiGps1 = append(RuleOfPjiGps1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.PerceptionLocalization, param *entity.PjisuvParam) string); ok2 {
-				RuleOfPjiGps2 = append(RuleOfPjiGps2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionLocalization) string); ok3 {
 				RuleOfPjiGps3 = append(RuleOfPjiGps3, f)
 				goto JudgeDone
@@ -650,10 +501,6 @@ func InitTriggerConfig() {
 				RuleOfFaultInfo1 = append(RuleOfFaultInfo1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.FaultVec, param *entity.PjisuvParam) string); ok2 {
-				RuleOfFaultInfo2 = append(RuleOfFaultInfo2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.FaultVec) string); ok3 {
 				RuleOfFaultInfo3 = append(RuleOfFaultInfo3, f)
 				goto JudgeDone
@@ -665,10 +512,6 @@ func InitTriggerConfig() {
 				RuleOfPjVehicleFdbPub1 = append(RuleOfPjVehicleFdbPub1, f)
 				goto JudgeDone
 			}
-			if f, ok2 := rule.(func(data *pjisuv_msgs.VehicleFdb, param *entity.PjisuvParam) string); ok2 {
-				RuleOfPjVehicleFdbPub2 = append(RuleOfPjVehicleFdbPub2, f)
-				goto JudgeDone
-			}
 			if f, ok3 := rule.(func(shareVars *sync.Map, data *pjisuv_msgs.VehicleFdb) string); ok3 {
 				RuleOfPjVehicleFdbPub3 = append(RuleOfPjVehicleFdbPub3, f)
 				goto JudgeDone

+ 56 - 524
aarch64/pjisuv/master/service/produce_window.go

@@ -8,7 +8,6 @@ import (
 	commonEntity "cicv-data-closedloop/common/entity"
 	"cicv-data-closedloop/common/util"
 	"cicv-data-closedloop/pjisuv_msgs"
-	"cicv-data-closedloop/pjisuv_param"
 	"cicv-data-closedloop/pjisuv_ticker"
 	"github.com/bluenviron/goroslib/v2"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/geometry_msgs"
@@ -21,34 +20,25 @@ import (
 	"time"
 )
 
-// 所有共享变量
 var (
-	tickChan = make(chan string)
-
-	pjisuvParam = pjisuv_param.PjisuvParam{
-		ObjDicOfTpperception:      make(map[uint32][]float32),
-		ObjTypeDicOfTpperception:  make(map[uint32]uint8),
-		ObjSpeedDicOfTpperception: make(map[uint32]float64),
-	}
-
-	shareVars = new(sync.Map)
-
-	// 保存时间窗口需要锁,防止数据竟态
-	saveTimeWindowMutex sync.Mutex
-	// /cicv_location
-	mutexOfCicvLocation sync.RWMutex
+	// -----------------------------共享变量
 	// /tpperception
-	mutexOfTpperception sync.RWMutex
-	// /pj_control_pub
-	mutexOfPjControlPub sync.RWMutex
+	objDicOfTpperception      = make(map[uint32][]float32)
+	objTypeDicOfTpperception  = make(map[uint32]uint8)
+	objSpeedDicOfTpperception = make(map[uint32]float64)
+	// /pji_control_pub
+	numCountPjiControlCommandOfPjControlPub int
+	egoSteeringCmdOfPjControlPub            []float64
+	egoThrottleCmdOfPjControlPub            []float64
 	// /data_read
-	mutexOfDataRead sync.RWMutex
-	// /pj_vehicle_fdb_pub
-	mutexOfCicvAmrTrajectory sync.RWMutex
-
+	numCountDataReadOfDataRead int
+	egoSteeringRealOfDataRead  []float64
+	egoThrottleRealOfDataRead  []float64
+	// --------------------------------------------------
+	shareVars           = new(sync.Map)
+	saveTimeWindowMutex sync.Mutex // 保存时间窗口需要锁,防止数据竟态
 	latestTimeWindowEnd = util.GetTimeCustom(time.Now())
-	// 每个触发器5秒触发一次
-	triggerInterval = 3.0
+	triggerInterval     = 3.0 // 每个触发器3秒触发一次
 )
 
 // 负责监听所有主题并修改时间窗口
@@ -109,10 +99,9 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfAmrPose2) > 0 {
-								for _, f := range masterConfig.RuleOfAmrPose2 {
-									faultLabel = f(data, &pjisuvParam)
+							if len(masterConfig.RuleOfAmrPose3) > 0 {
+								for _, f := range masterConfig.RuleOfAmrPose3 {
+									faultLabel = f(shareVars, data)
 									if faultLabel != "" {
 										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
 										subscribersTimes[i] = time.Now()
@@ -120,7 +109,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
 						TriggerSuccess:
 							subscribersMutexes[i].Unlock()
 						}
@@ -154,17 +142,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfBoundingBoxesFast2) > 0 {
-								for _, f := range masterConfig.RuleOfBoundingBoxesFast2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfBoundingBoxesFast3) > 0 {
 								for _, f := range masterConfig.RuleOfBoundingBoxesFast3 {
 									faultLabel = f(shareVars, data)
@@ -175,7 +152,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
 						TriggerSuccess:
 							subscribersMutexes[i].Unlock()
 						}
@@ -209,17 +185,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCameraFault2) > 0 {
-								for _, f := range masterConfig.RuleOfCameraFault2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCameraFault3) > 0 {
 								for _, f := range masterConfig.RuleOfCameraFault3 {
 									faultLabel = f(shareVars, data)
@@ -264,17 +229,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCanData2) > 0 {
-								for _, f := range masterConfig.RuleOfCanData2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCanData3) > 0 {
 								for _, f := range masterConfig.RuleOfCanData3 {
 									faultLabel = f(shareVars, data)
@@ -319,17 +273,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCh128x1LslidarPointCloud2) > 0 {
-								for _, f := range masterConfig.RuleOfCh128x1LslidarPointCloud2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCh128x1LslidarPointCloud3) > 0 {
 								for _, f := range masterConfig.RuleOfCh128x1LslidarPointCloud3 {
 									faultLabel = f(shareVars, data)
@@ -374,17 +317,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCh64wLLslidarPointCloud2) > 0 {
-								for _, f := range masterConfig.RuleOfCh64wLLslidarPointCloud2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCh64wLLslidarPointCloud3) > 0 {
 								for _, f := range masterConfig.RuleOfCh64wLLslidarPointCloud3 {
 									faultLabel = f(shareVars, data)
@@ -429,17 +361,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCh64wLScan2) > 0 {
-								for _, f := range masterConfig.RuleOfCh64wLScan2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCh64wLScan3) > 0 {
 								for _, f := range masterConfig.RuleOfCh64wLScan3 {
 									faultLabel = f(shareVars, data)
@@ -484,17 +405,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCh64wRLslidarPointCloud2) > 0 {
-								for _, f := range masterConfig.RuleOfCh64wRLslidarPointCloud2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCh64wRLslidarPointCloud3) > 0 {
 								for _, f := range masterConfig.RuleOfCh64wRLslidarPointCloud3 {
 									faultLabel = f(shareVars, data)
@@ -539,17 +449,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCh64wRScan2) > 0 {
-								for _, f := range masterConfig.RuleOfCh64wRScan2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCh64wRScan3) > 0 {
 								for _, f := range masterConfig.RuleOfCh64wRScan3 {
 									faultLabel = f(shareVars, data)
@@ -593,17 +492,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCicvLidarclusterMovingObjects2) > 0 {
-								for _, f := range masterConfig.RuleOfCicvLidarclusterMovingObjects2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCicvLidarclusterMovingObjects3) > 0 {
 								for _, f := range masterConfig.RuleOfCicvLidarclusterMovingObjects3 {
 									faultLabel = f(shareVars, data)
@@ -645,17 +533,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCicvAmrTrajectory2) > 0 {
-								for _, f := range masterConfig.RuleOfCicvAmrTrajectory2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCicvAmrTrajectory3) > 0 {
 								for _, f := range masterConfig.RuleOfCicvAmrTrajectory3 {
 									faultLabel = f(shareVars, data)
@@ -670,18 +547,13 @@ func ProduceWindow() {
 							subscribersMutexes[i].Unlock()
 						}
 						subscribersTimeMutexes[i].Unlock()
-
-						// 触发后更新共享变量
-						mutexOfCicvAmrTrajectory.RLock()
-						{
-							var currentCurvateres []float64
-							for _, point := range data.Trajectoryinfo.Trajectorypoints {
-								currentCurvateres = append(currentCurvateres, math.Abs(float64(point.Curvature)))
-							}
-							pjisuvParam.LastCurvaturesOfCicvAmrTrajectory = currentCurvateres
-							pjisuvParam.DecisionType = data.Trajectoryinfo.DecisionType
+						// 更新共享变量
+						currentCurvateres := make([]float64, 0)
+						for _, point := range data.Trajectoryinfo.Trajectorypoints {
+							currentCurvateres = append(currentCurvateres, math.Abs(float64(point.Curvature)))
 						}
-						mutexOfCicvAmrTrajectory.RUnlock()
+						shareVars.Store("LastCurvaturesOfCicvAmrTrajectory", currentCurvateres)
+						shareVars.Store("DecisionType", data.Trajectoryinfo.DecisionType)
 					},
 				})
 			}
@@ -709,17 +581,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCicvLocation2) > 0 {
-								for _, f := range masterConfig.RuleOfCicvLocation2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCicvLocation3) > 0 {
 								for _, f := range masterConfig.RuleOfCicvLocation3 {
 									faultLabel = f(shareVars, data)
@@ -773,18 +634,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCloudClusters2) > 0 {
-								for _, f := range masterConfig.RuleOfCloudClusters2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCloudClusters3) > 0 {
 								for _, f := range masterConfig.RuleOfCloudClusters3 {
 									faultLabel = f(shareVars, data)
@@ -829,17 +678,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfHeartbeatInfo2) > 0 {
-								for _, f := range masterConfig.RuleOfHeartbeatInfo2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfHeartbeatInfo3) > 0 {
 								for _, f := range masterConfig.RuleOfHeartbeatInfo3 {
 									faultLabel = f(shareVars, data)
@@ -885,18 +723,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfLidarPretreatmentCost2) > 0 {
-								for _, f := range masterConfig.RuleOfLidarPretreatmentCost2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfLidarPretreatmentCost3) > 0 {
 								for _, f := range masterConfig.RuleOfLidarPretreatmentCost3 {
 									faultLabel = f(shareVars, data)
@@ -942,18 +768,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfLidarPretreatmentOdometry2) > 0 {
-								for _, f := range masterConfig.RuleOfLidarPretreatmentOdometry2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfLidarPretreatmentOdometry3) > 0 {
 								for _, f := range masterConfig.RuleOfLidarPretreatmentOdometry3 {
 									faultLabel = f(shareVars, data)
@@ -999,18 +813,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfLidarRoi2) > 0 {
-								for _, f := range masterConfig.RuleOfLidarRoi2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfLidarRoi3) > 0 {
 								for _, f := range masterConfig.RuleOfLidarRoi3 {
 									faultLabel = f(shareVars, data)
@@ -1055,18 +857,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfLine12) > 0 {
-								for _, f := range masterConfig.RuleOfLine12 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfLine13) > 0 {
 								for _, f := range masterConfig.RuleOfLine13 {
 									faultLabel = f(shareVars, data)
@@ -1111,18 +901,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfLine22) > 0 {
-								for _, f := range masterConfig.RuleOfLine22 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfLine23) > 0 {
 								for _, f := range masterConfig.RuleOfLine23 {
 									faultLabel = f(shareVars, data)
@@ -1168,18 +946,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfMapPolygon2) > 0 {
-								for _, f := range masterConfig.RuleOfMapPolygon2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfMapPolygon3) > 0 {
 								for _, f := range masterConfig.RuleOfMapPolygon3 {
 									faultLabel = f(shareVars, data)
@@ -1224,18 +990,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfObstacleDisplay2) > 0 {
-								for _, f := range masterConfig.RuleOfObstacleDisplay2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfObstacleDisplay3) > 0 {
 								for _, f := range masterConfig.RuleOfObstacleDisplay3 {
 									faultLabel = f(shareVars, data)
@@ -1278,18 +1032,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfPjControlPub2) > 0 {
-								for _, f := range masterConfig.RuleOfPjControlPub2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfPjControlPub3) > 0 {
 								for _, f := range masterConfig.RuleOfPjControlPub3 {
 									faultLabel = f(shareVars, data)
@@ -1305,16 +1047,15 @@ func ProduceWindow() {
 						}
 						subscribersTimeMutexes[i].Unlock()
 						// 更新共享变量
-						mutexOfPjControlPub.RLock()
-						{
-							pjisuvParam.NumCountPjiControlCommandOfPjControlPub++
-							if pjisuvParam.NumCountPjiControlCommandOfPjControlPub == 10 {
-								pjisuvParam.EgoSteeringCmdOfPjControlPub = append(pjisuvParam.EgoSteeringCmdOfPjControlPub, data.ICPVCmdStrAngle)
-								pjisuvParam.EgoThrottleCmdOfPjControlPub = append(pjisuvParam.EgoThrottleCmdOfPjControlPub, data.ICPVCmdAccPelPosAct)
-								pjisuvParam.NumCountPjiControlCommandOfPjControlPub = 0
-							}
+						numCountPjiControlCommandOfPjControlPub++
+						if numCountPjiControlCommandOfPjControlPub == 10 {
+							egoSteeringCmdOfPjControlPub = append(egoSteeringCmdOfPjControlPub, data.ICPVCmdStrAngle)
+							egoThrottleCmdOfPjControlPub = append(egoThrottleCmdOfPjControlPub, data.ICPVCmdAccPelPosAct)
+							numCountPjiControlCommandOfPjControlPub = 0
 						}
-						mutexOfPjControlPub.RUnlock()
+						shareVars.Store("NumCountPjiControlCommandOfPjControlPub", numCountPjiControlCommandOfPjControlPub)
+						shareVars.Store("EgoSteeringCmdOfPjControlPub", egoSteeringCmdOfPjControlPub)
+						shareVars.Store("EgoThrottleCmdOfPjControlPub", egoThrottleCmdOfPjControlPub)
 					},
 				})
 			}
@@ -1345,18 +1086,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfPointsCluster2) > 0 {
-								for _, f := range masterConfig.RuleOfPointsCluster2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfPointsCluster3) > 0 {
 								for _, f := range masterConfig.RuleOfPointsCluster3 {
 									faultLabel = f(shareVars, data)
@@ -1401,18 +1130,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfPointsConcat2) > 0 {
-								for _, f := range masterConfig.RuleOfPointsConcat2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfPointsConcat3) > 0 {
 								for _, f := range masterConfig.RuleOfPointsConcat3 {
 									faultLabel = f(shareVars, data)
@@ -1457,18 +1174,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfReferenceDisplay2) > 0 {
-								for _, f := range masterConfig.RuleOfReferenceDisplay2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfReferenceDisplay3) > 0 {
 								for _, f := range masterConfig.RuleOfReferenceDisplay3 {
 									faultLabel = f(shareVars, data)
@@ -1513,18 +1218,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfReferenceTrajectory2) > 0 {
-								for _, f := range masterConfig.RuleOfReferenceTrajectory2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfReferenceTrajectory3) > 0 {
 								for _, f := range masterConfig.RuleOfReferenceTrajectory3 {
 									faultLabel = f(shareVars, data)
@@ -1569,18 +1262,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfRoiPoints2) > 0 {
-								for _, f := range masterConfig.RuleOfRoiPoints2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfRoiPoints3) > 0 {
 								for _, f := range masterConfig.RuleOfRoiPoints3 {
 									faultLabel = f(shareVars, data)
@@ -1625,18 +1306,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfRoiPolygon2) > 0 {
-								for _, f := range masterConfig.RuleOfRoiPolygon2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfRoiPolygon3) > 0 {
 								for _, f := range masterConfig.RuleOfRoiPolygon3 {
 									faultLabel = f(shareVars, data)
@@ -1681,18 +1350,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfTf2) > 0 {
-								for _, f := range masterConfig.RuleOfTf2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfTf3) > 0 {
 								for _, f := range masterConfig.RuleOfTf3 {
 									faultLabel = f(shareVars, data)
@@ -1735,18 +1392,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfTpperception2) > 0 {
-								for _, f := range masterConfig.RuleOfTpperception2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfTpperception3) > 0 {
 								for _, f := range masterConfig.RuleOfTpperception3 {
 									faultLabel = f(shareVars, data)
@@ -1761,26 +1406,22 @@ func ProduceWindow() {
 							subscribersMutexes[i].Unlock()
 						}
 						subscribersTimeMutexes[i].Unlock()
+
 						// 更新共享变量
-						mutexOfTpperception.RLock()
-						{
-							for _, obj := range data.Objs {
-								if obj.X <= 5 || math.Abs(float64(obj.Y)) >= 10 {
-									continue
-								}
-								// 检查 ObjDicOfTpperception 是否为 nil,如果是,则初始化它
-								if pjisuvParam.ObjDicOfTpperception == nil {
-									pjisuvParam.ObjDicOfTpperception = make(map[uint32][]float32)
-								}
-								if _, ok := pjisuvParam.ObjDicOfTpperception[obj.Id]; !ok {
-									pjisuvParam.ObjDicOfTpperception[obj.Id] = []float32{}
-								}
-								pjisuvParam.ObjDicOfTpperception[obj.Id] = append(pjisuvParam.ObjDicOfTpperception[obj.Id], obj.Y)
-								pjisuvParam.ObjTypeDicOfTpperception[obj.Id] = obj.Type
-								pjisuvParam.ObjSpeedDicOfTpperception[obj.Id] = math.Pow(math.Pow(float64(obj.Vxabs), 2)+math.Pow(float64(obj.Vyabs), 2), 0.5)
+						for _, obj := range data.Objs {
+							if obj.X <= 5 || math.Abs(float64(obj.Y)) >= 10 {
+								continue
+							}
+							if _, ok := objDicOfTpperception[obj.Id]; !ok {
+								objDicOfTpperception[obj.Id] = []float32{}
 							}
+							objDicOfTpperception[obj.Id] = append(objDicOfTpperception[obj.Id], obj.Y)
+							objTypeDicOfTpperception[obj.Id] = obj.Type
+							objSpeedDicOfTpperception[obj.Id] = math.Pow(math.Pow(float64(obj.Vxabs), 2)+math.Pow(float64(obj.Vyabs), 2), 0.5)
 						}
-						mutexOfTpperception.RUnlock()
+						shareVars.Store("ObjDicOfTpperception", objDicOfTpperception)
+						shareVars.Store("ObjTypeDicOfTpperception", objTypeDicOfTpperception)
+						shareVars.Store("ObjSpeedDicOfTpperception", objSpeedDicOfTpperception)
 					},
 				})
 			}
@@ -1811,18 +1452,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfTpperceptionVis2) > 0 {
-								for _, f := range masterConfig.RuleOfTpperceptionVis2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfTpperceptionVis3) > 0 {
 								for _, f := range masterConfig.RuleOfTpperceptionVis3 {
 									faultLabel = f(shareVars, data)
@@ -1867,18 +1496,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfTprouteplan2) > 0 {
-								for _, f := range masterConfig.RuleOfTprouteplan2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfTprouteplan3) > 0 {
 								for _, f := range masterConfig.RuleOfTprouteplan3 {
 									faultLabel = f(shareVars, data)
@@ -1923,18 +1540,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfTrajectoryDisplay2) > 0 {
-								for _, f := range masterConfig.RuleOfTrajectoryDisplay2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfTrajectoryDisplay3) > 0 {
 								for _, f := range masterConfig.RuleOfTrajectoryDisplay3 {
 									faultLabel = f(shareVars, data)
@@ -1979,18 +1584,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfUngroundCloudpoints2) > 0 {
-								for _, f := range masterConfig.RuleOfUngroundCloudpoints2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfUngroundCloudpoints3) > 0 {
 								for _, f := range masterConfig.RuleOfUngroundCloudpoints3 {
 									faultLabel = f(shareVars, data)
@@ -2036,18 +1629,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfCameraImage2) > 0 {
-								for _, f := range masterConfig.RuleOfCameraImage2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfCameraImage3) > 0 {
 								for _, f := range masterConfig.RuleOfCameraImage3 {
 									faultLabel = f(shareVars, data)
@@ -2072,18 +1653,6 @@ func ProduceWindow() {
 					Node:  commonConfig.RosNode,
 					Topic: topic,
 					Callback: func(data *pjisuv_msgs.Retrieval) {
-						// 更新共享变量
-						mutexOfDataRead.RLock()
-						{
-							pjisuvParam.NumCountDataReadOfDataRead++
-							if pjisuvParam.NumCountDataReadOfDataRead == 10 {
-								pjisuvParam.EgoSteeringRealOfDataRead = append(pjisuvParam.EgoSteeringRealOfDataRead, data.ActStrWhAng)
-								pjisuvParam.EgoThrottleRealOfDataRead = append(pjisuvParam.EgoThrottleRealOfDataRead, data.AccPed2)
-								pjisuvParam.NumCountDataReadOfDataRead = 0
-							}
-							pjisuvParam.StrgAngleRealValueOfDataRead = data.ActStrWhAng
-						}
-						mutexOfDataRead.RUnlock()
 						subscribersTimeMutexes[i].Lock()
 						if time.Since(subscribersTimes[i]).Seconds() > triggerInterval {
 							subscribersMutexes[i].Lock()
@@ -2101,18 +1670,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfDataRead2) > 0 {
-								for _, f := range masterConfig.RuleOfDataRead2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfDataRead3) > 0 {
 								for _, f := range masterConfig.RuleOfDataRead3 {
 									faultLabel = f(shareVars, data)
@@ -2127,6 +1684,17 @@ func ProduceWindow() {
 							subscribersMutexes[i].Unlock()
 						}
 						subscribersTimeMutexes[i].Unlock()
+						// 更新共享变量
+						numCountDataReadOfDataRead++
+						if numCountDataReadOfDataRead == 10 {
+							egoSteeringRealOfDataRead = append(egoSteeringRealOfDataRead, data.ActStrWhAng)
+							egoThrottleRealOfDataRead = append(egoThrottleRealOfDataRead, data.AccPed2)
+							numCountDataReadOfDataRead = 0
+						}
+						shareVars.Store("NumCountDataReadOfDataRead", numCountDataReadOfDataRead)
+						shareVars.Store("EgoSteeringRealOfDataRead", egoSteeringRealOfDataRead)
+						shareVars.Store("EgoThrottleRealOfDataRead", egoThrottleRealOfDataRead)
+						shareVars.Store("ActStrWhAngOfDataRead", data.ActStrWhAng)
 					},
 				})
 			}
@@ -2156,18 +1724,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfPjiGps2) > 0 {
-								for _, f := range masterConfig.RuleOfPjiGps2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfPjiGps3) > 0 {
 								for _, f := range masterConfig.RuleOfPjiGps3 {
 									faultLabel = f(shareVars, data)
@@ -2209,18 +1765,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfPjVehicleFdbPub2) > 0 {
-								for _, f := range masterConfig.RuleOfPjVehicleFdbPub2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfPjVehicleFdbPub3) > 0 {
 								for _, f := range masterConfig.RuleOfPjVehicleFdbPub3 {
 									faultLabel = f(shareVars, data)
@@ -2264,18 +1808,6 @@ func ProduceWindow() {
 									}
 								}
 							}
-
-							if len(masterConfig.RuleOfEndPointMessage2) > 0 {
-								for _, f := range masterConfig.RuleOfEndPointMessage2 {
-									faultLabel = f(data, &pjisuvParam)
-									if faultLabel != "" {
-										saveTimeWindow(faultLabel, faultHappenTime, lastTimeWindow)
-
-										subscribersTimes[i] = time.Now()
-										goto TriggerSuccess
-									}
-								}
-							}
 							if len(masterConfig.RuleOfEndPointMessage3) > 0 {
 								for _, f := range masterConfig.RuleOfEndPointMessage3 {
 									faultLabel = f(shareVars, data)

+ 0 - 34
pjisuv_param/pjisuv_param.go

@@ -1,34 +0,0 @@
-package pjisuv_param
-
-type PjisuvParam struct {
-	//WhetherOnfRoad bool
-	//// /cicv_location
-	//VelocityXOfCicvLocation        float64
-	//VelocityYOfCicvLocation        float64
-	//VelocityZOfCicvLocation        float64
-	//YawOfCicvLocation              float64
-	//AngularVelocityZOfCicvLocation float64
-	//PositionXOfCicvLocation        float64
-	//PositionYOfCicvLocation        float64
-
-	// /tpperception
-	ObjDicOfTpperception      map[uint32][]float32
-	ObjTypeDicOfTpperception  map[uint32]uint8
-	ObjSpeedDicOfTpperception map[uint32]float64
-
-	// /pji_control_pub
-	NumCountPjiControlCommandOfPjControlPub int
-	EgoSteeringCmdOfPjControlPub            []float64
-	EgoThrottleCmdOfPjControlPub            []float64
-	// /data_read
-	NumCountDataReadOfDataRead   int
-	EgoSteeringRealOfDataRead    []float64
-	EgoThrottleRealOfDataRead    []float64
-	StrgAngleRealValueOfDataRead float64
-	// /pj_vehicle_fdb_pub
-	//AutomodeOfPjVehicleFdbPub int16
-
-	// /cicv_amr_trajectory
-	LastCurvaturesOfCicvAmrTrajectory []float64
-	DecisionType                      int8
-}

+ 2 - 2
trigger/pjisuv/cicv_amr_trajectory/ControlJump/main/ControlJump.go

@@ -2,10 +2,10 @@ package main
 
 import (
 	"cicv-data-closedloop/pjisuv_msgs"
-	"cicv-data-closedloop/pjisuv_param"
 	"fmt"
 	"math"
 	"slices"
+	"sync"
 )
 
 func Topic() string {
@@ -17,7 +17,7 @@ func Label() string {
 	return "ControlJump"
 }
 
-func Rule(data *pjisuv_msgs.Trajectory, param *pjisuv_param.PjisuvParam) string {
+func Rule(shareVars *sync.Map, data *pjisuv_msgs.Trajectory) string {
 	defer func() {
 		if r := recover(); r != nil {
 			fmt.Println("Recovered from panic:", r)

+ 1 - 1
trigger/pjisuv/cicv_location/LocationJump/main/LocationJump.go

@@ -11,7 +11,7 @@ func Topic() string {
 	return "/cicv_location"
 }
 
-// Label todo 禁止存在下划线_
+// 禁止存在下划线_
 func Label() string {
 	return "LocationJump"
 }