孟令鑫 1 жил өмнө
parent
commit
9f3d4d9ee3

+ 411 - 30
aarch64/topic-echo/main/main.go

@@ -1,22 +1,22 @@
 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"
 )
 
-var (
-	TopicOfNodeFaultInfo = "/nodefault_info"
-	TopicOfCicvLocation  = "/cicv_location"
-	TopicOfTpperception  = "/tpperception"
-	TopicOfFaultInfo     = "/fault_info"
-	TopicOfDataRead      = "/data_read"
-)
-
+// main 命令格式 topic-echo.exe pjisuv /cicv_location
 func main() {
 	rosNode, _ := goroslib.NewNode(goroslib.NodeConf{
 		Name:          "cicvDataClosedloopTopicEcho",
@@ -24,55 +24,436 @@ func main() {
 	})
 	eType := util.ToString(os.Args[1])
 	topic := util.ToString(os.Args[2])
-	if eType == "kinglong" {
-		if topic == TopicOfNodeFaultInfo {
+
+	if eType == "pjisuv" {
+		//1
+		if topic == pjisuvConfig.TopicOfAmrPose {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
-				Topic: TopicOfNodeFaultInfo,
-				Callback: func(data *kinglong_msgs.FaultInfo) {
+				Topic: topic,
+				Callback: func(data *visualization_msgs.MarkerArray) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}
-		if topic == TopicOfCicvLocation {
+		//2
+		if topic == pjisuvConfig.TopicOfBoundingBoxesFast {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
-				Topic: TopicOfCicvLocation,
-				Callback: func(data *kinglong_msgs.PerceptionLocalization) {
+				Topic: topic,
+				Callback: func(data *pjisuv_msgs.BoundingBoxArray) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}
-		if topic == TopicOfTpperception {
+		//3
+		if topic == pjisuvConfig.TopicOfCameraFault {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
-				Topic: TopicOfTpperception,
-				Callback: func(data *kinglong_msgs.PerceptionObjects) {
+				Topic: topic,
+				Callback: func(data *pjisuv_msgs.FaultVec) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}
-		if topic == TopicOfFaultInfo {
+		//4
+		if topic == pjisuvConfig.TopicOfCanData {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
-				Topic: TopicOfFaultInfo,
-				Callback: func(data *kinglong_msgs.FaultVec) {
+				Topic: topic,
+				Callback: func(data *pjisuv_msgs.Frame) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}
-		if topic == TopicOfDataRead {
+		//5
+		if topic == pjisuvConfig.TopicOfCh128x1LslidarPointCloud {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
-				Topic: TopicOfDataRead,
-				Callback: func(data *kinglong_msgs.Retrieval) {
+				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)
 				}})
 		}
 	}
 
-	if eType == "pjisuv" {
+	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 *pjisuv_msgs.FaultInfo) {
+				Callback: func(data *kinglong_msgs.FaultInfo) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}
@@ -80,7 +461,7 @@ func main() {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
 				Topic: TopicOfCicvLocation,
-				Callback: func(data *pjisuv_msgs.PerceptionLocalization) {
+				Callback: func(data *kinglong_msgs.PerceptionLocalization) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}
@@ -88,7 +469,7 @@ func main() {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
 				Topic: TopicOfTpperception,
-				Callback: func(data *pjisuv_msgs.PerceptionObjects) {
+				Callback: func(data *kinglong_msgs.PerceptionObjects) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}
@@ -96,7 +477,7 @@ func main() {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
 				Topic: TopicOfFaultInfo,
-				Callback: func(data *pjisuv_msgs.FaultVec) {
+				Callback: func(data *kinglong_msgs.FaultVec) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}
@@ -104,7 +485,7 @@ func main() {
 			_, _ = goroslib.NewSubscriber(goroslib.SubscriberConf{
 				Node:  rosNode,
 				Topic: TopicOfDataRead,
-				Callback: func(data *pjisuv_msgs.Retrieval) {
+				Callback: func(data *kinglong_msgs.Retrieval) {
 					fmt.Println("收到话题", topic, "的数据", data)
 				}})
 		}