LingxinMeng 10 kuukautta sitten
vanhempi
commit
c0069a90e3

+ 95 - 41
aarch64/pjisuv/master/config/trigger_init.go

@@ -87,61 +87,115 @@ func InitTriggerConfig() {
 			}
 			RuleOfCicvExtend = append(RuleOfCicvExtend, f)
 		} else if TopicOfAmrPose == topic2 { //1
-			f, ok := rule.(func(data *visualization_msgs.MarkerArray) string)
-			if ok != true {
-				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *visualization_msgs.MarkerArray) string):", err)
-				continue
+			f1, ok1 := rule.(func(data *visualization_msgs.MarkerArray) string)
+			if ok1 {
+				RuleOfAmrPose1 = append(RuleOfAmrPose1, f1)
+			} else {
+				f2, ok2 := rule.(func(data *visualization_msgs.MarkerArray, param *entity.PjisuvParam) string)
+				if ok2 {
+					RuleOfAmrPose2 = append(RuleOfAmrPose2, f2)
+				} else {
+					c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Rule方法参数格式错误:", err)
+					continue
+				}
 			}
-			RuleOfAmrPose = append(RuleOfAmrPose, f)
 		} else if TopicOfBoundingBoxesFast == topic2 { //2
-			f, ok := rule.(func(data *pjisuv_msgs.BoundingBoxArray) string)
-			if ok != true {
-				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pjisuv_msgs.BoundingBoxArray) string):", err)
-				continue
+			f1, ok1 := rule.(func(data *pjisuv_msgs.BoundingBoxArray) string)
+			if ok1 {
+				RuleOfBoundingBoxesFast1 = append(RuleOfBoundingBoxesFast1, f1)
+			} else {
+				f2, ok2 := rule.(func(data *pjisuv_msgs.BoundingBoxArray, param *entity.PjisuvParam) string)
+				if ok2 {
+					RuleOfBoundingBoxesFast2 = append(RuleOfBoundingBoxesFast2, f2)
+				} else {
+					c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Rule方法参数格式错误:", err)
+					continue
+				}
 			}
-			RuleOfBoundingBoxesFast = append(RuleOfBoundingBoxesFast, f)
 		} else if TopicOfCameraFault == topic2 { //3
-			f, ok := rule.(func(data *pjisuv_msgs.FaultVec) string)
-			if ok != true {
-				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pjisuv_msgs.FaultVec) string):", err)
-				continue
+			f1, ok1 := rule.(func(data *pjisuv_msgs.FaultVec) string)
+			if ok1 {
+				RuleOfCameraFault1 = append(RuleOfCameraFault1, f1)
+			} else {
+				f2, ok2 := rule.(func(data *pjisuv_msgs.FaultVec, param *entity.PjisuvParam) string)
+				if ok2 {
+					RuleOfCameraFault2 = append(RuleOfCameraFault2, f2)
+				} else {
+					c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Rule方法参数格式错误:", err)
+					continue
+				}
 			}
-			RuleOfCameraFault = append(RuleOfCameraFault, f)
 		} else if TopicOfCanData == topic2 { //4
-			f, ok := rule.(func(data *pjisuv_msgs.Frame) string)
-			if ok != true {
-				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pjisuv_msgs.Frame) string):", err)
-				continue
+			f1, ok1 := rule.(func(data *pjisuv_msgs.Frame) string)
+			if ok1 {
+				RuleOfCanData1 = append(RuleOfCanData1, f1)
+			} else {
+				f2, ok2 := rule.(func(data *pjisuv_msgs.Frame, param *entity.PjisuvParam) string)
+				if ok2 {
+					RuleOfCanData2 = append(RuleOfCanData2, f2)
+				} else {
+					c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Rule方法参数格式错误:", err)
+					continue
+				}
 			}
-			RuleOfCanData = append(RuleOfCanData, f)
 		} else if TopicOfCh128x1LslidarPointCloud == topic2 { //5
-			f, ok := rule.(func(data *sensor_msgs.PointCloud2) string)
-			if ok != true {
-				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *sensor_msgs.PointCloud2) string):", err)
-				continue
+			f1, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string)
+			if ok1 {
+				RuleOfCh128x1LslidarPointCloud1 = append(RuleOfCh128x1LslidarPointCloud1, f1)
+			} else {
+				f2, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string)
+				if ok2 {
+					RuleOfCh128x1LslidarPointCloud2 = append(RuleOfCh128x1LslidarPointCloud2, f2)
+				} else {
+					c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Rule方法参数格式错误:", err)
+					continue
+				}
 			}
-			RuleOfCh128x1LslidarPointCloud = append(RuleOfCh128x1LslidarPointCloud, f)
 		} else if TopicOfCh64wLLslidarPointCloud == topic2 { //6
-			f, ok := rule.(func(data *sensor_msgs.PointCloud2) string)
-			if ok != true {
-				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *sensor_msgs.PointCloud2) string):", err)
-				continue
+			f1, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string)
+			if ok1 {
+				RuleOfCh64wLLslidarPointCloud1 = append(RuleOfCh64wLLslidarPointCloud1, f1)
+			} else {
+				f2, ok2 := rule.(func(data *sensor_msgs.PointCloud2, param *entity.PjisuvParam) string)
+				if ok2 {
+					RuleOfCh64wLLslidarPointCloud2 = append(RuleOfCh64wLLslidarPointCloud2, f2)
+				} else {
+					c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Rule方法参数格式错误:", err)
+					continue
+				}
 			}
-			RuleOfCh64wLLslidarPointCloud = append(RuleOfCh64wLLslidarPointCloud, f)
 		} else if TopicOfCh64wLScan == topic2 { //7
-			f, ok := rule.(func(data *sensor_msgs.LaserScan) string)
-			if ok != true {
-				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *sensor_msgs.LaserScan) string):", err)
-				continue
+			f1, ok1 := rule.(func(data *sensor_msgs.LaserScan) string)
+			if ok1 {
+				RuleOfCh64wLScan1 = append(RuleOfCh64wLScan1, f1)
+			} else {
+				f2, ok2 := rule.(func(data *sensor_msgs.LaserScan, param *entity.PjisuvParam) string)
+				if ok2 {
+					RuleOfCh64wLScan2 = append(RuleOfCh64wLScan2, f2)
+				} else {
+					c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Rule方法参数格式错误:", err)
+					continue
+				}
 			}
-			RuleOfCh64wLScan = append(RuleOfCh64wLScan, f)
 		} else if TopicOfCh64wRLslidarPointCloud == topic2 { //8
-			f, ok := rule.(func(data *sensor_msgs.PointCloud2) string)
-			if ok != true {
-				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *sensor_msgs.PointCloud2) string):", err)
-				continue
+			//f, ok := rule.(func(data *sensor_msgs.PointCloud2) string)
+			//if ok != true {
+			//	c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *sensor_msgs.PointCloud2) string):", err)
+			//	continue
+			//}
+			//RuleOfCh64wRLslidarPointCloud = append(RuleOfCh64wRLslidarPointCloud, f)
+			f1, ok1 := rule.(func(data *sensor_msgs.LaserScan) string)
+			if ok1 {
+				RuleOfCh64wLScan1 = append(RuleOfCh64wLScan1, f1)
+			} else {
+				f2, ok2 := rule.(func(data *sensor_msgs.LaserScan, param *entity.PjisuvParam) string)
+				if ok2 {
+					RuleOfCh64wLScan2 = append(RuleOfCh64wLScan2, f2)
+				} else {
+					c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Rule方法参数格式错误:", err)
+					continue
+				}
 			}
-			RuleOfCh64wRLslidarPointCloud = append(RuleOfCh64wRLslidarPointCloud, f)
 		} else if TopicOfCh64wRScan == topic2 { //9
 			f, ok := rule.(func(data *sensor_msgs.LaserScan) string)
 			if ok != true {
@@ -168,7 +222,7 @@ func InitTriggerConfig() {
 			if ok1 {
 				RuleOfCicvLocation1 = append(RuleOfCicvLocation1, f1)
 			} else {
-				f2, ok2 := rule.(func(data *pjisuv_msgs.PerceptionLocalization, param entity.PjisuvParam) string)
+				f2, ok2 := rule.(func(data *pjisuv_msgs.PerceptionLocalization, param *entity.PjisuvParam) string)
 				if ok2 {
 					RuleOfCicvLocation2 = append(RuleOfCicvLocation2, f2)
 				} else {

+ 77 - 39
aarch64/pjisuv/master/config/trigger_var.go

@@ -19,158 +19,196 @@ var (
 
 	//1
 	TopicOfAmrPose = "/amr_pose"
-	RuleOfAmrPose  []func(data *visualization_msgs.MarkerArray) string
+	RuleOfAmrPose1 []func(data *visualization_msgs.MarkerArray) string
+	RuleOfAmrPose2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string
 
 	//2
 	TopicOfBoundingBoxesFast = "/bounding_boxes_fast"
-	RuleOfBoundingBoxesFast  []func(data *pjisuv_msgs.BoundingBoxArray) string
+	RuleOfBoundingBoxesFast1 []func(data *pjisuv_msgs.BoundingBoxArray) string
+	RuleOfBoundingBoxesFast2 []func(data *pjisuv_msgs.BoundingBoxArray, param *pjisuv_param.PjisuvParam) string
 
 	//3
 	TopicOfCameraFault = "/camera_fault"
-	RuleOfCameraFault  []func(data *pjisuv_msgs.FaultVec) string
+	RuleOfCameraFault1 []func(data *pjisuv_msgs.FaultVec) string
+	RuleOfCameraFault2 []func(data *pjisuv_msgs.FaultVec, param *pjisuv_param.PjisuvParam) string
 
 	//4
 	TopicOfCanData = "/can_data"
-	RuleOfCanData  []func(data *pjisuv_msgs.Frame) string
+	RuleOfCanData1 []func(data *pjisuv_msgs.Frame) string
+	RuleOfCanData2 []func(data *pjisuv_msgs.Frame, param *pjisuv_param.PjisuvParam) string
 
 	//5
 	TopicOfCh128x1LslidarPointCloud = "/ch128x1/lslidar_point_cloud"
-	RuleOfCh128x1LslidarPointCloud  []func(data *sensor_msgs.PointCloud2) string
+	RuleOfCh128x1LslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string
+	RuleOfCh128x1LslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
 
 	//6
 	TopicOfCh64wLLslidarPointCloud = "/ch64w_l/lslidar_point_cloud"
-	RuleOfCh64wLLslidarPointCloud  []func(data *sensor_msgs.PointCloud2) string
+	RuleOfCh64wLLslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string
+	RuleOfCh64wLLslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
 
 	//7
 	TopicOfCh64wLScan = "/ch64w_l/scan"
-	RuleOfCh64wLScan  []func(data *sensor_msgs.LaserScan) string
+	RuleOfCh64wLScan1 []func(data *sensor_msgs.LaserScan) string
+	RuleOfCh64wLScan2 []func(data *sensor_msgs.LaserScan, param *pjisuv_param.PjisuvParam) string
 
 	//8
 	TopicOfCh64wRLslidarPointCloud = "/ch64w_r/lslidar_point_cloud"
-	RuleOfCh64wRLslidarPointCloud  []func(data *sensor_msgs.PointCloud2) string
+	RuleOfCh64wRLslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string
+	RuleOfCh64wRLslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
 
 	//9
 	TopicOfCh64wRScan = "/ch64w_r/scan"
-	RuleOfCh64wRScan  []func(data *sensor_msgs.LaserScan) string
+	RuleOfCh64wRScan1 []func(data *sensor_msgs.LaserScan) string
+	RuleOfCh64wRScan2 []func(data *sensor_msgs.LaserScan, param *pjisuv_param.PjisuvParam) string
 
 	//10
 	TopicOfCicvLidarclusterMovingObjects = "/cicv/lidarcluster_moving_objects"
-	RuleOfCicvLidarclusterMovingObjects  []func(data *pjisuv_msgs.PerceptionCicvMovingObjects) string
+	RuleOfCicvLidarclusterMovingObjects1 []func(data *pjisuv_msgs.PerceptionCicvMovingObjects) string
+	RuleOfCicvLidarclusterMovingObjects2 []func(data *pjisuv_msgs.PerceptionCicvMovingObjects, param *pjisuv_param.PjisuvParam) string
 
 	//11
 	TopicOfCicvAmrTrajectory = "/cicv_amr_trajectory"
-	RuleOfCicvAmrTrajectory  []func(data *pjisuv_msgs.Trajectory, param pjisuv_param.PjisuvParam) string
+	RuleOfCicvAmrTrajectory1 []func(data *pjisuv_msgs.Trajectory) string
+	RuleOfCicvAmrTrajectory2 []func(data *pjisuv_msgs.Trajectory, param *pjisuv_param.PjisuvParam) string
 
 	//12
 	TopicOfCicvLocation = "/cicv_location"
 	RuleOfCicvLocation1 []func(data *pjisuv_msgs.PerceptionLocalization) string
-	RuleOfCicvLocation2 []func(data *pjisuv_msgs.PerceptionLocalization, param pjisuv_param.PjisuvParam) string
+	RuleOfCicvLocation2 []func(data *pjisuv_msgs.PerceptionLocalization, param *pjisuv_param.PjisuvParam) string
 
 	//13
 	TopicOfCloudClusters = "/cloud_clusters"
-	RuleOfCloudClusters  []func(data *pjisuv_msgs.AutowareCloudClusterArray) string
+	RuleOfCloudClusters1 []func(data *pjisuv_msgs.AutowareCloudClusterArray) string
+	RuleOfCloudClusters2 []func(data *pjisuv_msgs.AutowareCloudClusterArray, param *pjisuv_param.PjisuvParam) string
 
 	//14
 	TopicOfHeartbeatInfo = "/heartbeat_info"
-	RuleOfHeartbeatInfo  []func(data *pjisuv_msgs.HeartBeatInfo) string
+	RuleOfHeartbeatInfo1 []func(data *pjisuv_msgs.HeartBeatInfo) string
+	RuleOfHeartbeatInfo2 []func(data *pjisuv_msgs.HeartBeatInfo, param *pjisuv_param.PjisuvParam) string
 
 	//15
 	TopicOfLidarPretreatmentCost = "/lidarPretreatment_Cost"
-	RuleOfLidarPretreatmentCost  []func(data *geometry_msgs.Vector3Stamped) string
+	RuleOfLidarPretreatmentCost1 []func(data *geometry_msgs.Vector3Stamped) string
+	RuleOfLidarPretreatmentCost2 []func(data *geometry_msgs.Vector3Stamped, param *pjisuv_param.PjisuvParam) string
 
 	//16
 	TopicOfLidarPretreatmentOdometry = "/lidar_pretreatment/odometry"
-	RuleOfLidarPretreatmentOdometry  []func(data *nav_msgs.Odometry) string
+	RuleOfLidarPretreatmentOdometry1 []func(data *nav_msgs.Odometry) string
+	RuleOfLidarPretreatmentOdometry2 []func(data *nav_msgs.Odometry, param *pjisuv_param.PjisuvParam) string
 
 	//17
 	TopicOfLidarRoi = "/lidar_roi"
-	RuleOfLidarRoi  []func(data *geometry_msgs.PolygonStamped) string
+	RuleOfLidarRoi1 []func(data *geometry_msgs.PolygonStamped) string
+	RuleOfLidarRoi2 []func(data *geometry_msgs.PolygonStamped, param *pjisuv_param.PjisuvParam) string
 
 	//18
 	TopicOfLine1 = "/line_1"
-	RuleOfLine1  []func(data *nav_msgs.Path) string
+	RuleOfLine11 []func(data *nav_msgs.Path) string
+	RuleOfLine12 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
 
 	//19
 	TopicOfLine2 = "/line_2"
-	RuleOfLine2  []func(data *nav_msgs.Path) string
+	RuleOfLine21 []func(data *nav_msgs.Path) string
+	RuleOfLine22 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
 
 	//20
 	TopicOfMapPolygon = "/map_polygon"
-	RuleOfMapPolygon  []func(data *pjisuv_msgs.PolygonStamped, param pjisuv_param.PjisuvParam) string
+	RuleOfMapPolygon1 []func(data *pjisuv_msgs.PolygonStamped) string
+	RuleOfMapPolygon2 []func(data *pjisuv_msgs.PolygonStamped, param *pjisuv_param.PjisuvParam) string
 
 	//21
 	TopicOfObstacleDisplay = "/obstacle_display"
-	RuleOfObstacleDisplay  []func(data *visualization_msgs.MarkerArray) string
+	RuleOfObstacleDisplay1 []func(data *visualization_msgs.MarkerArray) string
+	RuleOfObstacleDisplay2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string
 
 	//22
 	TopicOfPjControlPub = "/pj_control_pub"
-	RuleOfPjControlPub  []func(data *pjisuv_msgs.CommonVehicleCmd) string
+	RuleOfPjControlPub1 []func(data *pjisuv_msgs.CommonVehicleCmd) string
+	RuleOfPjControlPub2 []func(data *pjisuv_msgs.CommonVehicleCmd, param *pjisuv_param.PjisuvParam) string
 
 	//23
 	TopicOfPointsCluster = "/points_cluster"
-	RuleOfPointsCluster  []func(data *sensor_msgs.PointCloud2) string
+	RuleOfPointsCluster1 []func(data *sensor_msgs.PointCloud2) string
+	RuleOfPointsCluster2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
 
 	//24
 	TopicOfPointsConcat = "/points_concat"
-	RuleOfPointsConcat  []func(data *sensor_msgs.PointCloud2) string
+	RuleOfPointsConcat1 []func(data *sensor_msgs.PointCloud2) string
+	RuleOfPointsConcat2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
 
 	//25
 	TopicOfReferenceDisplay = "/reference_display"
-	RuleOfReferenceDisplay  []func(data *nav_msgs.Path) string
+	RuleOfReferenceDisplay1 []func(data *nav_msgs.Path) string
+	RuleOfReferenceDisplay2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
 
 	//26
 	TopicOfReferenceTrajectory = "/reference_trajectory"
-	RuleOfReferenceTrajectory  []func(data *pjisuv_msgs.Trajectory) string
+	RuleOfReferenceTrajectory1 []func(data *pjisuv_msgs.Trajectory) string
+	RuleOfReferenceTrajectory2 []func(data *pjisuv_msgs.Trajectory, param *pjisuv_param.PjisuvParam) string
 
 	//27
 	TopicOfRoiPoints = "/roi/points"
-	RuleOfRoiPoints  []func(data *sensor_msgs.PointCloud2) string
+	RuleOfRoiPoints1 []func(data *sensor_msgs.PointCloud2) string
+	RuleOfRoiPoints2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
 
 	//28
 	TopicOfRoiPolygon = "/roi/polygon"
-	RuleOfRoiPolygon  []func(data *nav_msgs.Path) string
+	RuleOfRoiPolygon1 []func(data *nav_msgs.Path) string
+	RuleOfRoiPolygon2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
 
 	//29
 	TopicOfTf = "/tf"
-	RuleOfTf  []func(data *tf2_msgs.TFMessage) string
+	RuleOfTf1 []func(data *tf2_msgs.TFMessage) string
+	RuleOfTf2 []func(data *tf2_msgs.TFMessage, param *pjisuv_param.PjisuvParam) string
 
 	//30
 	TopicOfTpperception = "/tpperception"
-	RuleOfTpperception  []func(data *pjisuv_msgs.PerceptionObjects, extendParam pjisuv_param.PjisuvParam) string
+	RuleOfTpperception1 []func(data *pjisuv_msgs.PerceptionObjects) string
+	RuleOfTpperception2 []func(data *pjisuv_msgs.PerceptionObjects, param *pjisuv_param.PjisuvParam) string
 
 	//31
 	TopicOfTpperceptionVis = "/tpperception/vis"
-	RuleOfTpperceptionVis  []func(data *visualization_msgs.MarkerArray) string
+	RuleOfTpperceptionVis1 []func(data *visualization_msgs.MarkerArray) string
+	RuleOfTpperceptionVis2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string
 
 	//32
 	TopicOfTprouteplan = "/tprouteplan"
-	RuleOfTprouteplan  []func(data *pjisuv_msgs.RoutePlan) string
+	RuleOfTprouteplan1 []func(data *pjisuv_msgs.RoutePlan) string
+	RuleOfTprouteplan2 []func(data *pjisuv_msgs.RoutePlan, param *pjisuv_param.PjisuvParam) string
 
 	//33
 	TopicOfTrajectoryDisplay = "/trajectory_display"
-	RuleOfTrajectoryDisplay  []func(data *nav_msgs.Path) string
+	RuleOfTrajectoryDisplay1 []func(data *nav_msgs.Path) string
+	RuleOfTrajectoryDisplay2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
 
 	//34
 	TopicOfUngroundCloudpoints = "/unground_cloudpoints"
-	RuleOfUngroundCloudpoints  []func(data *sensor_msgs.PointCloud2) string
+	RuleOfUngroundCloudpoints1 []func(data *sensor_msgs.PointCloud2) string
+	RuleOfUngroundCloudpoints2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
 
 	//35
 	TopicOfCameraImage = "/camera_image"
-	RuleOfCameraImage  []func(data *sensor_msgs.Image) string
+	RuleOfCameraImage1 []func(data *sensor_msgs.Image) string
+	RuleOfCameraImage2 []func(data *sensor_msgs.Image, param *pjisuv_param.PjisuvParam) string
 
 	//36
 	TopicOfDataRead = "/data_read"
-	RuleOfDataRead  []func(data *pjisuv_msgs.Retrieval) string
+	RuleOfDataRead1 []func(data *pjisuv_msgs.Retrieval) string
+	RuleOfDataRead2 []func(data *pjisuv_msgs.Retrieval, param *pjisuv_param.PjisuvParam) string
 
 	//37
 	TopicOfPjiGps = "/pji_gps"
-	RuleOfPjiGps  []func(data *pjisuv_msgs.PerceptionLocalization) string
+	RuleOfPjiGps1 []func(data *pjisuv_msgs.PerceptionLocalization) string
+	RuleOfPjiGps2 []func(data *pjisuv_msgs.PerceptionLocalization, param *pjisuv_param.PjisuvParam) string
 
 	//38
 	TopicOfFaultInfo = "/fault_info"
-	//RuleOfFaultInfo  []func(data *pjisuv_msgs.FaultVec) string
+	RuleOfFaultInfo1 []func(data *pjisuv_msgs.FaultVec) string
+	RuleOfFaultInfo2 []func(data *pjisuv_msgs.FaultVec, param *pjisuv_param.PjisuvParam) string
 
 	//39
 	TopicOfPjVehicleFdbPub = "/pj_vehicle_fdb_pub"
-	RuleOfPjVehicleFdbPub  []func(data *pjisuv_msgs.VehicleFdb, param *pjisuv_param.PjisuvParam) string
+	RuleOfPjVehicleFdbPub1 []func(data *pjisuv_msgs.VehicleFdb) string
+	RuleOfPjVehicleFdbPub2 []func(data *pjisuv_msgs.VehicleFdb, param *pjisuv_param.PjisuvParam) string
 )