main.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package main
  2. import (
  3. "cicv-data-closedloop/common/util"
  4. "cicv-data-closedloop/kinglong_msgs"
  5. "fmt"
  6. "github.com/bluenviron/goroslib/v2"
  7. "os"
  8. )
  9. var (
  10. TopicOfNodeFaultInfo = "/nodefault_info"
  11. TopicOfCicvLocation = "/cicv_location"
  12. TopicOfTpperception = "/tpperception"
  13. TopicOfFaultInfo = "/fault_info"
  14. TopicOfDataRead = "/data_read"
  15. )
  16. func main() {
  17. rosNode, _ := goroslib.NewNode(goroslib.NodeConf{
  18. Name: "cicvDataClosedloopTopicEcho",
  19. MasterAddress: "127.0.0.1:11311",
  20. })
  21. eType := util.ToString(os.Args[1])
  22. topic := util.ToString(os.Args[2])
  23. if eType == "kinglong" {
  24. if topic == TopicOfNodeFaultInfo {
  25. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  26. Node: rosNode,
  27. Topic: TopicOfNodeFaultInfo,
  28. Callback: func(data *kinglong_msgs.FaultInfo) {
  29. fmt.Println("收到话题", topic, "的数据", data)
  30. }})
  31. }
  32. if topic == TopicOfCicvLocation {
  33. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  34. Node: rosNode,
  35. Topic: TopicOfCicvLocation,
  36. Callback: func(data *kinglong_msgs.PerceptionLocalization) {
  37. fmt.Println("收到话题", topic, "的数据", data)
  38. }})
  39. }
  40. if topic == TopicOfTpperception {
  41. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  42. Node: rosNode,
  43. Topic: TopicOfTpperception,
  44. Callback: func(data *kinglong_msgs.PerceptionObjects) {
  45. fmt.Println("收到话题", topic, "的数据", data)
  46. }})
  47. }
  48. if topic == TopicOfFaultInfo {
  49. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  50. Node: rosNode,
  51. Topic: TopicOfFaultInfo,
  52. Callback: func(data *kinglong_msgs.FaultVec) {
  53. fmt.Println("收到话题", topic, "的数据", data)
  54. }})
  55. }
  56. if topic == TopicOfDataRead {
  57. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  58. Node: rosNode,
  59. Topic: TopicOfDataRead,
  60. Callback: func(data *kinglong_msgs.Retrieval) {
  61. fmt.Println("收到话题", topic, "的数据", data)
  62. }})
  63. }
  64. }
  65. if eType == "pjisuv" {
  66. if topic == TopicOfNodeFaultInfo {
  67. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  68. Node: rosNode,
  69. Topic: TopicOfNodeFaultInfo,
  70. Callback: func(data *kinglong_msgs.FaultInfo) {
  71. fmt.Println("收到话题", topic, "的数据", data)
  72. }})
  73. }
  74. if topic == TopicOfCicvLocation {
  75. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  76. Node: rosNode,
  77. Topic: TopicOfCicvLocation,
  78. Callback: func(data *kinglong_msgs.PerceptionLocalization) {
  79. fmt.Println("收到话题", topic, "的数据", data)
  80. }})
  81. }
  82. if topic == TopicOfTpperception {
  83. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  84. Node: rosNode,
  85. Topic: TopicOfTpperception,
  86. Callback: func(data *kinglong_msgs.PerceptionObjects) {
  87. fmt.Println("收到话题", topic, "的数据", data)
  88. }})
  89. }
  90. if topic == TopicOfFaultInfo {
  91. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  92. Node: rosNode,
  93. Topic: TopicOfFaultInfo,
  94. Callback: func(data *kinglong_msgs.FaultVec) {
  95. fmt.Println("收到话题", topic, "的数据", data)
  96. }})
  97. }
  98. if topic == TopicOfDataRead {
  99. _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
  100. Node: rosNode,
  101. Topic: TopicOfDataRead,
  102. Callback: func(data *kinglong_msgs.Retrieval) {
  103. fmt.Println("收到话题", topic, "的数据", data)
  104. }})
  105. }
  106. }
  107. select {}
  108. }