LingxinMeng 10 月之前
父节点
当前提交
0ff5d5ca2b

+ 10 - 29
aarch64/pjibot_delivery/master/package/config/master_trigger_cfg.go → aarch64/pjibot_delivery/master/package/config/trigger_init.go

@@ -4,7 +4,7 @@ import (
 	"cicv-data-closedloop/aarch64/pjibot_delivery/common/config"
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/util"
-	pji_msgs "cicv-data-closedloop/pjibot_delivery_msgs"
+	"cicv-data-closedloop/pjibot_delivery_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/diagnostic_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/geometry_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/nav_msgs"
@@ -14,32 +14,6 @@ import (
 	"strconv"
 )
 
-var (
-	LabelMapTriggerId = make(map[string]string)
-
-	// 1
-	TopicOfDiagnostics = "/diagnostics"
-	RuleOfDiagnostics  []func(data *diagnostic_msgs.DiagnosticArray) string
-	// 2
-	TopicOfImu = "/imu"
-	RuleOfImu  []func(data *sensor_msgs.Imu) string
-	// 3
-	TopicOfLocateInfo = "/locate_info"
-	RuleOfLocateInfo  []func(data *pji_msgs.LocateInfo) string
-	// 4
-	TopicOfObstacleDetection = "/obstacle_detection"
-	RuleOfObstacleDetection  []func(data *std_msgs.UInt8) string
-	// 5
-	TopicOfOdom = "/odom"
-	RuleOfOdom  []func(data *nav_msgs.Odometry) string
-	// 6
-	TopicOfSysInfo = "/sys_info"
-	RuleOfSysInfo  []func(data *pji_msgs.SysInfo) string
-	// 7
-	TopicOfRobotPose = "/robot_pose"
-	RuleOfRobotPose  []func(data *geometry_msgs.PoseStamped) string
-)
-
 func InitTriggerConfig() {
 	loadSuccess := 0
 	// 下载所有触发器的文件
@@ -93,7 +67,7 @@ func InitTriggerConfig() {
 			}
 			RuleOfImu = append(RuleOfImu, f)
 		} else if TopicOfLocateInfo == topic2 { // 3
-			f, ok := rule.(func(data *pji_msgs.LocateInfo) string)
+			f, ok := rule.(func(data *pjibot_delivery_msgs.LocateInfo) string)
 			if ok != true {
 				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pji_msgs.LocateInfo) string):", err)
 				continue
@@ -114,7 +88,7 @@ func InitTriggerConfig() {
 			}
 			RuleOfOdom = append(RuleOfOdom, f)
 		} else if TopicOfSysInfo == topic2 { // 6
-			f, ok := rule.(func(data *pji_msgs.SysInfo) string)
+			f, ok := rule.(func(data *pjibot_delivery_msgs.SysInfo) string)
 			if ok != true {
 				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pji_msgs.SysInfo) string):", err)
 				continue
@@ -127,6 +101,13 @@ func InitTriggerConfig() {
 				continue
 			}
 			RuleOfRobotPose = append(RuleOfRobotPose, f)
+		} else if TopicOfTaskFeedbackInfo == topic2 { // 8
+			f, ok := rule.(func(data *pjibot_delivery_msgs.TaskFeedbackInfo) string)
+			if ok != true {
+				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pjibot_delivery_msgs.TaskFeedbackInfo) string):", err)
+				continue
+			}
+			RuleOfTaskFeedbackInfo = append(RuleOfTaskFeedbackInfo, f)
 		} else {
 			c_log.GlobalLogger.Error("未知的topic:", topic2)
 			continue

+ 39 - 0
aarch64/pjibot_delivery/master/package/config/trigger_var.go

@@ -0,0 +1,39 @@
+package config
+
+import (
+	"cicv-data-closedloop/pjibot_delivery_msgs"
+	"github.com/bluenviron/goroslib/v2/pkg/msgs/diagnostic_msgs"
+	"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"
+)
+
+var (
+	LabelMapTriggerId = make(map[string]string)
+
+	// 1
+	TopicOfDiagnostics = "/diagnostics"
+	RuleOfDiagnostics  []func(data *diagnostic_msgs.DiagnosticArray) string
+	// 2
+	TopicOfImu = "/imu"
+	RuleOfImu  []func(data *sensor_msgs.Imu) string
+	// 3
+	TopicOfLocateInfo = "/locate_info"
+	RuleOfLocateInfo  []func(data *pjibot_delivery_msgs.LocateInfo) string
+	// 4
+	TopicOfObstacleDetection = "/obstacle_detection"
+	RuleOfObstacleDetection  []func(data *std_msgs.UInt8) string
+	// 5
+	TopicOfOdom = "/odom"
+	RuleOfOdom  []func(data *nav_msgs.Odometry) string
+	// 6
+	TopicOfSysInfo = "/sys_info"
+	RuleOfSysInfo  []func(data *pjibot_delivery_msgs.SysInfo) string
+	// 7
+	TopicOfRobotPose = "/robot_pose"
+	RuleOfRobotPose  []func(data *geometry_msgs.PoseStamped) string
+	// 8
+	TopicOfTaskFeedbackInfo = "/task_feedback_info"
+	RuleOfTaskFeedbackInfo  []func(data *pjibot_delivery_msgs.TaskFeedbackInfo) string
+)

+ 10 - 29
aarch64/pjibot_patrol/master/package/config/master_trigger_cfg.go → aarch64/pjibot_patrol/master/package/config/trigger_init.go

@@ -4,7 +4,7 @@ import (
 	"cicv-data-closedloop/aarch64/pjibot_patrol/common/config"
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/util"
-	pji_msgs "cicv-data-closedloop/pjibot_patrol_msgs"
+	"cicv-data-closedloop/pjibot_patrol_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/diagnostic_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/geometry_msgs"
 	"github.com/bluenviron/goroslib/v2/pkg/msgs/nav_msgs"
@@ -14,32 +14,6 @@ import (
 	"strconv"
 )
 
-var (
-	LabelMapTriggerId = make(map[string]string)
-
-	// 1
-	TopicOfDiagnostics = "/diagnostics"
-	RuleOfDiagnostics  []func(data *diagnostic_msgs.DiagnosticArray) string
-	// 2
-	TopicOfImu = "/imu"
-	RuleOfImu  []func(data *sensor_msgs.Imu) string
-	// 3
-	TopicOfLocateInfo = "/locate_info"
-	RuleOfLocateInfo  []func(data *pji_msgs.LocateInfo) string
-	// 4
-	TopicOfObstacleDetection = "/obstacle_detection"
-	RuleOfObstacleDetection  []func(data *std_msgs.UInt8) string
-	// 5
-	TopicOfOdom = "/odom"
-	RuleOfOdom  []func(data *nav_msgs.Odometry) string
-	// 6
-	TopicOfSysInfo = "/sys_info"
-	RuleOfSysInfo  []func(data *pji_msgs.SysInfo) string
-	// 7
-	TopicOfRobotPose = "/robot_pose"
-	RuleOfRobotPose  []func(data *geometry_msgs.PoseStamped) string
-)
-
 func InitTriggerConfig() {
 	loadSuccess := 0
 	// 下载所有触发器的文件
@@ -93,7 +67,7 @@ func InitTriggerConfig() {
 			}
 			RuleOfImu = append(RuleOfImu, f)
 		} else if TopicOfLocateInfo == topic2 { // 3
-			f, ok := rule.(func(data *pji_msgs.LocateInfo) string)
+			f, ok := rule.(func(data *pjibot_patrol_msgs.LocateInfo) string)
 			if ok != true {
 				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pji_msgs.LocateInfo) string):", err)
 				continue
@@ -114,7 +88,7 @@ func InitTriggerConfig() {
 			}
 			RuleOfOdom = append(RuleOfOdom, f)
 		} else if TopicOfSysInfo == topic2 { // 6
-			f, ok := rule.(func(data *pji_msgs.SysInfo) string)
+			f, ok := rule.(func(data *pjibot_patrol_msgs.SysInfo) string)
 			if ok != true {
 				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pji_msgs.SysInfo) string):", err)
 				continue
@@ -127,6 +101,13 @@ func InitTriggerConfig() {
 				continue
 			}
 			RuleOfRobotPose = append(RuleOfRobotPose, f)
+		} else if TopicOfTaskFeedbackInfo == topic2 { // 8
+			f, ok := rule.(func(data *pjibot_patrol_msgs.TaskFeedbackInfo) string)
+			if ok != true {
+				c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func(data *pjibot_patrol_msgs.TaskFeedbackInfo) string):", err)
+				continue
+			}
+			RuleOfTaskFeedbackInfo = append(RuleOfTaskFeedbackInfo, f)
 		} else {
 			c_log.GlobalLogger.Error("未知的topic:", topic2)
 			continue

+ 39 - 0
aarch64/pjibot_patrol/master/package/config/trigger_var.go

@@ -0,0 +1,39 @@
+package config
+
+import (
+	"cicv-data-closedloop/pjibot_patrol_msgs"
+	"github.com/bluenviron/goroslib/v2/pkg/msgs/diagnostic_msgs"
+	"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"
+)
+
+var (
+	LabelMapTriggerId = make(map[string]string)
+
+	// 1
+	TopicOfDiagnostics = "/diagnostics"
+	RuleOfDiagnostics  []func(data *diagnostic_msgs.DiagnosticArray) string
+	// 2
+	TopicOfImu = "/imu"
+	RuleOfImu  []func(data *sensor_msgs.Imu) string
+	// 3
+	TopicOfLocateInfo = "/locate_info"
+	RuleOfLocateInfo  []func(data *pjibot_patrol_msgs.LocateInfo) string
+	// 4
+	TopicOfObstacleDetection = "/obstacle_detection"
+	RuleOfObstacleDetection  []func(data *std_msgs.UInt8) string
+	// 5
+	TopicOfOdom = "/odom"
+	RuleOfOdom  []func(data *nav_msgs.Odometry) string
+	// 6
+	TopicOfSysInfo = "/sys_info"
+	RuleOfSysInfo  []func(data *pjibot_patrol_msgs.SysInfo) string
+	// 7
+	TopicOfRobotPose = "/robot_pose"
+	RuleOfRobotPose  []func(data *geometry_msgs.PoseStamped) string
+	// 8
+	TopicOfTaskFeedbackInfo = "/task_feedback_info"
+	RuleOfTaskFeedbackInfo  []func(data *pjibot_patrol_msgs.TaskFeedbackInfo) string
+)

+ 1 - 1
pjibot_delivery_msgs/common_msgs.go

@@ -1,4 +1,4 @@
-package pji_msgs
+package pjibot_delivery_msgs
 
 import (
 	"github.com/bluenviron/goroslib/v2/pkg/msg"

+ 18 - 1
pjibot_patrol_msgs/common_msgs.go

@@ -1,4 +1,4 @@
-package pji_msgs
+package pjibot_patrol_msgs
 
 import (
 	"github.com/bluenviron/goroslib/v2/pkg/msg"
@@ -20,3 +20,20 @@ type LocateInfo struct {
 	ErrorCode    int64                     `rosname:"error_code"`
 	Message      string                    `rosname:"message"`
 }
+type TaskInfo struct {
+	msg.Package    `ros:"common_msgs"`
+	TaskID         string                    `rosname:"task_id"`
+	TaskType       int32                     `rosname:"task_type"`
+	SubTaskType    int32                     `rosname:"sub_task_type"`
+	TransitionTask bool                      `rosname:"transition_task"`
+	CanRotation    bool                      `rosname:"can_rotation"`
+	Point          geometry_msgs.PoseStamped `rosname:"point"`
+}
+
+type TaskFeedbackInfo struct {
+	msg.Package   `ros:"common_msgs"`
+	TaskInfo      TaskInfo `rosname:"task_info"`
+	TaskStatus    int8     `rosname:"task_status"`
+	TaskErrorCode int64    `rosname:"task_error_code"`
+	Message       string   `rosname:"message"`
+}