Device registry port (#49)

* Update README and MQTTClient for installation instructions and code improvements

* feat: 支持local_config启动
add: 增加对crt path的说明,为传入config.py的相对路径
move: web component

* add: registry description

* add 3d visualization

* 完成在main中启动设备可视化

完成在main中启动设备可视化,并输出物料ID:mesh的对应关系resource_model

添加物料模型管理类,遍历物料与resource_model,完成TF数据收集

* 完成TF发布

* 修改模型方向,在yaml中添加变换属性

* 添加物料tf变化时,发送topic到前端

另外修改了物料初始化的方法,防止在tf还未发布时提前建立物料模型与发布话题

* 添加关节发布节点与物料可视化节点进入unilab

* 使用json启动plr与3D模型仿真

* feat: node_info_update srv
fix: OTDeck cant create

* close #12
feat: slave node registry

* feat: show machine name
fix: host node registry not uploaded

* feat: add hplc registry

* feat: add hplc registry

* fix: hplc status typo

* fix: devices/

* 完成启动OT并联动rviz

* add 3d visualization

* 完成在main中启动设备可视化

完成在main中启动设备可视化,并输出物料ID:mesh的对应关系resource_model

添加物料模型管理类,遍历物料与resource_model,完成TF数据收集

* 完成TF发布

* 修改模型方向,在yaml中添加变换属性

* 添加物料tf变化时,发送topic到前端

另外修改了物料初始化的方法,防止在tf还未发布时提前建立物料模型与发布话题

* 添加关节发布节点与物料可视化节点进入unilab

* 使用json启动plr与3D模型仿真

* 完成启动OT并联动rviz

* fix: device.class possible null

* fix: HPLC additions with online service

* fix: slave mode spin not working

* fix: slave mode spin not working

* 修复rviz位置问题,

修复rviz位置问题,
在无tf变动时减缓发送频率
在backend中添加物料跟随方法

* feat: 多ProtocolNode 允许子设备ID相同
feat: 上报发现的ActionClient
feat: Host重启动,通过discover机制要求slaveNode重新注册,实现信息及时上报

* feat: 支持env设置config

* fix: running logic

* fix: running logic

* fix: missing ot

* 在main中直接初始化republisher和物料的mesh节点

* 将joint_republisher和resource_mesh_manager添加进 main_slave_run.py中

* Device visualization (#14)

* add 3d visualization

* 完成在main中启动设备可视化

完成在main中启动设备可视化,并输出物料ID:mesh的对应关系resource_model

添加物料模型管理类,遍历物料与resource_model,完成TF数据收集

* 完成TF发布

* 修改模型方向,在yaml中添加变换属性

* 添加物料tf变化时,发送topic到前端

另外修改了物料初始化的方法,防止在tf还未发布时提前建立物料模型与发布话题

* 添加关节发布节点与物料可视化节点进入unilab

* 使用json启动plr与3D模型仿真

* 完成启动OT并联动rviz

* add 3d visualization

* 完成在main中启动设备可视化

完成在main中启动设备可视化,并输出物料ID:mesh的对应关系resource_model

添加物料模型管理类,遍历物料与resource_model,完成TF数据收集

* 完成TF发布

* 修改模型方向,在yaml中添加变换属性

* 添加物料tf变化时,发送topic到前端

另外修改了物料初始化的方法,防止在tf还未发布时提前建立物料模型与发布话题

* 添加关节发布节点与物料可视化节点进入unilab

* 使用json启动plr与3D模型仿真

* 完成启动OT并联动rviz

* 修复rviz位置问题,

修复rviz位置问题,
在无tf变动时减缓发送频率
在backend中添加物料跟随方法

* fix: running logic

* fix: running logic

* fix: missing ot

* 在main中直接初始化republisher和物料的mesh节点

* 将joint_republisher和resource_mesh_manager添加进 main_slave_run.py中

---------

Co-authored-by: zhangshixiang <@zhangshixiang>
Co-authored-by: wznln <18435084+Xuwznln@users.noreply.github.com>

* fix: missing hostname in devices_names
fix: upload_file for model file

* fix: missing paho-mqtt package
bump version to 0.9.0

* fix startup
add ResourceCreateFromOuter.action

* fix type hint

* update actions

* update actions

* host node add_resource_from_outer
fix cmake list

* pass device config to device class

* add: bind_parent_ids to resource create action
fix: message convert string

* fix: host node should not be re_discovered

* feat: resource tracker support dict

* feat: add more necessary params

* feat: fix boolean null in registry action data

* feat: add outer resource

* 编写mesh添加action

* feat: append resource

* add action

* feat: vis 2d for plr

* fix

* fix: browser on rviz

* fix: cloud bridge error fallback to local

* fix: salve auto run rviz

* 初始化两个plate

* Device visualization (#22)

* add 3d visualization

* 完成在main中启动设备可视化

完成在main中启动设备可视化,并输出物料ID:mesh的对应关系resource_model

添加物料模型管理类,遍历物料与resource_model,完成TF数据收集

* 完成TF发布

* 修改模型方向,在yaml中添加变换属性

* 添加物料tf变化时,发送topic到前端

另外修改了物料初始化的方法,防止在tf还未发布时提前建立物料模型与发布话题

* 添加关节发布节点与物料可视化节点进入unilab

* 使用json启动plr与3D模型仿真

* 完成启动OT并联动rviz

* add 3d visualization

* 完成在main中启动设备可视化

完成在main中启动设备可视化,并输出物料ID:mesh的对应关系resource_model

添加物料模型管理类,遍历物料与resource_model,完成TF数据收集

* 完成TF发布

* 修改模型方向,在yaml中添加变换属性

* 添加物料tf变化时,发送topic到前端

另外修改了物料初始化的方法,防止在tf还未发布时提前建立物料模型与发布话题

* 添加关节发布节点与物料可视化节点进入unilab

* 使用json启动plr与3D模型仿真

* 完成启动OT并联动rviz

* 修复rviz位置问题,

修复rviz位置问题,
在无tf变动时减缓发送频率
在backend中添加物料跟随方法

* fix: running logic

* fix: running logic

* fix: missing ot

* 在main中直接初始化republisher和物料的mesh节点

* 将joint_republisher和resource_mesh_manager添加进 main_slave_run.py中

* 编写mesh添加action

* add action

* fix

* fix: browser on rviz

* fix: cloud bridge error fallback to local

* fix: salve auto run rviz

* 初始化两个plate

---------

Co-authored-by: zhangshixiang <@zhangshixiang>
Co-authored-by: wznln <18435084+Xuwznln@users.noreply.github.com>

* fix: multi channel

* fix: aspirate

* fix: aspirate

* fix: aspirate

* fix: aspirate

* 提交

* fix: jobadd

* fix: jobadd

* fix: msg converter

* tijiao

* add resource creat easy action

* identify debug msg

* mq client id

* unify liquid_handler definition

* Update virtual_device.yaml

* 更正了stir和heater的连接方式

* 区分了虚拟仪器中的八通阀和电磁阀,添加了两个阀门的驱动

* 修改了add protocol

* 修复了阀门更新版的bug

* 修复了添加protocol前缀导致的不能启动的bug

* Fix handles

* bump version to 0.9.6

* add resource edge upload

* update container registry and handles

* add virtual_separator virtual_rotavap
fix transfer_pump

* fix container value
add parent_name to edge device id

* 大图的问题都修复好了,添加了gassource和vacuum pump的驱动以及注册表

* default resource upload mode is false

* 添加了icon的文件名在注册表里面

* 修改了json图中link的格式

* fix resource and edge upload

* fix device ports

* Fix edge id

* 移除device的父节点关联

* separate registry sync and resource_add

* 默认不进行注册表报送,通过命令unilabos-register或者增加启动参数

* 完善tip

* protocol node不再嵌套显示

* bump version to 0.9.7  新增一个测试PumpTransferProtocol的teststation,亲测可以运行,将八通阀们和转移泵与pump_protocol适配

* protocol node 执行action不应携带自身device id

* 添加了一套简易双八通阀工作站JSON,亲测能跑

* 修复了很多protocol,亲测能跑

* 添加了run column和filter through的protocol,亲测能跑

* fix mock_reactor

* 修改了大图和小图的json,但是在前端上没看到改变

---------

Co-authored-by: Harvey Que <Q-Query@outlook.com>
Co-authored-by: wznln <18435084+Xuwznln@users.noreply.github.com>
Co-authored-by: zhangshixiang <@zhangshixiang>
Co-authored-by: q434343 <73513873+q434343@users.noreply.github.com>
Co-authored-by: Junhan Chang <changjh@pku.edu.cn>
This commit is contained in:
Kongchang Feng
2025-06-22 12:59:59 +08:00
committed by Xuwznln
parent 0c68173f5b
commit e440cd279c
19 changed files with 0 additions and 255 deletions

View File

@@ -1,5 +0,0 @@
container:
description: regular organic container
class:
module: unilabos.resources.container:RegularContainer
type: unilabos

View File

@@ -1,20 +0,0 @@
# 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 # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
string current_status # 当前状态描述

View File

@@ -1,16 +0,0 @@
# Goal - 离心操作的目标参数
string vessel # 离心容器
float64 speed # 离心速度 (rpm)
float64 time # 离心时间 (秒)
float64 temp # 温度 (可选,摄氏度)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
float64 current_speed # 当前转速
float64 current_temp # 当前温度
string current_status # 当前状态描述

View File

@@ -1,12 +0,0 @@
string vessel # 要清洗的容器名称
string solvent # 用于清洗容器的溶剂名称
float64 volume # 清洗溶剂的体积,可选参数
float64 temp # 清洗时的温度,可选参数
int32 repeats # 清洗操作的重复次数,默认为 1
---
bool success # 操作是否成功
string message # 结果消息
string return_info
---
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)

View File

@@ -1,14 +0,0 @@
# Goal - 结晶操作的目标参数
string vessel # 结晶容器
float64 ramp_time # 升温/降温时间 (可选,秒)
float64 ramp_temp # 目标温度 (可选,摄氏度)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
float64 current_temp # 当前温度
string current_status # 当前状态描述

View File

@@ -1,14 +0,0 @@
string vessel # 装有要溶解物质的容器名称
string solvent # 用于溶解物质的溶剂名称
float64 volume # 溶剂的体积,可选参数
string amount # 要溶解物质的量,可选参数
float64 temp # 溶解时的温度,可选参数
float64 time # 溶解的时间,可选参数
float64 stir_speed # 搅拌速度,可选参数
---
bool success # 操作是否成功
string message # 结果消息
string return_info
---
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)

View File

@@ -1,17 +0,0 @@
# Goal - 干燥操作的目标参数
string vessel # 干燥容器
float64 time # 干燥时间 (可选,秒)
float64 pressure # 压力 (可选Pa)
float64 temp # 温度 (可选,摄氏度)
bool continue_heatchill # 是否继续加热冷却
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
float64 current_temp # 当前温度
float64 current_pressure # 当前压力
string current_status # 当前状态描述

View File

@@ -1,19 +0,0 @@
# Goal - 过滤操作的目标参数
string vessel # 过滤容器
string filtrate_vessel # 滤液容器 (可选)
bool stir # 是否搅拌
float64 stir_speed # 搅拌速度 (可选)
float64 temp # 温度 (可选,摄氏度)
bool continue_heatchill # 是否继续加热冷却
float64 volume # 过滤体积 (可选)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
float64 current_temp # 当前温度
float64 filtered_volume # 已过滤体积
string current_status # 当前状态描述

View File

@@ -1,14 +0,0 @@
string from_vessel # 源容器的名称,即物质起始所在的容器
string to_vessel # 目标容器的名称,物质过滤后要到达的容器
string filter_through # 过滤时所通过的介质,如滤纸、柱子等
string eluting_solvent # 洗脱溶剂的名称,可选参数
float64 eluting_volume # 洗脱溶剂的体积,可选参数
int32 eluting_repeats # 洗脱操作的重复次数,默认为 0
float64 residence_time # 物质在过滤介质中的停留时间,可选参数
---
bool success # 操作是否成功
string message # 结果消息
string return_info
---
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)

View File

@@ -1,17 +0,0 @@
# Goal - 清洗/吹扫操作的目标参数
string vessel # 清洗容器
string gas # 清洗气体 (可选)
float64 time # 清洗时间 (可选,秒)
float64 pressure # 压力 (可选Pa)
float64 flow_rate # 流速 (可选mL/min)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
float64 current_pressure # 当前压力
float64 current_flow_rate # 当前流速
string current_status # 当前状态描述

View File

@@ -1,10 +0,0 @@
string from_vessel # 源容器的名称,即样品起始所在的容器
string to_vessel # 目标容器的名称,分离后的样品要到达的容器
string column # 所使用的柱子的名称
---
bool success # 操作是否成功
string message # 结果消息
string return_info
---
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)

View File

@@ -1,16 +0,0 @@
# Goal - 启动清洗/吹扫操作的目标参数
string vessel # 清洗容器
string gas # 清洗气体 (可选)
float64 pressure # 压力 (可选Pa)
float64 flow_rate # 流速 (可选mL/min)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
float64 current_pressure # 当前压力
float64 current_flow_rate # 当前流速
string current_status # 当前状态描述

View File

@@ -1,14 +0,0 @@
# Goal - 启动搅拌操作的目标参数
string vessel # 搅拌容器
float64 stir_speed # 搅拌速度 (可选rpm)
string purpose # 搅拌目的 (可选)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
float64 current_speed # 当前搅拌速度
string current_status # 当前状态描述

View File

@@ -1,11 +0,0 @@
# Goal - 停止清洗/吹扫操作的目标参数
string vessel # 清洗容器
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
string current_status # 当前状态描述

View File

@@ -1,11 +0,0 @@
# Goal - 停止搅拌操作的目标参数
string vessel # 搅拌容器
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
string current_status # 当前状态描述

View File

@@ -1,20 +0,0 @@
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 # 结果消息
string return_info
---
# Feedback - 实时反馈
float64 progress # 进度百分比 (0-100)
float64 transferred_volume # 已转移体积
string current_status # 当前状态描述

View File

@@ -1,9 +0,0 @@
int32 time # 等待时间(秒)
---
bool success # 操作是否成功
string message # 结果消息
string return_info
---
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)
int32 remaining_time # 剩余等待时间(秒)

View File

@@ -1,16 +0,0 @@
string vessel # 装有固体物质的容器名称
string solvent # 用于清洗固体的溶剂名称
float64 volume # 清洗溶剂的体积
string filtrate_vessel # 滤液要收集到的容器名称,可选参数
float64 temp # 清洗时的温度,可选参数
bool stir # 是否在清洗过程中搅拌,默认为 False
float64 stir_speed # 搅拌速度,可选参数
float64 time # 清洗的时间,可选参数
int32 repeats # 清洗操作的重复次数,默认为 1
---
bool success # 操作是否成功
string message # 结果消息
string return_info
---
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)