main.go 3.3 KB

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