From fe492bbca95a08180a9d05c7d5895241efd3221f Mon Sep 17 00:00:00 2001 From: KCFeng425 <2100011801@stu.pku.edu.cn> Date: Mon, 9 Jun 2025 23:48:03 +0800 Subject: [PATCH] Add new action --- unilabos_msgs/CMakeLists.txt | 12 +++++++++++- unilabos_msgs/action/Add.action | 19 +++++++++++++++++++ unilabos_msgs/action/Centrifuge.action | 15 +++++++++++++++ unilabos_msgs/action/Crystallize.action | 13 +++++++++++++ unilabos_msgs/action/Dry.action | 16 ++++++++++++++++ unilabos_msgs/action/Filter.action | 18 ++++++++++++++++++ unilabos_msgs/action/Purge.action | 16 ++++++++++++++++ unilabos_msgs/action/StartPurge.action | 15 +++++++++++++++ unilabos_msgs/action/StartStir.action | 13 +++++++++++++ unilabos_msgs/action/StopPurge.action | 10 ++++++++++ unilabos_msgs/action/StopStir.action | 10 ++++++++++ unilabos_msgs/action/Transfer.action | 19 +++++++++++++++++++ 12 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 unilabos_msgs/action/Add.action create mode 100644 unilabos_msgs/action/Centrifuge.action create mode 100644 unilabos_msgs/action/Crystallize.action create mode 100644 unilabos_msgs/action/Dry.action create mode 100644 unilabos_msgs/action/Filter.action create mode 100644 unilabos_msgs/action/Purge.action create mode 100644 unilabos_msgs/action/StartPurge.action create mode 100644 unilabos_msgs/action/StartStir.action create mode 100644 unilabos_msgs/action/StopPurge.action create mode 100644 unilabos_msgs/action/StopStir.action create mode 100644 unilabos_msgs/action/Transfer.action diff --git a/unilabos_msgs/CMakeLists.txt b/unilabos_msgs/CMakeLists.txt index 0cd6a1e..a2e4341 100644 --- a/unilabos_msgs/CMakeLists.txt +++ b/unilabos_msgs/CMakeLists.txt @@ -28,7 +28,17 @@ set(action_files "action/HeatChill.action" "action/HeatChillStart.action" "action/HeatChillStop.action" - + "action/Filter.action" + "action/Add.action" + "action/Centrifuge.action" + "action/Crystallize.action" + "action/Dry.action" + "action/Purge.action" + "action/StartPurge.action" + "action/StartStir.action" + "action/StopPurge.action" + "action/StopStir.action" + "action/Transfer.action" "action/LiquidHandlerAspirate.action" "action/LiquidHandlerDiscardTips.action" "action/LiquidHandlerDispense.action" diff --git a/unilabos_msgs/action/Add.action b/unilabos_msgs/action/Add.action new file mode 100644 index 0000000..0661f35 --- /dev/null +++ b/unilabos_msgs/action/Add.action @@ -0,0 +1,19 @@ +# Goal - 添加试剂的目标参数 +string vessel # 目标容器 +string reagent # 试剂名称 +float64 volume # 体积 (可选) +float64 mass # 质量 (可选) +string amount # 数量描述 (可选) +float64 time # 添加时间 (可选) +bool stir # 是否搅拌 +float64 stir_speed # 搅拌速度 (可选) +bool viscous # 是否为粘性液体 +string purpose # 添加目的 (可选) +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/Centrifuge.action b/unilabos_msgs/action/Centrifuge.action new file mode 100644 index 0000000..fe11668 --- /dev/null +++ b/unilabos_msgs/action/Centrifuge.action @@ -0,0 +1,15 @@ +# Goal - 离心操作的目标参数 +string vessel # 离心容器 +float64 speed # 离心速度 (rpm) +float64 time # 离心时间 (秒) +float64 temp # 温度 (可选,摄氏度) +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +float64 current_speed # 当前转速 +float64 current_temp # 当前温度 +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/Crystallize.action b/unilabos_msgs/action/Crystallize.action new file mode 100644 index 0000000..de3bdf8 --- /dev/null +++ b/unilabos_msgs/action/Crystallize.action @@ -0,0 +1,13 @@ +# Goal - 结晶操作的目标参数 +string vessel # 结晶容器 +float64 ramp_time # 升温/降温时间 (可选,秒) +float64 ramp_temp # 目标温度 (可选,摄氏度) +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +float64 current_temp # 当前温度 +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/Dry.action b/unilabos_msgs/action/Dry.action new file mode 100644 index 0000000..c4277df --- /dev/null +++ b/unilabos_msgs/action/Dry.action @@ -0,0 +1,16 @@ +# Goal - 干燥操作的目标参数 +string vessel # 干燥容器 +float64 time # 干燥时间 (可选,秒) +float64 pressure # 压力 (可选,Pa) +float64 temp # 温度 (可选,摄氏度) +bool continue_heatchill # 是否继续加热冷却 +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +float64 current_temp # 当前温度 +float64 current_pressure # 当前压力 +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/Filter.action b/unilabos_msgs/action/Filter.action new file mode 100644 index 0000000..2edbe19 --- /dev/null +++ b/unilabos_msgs/action/Filter.action @@ -0,0 +1,18 @@ +# Goal - 过滤操作的目标参数 +string vessel # 过滤容器 +string filtrate_vessel # 滤液容器 (可选) +bool stir # 是否搅拌 +float64 stir_speed # 搅拌速度 (可选) +float64 temp # 温度 (可选,摄氏度) +bool continue_heatchill # 是否继续加热冷却 +float64 volume # 过滤体积 (可选) +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +float64 current_temp # 当前温度 +float64 filtered_volume # 已过滤体积 +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/Purge.action b/unilabos_msgs/action/Purge.action new file mode 100644 index 0000000..f7360ef --- /dev/null +++ b/unilabos_msgs/action/Purge.action @@ -0,0 +1,16 @@ +# Goal - 清洗/吹扫操作的目标参数 +string vessel # 清洗容器 +string gas # 清洗气体 (可选) +float64 time # 清洗时间 (可选,秒) +float64 pressure # 压力 (可选,Pa) +float64 flow_rate # 流速 (可选,mL/min) +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +float64 current_pressure # 当前压力 +float64 current_flow_rate # 当前流速 +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/StartPurge.action b/unilabos_msgs/action/StartPurge.action new file mode 100644 index 0000000..b40c297 --- /dev/null +++ b/unilabos_msgs/action/StartPurge.action @@ -0,0 +1,15 @@ +# Goal - 启动清洗/吹扫操作的目标参数 +string vessel # 清洗容器 +string gas # 清洗气体 (可选) +float64 pressure # 压力 (可选,Pa) +float64 flow_rate # 流速 (可选,mL/min) +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +float64 current_pressure # 当前压力 +float64 current_flow_rate # 当前流速 +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/StartStir.action b/unilabos_msgs/action/StartStir.action new file mode 100644 index 0000000..9477465 --- /dev/null +++ b/unilabos_msgs/action/StartStir.action @@ -0,0 +1,13 @@ +# Goal - 启动搅拌操作的目标参数 +string vessel # 搅拌容器 +float64 stir_speed # 搅拌速度 (可选,rpm) +string purpose # 搅拌目的 (可选) +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +float64 current_speed # 当前搅拌速度 +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/StopPurge.action b/unilabos_msgs/action/StopPurge.action new file mode 100644 index 0000000..ec4b1d6 --- /dev/null +++ b/unilabos_msgs/action/StopPurge.action @@ -0,0 +1,10 @@ +# Goal - 停止清洗/吹扫操作的目标参数 +string vessel # 清洗容器 +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/StopStir.action b/unilabos_msgs/action/StopStir.action new file mode 100644 index 0000000..af08931 --- /dev/null +++ b/unilabos_msgs/action/StopStir.action @@ -0,0 +1,10 @@ +# Goal - 停止搅拌操作的目标参数 +string vessel # 搅拌容器 +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +string current_status # 当前状态描述 \ No newline at end of file diff --git a/unilabos_msgs/action/Transfer.action b/unilabos_msgs/action/Transfer.action new file mode 100644 index 0000000..47dbfe9 --- /dev/null +++ b/unilabos_msgs/action/Transfer.action @@ -0,0 +1,19 @@ +string from_vessel # 源容器 +string to_vessel # 目标容器 +float64 volume # 转移体积 (可选) +string amount # 数量描述 (可选) +float64 time # 转移时间 (可选,秒) +bool viscous # 是否为粘性液体 +string rinsing_solvent # 冲洗溶剂 (可选) +float64 rinsing_volume # 冲洗体积 (可选) +int32 rinsing_repeats # 冲洗重复次数 +bool solid # 是否涉及固体 +--- +# Result - 操作结果 +bool success # 操作是否成功 +string message # 结果消息 +--- +# Feedback - 实时反馈 +float64 progress # 进度百分比 (0-100) +float64 transferred_volume # 已转移体积 +string current_status # 当前状态描述 \ No newline at end of file