trigger_var.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. package config
  2. import (
  3. "cicv-data-closedloop/pjisuv_msgs"
  4. "cicv-data-closedloop/pjisuv_param"
  5. "github.com/bluenviron/goroslib/v2/pkg/msgs/geometry_msgs"
  6. "github.com/bluenviron/goroslib/v2/pkg/msgs/nav_msgs"
  7. "github.com/bluenviron/goroslib/v2/pkg/msgs/sensor_msgs"
  8. "github.com/bluenviron/goroslib/v2/pkg/msgs/tf2_msgs"
  9. "github.com/bluenviron/goroslib/v2/pkg/msgs/visualization_msgs"
  10. "sync"
  11. )
  12. var (
  13. LabelMapTriggerId = new(sync.Map)
  14. // 定时任务触发器,详见 pjisuv_ticker包
  15. RuleOfCicvTicker = make([]func(shareVars *sync.Map) string, 0) // tick代表定时任务间隔时间;对于长度为0的slice,无论是使用var还是make创建,它们在内存占用上的差异通常可以忽略不计
  16. //1
  17. TopicOfAmrPose = "/amr_pose"
  18. RuleOfAmrPose1 []func(data *visualization_msgs.MarkerArray) string
  19. RuleOfAmrPose2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string
  20. RuleOfAmrPose3 []func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string
  21. //2
  22. TopicOfBoundingBoxesFast = "/bounding_boxes_fast"
  23. RuleOfBoundingBoxesFast1 []func(data *pjisuv_msgs.BoundingBoxArray) string
  24. RuleOfBoundingBoxesFast2 []func(data *pjisuv_msgs.BoundingBoxArray, param *pjisuv_param.PjisuvParam) string
  25. RuleOfBoundingBoxesFast3 []func(shareVars *sync.Map, data *pjisuv_msgs.BoundingBoxArray) string
  26. //3
  27. TopicOfCameraFault = "/camera_fault"
  28. RuleOfCameraFault1 []func(data *pjisuv_msgs.FaultVec) string
  29. RuleOfCameraFault2 []func(data *pjisuv_msgs.FaultVec, param *pjisuv_param.PjisuvParam) string
  30. RuleOfCameraFault3 []func(shareVars *sync.Map, data *pjisuv_msgs.FaultVec) string
  31. //4
  32. TopicOfCanData = "/can_data"
  33. RuleOfCanData1 []func(data *pjisuv_msgs.Frame) string
  34. RuleOfCanData2 []func(data *pjisuv_msgs.Frame, param *pjisuv_param.PjisuvParam) string
  35. RuleOfCanData3 []func(shareVars *sync.Map, data *pjisuv_msgs.Frame) string
  36. //5
  37. TopicOfCh128x1LslidarPointCloud = "/ch128x1/lslidar_point_cloud"
  38. RuleOfCh128x1LslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string
  39. RuleOfCh128x1LslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
  40. RuleOfCh128x1LslidarPointCloud3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string
  41. //6
  42. TopicOfCh64wLLslidarPointCloud = "/ch64w_l/lslidar_point_cloud"
  43. RuleOfCh64wLLslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string
  44. RuleOfCh64wLLslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
  45. RuleOfCh64wLLslidarPointCloud3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string
  46. //7
  47. TopicOfCh64wLScan = "/ch64w_l/scan"
  48. RuleOfCh64wLScan1 []func(data *sensor_msgs.LaserScan) string
  49. RuleOfCh64wLScan2 []func(data *sensor_msgs.LaserScan, param *pjisuv_param.PjisuvParam) string
  50. RuleOfCh64wLScan3 []func(shareVars *sync.Map, data *sensor_msgs.LaserScan) string
  51. //8
  52. TopicOfCh64wRLslidarPointCloud = "/ch64w_r/lslidar_point_cloud"
  53. RuleOfCh64wRLslidarPointCloud1 []func(data *sensor_msgs.PointCloud2) string
  54. RuleOfCh64wRLslidarPointCloud2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
  55. RuleOfCh64wRLslidarPointCloud3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string
  56. //9
  57. TopicOfCh64wRScan = "/ch64w_r/scan"
  58. RuleOfCh64wRScan1 []func(data *sensor_msgs.LaserScan) string
  59. RuleOfCh64wRScan2 []func(data *sensor_msgs.LaserScan, param *pjisuv_param.PjisuvParam) string
  60. RuleOfCh64wRScan3 []func(shareVars *sync.Map, data *sensor_msgs.LaserScan) string
  61. //10
  62. TopicOfCicvLidarclusterMovingObjects = "/cicv/lidarcluster_moving_objects"
  63. RuleOfCicvLidarclusterMovingObjects1 []func(data *pjisuv_msgs.PerceptionCicvMovingObjects) string
  64. RuleOfCicvLidarclusterMovingObjects2 []func(data *pjisuv_msgs.PerceptionCicvMovingObjects, param *pjisuv_param.PjisuvParam) string
  65. RuleOfCicvLidarclusterMovingObjects3 []func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionCicvMovingObjects) string
  66. //11
  67. TopicOfCicvAmrTrajectory = "/cicv_amr_trajectory"
  68. RuleOfCicvAmrTrajectory1 []func(data *pjisuv_msgs.Trajectory) string
  69. RuleOfCicvAmrTrajectory2 []func(data *pjisuv_msgs.Trajectory, param *pjisuv_param.PjisuvParam) string
  70. RuleOfCicvAmrTrajectory3 []func(shareVars *sync.Map, data *pjisuv_msgs.Trajectory) string
  71. //12
  72. TopicOfCicvLocation = "/cicv_location"
  73. RuleOfCicvLocation1 []func(data *pjisuv_msgs.PerceptionLocalization) string
  74. RuleOfCicvLocation2 []func(data *pjisuv_msgs.PerceptionLocalization, param *pjisuv_param.PjisuvParam) string
  75. RuleOfCicvLocation3 []func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionLocalization) string
  76. //13
  77. TopicOfCloudClusters = "/cloud_clusters"
  78. RuleOfCloudClusters1 []func(data *pjisuv_msgs.AutowareCloudClusterArray) string
  79. RuleOfCloudClusters2 []func(data *pjisuv_msgs.AutowareCloudClusterArray, param *pjisuv_param.PjisuvParam) string
  80. RuleOfCloudClusters3 []func(shareVars *sync.Map, data *pjisuv_msgs.AutowareCloudClusterArray) string
  81. //14
  82. TopicOfHeartbeatInfo = "/heartbeat_info"
  83. RuleOfHeartbeatInfo1 []func(data *pjisuv_msgs.HeartBeatInfo) string
  84. RuleOfHeartbeatInfo2 []func(data *pjisuv_msgs.HeartBeatInfo, param *pjisuv_param.PjisuvParam) string
  85. RuleOfHeartbeatInfo3 []func(shareVars *sync.Map, data *pjisuv_msgs.HeartBeatInfo) string
  86. //15
  87. TopicOfLidarPretreatmentCost = "/lidarPretreatment_Cost"
  88. RuleOfLidarPretreatmentCost1 []func(data *geometry_msgs.Vector3Stamped) string
  89. RuleOfLidarPretreatmentCost2 []func(data *geometry_msgs.Vector3Stamped, param *pjisuv_param.PjisuvParam) string
  90. RuleOfLidarPretreatmentCost3 []func(shareVars *sync.Map, data *geometry_msgs.Vector3Stamped) string
  91. //16
  92. TopicOfLidarPretreatmentOdometry = "/lidar_pretreatment/odometry"
  93. RuleOfLidarPretreatmentOdometry1 []func(data *nav_msgs.Odometry) string
  94. RuleOfLidarPretreatmentOdometry2 []func(data *nav_msgs.Odometry, param *pjisuv_param.PjisuvParam) string
  95. RuleOfLidarPretreatmentOdometry3 []func(shareVars *sync.Map, data *nav_msgs.Odometry) string
  96. //17
  97. TopicOfLidarRoi = "/lidar_roi"
  98. RuleOfLidarRoi1 []func(data *geometry_msgs.PolygonStamped) string
  99. RuleOfLidarRoi2 []func(data *geometry_msgs.PolygonStamped, param *pjisuv_param.PjisuvParam) string
  100. RuleOfLidarRoi3 []func(shareVars *sync.Map, data *geometry_msgs.PolygonStamped) string
  101. //18
  102. TopicOfLine1 = "/line_1"
  103. RuleOfLine11 []func(data *nav_msgs.Path) string
  104. RuleOfLine12 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
  105. RuleOfLine13 []func(shareVars *sync.Map, data *nav_msgs.Path) string
  106. //19
  107. TopicOfLine2 = "/line_2"
  108. RuleOfLine21 []func(data *nav_msgs.Path) string
  109. RuleOfLine22 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
  110. RuleOfLine23 []func(shareVars *sync.Map, data *nav_msgs.Path) string
  111. //20
  112. TopicOfMapPolygon = "/map_polygon"
  113. RuleOfMapPolygon1 []func(data *pjisuv_msgs.PolygonStamped) string
  114. RuleOfMapPolygon2 []func(data *pjisuv_msgs.PolygonStamped, param *pjisuv_param.PjisuvParam) string
  115. RuleOfMapPolygon3 []func(shareVars *sync.Map, data *pjisuv_msgs.PolygonStamped) string
  116. //21
  117. TopicOfObstacleDisplay = "/obstacle_display"
  118. RuleOfObstacleDisplay1 []func(data *visualization_msgs.MarkerArray) string
  119. RuleOfObstacleDisplay2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string
  120. RuleOfObstacleDisplay3 []func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string
  121. //22
  122. TopicOfPjControlPub = "/pj_control_pub"
  123. RuleOfPjControlPub1 []func(data *pjisuv_msgs.CommonVehicleCmd) string
  124. RuleOfPjControlPub2 []func(data *pjisuv_msgs.CommonVehicleCmd, param *pjisuv_param.PjisuvParam) string
  125. RuleOfPjControlPub3 []func(shareVars *sync.Map, data *pjisuv_msgs.CommonVehicleCmd) string
  126. //23
  127. TopicOfPointsCluster = "/points_cluster"
  128. RuleOfPointsCluster1 []func(data *sensor_msgs.PointCloud2) string
  129. RuleOfPointsCluster2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
  130. RuleOfPointsCluster3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string
  131. //24
  132. TopicOfPointsConcat = "/points_concat"
  133. RuleOfPointsConcat1 []func(data *sensor_msgs.PointCloud2) string
  134. RuleOfPointsConcat2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
  135. RuleOfPointsConcat3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string
  136. //25
  137. TopicOfReferenceDisplay = "/reference_display"
  138. RuleOfReferenceDisplay1 []func(data *nav_msgs.Path) string
  139. RuleOfReferenceDisplay2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
  140. RuleOfReferenceDisplay3 []func(shareVars *sync.Map, data *nav_msgs.Path) string
  141. //26
  142. TopicOfReferenceTrajectory = "/reference_trajectory"
  143. RuleOfReferenceTrajectory1 []func(data *pjisuv_msgs.Trajectory) string
  144. RuleOfReferenceTrajectory2 []func(data *pjisuv_msgs.Trajectory, param *pjisuv_param.PjisuvParam) string
  145. RuleOfReferenceTrajectory3 []func(shareVars *sync.Map, data *pjisuv_msgs.Trajectory) string
  146. //27
  147. TopicOfRoiPoints = "/roi/points"
  148. RuleOfRoiPoints1 []func(data *sensor_msgs.PointCloud2) string
  149. RuleOfRoiPoints2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
  150. RuleOfRoiPoints3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string
  151. //28
  152. TopicOfRoiPolygon = "/roi/polygon"
  153. RuleOfRoiPolygon1 []func(data *nav_msgs.Path) string
  154. RuleOfRoiPolygon2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
  155. RuleOfRoiPolygon3 []func(shareVars *sync.Map, data *nav_msgs.Path) string
  156. //29
  157. TopicOfTf = "/tf"
  158. RuleOfTf1 []func(data *tf2_msgs.TFMessage) string
  159. RuleOfTf2 []func(data *tf2_msgs.TFMessage, param *pjisuv_param.PjisuvParam) string
  160. RuleOfTf3 []func(shareVars *sync.Map, data *tf2_msgs.TFMessage) string
  161. //30
  162. TopicOfTpperception = "/tpperception"
  163. RuleOfTpperception1 []func(data *pjisuv_msgs.PerceptionObjects) string
  164. RuleOfTpperception2 []func(data *pjisuv_msgs.PerceptionObjects, param *pjisuv_param.PjisuvParam) string
  165. RuleOfTpperception3 []func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionObjects) string
  166. //31
  167. TopicOfTpperceptionVis = "/tpperception/vis"
  168. RuleOfTpperceptionVis1 []func(data *visualization_msgs.MarkerArray) string
  169. RuleOfTpperceptionVis2 []func(data *visualization_msgs.MarkerArray, param *pjisuv_param.PjisuvParam) string
  170. RuleOfTpperceptionVis3 []func(shareVars *sync.Map, data *visualization_msgs.MarkerArray) string
  171. //32
  172. TopicOfTprouteplan = "/tprouteplan"
  173. RuleOfTprouteplan1 []func(data *pjisuv_msgs.RoutePlan) string
  174. RuleOfTprouteplan2 []func(data *pjisuv_msgs.RoutePlan, param *pjisuv_param.PjisuvParam) string
  175. RuleOfTprouteplan3 []func(shareVars *sync.Map, data *pjisuv_msgs.RoutePlan) string
  176. //33
  177. TopicOfTrajectoryDisplay = "/trajectory_display"
  178. RuleOfTrajectoryDisplay1 []func(data *nav_msgs.Path) string
  179. RuleOfTrajectoryDisplay2 []func(data *nav_msgs.Path, param *pjisuv_param.PjisuvParam) string
  180. RuleOfTrajectoryDisplay3 []func(shareVars *sync.Map, data *nav_msgs.Path) string
  181. //34
  182. TopicOfUngroundCloudpoints = "/unground_cloudpoints"
  183. RuleOfUngroundCloudpoints1 []func(data *sensor_msgs.PointCloud2) string
  184. RuleOfUngroundCloudpoints2 []func(data *sensor_msgs.PointCloud2, param *pjisuv_param.PjisuvParam) string
  185. RuleOfUngroundCloudpoints3 []func(shareVars *sync.Map, data *sensor_msgs.PointCloud2) string
  186. //35
  187. TopicOfCameraImage = "/camera_image"
  188. RuleOfCameraImage1 []func(data *sensor_msgs.Image) string
  189. RuleOfCameraImage2 []func(data *sensor_msgs.Image, param *pjisuv_param.PjisuvParam) string
  190. RuleOfCameraImage3 []func(shareVars *sync.Map, data *sensor_msgs.Image) string
  191. //36
  192. TopicOfDataRead = "/data_read"
  193. RuleOfDataRead1 []func(data *pjisuv_msgs.Retrieval) string
  194. RuleOfDataRead2 []func(data *pjisuv_msgs.Retrieval, param *pjisuv_param.PjisuvParam) string
  195. RuleOfDataRead3 []func(shareVars *sync.Map, data *pjisuv_msgs.Retrieval) string
  196. //37
  197. TopicOfPjiGps = "/pji_gps"
  198. RuleOfPjiGps1 []func(data *pjisuv_msgs.PerceptionLocalization) string
  199. RuleOfPjiGps2 []func(data *pjisuv_msgs.PerceptionLocalization, param *pjisuv_param.PjisuvParam) string
  200. RuleOfPjiGps3 []func(shareVars *sync.Map, data *pjisuv_msgs.PerceptionLocalization) string
  201. //38
  202. TopicOfFaultInfo = "/fault_info"
  203. RuleOfFaultInfo1 []func(data *pjisuv_msgs.FaultVec) string
  204. RuleOfFaultInfo2 []func(data *pjisuv_msgs.FaultVec, param *pjisuv_param.PjisuvParam) string
  205. RuleOfFaultInfo3 []func(shareVars *sync.Map, data *pjisuv_msgs.FaultVec) string
  206. //39
  207. TopicOfPjVehicleFdbPub = "/pj_vehicle_fdb_pub"
  208. RuleOfPjVehicleFdbPub1 []func(data *pjisuv_msgs.VehicleFdb) string
  209. RuleOfPjVehicleFdbPub2 []func(data *pjisuv_msgs.VehicleFdb, param *pjisuv_param.PjisuvParam) string
  210. RuleOfPjVehicleFdbPub3 []func(shareVars *sync.Map, data *pjisuv_msgs.VehicleFdb) string
  211. //40
  212. TopicOfEndPointMessage = "end_point_message"
  213. RuleOfEndPointMessage1 []func(data *geometry_msgs.Point) string
  214. RuleOfEndPointMessage2 []func(data *geometry_msgs.Point, param *pjisuv_param.PjisuvParam) string
  215. RuleOfEndPointMessage3 []func(shareVars *sync.Map, data *geometry_msgs.Point) string
  216. )