修正物料上传时间

改用biomek_test
增加ResultInfoEncoder
支持返回结果上传
This commit is contained in:
Xuwznln
2025-06-08 14:43:07 +08:00
parent c0b7f2decd
commit ab0c4b708b
9 changed files with 403 additions and 267 deletions

View File

@@ -151,7 +151,7 @@ class HostNode(BaseROS2DeviceNode):
mqtt_client.publish_registry(device_info["id"], device_info)
for resource_info in lab_registry.obtain_registry_resource_info():
mqtt_client.publish_registry(resource_info["id"], resource_info)
time.sleep(1) # 等待MQTT连接稳定
# 首次发现网络中的设备
self._discover_devices()
@@ -204,9 +204,11 @@ class HostNode(BaseROS2DeviceNode):
for bridge in self.bridges:
if hasattr(bridge, "resource_add"):
resource_start_time = time.time()
resource_add_res = bridge.resource_add(add_schema(resource_with_parent_name))
resource_add_res = bridge.resource_add(add_schema(resource_with_parent_name), True)
resource_end_time = time.time()
self.lab_logger().info(f"[Host Node-Resource] Adding resources to bridge. {round(resource_start_time - resource_end_time, 5)} seconds")
self.lab_logger().info(
f"[Host Node-Resource] 物料上传 {round(resource_end_time - resource_start_time, 5) * 1000} ms"
)
except Exception as ex:
self.lab_logger().error("[Host Node-Resource] 添加物料出错!")
self.lab_logger().error(traceback.format_exc())
@@ -610,6 +612,8 @@ class HostNode(BaseROS2DeviceNode):
def get_result_callback(self, action_id: str, uuid_str: Optional[str], future) -> None:
"""获取结果回调"""
import json
result_msg = future.result().result
result_data = convert_from_ros_msg(result_msg)
self.lab_logger().info(f"[Host Node] Result for {action_id} ({uuid_str}): success")
@@ -618,7 +622,7 @@ class HostNode(BaseROS2DeviceNode):
if uuid_str:
for bridge in self.bridges:
if hasattr(bridge, "publish_job_status"):
bridge.publish_job_status(result_data, uuid_str, "success")
bridge.publish_job_status(result_data, uuid_str, "success", result_data)
def cancel_goal(self, goal_uuid: str) -> None:
"""取消目标"""