trigger_var.go 11 KB

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