package main import ( pjisuvConfig "cicv-data-closedloop/aarch64/pjisuv/master/package/config" "cicv-data-closedloop/common/util" "cicv-data-closedloop/kinglong_msgs" "cicv-data-closedloop/pjisuv_msgs" "fmt" "github.com/bluenviron/goroslib/v2" "github.com/bluenviron/goroslib/v2/pkg/msgs/geometry_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/nav_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/sensor_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/std_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/tf2_msgs" "github.com/bluenviron/goroslib/v2/pkg/msgs/visualization_msgs" "os" ) // main 命令格式 topic-echo.exe pjisuv /cicv_location 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 == "pjisuv" { //1 if topic == pjisuvConfig.TopicOfAmrPose { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *visualization_msgs.MarkerArray) { fmt.Println("收到话题", topic, "的数据", data) }}) } //2 if topic == pjisuvConfig.TopicOfBoundingBoxesFast { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.BoundingBoxArray) { fmt.Println("收到话题", topic, "的数据", data) }}) } //3 if topic == pjisuvConfig.TopicOfCameraFault { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.FaultVec) { fmt.Println("收到话题", topic, "的数据", data) }}) } //4 if topic == pjisuvConfig.TopicOfCanData { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.Frame) { fmt.Println("收到话题", topic, "的数据", data) }}) } //5 if topic == pjisuvConfig.TopicOfCh128x1LslidarPointCloud { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.PointCloud2) { fmt.Println("收到话题", topic, "的数据", data) }}) } //6 if topic == pjisuvConfig.TopicOfCh64wLLslidarPointCloud { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.PointCloud2) { fmt.Println("收到话题", topic, "的数据", data) }}) } //7 if topic == pjisuvConfig.TopicOfCh64wLScan { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.LaserScan) { fmt.Println("收到话题", topic, "的数据", data) }}) } //8 if topic == pjisuvConfig.TopicOfCh64wRLslidarPointCloud { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.PointCloud2) { fmt.Println("收到话题", topic, "的数据", data) }}) } //9 if topic == pjisuvConfig.TopicOfCh64wRScan { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.LaserScan) { fmt.Println("收到话题", topic, "的数据", data) }}) } //10 if topic == pjisuvConfig.TopicOfCicvLidarclusterMovingObjects { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.PerceptionCicvMovingObjects) { fmt.Println("收到话题", topic, "的数据", data) }}) } //11 if topic == pjisuvConfig.TopicOfCicvAmrTrajectory { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.Trajectory) { fmt.Println("收到话题", topic, "的数据", data) }}) } //12 if topic == pjisuvConfig.TopicOfCicvLocation { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.PerceptionLocalization) { fmt.Println("收到话题", topic, "的数据", data) }}) } //13 if topic == pjisuvConfig.TopicOfCloudClusters { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.AutowareCloudClusterArray) { fmt.Println("收到话题", topic, "的数据", data) }}) } //14 if topic == pjisuvConfig.TopicOfHeartbeatInfo { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.HeartBeatInfo) { fmt.Println("收到话题", topic, "的数据", data) }}) } //15 if topic == pjisuvConfig.TopicOfLidarPretreatmentCost { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *geometry_msgs.Vector3Stamped) { fmt.Println("收到话题", topic, "的数据", data) }}) } //16 if topic == pjisuvConfig.TopicOfLidarPretreatmentOdometry { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *nav_msgs.Odometry) { fmt.Println("收到话题", topic, "的数据", data) }}) } //17 if topic == pjisuvConfig.TopicOfLidarRoi { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *geometry_msgs.PolygonStamped) { fmt.Println("收到话题", topic, "的数据", data) }}) } //18 if topic == pjisuvConfig.TopicOfLine1 { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *nav_msgs.Path) { fmt.Println("收到话题", topic, "的数据", data) }}) } //19 if topic == pjisuvConfig.TopicOfLine2 { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *nav_msgs.Path) { fmt.Println("收到话题", topic, "的数据", data) }}) } //20 if topic == pjisuvConfig.TopicOfMapPolygon { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.PolygonStamped) { fmt.Println("收到话题", topic, "的数据", data) }}) } //21 if topic == pjisuvConfig.TopicOfObstacleDisplay { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *visualization_msgs.MarkerArray) { fmt.Println("收到话题", topic, "的数据", data) }}) } //22 if topic == pjisuvConfig.TopicOfPjControlPub { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.CommonVehicleCmd) { fmt.Println("收到话题", topic, "的数据", data) }}) } //23 if topic == pjisuvConfig.TopicOfPointsCluster { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.PointCloud2) { fmt.Println("收到话题", topic, "的数据", data) }}) } //24 if topic == pjisuvConfig.TopicOfPointsConcat { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.PointCloud2) { fmt.Println("收到话题", topic, "的数据", data) }}) } //25 if topic == pjisuvConfig.TopicOfReferenceDisplay { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *nav_msgs.Path) { fmt.Println("收到话题", topic, "的数据", data) }}) } //26 if topic == pjisuvConfig.TopicOfReferenceTrajectory { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.Trajectory) { fmt.Println("收到话题", topic, "的数据", data) }}) } //27 if topic == pjisuvConfig.TopicOfRoiPoints { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.PointCloud2) { fmt.Println("收到话题", topic, "的数据", data) }}) } //28 if topic == pjisuvConfig.TopicOfRoiPolygon { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *nav_msgs.Path) { fmt.Println("收到话题", topic, "的数据", data) }}) } //29 if topic == pjisuvConfig.TopicOfTf { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *tf2_msgs.TFMessage) { fmt.Println("收到话题", topic, "的数据", data) }}) } //30 if topic == pjisuvConfig.TopicOfTpperception { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.PerceptionObjects) { fmt.Println("收到话题", topic, "的数据", data) }}) } //31 if topic == pjisuvConfig.TopicOfTpperceptionVis { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *visualization_msgs.MarkerArray) { fmt.Println("收到话题", topic, "的数据", data) }}) } //32 if topic == pjisuvConfig.TopicOfTprouteplan { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.RoutePlan) { fmt.Println("收到话题", topic, "的数据", data) }}) } //33 if topic == pjisuvConfig.TopicOfTrajectoryDisplay { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *nav_msgs.Path) { fmt.Println("收到话题", topic, "的数据", data) }}) } //34 if topic == pjisuvConfig.TopicOfUngroundCloudpoints { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.PointCloud2) { fmt.Println("收到话题", topic, "的数据", data) }}) } //35 if topic == pjisuvConfig.TopicOfCameraImage { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.Image) { fmt.Println("收到话题", topic, "的数据", data) }}) } //36 if topic == pjisuvConfig.TopicOfCameraObstacles { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.CameraObjectList) { fmt.Println("收到话题", topic, "的数据", data) }}) } //37 if topic == pjisuvConfig.TopicOfCamRes { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *sensor_msgs.Image) { fmt.Println("收到话题", topic, "的数据", data) }}) } //38 if topic == pjisuvConfig.TopicOfCamObjects { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.CameraObjectList) { fmt.Println("收到话题", topic, "的数据", data) }}) } //39 if topic == pjisuvConfig.TopicOfTftrafficlight { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.TrafficLightDetection) { fmt.Println("收到话题", topic, "的数据", data) }}) } //40 if topic == pjisuvConfig.TopicOfStationStatus { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *std_msgs.Bool) { fmt.Println("收到话题", topic, "的数据", data) }}) } //41 if topic == pjisuvConfig.TopicOfDestinationPose { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *visualization_msgs.MarkerArray) { fmt.Println("收到话题", topic, "的数据", data) }}) } //42 if topic == pjisuvConfig.TopicOfMapDisplay { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *nav_msgs.Path) { fmt.Println("收到话题", topic, "的数据", data) }}) } //43 if topic == pjisuvConfig.TopicOfRoutingRviz { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *nav_msgs.Path) { fmt.Println("收到话题", topic, "的数据", data) }}) } //44 if topic == pjisuvConfig.TopicOfRouteMessage { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.Route) { fmt.Println("收到话题", topic, "的数据", data) }}) } //45 if topic == pjisuvConfig.TopicOfRouteResultMessage { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.Route) { fmt.Println("收到话题", topic, "的数据", data) }}) } //46 if topic == pjisuvConfig.TopicOfDataRead { _, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{ Node: rosNode, Topic: topic, Callback: func(data *pjisuv_msgs.Retrieval) { fmt.Println("收到话题", topic, "的数据", data) }}) } } TopicOfNodeFaultInfo := "/nodefault_info" TopicOfCicvLocation := "/cicv_location" TopicOfTpperception := "/tpperception" TopicOfFaultInfo := "/fault_info" TopicOfDataRead := "/data_read" 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) }}) } } select {} }