package config import ( "cicv-data-closedloop/pjisuv_msgs" "cicv-data-closedloop/pjisuv_param" "github.com/bluenviron/goroslib/v2/pkg/msgs/geometry_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/nav_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/sensor_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/tf2_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/visualization_msgs" "sync" ) var ( LabelMapTriggerId = new(sync.Map) // 定时任务触发器,详见 pjisuv_ticker包 RuleOfCicvTicker = make([]func(shareVars *sync.Map) string, 0) // tick代表定时任务间隔时间;对于长度为0的slice,无论是使用var还是make创建,它们在内存占用上的差异通常可以忽略不计 //1 TopicOfAmrPose = "/amr_pose" RuleOfAmrPose1 []func(data *visualization_msgs.MarkerArray) string RuleOfAmrPose2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string RuleOfAmrPose3 []func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string //2 TopicOfBoundingBoxesFast = "/bounding_boxes_fast" RuleOfBoundingBoxesFast1 []func(data *pjisuv_msgs.BoundingBoxArray) string RuleOfBoundingBoxesFast2 []func(data *pjisuv_msgs.BoundingBoxArray, param *pjisuv_param.PjisuvParam) string RuleOfBoundingBoxesFast3 []func(shareVars *sync.Map, data *pjisuv_msgs.BoundingBoxArray) string //3 TopicOfCameraFault = "/camera_fault" RuleOfCameraFault1 []func(data *pjisuv_msgs.FaultVec) string RuleOfCameraFault2 []func(data *pjisuv_msgs.FaultVec, param *pjisuv_param.PjisuvParam) string RuleOfCameraFault3 []func(shareVars *sync.Map, data *pjisuv_msgs.FaultVec) string //4 TopicOfCanData = "/can_data" RuleOfCanData1 []func(data *pjisuv_msgs.Frame) string RuleOfCanData2 []func(data *pjisuv_msgs.Frame, param *pjisuv_param.PjisuvParam) string RuleOfCanData3 []func(shareVars *sync.Map, data *pjisuv_msgs.Frame) string //5 TopicOfCh128x1LslidarPointCloud = "/ch128x1/lslidar_point_cloud" RuleOfCh128x1LslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string RuleOfCh128x1LslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string RuleOfCh128x1LslidarPointCloud3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string //6 TopicOfCh64wLLslidarPointCloud = "/ch64w_l/lslidar_point_cloud" RuleOfCh64wLLslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string RuleOfCh64wLLslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string RuleOfCh64wLLslidarPointCloud3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string //7 TopicOfCh64wLScan = "/ch64w_l/scan" RuleOfCh64wLScan1 []func(data *sensor_msgs.LaserScan) string RuleOfCh64wLScan2 []func(data *sensor_msgs.LaserScan, param *pjisuv_param.PjisuvParam) string RuleOfCh64wLScan3 []func(shareVars *sync.Map, data *sensor_msgs.LaserScan) string //8 TopicOfCh64wRLslidarPointCloud = "/ch64w_r/lslidar_point_cloud" RuleOfCh64wRLslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string RuleOfCh64wRLslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string RuleOfCh64wRLslidarPointCloud3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string //9 TopicOfCh64wRScan = "/ch64w_r/scan" RuleOfCh64wRScan1 []func(data *sensor_msgs.LaserScan) string RuleOfCh64wRScan2 []func(data *sensor_msgs.LaserScan, param *pjisuv_param.PjisuvParam) string RuleOfCh64wRScan3 []func(shareVars *sync.Map, data *sensor_msgs.LaserScan) string //10 TopicOfCicvLidarclusterMovingObjects = "/cicv/lidarcluster_moving_objects" RuleOfCicvLidarclusterMovingObjects1 []func(data *pjisuv_msgs.PerceptionCicvMovingObjects) string RuleOfCicvLidarclusterMovingObjects2 []func(data *pjisuv_msgs.PerceptionCicvMovingObjects, param *pjisuv_param.PjisuvParam) string RuleOfCicvLidarclusterMovingObjects3 []func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionCicvMovingObjects) string //11 TopicOfCicvAmrTrajectory = "/cicv_amr_trajectory" RuleOfCicvAmrTrajectory1 []func(data *pjisuv_msgs.Trajectory) string RuleOfCicvAmrTrajectory2 []func(data *pjisuv_msgs.Trajectory, param *pjisuv_param.PjisuvParam) string RuleOfCicvAmrTrajectory3 []func(shareVars *sync.Map, data *pjisuv_msgs.Trajectory) string //12 TopicOfCicvLocation = "/cicv_location" RuleOfCicvLocation1 []func(data *pjisuv_msgs.PerceptionLocalization) string RuleOfCicvLocation2 []func(data *pjisuv_msgs.PerceptionLocalization, param *pjisuv_param.PjisuvParam) string RuleOfCicvLocation3 []func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionLocalization) string //13 TopicOfCloudClusters = "/cloud_clusters" RuleOfCloudClusters1 []func(data *pjisuv_msgs.AutowareCloudClusterArray) string RuleOfCloudClusters2 []func(data *pjisuv_msgs.AutowareCloudClusterArray, param *pjisuv_param.PjisuvParam) string RuleOfCloudClusters3 []func(shareVars *sync.Map, data *pjisuv_msgs.AutowareCloudClusterArray) string //14 TopicOfHeartbeatInfo = "/heartbeat_info" RuleOfHeartbeatInfo1 []func(data *pjisuv_msgs.HeartBeatInfo) string RuleOfHeartbeatInfo2 []func(data *pjisuv_msgs.HeartBeatInfo, param *pjisuv_param.PjisuvParam) string RuleOfHeartbeatInfo3 []func(shareVars *sync.Map, data *pjisuv_msgs.HeartBeatInfo) string //15 TopicOfLidarPretreatmentCost = "/lidarPretreatment_Cost" RuleOfLidarPretreatmentCost1 []func(data *geometry_msgs.Vector3Stamped) string RuleOfLidarPretreatmentCost2 []func(data *geometry_msgs.Vector3Stamped, param *pjisuv_param.PjisuvParam) string RuleOfLidarPretreatmentCost3 []func(shareVars *sync.Map, data *geometry_msgs.Vector3Stamped) string //16 TopicOfLidarPretreatmentOdometry = "/lidar_pretreatment/odometry" RuleOfLidarPretreatmentOdometry1 []func(data *nav_msgs.Odometry) string RuleOfLidarPretreatmentOdometry2 []func(data *nav_msgs.Odometry, param *pjisuv_param.PjisuvParam) string RuleOfLidarPretreatmentOdometry3 []func(shareVars *sync.Map, data *nav_msgs.Odometry) string //17 TopicOfLidarRoi = "/lidar_roi" RuleOfLidarRoi1 []func(data *geometry_msgs.PolygonStamped) string RuleOfLidarRoi2 []func(data *geometry_msgs.PolygonStamped, param *pjisuv_param.PjisuvParam) string RuleOfLidarRoi3 []func(shareVars *sync.Map, data *geometry_msgs.PolygonStamped) string //18 TopicOfLine1 = "/line_1" RuleOfLine11 []func(data *nav_msgs.Path) string RuleOfLine12 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string RuleOfLine13 []func(shareVars *sync.Map, data *nav_msgs.Path) string //19 TopicOfLine2 = "/line_2" RuleOfLine21 []func(data *nav_msgs.Path) string RuleOfLine22 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string RuleOfLine23 []func(shareVars *sync.Map, data *nav_msgs.Path) string //20 TopicOfMapPolygon = "/map_polygon" RuleOfMapPolygon1 []func(data *pjisuv_msgs.PolygonStamped) string RuleOfMapPolygon2 []func(data *pjisuv_msgs.PolygonStamped, param *pjisuv_param.PjisuvParam) string RuleOfMapPolygon3 []func(shareVars *sync.Map, data *pjisuv_msgs.PolygonStamped) string //21 TopicOfObstacleDisplay = "/obstacle_display" RuleOfObstacleDisplay1 []func(data *visualization_msgs.MarkerArray) string RuleOfObstacleDisplay2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string RuleOfObstacleDisplay3 []func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string //22 TopicOfPjControlPub = "/pj_control_pub" RuleOfPjControlPub1 []func(data *pjisuv_msgs.CommonVehicleCmd) string RuleOfPjControlPub2 []func(data *pjisuv_msgs.CommonVehicleCmd, param *pjisuv_param.PjisuvParam) string RuleOfPjControlPub3 []func(shareVars *sync.Map, data *pjisuv_msgs.CommonVehicleCmd) string //23 TopicOfPointsCluster = "/points_cluster" RuleOfPointsCluster1 []func(data *sensor_msgs.PointCloud2) string RuleOfPointsCluster2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string RuleOfPointsCluster3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string //24 TopicOfPointsConcat = "/points_concat" RuleOfPointsConcat1 []func(data *sensor_msgs.PointCloud2) string RuleOfPointsConcat2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string RuleOfPointsConcat3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string //25 TopicOfReferenceDisplay = "/reference_display" RuleOfReferenceDisplay1 []func(data *nav_msgs.Path) string RuleOfReferenceDisplay2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string RuleOfReferenceDisplay3 []func(shareVars *sync.Map, data *nav_msgs.Path) string //26 TopicOfReferenceTrajectory = "/reference_trajectory" RuleOfReferenceTrajectory1 []func(data *pjisuv_msgs.Trajectory) string RuleOfReferenceTrajectory2 []func(data *pjisuv_msgs.Trajectory, param *pjisuv_param.PjisuvParam) string RuleOfReferenceTrajectory3 []func(shareVars *sync.Map, data *pjisuv_msgs.Trajectory) string //27 TopicOfRoiPoints = "/roi/points" RuleOfRoiPoints1 []func(data *sensor_msgs.PointCloud2) string RuleOfRoiPoints2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string RuleOfRoiPoints3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string //28 TopicOfRoiPolygon = "/roi/polygon" RuleOfRoiPolygon1 []func(data *nav_msgs.Path) string RuleOfRoiPolygon2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string RuleOfRoiPolygon3 []func(shareVars *sync.Map, data *nav_msgs.Path) string //29 TopicOfTf = "/tf" RuleOfTf1 []func(data *tf2_msgs.TFMessage) string RuleOfTf2 []func(data *tf2_msgs.TFMessage, param *pjisuv_param.PjisuvParam) string RuleOfTf3 []func(shareVars *sync.Map, data *tf2_msgs.TFMessage) string //30 TopicOfTpperception = "/tpperception" RuleOfTpperception1 []func(data *pjisuv_msgs.PerceptionObjects) string RuleOfTpperception2 []func(data *pjisuv_msgs.PerceptionObjects, param *pjisuv_param.PjisuvParam) string RuleOfTpperception3 []func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionObjects) string //31 TopicOfTpperceptionVis = "/tpperception/vis" RuleOfTpperceptionVis1 []func(data *visualization_msgs.MarkerArray) string RuleOfTpperceptionVis2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string RuleOfTpperceptionVis3 []func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string //32 TopicOfTprouteplan = "/tprouteplan" RuleOfTprouteplan1 []func(data *pjisuv_msgs.RoutePlan) string RuleOfTprouteplan2 []func(data *pjisuv_msgs.RoutePlan, param *pjisuv_param.PjisuvParam) string RuleOfTprouteplan3 []func(shareVars *sync.Map, data *pjisuv_msgs.RoutePlan) string //33 TopicOfTrajectoryDisplay = "/trajectory_display" RuleOfTrajectoryDisplay1 []func(data *nav_msgs.Path) string RuleOfTrajectoryDisplay2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string RuleOfTrajectoryDisplay3 []func(shareVars *sync.Map, data *nav_msgs.Path) string //34 TopicOfUngroundCloudpoints = "/unground_cloudpoints" RuleOfUngroundCloudpoints1 []func(data *sensor_msgs.PointCloud2) string RuleOfUngroundCloudpoints2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string RuleOfUngroundCloudpoints3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string //35 TopicOfCameraImage = "/camera_image" RuleOfCameraImage1 []func(data *sensor_msgs.Image) string RuleOfCameraImage2 []func(data *sensor_msgs.Image, param *pjisuv_param.PjisuvParam) string RuleOfCameraImage3 []func(shareVars *sync.Map, data *sensor_msgs.Image) string //36 TopicOfDataRead = "/data_read" RuleOfDataRead1 []func(data *pjisuv_msgs.Retrieval) string RuleOfDataRead2 []func(data *pjisuv_msgs.Retrieval, param *pjisuv_param.PjisuvParam) string RuleOfDataRead3 []func(shareVars *sync.Map, data *pjisuv_msgs.Retrieval) string //37 TopicOfPjiGps = "/pji_gps" RuleOfPjiGps1 []func(data *pjisuv_msgs.PerceptionLocalization) string RuleOfPjiGps2 []func(data *pjisuv_msgs.PerceptionLocalization, param *pjisuv_param.PjisuvParam) string RuleOfPjiGps3 []func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionLocalization) string //38 TopicOfFaultInfo = "/fault_info" RuleOfFaultInfo1 []func(data *pjisuv_msgs.FaultVec) string RuleOfFaultInfo2 []func(data *pjisuv_msgs.FaultVec, param *pjisuv_param.PjisuvParam) string RuleOfFaultInfo3 []func(shareVars *sync.Map, data *pjisuv_msgs.FaultVec) string //39 TopicOfPjVehicleFdbPub = "/pj_vehicle_fdb_pub" RuleOfPjVehicleFdbPub1 []func(data *pjisuv_msgs.VehicleFdb) string RuleOfPjVehicleFdbPub2 []func(data *pjisuv_msgs.VehicleFdb, param *pjisuv_param.PjisuvParam) string RuleOfPjVehicleFdbPub3 []func(shareVars *sync.Map, data *pjisuv_msgs.VehicleFdb) string //40 TopicOfEndPointMessage = "end_point_message" RuleOfEndPointMessage1 []func(data *geometry_msgs.Point) string RuleOfEndPointMessage2 []func(data *geometry_msgs.Point, param *pjisuv_param.PjisuvParam) string RuleOfEndPointMessage3 []func(shareVars *sync.Map, data *geometry_msgs.Point) string )