package main import ( "cicv-data-closedloop/common/util" masterConfig "cicv-data-closedloop/kinglong/master/pkg/cfg" "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", }) topic := util.ToString(os.Args[1]) if topic == TopicOfNodeFaultInfo { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: masterConfig.TopicOfNodeFaultInfo, Callback: func(data *kinglong_msgs.FaultInfo) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfCicvLocation { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: masterConfig.TopicOfCicvLocation, Callback: func(data *kinglong_msgs.PerceptionLocalization) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfTpperception { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: masterConfig.TopicOfTpperception, Callback: func(data *kinglong_msgs.PerceptionObjects) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfFaultInfo { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: masterConfig.TopicOfFaultInfo, Callback: func(data *kinglong_msgs.FaultVec) { fmt.Println("收到话题", topic, "的数据", data) }}) } if topic == TopicOfDataRead { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: masterConfig.TopicOfDataRead, Callback: func(data *kinglong_msgs.Retrieval) { fmt.Println("收到话题", topic, "的数据", data) }}) } select {} }