package main import ( "cicv-data-closedloop/common/util" "cicv-data-closedloop/kinglong_msgs" "fmt" "github.com/bluenviron/goroslib/v2" "os" ) var ( TopicOfNodeFaultInfo = "/nodefault_info" TopicOfCicvLocation = "/cicv_location" TopicOfTpperception = "/tpperception" TopicOfFaultInfo = "/fault_info" TopicOfDataRead = "/data_read" ) func main() { rosNode, _ := goroslib.NewNode(goroslib.NodeConf{ Name: "cicvDataClosedloopTopicEcho", MasterAddress: "127.0.0.1:11311", }) eType := util.ToString(os.Args[1]) topic := util.ToString(os.Args[2]) if eType == "kinglong" { if topic == TopicOfNodeFaultInfo { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfNodeFaultInfo, Callback: func(data *kinglong_msgs.FaultInfo) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfCicvLocation { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfCicvLocation, Callback: func(data *kinglong_msgs.PerceptionLocalization) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfTpperception { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfTpperception, Callback: func(data *kinglong_msgs.PerceptionObjects) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfFaultInfo { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfFaultInfo, Callback: func(data *kinglong_msgs.FaultVec) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfDataRead { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfDataRead, Callback: func(data *kinglong_msgs.Retrieval) { fmt.Println("收到话题", topic, "的数据", data) }}) } } if eType == "pjisuv" { if topic == TopicOfNodeFaultInfo { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfNodeFaultInfo, Callback: func(data *kinglong_msgs.FaultInfo) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfCicvLocation { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfCicvLocation, Callback: func(data *kinglong_msgs.PerceptionLocalization) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfTpperception { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfTpperception, Callback: func(data *kinglong_msgs.PerceptionObjects) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfFaultInfo { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfFaultInfo, Callback: func(data *kinglong_msgs.FaultVec) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfDataRead { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: TopicOfDataRead, Callback: func(data *kinglong_msgs.Retrieval) { fmt.Println("收到话题", topic, "的数据", data) }}) } } select {} }