Version 0.10.1 (#66)

* add biomek.py demo implementation

* 更新LiquidHandlerBiomek类,添加资源创建功能,优化协议创建方法,修复部分代码格式问题,更新YAML配置以支持新功能。

* Test

* fix biomek success type

* Convert LH action to biomek.

* Update biomek.py

* 注册表上报handle和schema (param input)

* 修复biomek缺少的字段

* delete 's'

* Remove warnings

* Update biomek.py

* Biomek test

* Update biomek.py

* 新增transfer_biomek的msg

* New transfer_biomek

* Updated transfer_biomek

* 更新transfer_biomek的msg

* 更新transfer_biomek的msg

* 支持Biomek创建

* new action

* fix key name typo

* New parameter for biomek to run.

* Refine

* Update

* new actions

* new actions

* 1

* registry

* fix biomek startup
add action handles

* fix handles not as default entry

* biomek_test.py

biomek_test.py是最新的版本,运行它会生成complete_biomek_protocol.json

* Update biomek.py

* biomek_test.py

* fix liquid_handler.biomek handles

* host node新增resource add时间统计
create_resource新增handle
bump version to 0.9.2

* 修正物料上传时间
改用biomek_test
增加ResultInfoEncoder
支持返回结果上传

* 正确发送return_info结果

* 同步执行状态信息

* 取消raiseValueError提示

* Update biomek_test.py

* 0608 DONE

* 同步了Biomek.py 现在应可用

* biomek switch back to non-test

* temp disable initialize resource

* 37-biomek-i5i7 (#40)

* add biomek.py demo implementation

* 更新LiquidHandlerBiomek类,添加资源创建功能,优化协议创建方法,修复部分代码格式问题,更新YAML配置以支持新功能。

* Test

* fix biomek success type

* Convert LH action to biomek.

* Update biomek.py

* 注册表上报handle和schema (param input)

* 修复biomek缺少的字段

* delete 's'

* Remove warnings

* Update biomek.py

* Biomek test

* Update biomek.py

* 新增transfer_biomek的msg

* New transfer_biomek

* Updated transfer_biomek

* 更新transfer_biomek的msg

* 更新transfer_biomek的msg

* 支持Biomek创建

* new action

* fix key name typo

* New parameter for biomek to run.

* Refine

* Update

* new actions

* new actions

* 1

* registry

* fix biomek startup
add action handles

* fix handles not as default entry

* biomek_test.py

biomek_test.py是最新的版本,运行它会生成complete_biomek_protocol.json

* Update biomek.py

* biomek_test.py

* fix liquid_handler.biomek handles

* host node新增resource add时间统计
create_resource新增handle
bump version to 0.9.2

* 修正物料上传时间
改用biomek_test
增加ResultInfoEncoder
支持返回结果上传

* 正确发送return_info结果

* 同步执行状态信息

* 取消raiseValueError提示

* Update biomek_test.py

* 0608 DONE

* 同步了Biomek.py 现在应可用

* biomek switch back to non-test

* temp disable initialize resource

* Refine biomek

* Refine copy issue

* Refine

---------

Co-authored-by: Junhan Chang <changjh@pku.edu.cn>
Co-authored-by: Guangxin Zhang <guangxin.zhang.bio@gmail.com>
Co-authored-by: qxw138 <qxw@stu.pku.edu.cn>

* Device visualization (#39)

* 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

* 提取lh的joint发布

* unify liquid_handler definition

* 修改物料跟随与物料添加逻辑

修改物料跟随与物料添加逻辑
将joint_publisher类移出lh的backends,但仍需要对lh的backends进行一些改写

* Revert "修改物料跟随与物料添加逻辑"

This reverts commit 498c997ad7.

* Reapply "修改物料跟随与物料添加逻辑"

This reverts commit 3a60d2ae81.

* Revert "Merge remote-tracking branch 'upstream/dev' into device_visualization"

This reverts commit fa727220af, reversing
changes made to 498c997ad7.

* 修改物料放下时的方法,如果选择

修改物料放下时的方法,
如果选择drop_trash,则删除物料显示
如果选择drop,则让其解除连接

* add biomek.py demo implementation

* 更新LiquidHandlerBiomek类,添加资源创建功能,优化协议创建方法,修复部分代码格式问题,更新YAML配置以支持新功能。

* Test

* fix biomek success type

* Convert LH action to biomek.

* Update biomek.py

* 注册表上报handle和schema (param input)

* 修复biomek缺少的字段

* delete 's'

* Remove warnings

* Update biomek.py

* Biomek test

* Update biomek.py

* 新增transfer_biomek的msg

* New transfer_biomek

* Updated transfer_biomek

* 更新transfer_biomek的msg

* 更新transfer_biomek的msg

* 支持Biomek创建

* new action

* fix key name typo

* New parameter for biomek to run.

* Refine

* Update

* new actions

* new actions

* 1

* registry

* fix biomek startup
add action handles

* fix handles not as default entry

* unilab添加moveit启动

1,整合所有moveit节点到一个move_group中,并整合所有的controller依次激活
2,添加pymoveit2的节点,使用json可直接启动
3,修改机械臂规划方式,添加约束,让冗余关节不会进行过多移动

* biomek_test.py

biomek_test.py是最新的版本,运行它会生成complete_biomek_protocol.json

* Update biomek.py

* biomek_test.py

* fix liquid_handler.biomek handles

* 修改物体attach时,多次赋值当前时间导致卡顿问题,

* Revert "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 56d45b94f5.

* Reapply "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 07d9db20c3.

* 添加缺少物料:"plate_well_G12",

* host node新增resource add时间统计
create_resource新增handle
bump version to 0.9.2

* 修正物料上传时间
改用biomek_test
增加ResultInfoEncoder
支持返回结果上传

* 正确发送return_info结果

* 同步执行状态信息

* 取消raiseValueError提示

* Update biomek_test.py

* 0608 DONE

* 同步了Biomek.py 现在应可用

* biomek switch back to non-test

* temp disable initialize resource

* add

* fix tip resource data

* liquid states

* change to debug level

* Revert "change to debug level"

This reverts commit 5d9953c3e5.

* Reapply "change to debug level"

This reverts commit 2487bb6ffc.

* fix tip resource data

* add full device

* add moveit yaml

* 修复moveit
增加post_init阶段,给予ros_node反向

* remove necessary node

* fix moveit action client

* remove necessary imports

* Update moveit_interface.py

* fix handler_key uppercase

* json add liquids

* fix setup

* add

* change to "sources" and "targets" for lh

* bump version

* remove parent's parent link

---------

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: Junhan Chang <changjh@pku.edu.cn>
Co-authored-by: Guangxin Zhang <guangxin.zhang.bio@gmail.com>
Co-authored-by: qxw138 <qxw@stu.pku.edu.cn>

* Device visualization (#41)

* 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

* 提取lh的joint发布

* unify liquid_handler definition

* 修改物料跟随与物料添加逻辑

修改物料跟随与物料添加逻辑
将joint_publisher类移出lh的backends,但仍需要对lh的backends进行一些改写

* Revert "修改物料跟随与物料添加逻辑"

This reverts commit 498c997ad7.

* Reapply "修改物料跟随与物料添加逻辑"

This reverts commit 3a60d2ae81.

* Revert "Merge remote-tracking branch 'upstream/dev' into device_visualization"

This reverts commit fa727220af, reversing
changes made to 498c997ad7.

* 修改物料放下时的方法,如果选择

修改物料放下时的方法,
如果选择drop_trash,则删除物料显示
如果选择drop,则让其解除连接

* add biomek.py demo implementation

* 更新LiquidHandlerBiomek类,添加资源创建功能,优化协议创建方法,修复部分代码格式问题,更新YAML配置以支持新功能。

* Test

* fix biomek success type

* Convert LH action to biomek.

* Update biomek.py

* 注册表上报handle和schema (param input)

* 修复biomek缺少的字段

* delete 's'

* Remove warnings

* Update biomek.py

* Biomek test

* Update biomek.py

* 新增transfer_biomek的msg

* New transfer_biomek

* Updated transfer_biomek

* 更新transfer_biomek的msg

* 更新transfer_biomek的msg

* 支持Biomek创建

* new action

* fix key name typo

* New parameter for biomek to run.

* Refine

* Update

* new actions

* new actions

* 1

* registry

* fix biomek startup
add action handles

* fix handles not as default entry

* unilab添加moveit启动

1,整合所有moveit节点到一个move_group中,并整合所有的controller依次激活
2,添加pymoveit2的节点,使用json可直接启动
3,修改机械臂规划方式,添加约束,让冗余关节不会进行过多移动

* biomek_test.py

biomek_test.py是最新的版本,运行它会生成complete_biomek_protocol.json

* Update biomek.py

* biomek_test.py

* fix liquid_handler.biomek handles

* 修改物体attach时,多次赋值当前时间导致卡顿问题,

* Revert "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 56d45b94f5.

* Reapply "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 07d9db20c3.

* 添加缺少物料:"plate_well_G12",

* host node新增resource add时间统计
create_resource新增handle
bump version to 0.9.2

* 修正物料上传时间
改用biomek_test
增加ResultInfoEncoder
支持返回结果上传

* 正确发送return_info结果

* 同步执行状态信息

* 取消raiseValueError提示

* Update biomek_test.py

* 0608 DONE

* 同步了Biomek.py 现在应可用

* biomek switch back to non-test

* temp disable initialize resource

* add

* fix tip resource data

* liquid states

* change to debug level

* Revert "change to debug level"

This reverts commit 5d9953c3e5.

* Reapply "change to debug level"

This reverts commit 2487bb6ffc.

* fix tip resource data

* add full device

* add moveit yaml

* 修复moveit
增加post_init阶段,给予ros_node反向

* remove necessary node

* fix moveit action client

* remove necessary imports

* Update moveit_interface.py

* fix handler_key uppercase

* json add liquids

* fix setup

* add

* change to "sources" and "targets" for lh

* bump version

* remove parent's parent link

* change arm's name

* change name

---------

Co-authored-by: Harvey Que <Q-Query@outlook.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>
Co-authored-by: Guangxin Zhang <guangxin.zhang.bio@gmail.com>
Co-authored-by: qxw138 <qxw@stu.pku.edu.cn>

* fix move it

* fix move it

* create_resource

* bump ver
modify slot type

* 增加modbus支持
调整protocol node以更好支持多种类型的read和write

* 调整protocol node以更好支持多种类型的read和write

* 补充日志

* Device visualization (#42)

* 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

* 提取lh的joint发布

* unify liquid_handler definition

* 修改物料跟随与物料添加逻辑

修改物料跟随与物料添加逻辑
将joint_publisher类移出lh的backends,但仍需要对lh的backends进行一些改写

* Revert "修改物料跟随与物料添加逻辑"

This reverts commit 498c997ad7.

* Reapply "修改物料跟随与物料添加逻辑"

This reverts commit 3a60d2ae81.

* Revert "Merge remote-tracking branch 'upstream/dev' into device_visualization"

This reverts commit fa727220af, reversing
changes made to 498c997ad7.

* 修改物料放下时的方法,如果选择

修改物料放下时的方法,
如果选择drop_trash,则删除物料显示
如果选择drop,则让其解除连接

* unilab添加moveit启动

1,整合所有moveit节点到一个move_group中,并整合所有的controller依次激活
2,添加pymoveit2的节点,使用json可直接启动
3,修改机械臂规划方式,添加约束,让冗余关节不会进行过多移动

* 修改物体attach时,多次赋值当前时间导致卡顿问题,

* Revert "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 56d45b94f5.

* Reapply "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 07d9db20c3.

* 添加缺少物料:"plate_well_G12",

* add

* fix tip resource data

* liquid states

* change to debug level

* Revert "change to debug level"

This reverts commit 5d9953c3e5.

* Reapply "change to debug level"

This reverts commit 2487bb6ffc.

* fix tip resource data

* add full device

* add moveit yaml

* 修复moveit
增加post_init阶段,给予ros_node反向

* remove necessary node

* fix moveit action client

* remove necessary imports

* Update moveit_interface.py

* fix handler_key uppercase

* json add liquids

* fix setup

* add

* change to "sources" and "targets" for lh

* bump version

* remove parent's parent link

* change arm's name

* change name

* fix ik error

---------

Co-authored-by: Harvey Que <Q-Query@outlook.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>

* Add Mock Device for Organic Synthesis\添加有机合成的虚拟仪器和Protocol (#43)

* Add Device MockChiller

Add device MockChiller

* Add Device MockFilter

* Add Device MockPump

* Add Device MockRotavap

* Add Device MockSeparator

* Add Device MockStirrer

* Add Device MockHeater

* Add Device MockVacuum

* Add Device MockSolenoidValve

* Add Device Mock \_init_.py

* 规范模拟设备代码与注册表信息

* 更改Mock大写文件夹名

* 删除大写目录

* Edited Mock device json

* Match mock device with action

* Edit mock device yaml

* Add new action

* Add Virtual Device, Action, YAML, Protocol for Organic Syn

* 单独分类测试的protocol文件夹

* 更名Action

---------

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

* bump version & protocol fix

* hotfix: Add macos_sdk_config (#46)

Co-authored-by: quehh <scienceol@outlook.com>

* include device_mesh when pip install

* 测试自动构建

* try build fix

* try build

* test artifacts

* hotfix: Add .certs in .gitignore

* create container

* container 添加和更新完成

* 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>

* 更新workstation注册表

* 添加了两个protocol的检索功能 (#51)

* 添加了两个protocol的检索liquid type功能

* fix workstation registry

* 修复了没连接的几个仪器的link,添加了container的icon

* 修改了json和注册表,现在大图全部的device都链接上了

* 修复了小图的json图,线全部连上了

* add work_station protocol handles (ports)

* fix workstation action handle

---------

Co-authored-by: Xuwznln <18435084+Xuwznln@users.noreply.github.com>
Co-authored-by: Junhan Chang <changjh@dp.tech>

* 新增注册表补全功能,修复Protocol执行失败

* 支持通过导入方式补全注册表,新增工作流unilabos_device_id字段

* 修复不启用注册表补充就无法启动的bug

* 修复部分识别error

* 修复静态方法识别get status,注册表支持python类型

* status types对于嵌套类型返回的对象,暂时处理成字符串,无法直接进行转换

* 支持通过list[int],list[float]进行Int64MultiArray,Float64MultiArray的替换

* 成功动态导入的不再需要使用静态导入

* Fix handle names (#55)

* fix handle names

* improve evacuateAndRefill gas source finding

* add camera and dependency (#56)

* 修复auto-的Action在protocol node下错误注册

* 匹配init param schema格式

* Add channel_sources config in conda_build_config.yaml (#58)

* 修复任务执行传参

* Create 5 new protocols & bump version 0.9.8 (#59)

* 添加了5个缺失的protocol,验证了可以运行

* bump version to 0.9.8

* 修复新增的Action的字段缺失

---------

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

* 转换到ros消息时,要进行基础类型转换

* Update work_station.yaml (#60)

* Update work_station.yaml

* Checklist里面有XDL跟protocol之间没对齐的问题,工作量有点大找时间写完

* Create prcxi.py

* Update prcxi.py

* Update Prcxi

* 更新中析仪器,以及启动示例

* 修改moveit_interface,并在mqtt上报时发送一个时间戳,方便网页端对数据的筛选 (#62)

* 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

* 提取lh的joint发布

* unify liquid_handler definition

* 修改物料跟随与物料添加逻辑

修改物料跟随与物料添加逻辑
将joint_publisher类移出lh的backends,但仍需要对lh的backends进行一些改写

* Revert "修改物料跟随与物料添加逻辑"

This reverts commit 498c997ad7.

* Reapply "修改物料跟随与物料添加逻辑"

This reverts commit 3a60d2ae81.

* Revert "Merge remote-tracking branch 'upstream/dev' into device_visualization"

This reverts commit fa727220af, reversing
changes made to 498c997ad7.

* 修改物料放下时的方法,如果选择

修改物料放下时的方法,
如果选择drop_trash,则删除物料显示
如果选择drop,则让其解除连接

* unilab添加moveit启动

1,整合所有moveit节点到一个move_group中,并整合所有的controller依次激活
2,添加pymoveit2的节点,使用json可直接启动
3,修改机械臂规划方式,添加约束,让冗余关节不会进行过多移动

* 修改物体attach时,多次赋值当前时间导致卡顿问题,

* Revert "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 56d45b94f5.

* Reapply "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 07d9db20c3.

* 添加缺少物料:"plate_well_G12",

* add

* fix tip resource data

* liquid states

* change to debug level

* Revert "change to debug level"

This reverts commit 5d9953c3e5.

* Reapply "change to debug level"

This reverts commit 2487bb6ffc.

* fix tip resource data

* add full device

* add moveit yaml

* 修复moveit
增加post_init阶段,给予ros_node反向

* remove necessary node

* fix moveit action client

* remove necessary imports

* Update moveit_interface.py

* fix handler_key uppercase

* json add liquids

* fix setup

* add

* change to "sources" and "targets" for lh

* bump version

* remove parent's parent link

* change arm's name

* change name

* fix ik error

* 修改moveit_interface,并在mqtt上报时发送一个时间戳

---------

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: Junhan Chang <changjh@pku.edu.cn>

* 更新实例

* 更新实例

* 更新实例

* 修正prcxi启动

* 更新PRCXI配置,修改主机地址和设置状态,并添加示例用法

* add pickup tips for prcxi

* 任意执行错误都应该返回failed

* 任意执行错误都应该返回failed

* Add plateT6 to PRCXI configuration and enhance error handling in liquid handling

* prcxi blending

* assert blending_times > 0

* update prcxi

* update prcxi registry

* Update prcxi.py to fit the function in unilabos.

* 不生成已配置action的动作,增加prcxi的debug模式

* 增加注册表版本参数,支持将auto-指令人工检查后非auto,不生成人工已检查的指令,取消不必要的description生成

* 增加注册表版本参数,支持将auto-指令人工检查后非auto,不生成人工已检查的指令,取消不必要的description生成

* Update prcxi.py

* 修复了部分的protocol因为XDL更新导致的问题 (#61)

* 修复了部分的protocol因为XDL更新导致的问题

但是pumptransfer,add,dissolve,separate还没修,后续还需要写virtual固体加料器

* 补充了四个action

* 添加了固体加样器,丰富了json,修改了add protocol

* bump version to 0.9.9

* fix bugs from new actions

* protocol完整修复版本& bump version to 0.9.10

* 修补了一些单位处理,bump version to 0.9.11

* 优化了全protocol的运行时间,除了pumptransfer相关的还没

* 补充了剩下的几个protocol

---------

Co-authored-by: Junhan Chang <changjh@dp.tech>
Co-authored-by: Xuwznln <18435084+Xuwznln@users.noreply.github.com>

* 修复action移除时的报错,更新注册表

* Update prcxi.py

* Update prcxi.py

* 新增simulator

* Update prcxi.py

* Update trash

* Update prcxi.py

* Update prcxi.py

* Update for discard tips

* Update prcxi.py

* Update PRCXI

* 更新axis等参数

* Update 9320

* get_well_container&get_tip_rack

* update

* Update 9320

* update

* deck

* 更新注册表&增加资源,parent应为resources字段

* Update 9320

* update

* 新增set liquid方法

* 新增set liquid方法

* action to resource & 0.9.12 (#64)

* action to resource & 0.9.12

* stir和adjustph的中的bug修不好

* modify prcxi

* 0.9.12 update registry

* update

* update

* registry upadte

* Update

* update

* container_for_nothing

* mix

* registry fix

* registry fix

* registry fix

* Update

* Update prcxi.py

* SET TIP RACK

* bump version

* update registry version & category

* update set tip rack

* yaml dump支持ordered dict,支持config_info

* fix devices

* fix resource check serialize

* fix: Protocol node resource run (#65)

* stir和adjustph的中的bug修不好

* fix sub-resource query in protocol node compiling

* add resource placeholder to vessels

* add the rest yaml

* Update work_station.yaml

---------

Co-authored-by: KCFeng425 <2100011801@stu.pku.edu.cn>

* 采用http报送resource

* 采用http报送resource

* update

* Update .gitignore

* bump version to 0.10.0

* default param simulator

* slim

* Update

* Update for prcxi

* Update

* Update

* Refactor PRCXI9300Deck initialization and update plate configurations

- Changed deck name from "PRCXI_Deck" to "PRCXI_Deck_9300".
- Updated plate4 initialization to use get_well_container instead of get_tip_rack.
- Modified plate4 material details with new UUID, code, and name.
- Renamed output JSON file to "deck_9300_new.json".
- Uncommented and adjusted liquid handling operations for clarity and future use.

* test

* update

* Update prcxi_9300.json

This one is good

* update

* fix protocol_node communication transfer

* 修复注册表handles类型错误的问题

* 物料添加失败应该直接raise ValueError,不要等待

* 更正注册表中的数字类型

* Delete unnecessary files.

* 新增lab_id直接传入

* fix vessel_id param passing in protocols

* 新增dll预载,保证部分设备可正常使用unilabos_msgs

* 修复可能的web template找不到的问题
新增联网获取json启动
删除非-g传入启动json的方式
兼容传参参数名短横线与下划线

* 修复可能的web template找不到的问题
新增联网获取json启动
删除非-g传入启动json的方式
兼容传参参数名短横线与下划线
更新版本到0.10.1
修复Upload Registry镜像不匹配

* 新增用户引导

* Device visualization (#67)

* 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

* 提取lh的joint发布

* unify liquid_handler definition

* 修改物料跟随与物料添加逻辑

修改物料跟随与物料添加逻辑
将joint_publisher类移出lh的backends,但仍需要对lh的backends进行一些改写

* Revert "修改物料跟随与物料添加逻辑"

This reverts commit 498c997ad7.

* Reapply "修改物料跟随与物料添加逻辑"

This reverts commit 3a60d2ae81.

* Revert "Merge remote-tracking branch 'upstream/dev' into device_visualization"

This reverts commit fa727220af, reversing
changes made to 498c997ad7.

* 修改物料放下时的方法,如果选择

修改物料放下时的方法,
如果选择drop_trash,则删除物料显示
如果选择drop,则让其解除连接

* unilab添加moveit启动

1,整合所有moveit节点到一个move_group中,并整合所有的controller依次激活
2,添加pymoveit2的节点,使用json可直接启动
3,修改机械臂规划方式,添加约束,让冗余关节不会进行过多移动

* 修改物体attach时,多次赋值当前时间导致卡顿问题,

* Revert "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 56d45b94f5.

* Reapply "修改物体attach时,多次赋值当前时间导致卡顿问题,"

This reverts commit 07d9db20c3.

* 添加缺少物料:"plate_well_G12",

* add

* fix tip resource data

* liquid states

* change to debug level

* Revert "change to debug level"

This reverts commit 5d9953c3e5.

* Reapply "change to debug level"

This reverts commit 2487bb6ffc.

* fix tip resource data

* add full device

* add moveit yaml

* 修复moveit
增加post_init阶段,给予ros_node反向

* remove necessary node

* fix moveit action client

* remove necessary imports

* Update moveit_interface.py

* fix handler_key uppercase

* json add liquids

* fix setup

* add

* change to "sources" and "targets" for lh

* bump version

* remove parent's parent link

* change arm's name

* change name

* fix ik error

* 修改moveit_interface,并在mqtt上报时发送一个时间戳

* 添加机械臂和移液站

* 添加

* 添加硬件

* update

* 添加

---------

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: Junhan Chang <changjh@pku.edu.cn>

* 更新注册表

---------

Co-authored-by: Junhan Chang <changjh@pku.edu.cn>
Co-authored-by: Guangxin Zhang <guangxin.zhang.bio@gmail.com>
Co-authored-by: qxw138 <qxw@stu.pku.edu.cn>
Co-authored-by: q434343 <73513873+q434343@users.noreply.github.com>
Co-authored-by: Harvey Que <Q-Query@outlook.com>
Co-authored-by: Kongchang Feng <2100011801@stu.pku.edu.cn>
Co-authored-by: hh. <103566763+Mile-Away@users.noreply.github.com>
Co-authored-by: quehh <scienceol@outlook.com>
Co-authored-by: Harvey Que <quehaohui@dp.tech>
Co-authored-by: Junhan Chang <changjh@dp.tech>
Co-authored-by: ZiWei <131428629+ZiWei09@users.noreply.github.com>
This commit is contained in:
Xuwznln
2025-08-01 01:25:58 +08:00
committed by GitHub
parent 4224008a92
commit 280d83db57
289 changed files with 254629 additions and 12143 deletions

View File

@@ -1,4 +1,6 @@
serial:
category:
- serial
class:
action_value_mappings:
auto-handle_serial_request:
@@ -10,17 +12,14 @@ serial:
handles: []
result: {}
schema:
description: UniLabJsonCommand handle_serial_request 的参数schema
description: handle_serial_request的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand handle_serial_request 的参数schema
properties:
request:
description: '参数: request'
type: string
response:
description: '参数: response'
type: string
required:
- request
@@ -29,7 +28,7 @@ serial:
result: {}
required:
- goal
title: handle_serial_request 命令参数
title: handle_serial_request参数
type: object
type: UniLabJsonCommand
auto-read_data:
@@ -39,18 +38,17 @@ serial:
handles: []
result: {}
schema:
description: UniLabJsonCommand read_data 的参数schema
description: read_data的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand read_data 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: read_data 命令参数
title: read_data参数
type: object
type: UniLabJsonCommand
auto-send_command:
@@ -61,14 +59,12 @@ serial:
handles: []
result: {}
schema:
description: UniLabJsonCommand send_command 的参数schema
description: send_command的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand send_command 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
@@ -76,42 +72,35 @@ serial:
result: {}
required:
- goal
title: send_command 命令参数
title: send_command参数
type: object
type: UniLabJsonCommand
module: unilabos.ros.nodes.presets.serial_node:ROS2SerialNode
status_types: {}
type: ros2
config_info: []
description: Serial communication interface, used when sharing same serial port
for multiple devices
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
baudrate:
default: 9600
description: '参数: baudrate'
type: integer
device_id:
description: '参数: device_id'
type: string
port:
description: '参数: port'
type: string
resource_tracker:
description: '参数: resource_tracker'
type: string
required:
- device_id
- port
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
baudrate:
default: 9600
type: integer
device_id:
type: string
port:
type: string
resource_tracker:
type: string
required:
- device_id
- port
type: object
data:
properties: {}
required: []
type: object
version: 1.0.0

View File

@@ -1,10 +1,73 @@
camera:
category:
- camera
class:
action_value_mappings: {}
action_value_mappings:
auto-destroy_node:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: 用于安全地关闭摄像头设备释放摄像头资源停止视频采集和发布服务。调用此函数将清理OpenCV摄像头连接并销毁ROS2节点。
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: destroy_node参数
type: object
type: UniLabJsonCommand
auto-timer_callback:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: 定时器回调函数的参数schema。此函数负责定期采集摄像头视频帧将OpenCV格式的图像转换为ROS Image消息格式并发布到指定的视频话题。默认以10Hz频率执行确保视频流的连续性和实时性。
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: timer_callback参数
type: object
type: UniLabJsonCommand
module: unilabos.ros.nodes.presets.camera:VideoPublisher
status_types: {}
type: ros2
description: ''
config_info: []
description: VideoPublisher摄像头设备节点用于实时视频采集和流媒体发布。该设备通过OpenCV连接本地摄像头如USB摄像头、内置摄像头等定时采集视频帧并将其转换为ROS2的sensor_msgs/Image消息格式发布到视频话题。主要用于实验室自动化系统中的视觉监控、图像分析、实时观察等应用场景。支持可配置的摄像头索引、发布频率等参数。
handles: []
icon: ''
init_param_schema: {}
init_param_schema:
config:
properties:
camera_index:
default: 0
type: string
device_id:
default: video_publisher
type: string
period:
default: 0.1
type: number
resource_tracker:
type: string
required: []
type: object
data:
properties: {}
required: []
type: object
version: 1.0.0

View File

@@ -1,4 +1,6 @@
hplc.agilent:
category:
- characterization_optic
class:
action_value_mappings:
auto-check_status:
@@ -8,18 +10,17 @@ hplc.agilent:
handles: []
result: {}
schema:
description: UniLabJsonCommand check_status 的参数schema
description: 检查安捷伦HPLC设备状态的函数。用于监控设备的运行状态、连接状态、错误信息等关键指标。该函数定期查询设备状态确保系统稳定运行及时发现和报告设备异常。适用于自动化流程中的设备监控、故障诊断、系统维护等场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand check_status 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: check_status 命令参数
title: check_status参数
type: object
type: UniLabJsonCommand
auto-extract_data_from_txt:
@@ -30,14 +31,12 @@ hplc.agilent:
handles: []
result: {}
schema:
description: UniLabJsonCommand extract_data_from_txt 的参数schema
description: 从文本文件中提取分析数据的函数。用于解析安捷伦HPLC生成的结果文件提取峰面积、保留时间、浓度等关键分析数据。支持多种文件格式的自动识别和数据结构化处理为后续数据分析和报告生成提供标准化的数据格式。适用于批量数据处理、结果验证、质量控制等分析工作流程。
properties:
feedback: {}
goal:
description: UniLabJsonCommand extract_data_from_txt 的参数schema
properties:
file_path:
description: '参数: file_path'
type: string
required:
- file_path
@@ -45,7 +44,7 @@ hplc.agilent:
result: {}
required:
- goal
title: extract_data_from_txt 命令参数
title: extract_data_from_txt参数
type: object
type: UniLabJsonCommand
auto-start_sequence:
@@ -58,20 +57,16 @@ hplc.agilent:
handles: []
result: {}
schema:
description: UniLabJsonCommand start_sequence 的参数schema
description: 启动安捷伦HPLC分析序列的函数。用于执行预定义的分析方法序列包括样品进样、色谱分离、检测等完整的分析流程。支持参数配置、资源分配、工作流程管理等功能实现全自动的样品分析。适用于批量样品处理、标准化分析、质量检测等需要连续自动分析的应用场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand start_sequence 的参数schema
properties:
params:
description: '参数: params'
type: string
resource:
description: '参数: resource'
type: object
wf_name:
description: '参数: wf_name'
type: string
required:
- wf_name
@@ -79,7 +74,7 @@ hplc.agilent:
result: {}
required:
- goal
title: start_sequence 命令参数
title: start_sequence参数
type: object
type: UniLabJsonCommand
auto-try_close_sub_device:
@@ -90,21 +85,19 @@ hplc.agilent:
handles: []
result: {}
schema:
description: UniLabJsonCommand try_close_sub_device 的参数schema
description: 尝试关闭HPLC子设备的函数。用于安全地关闭泵、检测器、进样器等各个子模块确保设备正常断开连接并保护硬件安全。该函数提供错误处理和状态确认机制避免强制关闭可能造成的设备损坏。适用于设备维护、系统重启、紧急停机等需要安全关闭设备的场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand try_close_sub_device 的参数schema
properties:
device_name:
description: '参数: device_name'
type: string
required: []
type: object
result: {}
required:
- goal
title: try_close_sub_device 命令参数
title: try_close_sub_device参数
type: object
type: UniLabJsonCommand
auto-try_open_sub_device:
@@ -115,21 +108,19 @@ hplc.agilent:
handles: []
result: {}
schema:
description: UniLabJsonCommand try_open_sub_device 的参数schema
description: 尝试打开HPLC子设备的函数。用于初始化和连接泵、检测器、进样器等各个子模块建立设备通信并进行自检。该函数提供连接验证和错误恢复机制确保子设备正常启动并准备就绪。适用于设备初始化、系统启动、设备重连等需要建立设备连接的场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand try_open_sub_device 的参数schema
properties:
device_name:
description: '参数: device_name'
type: string
required: []
type: object
result: {}
required:
- goal
title: try_open_sub_device 命令参数
title: try_open_sub_device参数
type: object
type: UniLabJsonCommand
execute_command_from_outer:
@@ -142,10 +133,9 @@ hplc.agilent:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -154,7 +144,6 @@ hplc.agilent:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -163,7 +152,6 @@ hplc.agilent:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -190,28 +178,50 @@ hplc.agilent:
status_text: str
success: bool
type: python
description: HPLC device
config_info: []
description: 安捷伦高效液相色谱HPLC分析设备用于复杂化合物的分离、检测和定量分析。该设备通过UI自动化技术控制安捷伦ChemStation软件实现全自动的样品分析流程。具备序列启动、设备状态监控、数据文件提取、结果处理等功能。支持多样品批量处理和实时状态反馈适用于药物分析、环境检测、食品安全、化学研究等需要高精度色谱分析的实验室应用。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
driver_debug:
default: false
description: '参数: driver_debug'
type: boolean
required: []
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
driver_debug:
default: false
type: string
required: []
type: object
data:
properties:
could_run:
type: boolean
data_file:
type: array
device_status:
type: string
driver_init_ok:
type: boolean
finish_status:
type: string
is_running:
type: boolean
status_text:
type: string
success:
type: boolean
required:
- status_text
- device_status
- could_run
- driver_init_ok
- is_running
- success
- finish_status
- data_file
type: object
version: 1.0.0
raman_home_made:
category:
- characterization_optic
class:
action_value_mappings:
auto-ccd_time:
@@ -222,14 +232,12 @@ raman_home_made:
handles: []
result: {}
schema:
description: UniLabJsonCommand ccd_time 的参数schema
description: 设置CCD检测器积分时间的函数。用于配置拉曼光谱仪的信号采集时间控制光谱数据的质量和信噪比。较长的积分时间可获得更高的信号强度和更好的光谱质量但会增加测量时间。该函数允许根据样品特性和测量要求动态调整检测参数优化测量效果。
properties:
feedback: {}
goal:
description: UniLabJsonCommand ccd_time 的参数schema
properties:
int_time:
description: '参数: int_time'
type: string
required:
- int_time
@@ -237,7 +245,7 @@ raman_home_made:
result: {}
required:
- goal
title: ccd_time 命令参数
title: ccd_time参数
type: object
type: UniLabJsonCommand
auto-laser_on_power:
@@ -248,14 +256,12 @@ raman_home_made:
handles: []
result: {}
schema:
description: UniLabJsonCommand laser_on_power 的参数schema
description: 设置激光器输出功率的函数。用于控制拉曼光谱仪激光器的功率输出,调节激光强度以适应不同样品的测量需求。适当的激光功率能够获得良好的拉曼信号同时避免样品损伤。该函数支持精确的功率控制,确保测量结果的稳定性和重现性。
properties:
feedback: {}
goal:
description: UniLabJsonCommand laser_on_power 的参数schema
properties:
output_voltage_laser:
description: '参数: output_voltage_laser'
type: string
required:
- output_voltage_laser
@@ -263,33 +269,7 @@ raman_home_made:
result: {}
required:
- goal
title: laser_on_power 命令参数
type: object
type: UniLabJsonCommand
auto-raman_cmd:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand raman_cmd 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand raman_cmd 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: raman_cmd 命令参数
title: laser_on_power参数
type: object
type: UniLabJsonCommand
auto-raman_without_background:
@@ -301,17 +281,14 @@ raman_home_made:
handles: []
result: {}
schema:
description: UniLabJsonCommand raman_without_background 的参数schema
description: 执行无背景扣除的拉曼光谱测量函数。用于直接采集样品的拉曼光谱信号,不进行背景校正处理。该函数配置积分时间和激光功率参数,获取原始光谱数据用于后续的数据处理分析。适用于对光谱数据质量要求较高或需要自定义背景处理流程的测量场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand raman_without_background 的参数schema
properties:
int_time:
description: '参数: int_time'
type: string
laser_power:
description: '参数: laser_power'
type: string
required:
- int_time
@@ -320,7 +297,7 @@ raman_home_made:
result: {}
required:
- goal
title: raman_without_background 命令参数
title: raman_without_background参数
type: object
type: UniLabJsonCommand
auto-raman_without_background_average:
@@ -334,23 +311,18 @@ raman_home_made:
handles: []
result: {}
schema:
description: UniLabJsonCommand raman_without_background_average 的参数schema
description: 执行多次平均的无背景拉曼光谱测量函数。通过多次测量取平均值来提高光谱数据的信噪比和测量精度,减少随机噪声影响。该函数支持自定义平均次数、积分时间、激光功率等参数,并可为样品指定名称便于数据管理。适用于对测量精度要求较高的定量分析和研究应用。
properties:
feedback: {}
goal:
description: UniLabJsonCommand raman_without_background_average 的参数schema
properties:
average:
description: '参数: average'
type: string
int_time:
description: '参数: int_time'
type: string
laser_power:
description: '参数: laser_power'
type: string
sample_name:
description: '参数: sample_name'
type: string
required:
- sample_name
@@ -361,7 +333,7 @@ raman_home_made:
result: {}
required:
- goal
title: raman_without_background_average 命令参数
title: raman_without_background_average参数
type: object
type: UniLabJsonCommand
raman_cmd:
@@ -374,10 +346,9 @@ raman_home_made:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -386,7 +357,6 @@ raman_home_made:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -395,7 +365,6 @@ raman_home_made:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -414,36 +383,29 @@ raman_home_made:
module: unilabos.devices.raman_uv.home_made_raman:RamanObj
status_types: {}
type: python
description: Raman spectroscopy device
config_info: []
description: 拉曼光谱分析设备用于物质的分子结构和化学成分表征。该设备集成激光器和CCD检测器通过串口通信控制激光功率和光谱采集。具备背景扣除、多次平均、自动数据处理等功能支持高精度的拉曼光谱测量。适用于材料表征、化学分析、质量控制、研究开发等需要分子指纹识别和结构分析的实验应用。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
baudrate_ccd:
default: 921600
description: '参数: baudrate_ccd'
type: integer
baudrate_laser:
default: 9600
description: '参数: baudrate_laser'
type: integer
port_ccd:
description: '参数: port_ccd'
type: string
port_laser:
description: '参数: port_laser'
type: string
required:
- port_laser
- port_ccd
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
baudrate_ccd:
default: 921600
type: string
baudrate_laser:
default: 9600
type: string
port_ccd:
type: string
port_laser:
type: string
required:
- port_laser
- port_ccd
type: object
data:
properties: {}
required: []
type: object
version: 1.0.0

View File

@@ -1,35 +1,35 @@
hotel.thermo_orbitor_rs2_hotel:
category:
- hotel
class:
action_value_mappings: {}
module: unilabos.devices.resource_container.container:HotelContainer
status_types:
rotation: String
type: python
description: Thermo Orbitor RS2 Hotel
config_info: []
description: Thermo Orbitor RS2 Hotel容器设备用于实验室样品的存储和管理。该设备通过HotelContainer类实现容器的旋转控制和状态监控主要用于存储实验样品、试剂瓶或其他实验器具支持旋转功能以便于样品的自动化存取。适用于需要有序存储和快速访问大量样品的实验室自动化场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
device_config:
description: '参数: device_config'
type: object
rotation:
description: '参数: rotation'
type: object
required:
- rotation
- device_config
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
device_config:
type: object
rotation:
type: object
required:
- rotation
- device_config
type: object
data:
properties:
rotation:
type: string
required:
- rotation
type: object
model:
mesh: thermo_orbitor_rs2_hotel
type: device
version: 1.0.0

View File

@@ -1,4 +1,6 @@
laiyu_add_solid:
category:
- laiyu_add_solid
class:
action_value_mappings:
add_powder_tube:
@@ -15,16 +17,14 @@ laiyu_add_solid:
result:
actual_mass_mg: actual_mass_mg
schema:
description: ROS Action SolidDispenseAddPowderTube 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: SolidDispenseAddPowderTube_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
compound_mass:
type: number
@@ -41,7 +41,6 @@ laiyu_add_solid:
title: SolidDispenseAddPowderTube_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
actual_mass_mg:
type: number
@@ -60,42 +59,6 @@ laiyu_add_solid:
title: SolidDispenseAddPowderTube
type: object
type: SolidDispenseAddPowderTube
auto-add_powder_tube:
feedback: {}
goal: {}
goal_default:
compound_mass: null
powder_tube_number: null
target_tube_position: null
handles: []
result: {}
schema:
description: UniLabJsonCommand add_powder_tube 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand add_powder_tube 的参数schema
properties:
compound_mass:
description: '参数: compound_mass'
type: string
powder_tube_number:
description: '参数: powder_tube_number'
type: string
target_tube_position:
description: '参数: target_tube_position'
type: string
required:
- powder_tube_number
- target_tube_position
- compound_mass
type: object
result: {}
required:
- goal
title: add_powder_tube 命令参数
type: object
type: UniLabJsonCommand
auto-calculate_crc:
feedback: {}
goal: {}
@@ -104,14 +67,12 @@ laiyu_add_solid:
handles: []
result: {}
schema:
description: UniLabJsonCommand calculate_crc 的参数schema
description: Modbus CRC-16校验码计算函数。计算Modbus RTU通信协议所需的CRC-16校验码确保数据传输的完整性和可靠性。该函数实现标准的CRC-16算法用于构造完整的Modbus指令帧。
properties:
feedback: {}
goal:
description: UniLabJsonCommand calculate_crc 的参数schema
properties:
data:
description: '参数: data'
type: string
required:
- data
@@ -119,168 +80,7 @@ laiyu_add_solid:
result: {}
required:
- goal
title: calculate_crc 命令参数
type: object
type: UniLabJsonCommand
auto-discharge:
feedback: {}
goal: {}
goal_default:
float_in: null
handles: []
result: {}
schema:
description: UniLabJsonCommand discharge 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand discharge 的参数schema
properties:
float_in:
description: '参数: float_in'
type: number
required:
- float_in
type: object
result: {}
required:
- goal
title: discharge 命令参数
type: object
type: UniLabJsonCommand
auto-move_to_plate:
feedback: {}
goal: {}
goal_default:
string: null
handles: []
result: {}
schema:
description: UniLabJsonCommand move_to_plate 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand move_to_plate 的参数schema
properties:
string:
description: '参数: string'
type: string
required:
- string
type: object
result: {}
required:
- goal
title: move_to_plate 命令参数
type: object
type: UniLabJsonCommand
auto-move_to_xyz:
feedback: {}
goal: {}
goal_default:
x: null
y: null
z: null
handles: []
result: {}
schema:
description: UniLabJsonCommand move_to_xyz 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand move_to_xyz 的参数schema
properties:
x:
description: '参数: x'
type: number
y:
description: '参数: y'
type: number
z:
description: '参数: z'
type: number
required:
- x
- y
- z
type: object
result: {}
required:
- goal
title: move_to_xyz 命令参数
type: object
type: UniLabJsonCommand
auto-pick_powder_tube:
feedback: {}
goal: {}
goal_default:
int_input: null
handles: []
result: {}
schema:
description: UniLabJsonCommand pick_powder_tube 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand pick_powder_tube 的参数schema
properties:
int_input:
description: '参数: int_input'
type: integer
required:
- int_input
type: object
result: {}
required:
- goal
title: pick_powder_tube 命令参数
type: object
type: UniLabJsonCommand
auto-put_powder_tube:
feedback: {}
goal: {}
goal_default:
int_input: null
handles: []
result: {}
schema:
description: UniLabJsonCommand put_powder_tube 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand put_powder_tube 的参数schema
properties:
int_input:
description: '参数: int_input'
type: integer
required:
- int_input
type: object
result: {}
required:
- goal
title: put_powder_tube 命令参数
type: object
type: UniLabJsonCommand
auto-reset:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: UniLabJsonCommand reset 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand reset 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: reset 命令参数
title: calculate_crc参数
type: object
type: UniLabJsonCommand
auto-send_command:
@@ -291,14 +91,12 @@ laiyu_add_solid:
handles: []
result: {}
schema:
description: UniLabJsonCommand send_command 的参数schema
description: Modbus指令发送函数。构造完整的Modbus RTU指令帧包含CRC校验发送给分装设备并等待响应。该函数处理底层通信协议确保指令的正确传输和响应接收支持最长3分钟的响应等待时间。
properties:
feedback: {}
goal:
description: UniLabJsonCommand send_command 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
@@ -306,7 +104,7 @@ laiyu_add_solid:
result: {}
required:
- goal
title: send_command 命令参数
title: send_command参数
type: object
type: UniLabJsonCommand
discharge:
@@ -318,16 +116,14 @@ laiyu_add_solid:
handles: []
result: {}
schema:
description: ROS Action FloatSingleInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: FloatSingleInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
float_in:
type: number
@@ -336,7 +132,6 @@ laiyu_add_solid:
title: FloatSingleInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -361,16 +156,14 @@ laiyu_add_solid:
handles: []
result: {}
schema:
description: ROS Action StrSingleInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: StrSingleInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
string:
type: string
@@ -379,7 +172,6 @@ laiyu_add_solid:
title: StrSingleInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -408,16 +200,14 @@ laiyu_add_solid:
handles: []
result: {}
schema:
description: ROS Action Point3DSeparateInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: Point3DSeparateInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
x:
type: number
@@ -432,7 +222,6 @@ laiyu_add_solid:
title: Point3DSeparateInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -457,16 +246,14 @@ laiyu_add_solid:
handles: []
result: {}
schema:
description: ROS Action IntSingleInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: IntSingleInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
int_input:
maximum: 2147483647
@@ -477,7 +264,6 @@ laiyu_add_solid:
title: IntSingleInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -502,16 +288,14 @@ laiyu_add_solid:
handles: []
result: {}
schema:
description: ROS Action IntSingleInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: IntSingleInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
int_input:
maximum: 2147483647
@@ -522,7 +306,6 @@ laiyu_add_solid:
title: IntSingleInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -545,22 +328,19 @@ laiyu_add_solid:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -577,32 +357,29 @@ laiyu_add_solid:
status_types:
status: str
type: python
description: Laiyu Add Solid
config_info: []
description: 来渝固体粉末自动分装设备用于实验室化学试剂的精确称量和分装。该设备通过Modbus RTU协议与控制系统通信集成了精密天平、三轴运动平台、粉筒管理系统等组件。支持多种粉末试剂的自动拿取、精确称量、定点分装和归位操作。具备高精度称量、位置控制和批量处理能力适用于化学合成、药物研发、材料制备等需要精确固体试剂配制的实验室应用场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
baudrate:
default: 115200
description: '参数: baudrate'
type: integer
port:
description: '参数: port'
type: string
timeout:
default: 0.5
description: '参数: timeout'
type: number
required:
- port
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
baudrate:
default: 115200
type: string
port:
type: string
timeout:
default: 0.5
type: string
required:
- port
type: object
data:
properties:
status:
type: string
required:
- status
type: object
version: 1.0.0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,6 @@
moveit.arm_slider:
category:
- moveit_config
class:
action_value_mappings:
auto-check_tf_update_actions:
@@ -8,18 +10,17 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: UniLabJsonCommand check_tf_update_actions 的参数schema
description: check_tf_update_actions的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand check_tf_update_actions 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: check_tf_update_actions 命令参数
title: check_tf_update_actions参数
type: object
type: UniLabJsonCommand
auto-moveit_joint_task:
@@ -34,28 +35,22 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: UniLabJsonCommand moveit_joint_task 的参数schema
description: moveit_joint_task的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand moveit_joint_task 的参数schema
properties:
joint_names:
description: '参数: joint_names'
type: string
joint_positions:
description: '参数: joint_positions'
type: string
move_group:
description: '参数: move_group'
type: string
retry:
default: 10
description: '参数: retry'
type: string
speed:
default: 1
description: '参数: speed'
type: string
required:
- move_group
@@ -64,7 +59,7 @@ moveit.arm_slider:
result: {}
required:
- goal
title: moveit_joint_task 命令参数
title: moveit_joint_task参数
type: object
type: UniLabJsonCommand
auto-moveit_task:
@@ -85,42 +80,33 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: UniLabJsonCommand moveit_task 的参数schema
description: moveit_task的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand moveit_task 的参数schema
properties:
cartesian:
default: false
description: '参数: cartesian'
type: string
move_group:
description: '参数: move_group'
type: string
offsets:
default:
- 0
- 0
- 0
description: '参数: offsets'
type: string
position:
description: '参数: position'
type: string
quaternion:
description: '参数: quaternion'
type: string
retry:
default: 10
description: '参数: retry'
type: string
speed:
default: 1
description: '参数: speed'
type: string
target_link:
description: '参数: target_link'
type: string
required:
- move_group
@@ -130,33 +116,7 @@ moveit.arm_slider:
result: {}
required:
- goal
title: moveit_task 命令参数
type: object
type: UniLabJsonCommand
auto-pick_and_place:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand pick_and_place 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand pick_and_place 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: pick_and_place 命令参数
title: moveit_task参数
type: object
type: UniLabJsonCommand
auto-post_init:
@@ -167,14 +127,12 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: UniLabJsonCommand post_init 的参数schema
description: post_init的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand post_init 的参数schema
properties:
ros_node:
description: '参数: ros_node'
type: string
required:
- ros_node
@@ -182,7 +140,7 @@ moveit.arm_slider:
result: {}
required:
- goal
title: post_init 命令参数
title: post_init参数
type: object
type: UniLabJsonCommand
auto-resource_manager:
@@ -194,17 +152,14 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: UniLabJsonCommand resource_manager 的参数schema
description: resource_manager的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand resource_manager 的参数schema
properties:
parent_link:
description: '参数: parent_link'
type: string
resource:
description: '参数: resource'
type: string
required:
- resource
@@ -213,59 +168,7 @@ moveit.arm_slider:
result: {}
required:
- goal
title: resource_manager 命令参数
type: object
type: UniLabJsonCommand
auto-set_position:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_position 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_position 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: set_position 命令参数
type: object
type: UniLabJsonCommand
auto-set_status:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_status 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_status 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: set_status 命令参数
title: resource_manager参数
type: object
type: UniLabJsonCommand
auto-wait_for_resource_action:
@@ -275,18 +178,17 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: UniLabJsonCommand wait_for_resource_action 的参数schema
description: wait_for_resource_action的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand wait_for_resource_action 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: wait_for_resource_action 命令参数
title: wait_for_resource_action参数
type: object
type: UniLabJsonCommand
pick_and_place:
@@ -298,10 +200,9 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -310,7 +211,6 @@ moveit.arm_slider:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -319,7 +219,6 @@ moveit.arm_slider:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -344,10 +243,9 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -356,7 +254,6 @@ moveit.arm_slider:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -365,7 +262,6 @@ moveit.arm_slider:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -390,10 +286,9 @@ moveit.arm_slider:
handles: []
result: {}
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -402,7 +297,6 @@ moveit.arm_slider:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -411,7 +305,6 @@ moveit.arm_slider:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -430,41 +323,36 @@ moveit.arm_slider:
module: unilabos.devices.ros_dev.moveit_interface:MoveitInterface
status_types: {}
type: python
description: Arm with Slider
config_info: []
description: 机械臂与滑块运动系统基于MoveIt2运动规划框架的多自由度机械臂控制设备。该系统集成机械臂和线性滑块通过ROS2和MoveIt2实现精确的轨迹规划和协调运动控制。支持笛卡尔空间和关节空间的运动规划、碰撞检测、逆运动学求解等功能。适用于复杂的pick-and-place操作、精密装配、多工位协作等需要高精度多轴协调运动的实验室自动化应用。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
device_config:
description: '参数: device_config'
type: string
joint_poses:
description: '参数: joint_poses'
type: string
moveit_type:
description: '参数: moveit_type'
type: string
rotation:
description: '参数: rotation'
type: string
required:
- moveit_type
- joint_poses
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
device_config:
type: string
joint_poses:
type: string
moveit_type:
type: string
rotation:
type: string
required:
- moveit_type
- joint_poses
type: object
data:
properties: {}
required: []
type: object
model:
mesh: arm_slider
type: device
version: 1.0.0
moveit.toyo_xyz:
category:
- moveit_config
class:
action_value_mappings:
auto-check_tf_update_actions:
@@ -474,18 +362,17 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: UniLabJsonCommand check_tf_update_actions 的参数schema
description: check_tf_update_actions的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand check_tf_update_actions 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: check_tf_update_actions 命令参数
title: check_tf_update_actions参数
type: object
type: UniLabJsonCommand
auto-moveit_joint_task:
@@ -500,28 +387,22 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: UniLabJsonCommand moveit_joint_task 的参数schema
description: moveit_joint_task的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand moveit_joint_task 的参数schema
properties:
joint_names:
description: '参数: joint_names'
type: string
joint_positions:
description: '参数: joint_positions'
type: string
move_group:
description: '参数: move_group'
type: string
retry:
default: 10
description: '参数: retry'
type: string
speed:
default: 1
description: '参数: speed'
type: string
required:
- move_group
@@ -530,7 +411,7 @@ moveit.toyo_xyz:
result: {}
required:
- goal
title: moveit_joint_task 命令参数
title: moveit_joint_task参数
type: object
type: UniLabJsonCommand
auto-moveit_task:
@@ -551,42 +432,33 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: UniLabJsonCommand moveit_task 的参数schema
description: moveit_task的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand moveit_task 的参数schema
properties:
cartesian:
default: false
description: '参数: cartesian'
type: string
move_group:
description: '参数: move_group'
type: string
offsets:
default:
- 0
- 0
- 0
description: '参数: offsets'
type: string
position:
description: '参数: position'
type: string
quaternion:
description: '参数: quaternion'
type: string
retry:
default: 10
description: '参数: retry'
type: string
speed:
default: 1
description: '参数: speed'
type: string
target_link:
description: '参数: target_link'
type: string
required:
- move_group
@@ -596,33 +468,7 @@ moveit.toyo_xyz:
result: {}
required:
- goal
title: moveit_task 命令参数
type: object
type: UniLabJsonCommand
auto-pick_and_place:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand pick_and_place 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand pick_and_place 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: pick_and_place 命令参数
title: moveit_task参数
type: object
type: UniLabJsonCommand
auto-post_init:
@@ -633,14 +479,12 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: UniLabJsonCommand post_init 的参数schema
description: post_init的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand post_init 的参数schema
properties:
ros_node:
description: '参数: ros_node'
type: string
required:
- ros_node
@@ -648,7 +492,7 @@ moveit.toyo_xyz:
result: {}
required:
- goal
title: post_init 命令参数
title: post_init参数
type: object
type: UniLabJsonCommand
auto-resource_manager:
@@ -660,17 +504,14 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: UniLabJsonCommand resource_manager 的参数schema
description: resource_manager的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand resource_manager 的参数schema
properties:
parent_link:
description: '参数: parent_link'
type: string
resource:
description: '参数: resource'
type: string
required:
- resource
@@ -679,59 +520,7 @@ moveit.toyo_xyz:
result: {}
required:
- goal
title: resource_manager 命令参数
type: object
type: UniLabJsonCommand
auto-set_position:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_position 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_position 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: set_position 命令参数
type: object
type: UniLabJsonCommand
auto-set_status:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_status 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_status 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: set_status 命令参数
title: resource_manager参数
type: object
type: UniLabJsonCommand
auto-wait_for_resource_action:
@@ -741,18 +530,17 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: UniLabJsonCommand wait_for_resource_action 的参数schema
description: wait_for_resource_action的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand wait_for_resource_action 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: wait_for_resource_action 命令参数
title: wait_for_resource_action参数
type: object
type: UniLabJsonCommand
pick_and_place:
@@ -764,10 +552,9 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -776,7 +563,6 @@ moveit.toyo_xyz:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -785,7 +571,6 @@ moveit.toyo_xyz:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -810,10 +595,9 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -822,7 +606,6 @@ moveit.toyo_xyz:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -831,7 +614,6 @@ moveit.toyo_xyz:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -856,10 +638,9 @@ moveit.toyo_xyz:
handles: []
result: {}
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -868,7 +649,6 @@ moveit.toyo_xyz:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -877,7 +657,6 @@ moveit.toyo_xyz:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -896,37 +675,30 @@ moveit.toyo_xyz:
module: unilabos.devices.ros_dev.moveit_interface:MoveitInterface
status_types: {}
type: python
description: Toyo XYZ
config_info: []
description: 东洋XYZ三轴运动平台基于MoveIt2运动规划框架的精密定位设备。该设备通过ROS2和MoveIt2实现三维空间的精确运动控制支持复杂轨迹规划、多点定位、速度控制等功能。具备高精度定位、平稳运动、实时轨迹监控等特性。适用于精密加工、样品定位、检测扫描、自动化装配等需要高精度三维运动控制的实验室和工业应用场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
device_config:
description: '参数: device_config'
type: string
joint_poses:
description: '参数: joint_poses'
type: string
moveit_type:
description: '参数: moveit_type'
type: string
rotation:
description: '参数: rotation'
type: string
required:
- moveit_type
- joint_poses
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
device_config:
type: string
joint_poses:
type: string
moveit_type:
type: string
rotation:
type: string
required:
- moveit_type
- joint_poses
type: object
data:
properties: {}
required: []
type: object
model:
mesh: toyo_xyz
type: device
version: 1.0.0

View File

@@ -1,4 +1,6 @@
rotavap.one:
category:
- organic_miscellaneous
class:
action_value_mappings:
auto-cmd_write:
@@ -9,14 +11,12 @@ rotavap.one:
handles: []
result: {}
schema:
description: UniLabJsonCommand cmd_write 的参数schema
description: cmd_write的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand cmd_write 的参数schema
properties:
cmd:
description: '参数: cmd'
type: string
required:
- cmd
@@ -24,7 +24,7 @@ rotavap.one:
result: {}
required:
- goal
title: cmd_write 命令参数
title: cmd_write参数
type: object
type: UniLabJsonCommand
auto-main_loop:
@@ -34,18 +34,17 @@ rotavap.one:
handles: []
result: {}
schema:
description: UniLabJsonCommand main_loop 的参数schema
description: main_loop的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand main_loop 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: main_loop 命令参数
title: main_loop参数
type: object
type: UniLabJsonCommand
auto-set_pump_time:
@@ -56,14 +55,12 @@ rotavap.one:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_pump_time 的参数schema
description: set_pump_time的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_pump_time 的参数schema
properties:
time:
description: '参数: time'
type: string
required:
- time
@@ -71,7 +68,7 @@ rotavap.one:
result: {}
required:
- goal
title: set_pump_time 命令参数
title: set_pump_time参数
type: object
type: UniLabJsonCommand
auto-set_rotate_time:
@@ -82,14 +79,12 @@ rotavap.one:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_rotate_time 的参数schema
description: set_rotate_time的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_rotate_time 的参数schema
properties:
time:
description: '参数: time'
type: string
required:
- time
@@ -97,33 +92,7 @@ rotavap.one:
result: {}
required:
- goal
title: set_rotate_time 命令参数
type: object
type: UniLabJsonCommand
auto-set_timer:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_timer 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_timer 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: set_timer 命令参数
title: set_rotate_time参数
type: object
type: UniLabJsonCommand
set_timer:
@@ -136,10 +105,9 @@ rotavap.one:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -148,7 +116,6 @@ rotavap.one:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -157,7 +124,6 @@ rotavap.one:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -176,32 +142,29 @@ rotavap.one:
module: unilabos.devices.rotavap.rotavap_one:RotavapOne
status_types: {}
type: python
description: Rotavap device
config_info: []
description: 旋转蒸发仪设备,用于有机化学实验中的溶剂回收和浓缩操作。该设备通过串口通信控制,集成旋转和真空泵功能,支持定时控制和自动化操作。具备旋转速度调节、真空度控制、温度管理等功能,实现高效的溶剂蒸发和回收。适用于有机合成、天然产物提取、药物制备等需要溶剂去除和浓缩的实验室应用场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
port:
description: '参数: port'
type: string
rate:
default: 9600
description: '参数: rate'
type: integer
required:
- port
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
port:
type: string
rate:
default: 9600
type: string
required:
- port
type: object
data:
properties: {}
required: []
type: object
version: 1.0.0
separator.homemade:
category:
- organic_miscellaneous
class:
action_value_mappings:
auto-read_sensor_loop:
@@ -211,54 +174,17 @@ separator.homemade:
handles: []
result: {}
schema:
description: UniLabJsonCommand read_sensor_loop 的参数schema
description: read_sensor_loop的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand read_sensor_loop 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: read_sensor_loop 命令参数
type: object
type: UniLabJsonCommand
auto-stir:
feedback: {}
goal: {}
goal_default:
settling_time: 10
stir_speed: 300
stir_time: 10
handles: []
result: {}
schema:
description: UniLabJsonCommand stir 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand stir 的参数schema
properties:
settling_time:
default: 10
description: '参数: settling_time'
type: number
stir_speed:
default: 300
description: '参数: stir_speed'
type: number
stir_time:
default: 10
description: '参数: stir_time'
type: number
required: []
type: object
result: {}
required:
- goal
title: stir 命令参数
title: read_sensor_loop参数
type: object
type: UniLabJsonCommand
auto-valve_open:
@@ -270,17 +196,14 @@ separator.homemade:
handles: []
result: {}
schema:
description: UniLabJsonCommand valve_open 的参数schema
description: valve_open的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand valve_open 的参数schema
properties:
condition:
description: '参数: condition'
type: string
value:
description: '参数: value'
type: string
required:
- condition
@@ -289,33 +212,7 @@ separator.homemade:
result: {}
required:
- goal
title: valve_open 命令参数
type: object
type: UniLabJsonCommand
auto-valve_open_cmd:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand valve_open_cmd 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand valve_open_cmd 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: valve_open_cmd 命令参数
title: valve_open参数
type: object
type: UniLabJsonCommand
auto-write:
@@ -326,14 +223,12 @@ separator.homemade:
handles: []
result: {}
schema:
description: UniLabJsonCommand write 的参数schema
description: write的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand write 的参数schema
properties:
data:
description: '参数: data'
type: string
required:
- data
@@ -341,7 +236,7 @@ separator.homemade:
result: {}
required:
- goal
title: write 命令参数
title: write参数
type: object
type: UniLabJsonCommand
stir:
@@ -352,17 +247,39 @@ separator.homemade:
stir_speed: stir_speed
stir_time: stir_time,
goal_default:
settling_time: 0.0
event: ''
settling_time: ''
stir_speed: 0.0
stir_time: 0.0
time: ''
time_spec: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: []
result:
success: success
schema:
description: ROS Action Stir 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -371,30 +288,114 @@ separator.homemade:
title: Stir_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
event:
type: string
settling_time:
type: number
type: string
stir_speed:
type: number
stir_time:
type: number
time:
type: string
time_spec:
type: string
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: Quaternion
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: Point
type: object
required:
- position
- orientation
title: Pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: Resource
type: object
required:
- vessel
- time
- event
- time_spec
- stir_time
- stir_speed
- settling_time
title: Stir_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
- message
- return_info
title: Stir_Result
type: object
required:
@@ -410,13 +411,12 @@ separator.homemade:
goal_default:
command: ''
handles: []
result":
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -425,7 +425,6 @@ separator.homemade:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -434,7 +433,6 @@ separator.homemade:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -453,36 +451,29 @@ separator.homemade:
module: unilabos.devices.separator.homemade_grbl_conductivity:SeparatorController
status_types: {}
type: python
description: Separator device with homemade grbl controller
config_info: []
description: 液-液分离器设备基于自制Grbl控制器的自动化分离系统。该设备集成搅拌、沉降、阀门控制和电导率传感器通过串口通信实现精确的分离操作控制。支持自动搅拌、分层沉降、基于传感器反馈的智能分液等功能。适用于有机化学中的萃取分离、相分离、液-液提取等需要精确分离控制的实验应用。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
baudrate_executor:
default: 115200
description: '参数: baudrate_executor'
type: integer
baudrate_sensor:
default: 115200
description: '参数: baudrate_sensor'
type: integer
port_executor:
description: '参数: port_executor'
type: string
port_sensor:
description: '参数: port_sensor'
type: string
required:
- port_executor
- port_sensor
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
baudrate_executor:
default: 115200
type: integer
baudrate_sensor:
default: 115200
type: integer
port_executor:
type: string
port_sensor:
type: string
required:
- port_executor
- port_sensor
type: object
data:
properties: {}
required: []
type: object
version: 1.0.0

View File

@@ -1,4 +1,6 @@
solenoid_valve:
category:
- pump_and_valve
class:
action_value_mappings:
auto-close:
@@ -8,18 +10,17 @@ solenoid_valve:
handles: []
result: {}
schema:
description: UniLabJsonCommand close 的参数schema
description: close的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand close 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close 命令参数
title: close参数
type: object
type: UniLabJsonCommand
auto-is_closed:
@@ -29,18 +30,17 @@ solenoid_valve:
handles: []
result: {}
schema:
description: UniLabJsonCommand is_closed 的参数schema
description: is_closed的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand is_closed 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed 命令参数
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-is_open:
@@ -50,18 +50,17 @@ solenoid_valve:
handles: []
result: {}
schema:
description: UniLabJsonCommand is_open 的参数schema
description: is_open的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand is_open 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_open 命令参数
title: is_open参数
type: object
type: UniLabJsonCommand
auto-open:
@@ -71,18 +70,17 @@ solenoid_valve:
handles: []
result: {}
schema:
description: UniLabJsonCommand open 的参数schema
description: ''
properties:
feedback: {}
goal:
description: UniLabJsonCommand open 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: open 命令参数
title: open参数
type: object
type: UniLabJsonCommand
auto-read_data:
@@ -92,18 +90,17 @@ solenoid_valve:
handles: []
result: {}
schema:
description: UniLabJsonCommand read_data 的参数schema
description: read_data的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand read_data 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: read_data 命令参数
title: read_data参数
type: object
type: UniLabJsonCommand
auto-send_command:
@@ -114,14 +111,12 @@ solenoid_valve:
handles: []
result: {}
schema:
description: UniLabJsonCommand send_command 的参数schema
description: send_command的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand send_command 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
@@ -129,33 +124,7 @@ solenoid_valve:
result: {}
required:
- goal
title: send_command 命令参数
type: object
type: UniLabJsonCommand
auto-set_valve_position:
feedback: {}
goal: {}
goal_default:
position: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_valve_position 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_valve_position 的参数schema
properties:
position:
description: '参数: position'
type: string
required:
- position
type: object
result: {}
required:
- goal
title: set_valve_position 命令参数
title: send_command参数
type: object
type: UniLabJsonCommand
set_valve_position:
@@ -167,16 +136,14 @@ solenoid_valve:
handles: []
result: {}
schema:
description: ROS Action StrSingleInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: StrSingleInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
string:
type: string
@@ -185,7 +152,6 @@ solenoid_valve:
title: StrSingleInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -206,51 +172,34 @@ solenoid_valve:
status: str
valve_position: str
type: python
description: Solenoid valve
config_info: []
description: 电磁阀控制设备,用于精确的流体路径控制和开关操作。该设备通过串口通信控制电磁阀的开关状态,支持远程操作和状态监测。具备快速响应、可靠密封、状态反馈等特性,广泛应用于流体输送、样品进样、路径切换等需要精确流体控制的实验室自动化应用。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
io_device_port:
description: '参数: io_device_port'
type: string
required:
- io_device_port
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
io_device_port:
type: string
required:
- io_device_port
type: object
data:
properties:
status:
type: string
valve_position:
type: string
required:
- status
- valve_position
type: object
version: 1.0.0
solenoid_valve.mock:
category:
- pump_and_valve
class:
action_value_mappings:
auto-close:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: UniLabJsonCommand close 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand close 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close 命令参数
type: object
type: UniLabJsonCommand
auto-is_closed:
feedback: {}
goal: {}
@@ -258,18 +207,17 @@ solenoid_valve.mock:
handles: []
result: {}
schema:
description: UniLabJsonCommand is_closed 的参数schema
description: is_closed的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand is_closed 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed 命令参数
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-is_open:
@@ -279,39 +227,17 @@ solenoid_valve.mock:
handles: []
result: {}
schema:
description: UniLabJsonCommand is_open 的参数schema
description: is_open的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand is_open 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_open 命令参数
type: object
type: UniLabJsonCommand
auto-open:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: UniLabJsonCommand open 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand open 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: open 命令参数
title: is_open参数
type: object
type: UniLabJsonCommand
auto-set_valve_position:
@@ -322,14 +248,12 @@ solenoid_valve.mock:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_valve_position 的参数schema
description: set_valve_position的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_valve_position 的参数schema
properties:
position:
description: '参数: position'
type: string
required:
- position
@@ -337,7 +261,7 @@ solenoid_valve.mock:
result: {}
required:
- goal
title: set_valve_position 命令参数
title: set_valve_position参数
type: object
type: UniLabJsonCommand
close:
@@ -347,22 +271,19 @@ solenoid_valve.mock:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -382,22 +303,19 @@ solenoid_valve.mock:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -415,7 +333,8 @@ solenoid_valve.mock:
status: str
valve_position: str
type: python
description: Mock solenoid valve
config_info: []
description: 模拟电磁阀设备,用于系统测试和开发调试。该设备模拟真实电磁阀的开关操作和状态变化,提供与实际设备相同的控制接口和反馈机制。支持流体路径的虚拟控制,便于在没有实际硬件的情况下进行流体系统的集成测试和算法验证。适用于系统开发、流程调试和培训演示等场景。
handles:
- data_type: fluid
handler_key: in
@@ -429,24 +348,27 @@ solenoid_valve.mock:
side: SOUTH
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
port:
default: COM6
description: '参数: port'
type: string
required: []
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
port:
default: COM6
type: string
required: []
type: object
data:
properties:
status:
type: string
valve_position:
type: string
required:
- status
- valve_position
type: object
version: 1.0.0
syringe_pump_with_valve.runze:
category:
- pump_and_valve
class:
action_value_mappings:
auto-close:
@@ -456,18 +378,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand close 的参数schema
description: close的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand close 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close 命令参数
title: close参数
type: object
type: UniLabJsonCommand
auto-initialize:
@@ -477,18 +398,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand initialize 的参数schema
description: initialize的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand initialize 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize 命令参数
title: initialize参数
type: object
type: UniLabJsonCommand
auto-pull_plunger:
@@ -499,14 +419,12 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand pull_plunger 的参数schema
description: pull_plunger的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand pull_plunger 的参数schema
properties:
volume:
description: '参数: volume'
type: number
required:
- volume
@@ -514,7 +432,7 @@ syringe_pump_with_valve.runze:
result: {}
required:
- goal
title: pull_plunger 命令参数
title: pull_plunger参数
type: object
type: UniLabJsonCommand
auto-push_plunger:
@@ -525,14 +443,12 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand push_plunger 的参数schema
description: push_plunger的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand push_plunger 的参数schema
properties:
volume:
description: '参数: volume'
type: number
required:
- volume
@@ -540,7 +456,7 @@ syringe_pump_with_valve.runze:
result: {}
required:
- goal
title: push_plunger 命令参数
title: push_plunger参数
type: object
type: UniLabJsonCommand
auto-query_aux_input_status_1:
@@ -550,18 +466,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand query_aux_input_status_1 的参数schema
description: query_aux_input_status_1的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand query_aux_input_status_1 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: query_aux_input_status_1 命令参数
title: query_aux_input_status_1参数
type: object
type: UniLabJsonCommand
auto-query_aux_input_status_2:
@@ -571,18 +486,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand query_aux_input_status_2 的参数schema
description: query_aux_input_status_2的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand query_aux_input_status_2 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: query_aux_input_status_2 命令参数
title: query_aux_input_status_2参数
type: object
type: UniLabJsonCommand
auto-query_backlash_position:
@@ -592,18 +506,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand query_backlash_position 的参数schema
description: query_backlash_position的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand query_backlash_position 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: query_backlash_position 命令参数
title: query_backlash_position参数
type: object
type: UniLabJsonCommand
auto-query_command_buffer_status:
@@ -613,18 +526,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand query_command_buffer_status 的参数schema
description: query_command_buffer_status的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand query_command_buffer_status 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: query_command_buffer_status 命令参数
title: query_command_buffer_status参数
type: object
type: UniLabJsonCommand
auto-query_software_version:
@@ -634,18 +546,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand query_software_version 的参数schema
description: query_software_version的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand query_software_version 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: query_software_version 命令参数
title: query_software_version参数
type: object
type: UniLabJsonCommand
auto-send_command:
@@ -656,14 +567,12 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand send_command 的参数schema
description: send_command的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand send_command 的参数schema
properties:
full_command:
description: '参数: full_command'
type: string
required:
- full_command
@@ -671,7 +580,7 @@ syringe_pump_with_valve.runze:
result: {}
required:
- goal
title: send_command 命令参数
title: send_command参数
type: object
type: UniLabJsonCommand
auto-set_baudrate:
@@ -682,14 +591,12 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_baudrate 的参数schema
description: set_baudrate的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_baudrate 的参数schema
properties:
baudrate:
description: '参数: baudrate'
type: string
required:
- baudrate
@@ -697,7 +604,7 @@ syringe_pump_with_valve.runze:
result: {}
required:
- goal
title: set_baudrate 命令参数
title: set_baudrate参数
type: object
type: UniLabJsonCommand
auto-set_max_velocity:
@@ -708,14 +615,12 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_max_velocity 的参数schema
description: set_max_velocity的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_max_velocity 的参数schema
properties:
velocity:
description: '参数: velocity'
type: number
required:
- velocity
@@ -723,7 +628,7 @@ syringe_pump_with_valve.runze:
result: {}
required:
- goal
title: set_max_velocity 命令参数
title: set_max_velocity参数
type: object
type: UniLabJsonCommand
auto-set_position:
@@ -735,17 +640,14 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_position 的参数schema
description: set_position的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_position 的参数schema
properties:
max_velocity:
description: '参数: max_velocity'
type: number
position:
description: '参数: position'
type: number
required:
- position
@@ -753,7 +655,7 @@ syringe_pump_with_valve.runze:
result: {}
required:
- goal
title: set_position 命令参数
title: set_position参数
type: object
type: UniLabJsonCommand
auto-set_valve_position:
@@ -764,14 +666,12 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_valve_position 的参数schema
description: set_valve_position的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_valve_position 的参数schema
properties:
position:
description: '参数: position'
type: string
required:
- position
@@ -779,7 +679,7 @@ syringe_pump_with_valve.runze:
result: {}
required:
- goal
title: set_valve_position 命令参数
title: set_valve_position参数
type: object
type: UniLabJsonCommand
auto-set_velocity_grade:
@@ -790,14 +690,12 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_velocity_grade 的参数schema
description: set_velocity_grade的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_velocity_grade 的参数schema
properties:
velocity:
description: '参数: velocity'
type: string
required:
- velocity
@@ -805,7 +703,7 @@ syringe_pump_with_valve.runze:
result: {}
required:
- goal
title: set_velocity_grade 命令参数
title: set_velocity_grade参数
type: object
type: UniLabJsonCommand
auto-stop_operation:
@@ -815,18 +713,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand stop_operation 的参数schema
description: stop_operation的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand stop_operation 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: stop_operation 命令参数
title: stop_operation参数
type: object
type: UniLabJsonCommand
auto-wait_error:
@@ -836,18 +733,17 @@ syringe_pump_with_valve.runze:
handles: []
result: {}
schema:
description: UniLabJsonCommand wait_error 的参数schema
description: wait_error的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand wait_error 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: wait_error 命令参数
title: wait_error参数
type: object
type: UniLabJsonCommand
hardware_interface:
@@ -866,35 +762,55 @@ syringe_pump_with_valve.runze:
velocity_grade: String
velocity_init: String
type: python
description: Runze Syringe pump with valve
config_info: []
description: 润泽精密注射泵设备,集成阀门控制的高精度流体输送系统。该设备通过串口通信控制,支持多种运行模式和精确的体积控制。具备可变速度控制、精密定位、阀门切换、实时状态监控等功能。适用于微量液体输送、精密进样、流速控制、化学反应进料等需要高精度流体操作的实验室自动化应用。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
address:
default: '1'
description: '参数: address'
type: string
max_volume:
default: 25.0
description: '参数: max_volume'
type: number
mode:
description: '参数: mode'
type: string
port:
description: '参数: port'
type: string
required:
- port
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
address:
default: '1'
type: string
max_volume:
default: 25.0
type: number
mode:
type: string
port:
type: string
required:
- port
type: object
data:
properties:
max_velocity:
type: number
mode:
type: integer
plunger_position:
type: string
position:
type: number
status:
type: string
valve_position:
type: string
velocity_end:
type: string
velocity_grade:
type: string
velocity_init:
type: string
required:
- status
- mode
- max_velocity
- velocity_grade
- velocity_init
- velocity_end
- valve_position
- position
- plunger_position
type: object
version: 1.0.0

View File

@@ -1,4 +1,6 @@
agv.SEER:
category:
- robot_agv
class:
action_value_mappings:
auto-send:
@@ -11,22 +13,18 @@ agv.SEER:
handles: []
result: {}
schema:
description: UniLabJsonCommand send 的参数schema
description: AGV底层通信命令发送函数。通过TCP socket连接向AGV发送底层控制命令支持pose位置、status状态、nav导航等命令类型。用于获取AGV当前位置坐标、运行状态或发送导航指令。该函数封装了AGV的通信协议将命令转换为十六进制数据包并处理响应解析。
properties:
feedback: {}
goal:
description: UniLabJsonCommand send 的参数schema
properties:
cmd:
description: '参数: cmd'
type: string
ex_data:
default: ''
description: '参数: ex_data'
type: string
obj:
default: receive_socket
description: '参数: obj'
type: string
required:
- cmd
@@ -34,33 +32,7 @@ agv.SEER:
result: {}
required:
- goal
title: send 命令参数
type: object
type: UniLabJsonCommand
auto-send_nav_task:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand send_nav_task 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand send_nav_task 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: send_nav_task 命令参数
title: send参数
type: object
type: UniLabJsonCommand
send_nav_task:
@@ -73,10 +45,9 @@ agv.SEER:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -85,7 +56,6 @@ agv.SEER:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -94,7 +64,6 @@ agv.SEER:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -115,24 +84,26 @@ agv.SEER:
pose: list
status: str
type: python
description: SEER AGV
config_info: []
description: SEER AGV自动导引车设备用于实验室内物料和设备的自主移动运输。该AGV通过TCP socket与导航系统通信具备精确的定位和路径规划能力。支持实时位置监控、状态查询和导航任务执行可在预设的实验室环境中自主移动至指定位置。适用于样品运输、设备转移、多工位协作等实验室自动化物流场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
host:
description: '参数: host'
type: string
required:
- host
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
host:
type: string
required:
- host
type: object
data:
properties:
pose:
type: array
status:
type: string
required:
- pose
- status
type: object
version: 1.0.0

View File

@@ -1,4 +1,6 @@
robotic_arm.UR:
category:
- robot_arm
class:
action_value_mappings:
auto-arm_init:
@@ -8,18 +10,17 @@ robotic_arm.UR:
handles: []
result: {}
schema:
description: UniLabJsonCommand arm_init 的参数schema
description: 机械臂初始化函数。执行UR机械臂的完整初始化流程包括上电、释放制动器、解除保护停止状态等。该函数确保机械臂从安全停止状态恢复到可操作状态是机械臂使用前的必要步骤。初始化完成后机械臂将处于就绪状态可以接收后续的运动指令。
properties:
feedback: {}
goal:
description: UniLabJsonCommand arm_init 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: arm_init 命令参数
title: arm_init参数
type: object
type: UniLabJsonCommand
auto-load_pose_data:
@@ -30,14 +31,12 @@ robotic_arm.UR:
handles: []
result: {}
schema:
description: UniLabJsonCommand load_pose_data 的参数schema
description: 从JSON字符串加载位置数据函数。接收包含机械臂位置信息的JSON格式字符串解析并存储位置数据供后续运动任务使用。位置数据通常包含多个预定义的工作位置坐标用于实现精确的多点运动控制。适用于动态配置机械臂工作位置的场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand load_pose_data 的参数schema
properties:
data:
description: '参数: data'
type: string
required:
- data
@@ -45,7 +44,7 @@ robotic_arm.UR:
result: {}
required:
- goal
title: load_pose_data 命令参数
title: load_pose_data参数
type: object
type: UniLabJsonCommand
auto-load_pose_file:
@@ -56,14 +55,12 @@ robotic_arm.UR:
handles: []
result: {}
schema:
description: UniLabJsonCommand load_pose_file 的参数schema
description: 从文件加载位置数据函数。读取指定的JSON文件并加载其中的机械臂位置信息。该函数支持从外部配置文件中获取预设的工作位置便于位置数据的管理和重用。适用于需要从固定配置文件中读取复杂位置序列的应用场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand load_pose_file 的参数schema
properties:
file:
description: '参数: file'
type: string
required:
- file
@@ -71,33 +68,7 @@ robotic_arm.UR:
result: {}
required:
- goal
title: load_pose_file 命令参数
type: object
type: UniLabJsonCommand
auto-move_pos_task:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand move_pos_task 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand move_pos_task 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: move_pos_task 命令参数
title: load_pose_file参数
type: object
type: UniLabJsonCommand
auto-reload_pose:
@@ -107,18 +78,17 @@ robotic_arm.UR:
handles: []
result: {}
schema:
description: UniLabJsonCommand reload_pose 的参数schema
description: 重新加载位置数据函数。重新读取并解析之前设置的位置文件,更新内存中的位置数据。该函数用于在位置文件被修改后刷新机械臂的位置配置,无需重新初始化整个系统。适用于动态更新机械臂工作位置的场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand reload_pose 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: reload_pose 命令参数
title: reload_pose参数
type: object
type: UniLabJsonCommand
move_pos_task:
@@ -131,10 +101,9 @@ robotic_arm.UR:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -143,7 +112,6 @@ robotic_arm.UR:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -152,7 +120,6 @@ robotic_arm.UR:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -175,28 +142,293 @@ robotic_arm.UR:
gripper_pose: float
gripper_status: str
type: python
description: UR robotic arm
config_info: []
description: Universal Robots机械臂设备用于实验室精密操作和自动化作业。该设备集成了UR机械臂本体、Robotiq夹爪和RTDE通信接口支持六自由度精确运动控制和力觉反馈。具备实时位置监控、状态反馈、轨迹规划等功能可执行复杂的多点位运动任务。适用于样品抓取、精密装配、实验器具操作等需要高精度和高重复性的实验室自动化场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
host:
description: '参数: host'
type: string
retry:
default: 30
description: '参数: retry'
type: integer
required:
- host
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
host:
type: string
retry:
default: 30
type: string
required:
- host
type: object
data:
properties:
arm_pose:
type: array
arm_status:
type: string
gripper_pose:
type: number
gripper_status:
type: string
required:
- arm_pose
- gripper_pose
- arm_status
- gripper_status
type: object
version: 1.0.0
robotic_arm.elite:
category:
- robot_arm
class:
action_value_mappings:
auto-close:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close参数
type: object
type: UniLabJsonCommand
auto-modbus_close:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: modbus_close参数
type: object
type: UniLabJsonCommand
auto-modbus_read_holding_registers:
feedback: {}
goal: {}
goal_default:
quantity: null
start_addr: null
unit_id: null
handles: []
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
quantity:
type: string
start_addr:
type: string
unit_id:
type: string
required:
- unit_id
- start_addr
- quantity
type: object
result: {}
required:
- goal
title: modbus_read_holding_registers参数
type: object
type: UniLabJsonCommand
auto-modbus_task:
feedback: {}
goal: {}
goal_default:
job_id: null
handles: []
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
job_id:
type: string
required:
- job_id
type: object
result: {}
required:
- goal
title: modbus_task参数
type: object
type: UniLabJsonCommand
auto-modbus_write_single_register:
feedback: {}
goal: {}
goal_default:
register_addr: null
unit_id: null
value: null
handles: []
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
register_addr:
type: string
unit_id:
type: string
value:
type: string
required:
- unit_id
- register_addr
- value
type: object
result: {}
required:
- goal
title: modbus_write_single_register参数
type: object
type: UniLabJsonCommand
auto-parse_success_response:
feedback: {}
goal: {}
goal_default:
response: null
handles: []
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
response:
type: string
required:
- response
type: object
result: {}
required:
- goal
title: parse_success_response参数
type: object
type: UniLabJsonCommand
auto-send_command:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
command:
type: string
required:
- command
type: object
result: {}
required:
- goal
title: send_command参数
type: object
type: UniLabJsonCommand
modbus_task_cmd:
feedback: {}
goal:
command: command
goal_default:
command: ''
handles: []
result: {}
schema:
description: ''
properties:
feedback:
properties:
status:
type: string
required:
- status
title: SendCmd_Feedback
type: object
goal:
properties:
command:
type: string
required:
- command
title: SendCmd_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: SendCmd_Result
type: object
required:
- goal
title: SendCmd
type: object
type: SendCmd
module: unilabos.devices.arm.elite_robot:EliteRobot
status_types:
actual_joint_positions: String
arm_pose: list
type: python
config_info: []
description: Elite robot arm
handles: []
icon: ''
init_param_schema:
config:
properties:
device_id:
type: string
host:
type: string
required:
- device_id
- host
type: object
data:
properties:
actual_joint_positions:
type: string
arm_pose:
type: array
required:
- arm_pose
- actual_joint_positions
type: object
model:
mesh: elite_robot
type: device
version: 1.0.0

View File

@@ -1,4 +1,6 @@
gripper.misumi_rz:
category:
- robot_gripper
class:
action_value_mappings:
auto-data_loop:
@@ -8,18 +10,17 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand data_loop 的参数schema
description: data_loop的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand data_loop 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: data_loop 命令参数
title: data_loop参数
type: object
type: UniLabJsonCommand
auto-data_reader:
@@ -29,18 +30,17 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand data_reader 的参数schema
description: data_reader的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand data_reader 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: data_reader 命令参数
title: data_reader参数
type: object
type: UniLabJsonCommand
auto-gripper_move:
@@ -53,20 +53,16 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand gripper_move 的参数schema
description: 夹爪抓取运动控制函数。控制夹爪的开合运动,支持位置、速度、力矩的精确设定。位置参数控制夹爪开合程度,速度参数控制运动快慢,力矩参数控制夹持强度。该函数提供安全的力控制,避免损坏被抓取物体,适用于各种形状和材质的物品抓取。
properties:
feedback: {}
goal:
description: UniLabJsonCommand gripper_move 的参数schema
properties:
force:
description: '参数: force'
type: string
pos:
description: '参数: pos'
type: string
speed:
description: '参数: speed'
type: string
required:
- pos
@@ -76,7 +72,7 @@ gripper.misumi_rz:
result: {}
required:
- goal
title: gripper_move 命令参数
title: gripper_move参数
type: object
type: UniLabJsonCommand
auto-init_gripper:
@@ -86,18 +82,17 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand init_gripper 的参数schema
description: 夹爪初始化函数。执行Misumi RZ夹爪的完整初始化流程包括Modbus通信建立、电机参数配置、传感器校准等。该函数确保夹爪系统从安全状态恢复到可操作状态是夹爪使用前的必要步骤。初始化完成后夹爪将处于就绪状态可接收抓取和旋转指令。
properties:
feedback: {}
goal:
description: UniLabJsonCommand init_gripper 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: init_gripper 命令参数
title: init_gripper参数
type: object
type: UniLabJsonCommand
auto-modbus_crc:
@@ -108,14 +103,12 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand modbus_crc 的参数schema
description: modbus_crc的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand modbus_crc 的参数schema
properties:
data:
description: '参数: data'
type: string
required:
- data
@@ -123,7 +116,7 @@ gripper.misumi_rz:
result: {}
required:
- goal
title: modbus_crc 命令参数
title: modbus_crc参数
type: object
type: UniLabJsonCommand
auto-move_and_rotate:
@@ -139,29 +132,22 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand move_and_rotate 的参数schema
description: move_and_rotate的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand move_and_rotate 的参数schema
properties:
grasp_F:
description: '参数: grasp_F'
type: string
grasp_pos:
description: '参数: grasp_pos'
type: string
grasp_v:
description: '参数: grasp_v'
type: string
spin_F:
description: '参数: spin_F'
type: string
spin_pos:
description: '参数: spin_pos'
type: string
spin_v:
description: '参数: spin_v'
type: string
required:
- spin_pos
@@ -174,7 +160,7 @@ gripper.misumi_rz:
result: {}
required:
- goal
title: move_and_rotate 命令参数
title: move_and_rotate参数
type: object
type: UniLabJsonCommand
auto-node_gripper_move:
@@ -185,14 +171,12 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand node_gripper_move 的参数schema
description: 节点夹爪移动任务函数。接收逗号分隔的命令字符串,解析位置、速度、力矩参数并执行夹爪抓取动作。该函数等待运动完成并返回执行结果,提供同步的运动控制接口。适用于需要可靠完成确认的精密抓取操作。
properties:
feedback: {}
goal:
description: UniLabJsonCommand node_gripper_move 的参数schema
properties:
cmd:
description: '参数: cmd'
type: string
required:
- cmd
@@ -200,7 +184,7 @@ gripper.misumi_rz:
result: {}
required:
- goal
title: node_gripper_move 命令参数
title: node_gripper_move参数
type: object
type: UniLabJsonCommand
auto-node_rotate_move:
@@ -211,14 +195,12 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand node_rotate_move 的参数schema
description: 节点旋转移动任务函数。接收逗号分隔的命令字符串,解析角度、速度、力矩参数并执行夹爪旋转动作。该函数等待旋转完成并返回执行结果,提供同步的旋转控制接口。适用于需要精确角度定位和完成确认的旋转操作。
properties:
feedback: {}
goal:
description: UniLabJsonCommand node_rotate_move 的参数schema
properties:
cmd:
description: '参数: cmd'
type: string
required:
- cmd
@@ -226,7 +208,7 @@ gripper.misumi_rz:
result: {}
required:
- goal
title: node_rotate_move 命令参数
title: node_rotate_move参数
type: object
type: UniLabJsonCommand
auto-read_address:
@@ -239,20 +221,16 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand read_address 的参数schema
description: read_address的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand read_address 的参数schema
properties:
address:
description: '参数: address'
type: string
data_len:
description: '参数: data_len'
type: string
id:
description: '参数: id'
type: string
required:
- id
@@ -262,7 +240,7 @@ gripper.misumi_rz:
result: {}
required:
- goal
title: read_address 命令参数
title: read_address参数
type: object
type: UniLabJsonCommand
auto-rotate_move_abs:
@@ -275,20 +253,16 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand rotate_move_abs 的参数schema
description: 夹爪绝对位置旋转控制函数。控制夹爪主轴旋转到指定的绝对角度位置支持360度连续旋转。位置参数指定目标角度速度参数控制旋转速率力矩参数设定旋转阻力限制。该函数提供高精度的角度定位适用于需要精确方向控制的操作场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand rotate_move_abs 的参数schema
properties:
force:
description: '参数: force'
type: string
pos:
description: '参数: pos'
type: string
speed:
description: '参数: speed'
type: string
required:
- pos
@@ -298,7 +272,7 @@ gripper.misumi_rz:
result: {}
required:
- goal
title: rotate_move_abs 命令参数
title: rotate_move_abs参数
type: object
type: UniLabJsonCommand
auto-send_cmd:
@@ -312,23 +286,18 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand send_cmd 的参数schema
description: send_cmd的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand send_cmd 的参数schema
properties:
address:
description: '参数: address'
type: string
data:
description: '参数: data'
type: string
fun:
description: '参数: fun'
type: string
id:
description: '参数: id'
type: string
required:
- id
@@ -339,7 +308,7 @@ gripper.misumi_rz:
result: {}
required:
- goal
title: send_cmd 命令参数
title: send_cmd参数
type: object
type: UniLabJsonCommand
auto-wait_for_gripper:
@@ -349,18 +318,17 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand wait_for_gripper 的参数schema
description: wait_for_gripper的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand wait_for_gripper 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: wait_for_gripper 命令参数
title: wait_for_gripper参数
type: object
type: UniLabJsonCommand
auto-wait_for_gripper_init:
@@ -370,18 +338,17 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand wait_for_gripper_init 的参数schema
description: wait_for_gripper_init的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand wait_for_gripper_init 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: wait_for_gripper_init 命令参数
title: wait_for_gripper_init参数
type: object
type: UniLabJsonCommand
auto-wait_for_rotate:
@@ -391,18 +358,17 @@ gripper.misumi_rz:
handles: []
result: {}
schema:
description: UniLabJsonCommand wait_for_rotate 的参数schema
description: wait_for_rotate的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand wait_for_rotate 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: wait_for_rotate 命令参数
title: wait_for_rotate参数
type: object
type: UniLabJsonCommand
execute_command_from_outer:
@@ -415,10 +381,9 @@ gripper.misumi_rz:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -427,7 +392,6 @@ gripper.misumi_rz:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -436,7 +400,6 @@ gripper.misumi_rz:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -456,40 +419,38 @@ gripper.misumi_rz:
status_types:
status: str
type: python
description: Misumi RZ gripper
config_info: []
description: Misumi RZ系列电子夹爪设备集成旋转和抓取双重功能的精密夹爪系统。该设备通过Modbus RTU协议与控制系统通信支持位置、速度、力矩的精确控制。具备高精度的位置反馈、实时状态监控和故障检测功能。适用于需要精密抓取和旋转操作的实验室自动化场景如样品管理、精密装配、器件操作等应用。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
baudrate:
default: 115200
description: '参数: baudrate'
type: integer
id:
default: 9
description: '参数: id'
type: integer
port:
description: '参数: port'
type: string
pos_error:
default: -11
description: '参数: pos_error'
type: integer
required:
- port
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
baudrate:
default: 115200
type: string
id:
default: 9
type: string
port:
type: string
pos_error:
default: -11
type: string
required:
- port
type: object
data:
properties:
status:
type: string
required:
- status
type: object
version: 1.0.0
gripper.mock:
category:
- robot_gripper
class:
action_value_mappings:
auto-edit_id:
@@ -503,67 +464,27 @@ gripper.mock:
handles: []
result: {}
schema:
description: UniLabJsonCommand edit_id 的参数schema
description: 模拟夹爪资源ID编辑函数。用于测试和演示资源管理功能模拟修改夹爪资源的标识信息。该函数接收工作流名称、参数和资源对象模拟真实的资源更新过程并返回修改后的资源信息。适用于系统测试和开发调试场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand edit_id 的参数schema
properties:
params:
default: '{}'
description: '参数: params'
type: string
resource:
default:
Gripper1: {}
description: '参数: resource'
type: object
wf_name:
default: gripper_run
description: '参数: wf_name'
type: string
required: []
type: object
result: {}
required:
- goal
title: edit_id 命令参数
type: object
type: UniLabJsonCommand
auto-push_to:
feedback: {}
goal: {}
goal_default:
position: null
torque: null
velocity: 0.0
handles: []
result: {}
schema:
description: UniLabJsonCommand push_to 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand push_to 的参数schema
properties:
position:
description: '参数: position'
type: number
torque:
description: '参数: torque'
type: number
velocity:
default: 0.0
description: '参数: velocity'
type: number
required:
- position
- torque
type: object
result: {}
required:
- goal
title: push_to 命令参数
title: edit_id参数
type: object
type: UniLabJsonCommand
push_to:
@@ -582,10 +503,9 @@ gripper.mock:
effort: torque
position: position
schema:
description: ROS Action GripperCommand 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
effort:
type: number
@@ -603,7 +523,6 @@ gripper.mock:
title: GripperCommand_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
properties:
@@ -621,7 +540,6 @@ gripper.mock:
title: GripperCommand_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
effort:
type: number
@@ -650,20 +568,29 @@ gripper.mock:
torque: float
velocity: float
type: python
description: Mock gripper
config_info: []
description: 模拟夹爪设备,用于系统测试和开发调试。该设备模拟真实夹爪的位置、速度、力矩等物理特性,支持虚拟的抓取和移动操作。提供与真实夹爪相同的接口和状态反馈,便于在没有实际硬件的情况下进行系统集成测试和算法验证。适用于软件开发、系统调试和培训演示等场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties: {}
required: []
type: object
data:
properties:
position:
type: number
status:
type: string
torque:
type: number
velocity:
type: number
required:
- position
- velocity
- torque
- status
type: object
version: 1.0.0

View File

@@ -1,4 +1,6 @@
linear_motion.grbl:
category:
- robot_linear_motion
class:
action_value_mappings:
auto-initialize:
@@ -8,44 +10,17 @@ linear_motion.grbl:
handles: []
result: {}
schema:
description: UniLabJsonCommand initialize 的参数schema
description: CNC设备初始化函数。执行Grbl CNC的完整初始化流程包括归零操作、轴校准和状态复位。该函数将所有轴移动到原点位置(0,0,0),确保设备处于已知的参考状态。初始化完成后设备进入空闲状态,可接收后续的运动指令。
properties:
feedback: {}
goal:
description: UniLabJsonCommand initialize 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize 命令参数
type: object
type: UniLabJsonCommand
auto-move_through_points:
feedback: {}
goal: {}
goal_default:
positions: null
handles: []
result: {}
schema:
description: UniLabJsonCommand move_through_points 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand move_through_points 的参数schema
properties:
positions:
description: '参数: positions'
type: array
required:
- positions
type: object
result: {}
required:
- goal
title: move_through_points 命令参数
title: initialize参数
type: object
type: UniLabJsonCommand
auto-set_position:
@@ -56,14 +31,12 @@ linear_motion.grbl:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_position 的参数schema
description: CNC绝对位置设定函数。控制CNC设备移动到指定的三维坐标位置(x,y,z)。该函数支持安全限位检查,防止超出设备工作范围。移动过程中会监控设备状态,确保安全到达目标位置。适用于精确定位和轨迹控制操作。
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_position 的参数schema
properties:
position:
description: '参数: position'
type: string
required:
- position
@@ -71,38 +44,7 @@ linear_motion.grbl:
result: {}
required:
- goal
title: set_position 命令参数
type: object
type: UniLabJsonCommand
auto-set_spindle_speed:
feedback: {}
goal: {}
goal_default:
max_velocity: 500
spindle_speed: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_spindle_speed 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_spindle_speed 的参数schema
properties:
max_velocity:
default: 500
description: '参数: max_velocity'
type: number
spindle_speed:
description: '参数: spindle_speed'
type: number
required:
- spindle_speed
type: object
result: {}
required:
- goal
title: set_spindle_speed 命令参数
title: set_position参数
type: object
type: UniLabJsonCommand
auto-stop_operation:
@@ -112,18 +54,17 @@ linear_motion.grbl:
handles: []
result: {}
schema:
description: UniLabJsonCommand stop_operation 的参数schema
description: CNC操作停止函数。立即停止当前正在执行的所有CNC运动包括轴移动和主轴旋转。该函数用于紧急停止或任务中断确保设备和工件的安全。停止后设备将保持当前位置等待新的指令。
properties:
feedback: {}
goal:
description: UniLabJsonCommand stop_operation 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: stop_operation 命令参数
title: stop_operation参数
type: object
type: UniLabJsonCommand
auto-wait_error:
@@ -133,18 +74,17 @@ linear_motion.grbl:
handles: []
result: {}
schema:
description: UniLabJsonCommand wait_error 的参数schema
description: wait_error的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand wait_error 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: wait_error 命令参数
title: wait_error参数
type: object
type: UniLabJsonCommandAsync
move_through_points:
@@ -176,10 +116,9 @@ linear_motion.grbl:
handles: []
result: {}
schema:
description: ROS Action NavigateThroughPoses 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
current_pose:
properties:
@@ -300,7 +239,6 @@ linear_motion.grbl:
title: NavigateThroughPoses_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
behavior_tree:
type: string
@@ -381,7 +319,6 @@ linear_motion.grbl:
title: NavigateThroughPoses_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
result:
properties: {}
@@ -411,10 +348,9 @@ linear_motion.grbl:
handles: []
result: {}
schema:
description: ROS Action SingleJointPosition 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
error:
type: number
@@ -454,7 +390,6 @@ linear_motion.grbl:
title: SingleJointPosition_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
max_velocity:
type: number
@@ -482,7 +417,6 @@ linear_motion.grbl:
title: SingleJointPosition_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties: {}
required: []
title: SingleJointPosition_Result
@@ -498,42 +432,47 @@ linear_motion.grbl:
spindle_speed: float
status: str
type: python
description: Grbl CNC
config_info: []
description: Grbl数控机床CNC设备用于实验室精密加工和三轴定位操作。该设备基于Grbl固件通过串口通信控制步进电机实现X、Y、Z三轴的精确运动。支持绝对定位、轨迹规划、主轴控制和实时状态监控。具备安全限位保护和运动平滑控制功能。适用于精密钻孔、铣削、雕刻、样品制备等需要高精度定位和加工的实验室应用场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
address:
default: '1'
description: '参数: address'
type: string
limits:
default:
- -150
- 150
- -200
- 0
- -80
- 0
description: '参数: limits'
type: array
port:
description: '参数: port'
type: string
required:
- port
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
address:
default: '1'
type: string
limits:
default:
- -150
- 150
- -200
- 0
- -80
- 0
type: array
port:
type: string
required:
- port
type: object
data:
properties:
position:
type: string
spindle_speed:
type: number
status:
type: string
required:
- status
- position
- spindle_speed
type: object
version: 1.0.0
motor.iCL42:
category:
- robot_linear_motion
class:
action_value_mappings:
auto-execute_run_motor:
@@ -546,20 +485,16 @@ motor.iCL42:
handles: []
result: {}
schema:
description: UniLabJsonCommand execute_run_motor 的参数schema
description: 步进电机执行运动函数。直接执行电机运动命令,包括位置设定、速度控制和路径规划。该函数处理底层的电机控制协议,消除警告信息,设置运动参数并启动电机运行。适用于需要直接控制电机运动的应用场景。
properties:
feedback: {}
goal:
description: UniLabJsonCommand execute_run_motor 的参数schema
properties:
mode:
description: '参数: mode'
type: string
position:
description: '参数: position'
type: number
velocity:
description: '参数: velocity'
type: integer
required:
- mode
@@ -569,7 +504,7 @@ motor.iCL42:
result: {}
required:
- goal
title: execute_run_motor 命令参数
title: execute_run_motor参数
type: object
type: UniLabJsonCommand
auto-init_device:
@@ -579,18 +514,17 @@ motor.iCL42:
handles: []
result: {}
schema:
description: UniLabJsonCommand init_device 的参数schema
description: iCL42电机设备初始化函数。建立与iCL42步进电机驱动器的串口通信连接配置通信参数包括波特率、数据位、校验位等。该函数是电机使用前的必要步骤确保驱动器处于可控状态并准备接收运动指令。
properties:
feedback: {}
goal:
description: UniLabJsonCommand init_device 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: init_device 命令参数
title: init_device参数
type: object
type: UniLabJsonCommand
auto-run_motor:
@@ -603,20 +537,16 @@ motor.iCL42:
handles: []
result: {}
schema:
description: UniLabJsonCommand run_motor 的参数schema
description: 步进电机运动控制函数。根据指定的运动模式、目标位置和速度参数控制电机运动。支持多种运动模式和精确的位置控制,自动处理运动轨迹规划和执行。该函数提供异步执行和状态反馈,确保运动的准确性和可靠性。
properties:
feedback: {}
goal:
description: UniLabJsonCommand run_motor 的参数schema
properties:
mode:
description: '参数: mode'
type: string
position:
description: '参数: position'
type: number
velocity:
description: '参数: velocity'
type: integer
required:
- mode
@@ -626,7 +556,7 @@ motor.iCL42:
result: {}
required:
- goal
title: run_motor 命令参数
title: run_motor参数
type: object
type: UniLabJsonCommand
execute_command_from_outer:
@@ -639,10 +569,9 @@ motor.iCL42:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -651,7 +580,6 @@ motor.iCL42:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -660,7 +588,6 @@ motor.iCL42:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -682,28 +609,32 @@ motor.iCL42:
motor_position: int
success: bool
type: python
description: iCL42 motor
config_info: []
description: iCL42步进电机驱动器用于实验室设备的精密线性运动控制。该设备通过串口通信控制iCL42型步进电机驱动器支持多种运动模式和精确的位置、速度控制。具备位置反馈、运行状态监控和故障检测功能。适用于自动进样器、样品传送、精密定位平台等需要准确线性运动控制的实验室自动化设备。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
device_address:
default: 1
description: '参数: device_address'
type: integer
device_com:
default: COM9
description: '参数: device_com'
type: string
required: []
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
device_address:
default: 1
type: integer
device_com:
default: COM9
type: string
required: []
type: object
data:
properties:
is_executing_run:
type: boolean
motor_position:
type: integer
success:
type: boolean
required:
- motor_position
- is_executing_run
- success
type: object
version: 1.0.0

View File

@@ -1,4 +1,6 @@
lh_joint_publisher:
category:
- sim_nodes
class:
action_value_mappings:
auto-check_tf_update_actions:
@@ -8,18 +10,17 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand check_tf_update_actions 的参数schema
description: check_tf_update_actions的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand check_tf_update_actions 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: check_tf_update_actions 命令参数
title: check_tf_update_actions参数
type: object
type: UniLabJsonCommand
auto-find_resource_parent:
@@ -30,14 +31,12 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand find_resource_parent 的参数schema
description: find_resource_parent的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand find_resource_parent 的参数schema
properties:
resource_id:
description: '参数: resource_id'
type: string
required:
- resource_id
@@ -45,7 +44,7 @@ lh_joint_publisher:
result: {}
required:
- goal
title: find_resource_parent 命令参数
title: find_resource_parent参数
type: object
type: UniLabJsonCommand
auto-inverse_kinematics:
@@ -62,32 +61,24 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand inverse_kinematics 的参数schema
description: inverse_kinematics的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand inverse_kinematics 的参数schema
properties:
parent_id:
description: '参数: parent_id'
type: string
x:
description: '参数: x'
type: string
x_joint:
description: '参数: x_joint'
type: object
y:
description: '参数: y'
type: string
y_joint:
description: '参数: y_joint'
type: object
z:
description: '参数: z'
type: string
z_joint:
description: '参数: z_joint'
type: object
required:
- x
@@ -101,7 +92,7 @@ lh_joint_publisher:
result: {}
required:
- goal
title: inverse_kinematics 命令参数
title: inverse_kinematics参数
type: object
type: UniLabJsonCommand
auto-lh_joint_action_callback:
@@ -112,14 +103,12 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand lh_joint_action_callback 的参数schema
description: lh_joint_action_callback的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand lh_joint_action_callback 的参数schema
properties:
goal_handle:
description: '参数: goal_handle'
type: string
required:
- goal_handle
@@ -127,7 +116,7 @@ lh_joint_publisher:
result: {}
required:
- goal
title: lh_joint_action_callback 命令参数
title: lh_joint_action_callback参数
type: object
type: UniLabJsonCommand
auto-lh_joint_pub_callback:
@@ -137,18 +126,17 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand lh_joint_pub_callback 的参数schema
description: lh_joint_pub_callback的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand lh_joint_pub_callback 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: lh_joint_pub_callback 命令参数
title: lh_joint_pub_callback参数
type: object
type: UniLabJsonCommand
auto-move_joints:
@@ -167,39 +155,29 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand move_joints 的参数schema
description: move_joints的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand move_joints 的参数schema
properties:
option:
description: '参数: option'
type: string
resource_names:
description: '参数: resource_names'
type: string
speed:
default: 0.1
description: '参数: speed'
type: string
x:
description: '参数: x'
type: string
x_joint:
description: '参数: x_joint'
type: string
y:
description: '参数: y'
type: string
y_joint:
description: '参数: y_joint'
type: string
z:
description: '参数: z'
type: string
z_joint:
description: '参数: z_joint'
type: string
required:
- resource_names
@@ -211,7 +189,7 @@ lh_joint_publisher:
result: {}
required:
- goal
title: move_joints 命令参数
title: move_joints参数
type: object
type: UniLabJsonCommand
auto-move_to:
@@ -224,20 +202,16 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand move_to 的参数schema
description: move_to的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand move_to 的参数schema
properties:
joint_positions:
description: '参数: joint_positions'
type: string
parent_id:
description: '参数: parent_id'
type: string
speed:
description: '参数: speed'
type: string
required:
- joint_positions
@@ -247,7 +221,7 @@ lh_joint_publisher:
result: {}
required:
- goal
title: move_to 命令参数
title: move_to参数
type: object
type: UniLabJsonCommand
auto-resource_move:
@@ -260,20 +234,16 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand resource_move 的参数schema
description: resource_move的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand resource_move 的参数schema
properties:
channels:
description: '参数: channels'
type: array
link_name:
description: '参数: link_name'
type: string
resource_id:
description: '参数: resource_id'
type: string
required:
- resource_id
@@ -283,7 +253,7 @@ lh_joint_publisher:
result: {}
required:
- goal
title: resource_move 命令参数
title: resource_move参数
type: object
type: UniLabJsonCommand
auto-send_resource_action:
@@ -295,17 +265,14 @@ lh_joint_publisher:
handles: []
result: {}
schema:
description: UniLabJsonCommand send_resource_action 的参数schema
description: send_resource_action的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand send_resource_action 的参数schema
properties:
link_name:
description: '参数: link_name'
type: string
resource_id_list:
description: '参数: resource_id_list'
type: array
required:
- resource_id_list
@@ -314,42 +281,35 @@ lh_joint_publisher:
result: {}
required:
- goal
title: send_resource_action 命令参数
title: send_resource_action参数
type: object
type: UniLabJsonCommand
module: unilabos.devices.ros_dev.liquid_handler_joint_publisher:LiquidHandlerJointPublisher
status_types: {}
type: ros2
description: ''
config_info: []
description: 液体处理器关节发布器用于ROS2仿真系统中的液体处理设备运动控制。该节点通过发布关节状态驱动仿真模型中的机械臂运动支持三维坐标到关节空间的逆运动学转换、多关节协调控制、资源跟踪和TF变换。具备精确的位置控制、速度调节、pick-and-place操作等功能。适用于液体处理系统的虚拟仿真、运动规划验证、系统集成测试等应用场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
device_id:
default: lh_joint_publisher
description: '参数: device_id'
type: string
rate:
default: 50
description: '参数: rate'
type: integer
resource_tracker:
description: '参数: resource_tracker'
type: string
resources_config:
description: '参数: resources_config'
type: array
required:
- resources_config
- resource_tracker
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
device_id:
default: lh_joint_publisher
type: string
rate:
default: 50
type: string
resource_tracker:
type: string
resources_config:
type: array
required:
- resources_config
- resource_tracker
type: object
data:
properties: {}
required: []
type: object
version: 1.0.0

View File

@@ -1,4 +1,6 @@
chiller:
category:
- temperature
class:
action_value_mappings:
auto-build_modbus_frame:
@@ -12,23 +14,18 @@ chiller:
handles: []
result: {}
schema:
description: UniLabJsonCommand build_modbus_frame 的参数schema
description: build_modbus_frame的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand build_modbus_frame 的参数schema
properties:
device_address:
description: '参数: device_address'
type: integer
function_code:
description: '参数: function_code'
type: integer
register_address:
description: '参数: register_address'
type: integer
value:
description: '参数: value'
type: integer
required:
- device_address
@@ -39,7 +36,7 @@ chiller:
result: {}
required:
- goal
title: build_modbus_frame 命令参数
title: build_modbus_frame参数
type: object
type: UniLabJsonCommand
auto-convert_temperature_to_modbus_value:
@@ -51,18 +48,15 @@ chiller:
handles: []
result: {}
schema:
description: UniLabJsonCommand convert_temperature_to_modbus_value 的参数schema
description: convert_temperature_to_modbus_value的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand convert_temperature_to_modbus_value 的参数schema
properties:
decimal_points:
default: 1
description: '参数: decimal_points'
type: integer
temperature:
description: '参数: temperature'
type: number
required:
- temperature
@@ -70,7 +64,7 @@ chiller:
result: {}
required:
- goal
title: convert_temperature_to_modbus_value 命令参数
title: convert_temperature_to_modbus_value参数
type: object
type: UniLabJsonCommand
auto-modbus_crc:
@@ -81,14 +75,12 @@ chiller:
handles: []
result: {}
schema:
description: UniLabJsonCommand modbus_crc 的参数schema
description: modbus_crc的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand modbus_crc 的参数schema
properties:
data:
description: '参数: data'
type: string
required:
- data
@@ -96,33 +88,7 @@ chiller:
result: {}
required:
- goal
title: modbus_crc 命令参数
type: object
type: UniLabJsonCommand
auto-set_temperature:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_temperature 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_temperature 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: set_temperature 命令参数
title: modbus_crc参数
type: object
type: UniLabJsonCommand
auto-stop:
@@ -132,18 +98,17 @@ chiller:
handles: []
result: {}
schema:
description: UniLabJsonCommand stop 的参数schema
description: stop的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand stop 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: stop 命令参数
title: stop参数
type: object
type: UniLabJsonCommand
set_temperature:
@@ -156,10 +121,9 @@ chiller:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -168,7 +132,6 @@ chiller:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -177,7 +140,6 @@ chiller:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -196,32 +158,29 @@ chiller:
module: unilabos.devices.temperature.chiller:Chiller
status_types: {}
type: python
description: Chiller
config_info: []
description: 实验室制冷设备用于精确的温度控制和冷却操作。该设备通过Modbus RTU协议与控制系统通信支持精确的温度设定和监控。具备快速降温、恒温控制和温度保持功能广泛应用于需要低温环境的化学反应、样品保存、结晶操作等实验场景。提供稳定可靠的冷却性能确保实验过程的温度精度。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
port:
description: '参数: port'
type: string
rate:
default: 9600
description: '参数: rate'
type: integer
required:
- port
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
port:
type: string
rate:
default: 9600
type: string
required:
- port
type: object
data:
properties: {}
required: []
type: object
version: 1.0.0
heaterstirrer.dalong:
category:
- temperature
class:
action_value_mappings:
auto-close:
@@ -231,69 +190,17 @@ heaterstirrer.dalong:
handles: []
result: {}
schema:
description: UniLabJsonCommand close 的参数schema
description: close的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand close 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close 命令参数
type: object
type: UniLabJsonCommand
auto-heatchill:
feedback: {}
goal: {}
goal_default:
purpose: reaction
stir: true
stir_speed: 300
temp: null
time: 3600
vessel: null
handles: []
result: {}
schema:
description: UniLabJsonCommand heatchill 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand heatchill 的参数schema
properties:
purpose:
default: reaction
description: '参数: purpose'
type: string
stir:
default: true
description: '参数: stir'
type: boolean
stir_speed:
default: 300
description: '参数: stir_speed'
type: number
temp:
description: '参数: temp'
type: number
time:
default: 3600
description: '参数: time'
type: number
vessel:
description: '参数: vessel'
type: string
required:
- vessel
- temp
type: object
result: {}
required:
- goal
title: heatchill 命令参数
title: close参数
type: object
type: UniLabJsonCommand
auto-set_stir_speed:
@@ -304,14 +211,12 @@ heaterstirrer.dalong:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_stir_speed 的参数schema
description: set_stir_speed的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_stir_speed 的参数schema
properties:
speed:
description: '参数: speed'
type: number
required:
- speed
@@ -319,7 +224,7 @@ heaterstirrer.dalong:
result: {}
required:
- goal
title: set_stir_speed 命令参数
title: set_stir_speed参数
type: object
type: UniLabJsonCommand
auto-set_temp_inner:
@@ -331,18 +236,15 @@ heaterstirrer.dalong:
handles: []
result: {}
schema:
description: UniLabJsonCommand set_temp_inner 的参数schema
description: set_temp_inner的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_temp_inner 的参数schema
properties:
temp:
description: '参数: temp'
type: number
type:
default: warning
description: '参数: type'
type: string
required:
- temp
@@ -350,59 +252,7 @@ heaterstirrer.dalong:
result: {}
required:
- goal
title: set_temp_inner 命令参数
type: object
type: UniLabJsonCommand
auto-set_temp_target:
feedback: {}
goal: {}
goal_default:
temp: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_temp_target 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_temp_target 的参数schema
properties:
temp:
description: '参数: temp'
type: string
required:
- temp
type: object
result: {}
required:
- goal
title: set_temp_target 命令参数
type: object
type: UniLabJsonCommand
auto-set_temp_warning:
feedback: {}
goal: {}
goal_default:
temp: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_temp_warning 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_temp_warning 的参数schema
properties:
temp:
description: '参数: temp'
type: string
required:
- temp
type: object
result: {}
required:
- goal
title: set_temp_warning 命令参数
title: set_temp_inner参数
type: object
type: UniLabJsonCommand
heatchill:
@@ -414,20 +264,42 @@ heaterstirrer.dalong:
time: time
vessel: vessel
goal_default:
pressure: ''
purpose: ''
reflux_solvent: ''
stir: false
stir_speed: 0.0
temp: 0.0
time: 0.0
vessel: ''
temp_spec: ''
time: ''
time_spec: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: []
result:
success: success
schema:
description: ROS Action HeatChill 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -436,39 +308,123 @@ heaterstirrer.dalong:
title: HeatChill_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
pressure:
type: string
purpose:
type: string
reflux_solvent:
type: string
stir:
type: boolean
stir_speed:
type: number
temp:
type: number
time:
type: number
vessel:
temp_spec:
type: string
time:
type: string
time_spec:
type: string
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: Quaternion
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: Point
type: object
required:
- position
- orientation
title: Pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: Resource
type: object
required:
- vessel
- temp
- time
- temp_spec
- time_spec
- pressure
- reflux_solvent
- stir
- stir_speed
- purpose
title: HeatChill_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
- message
- return_info
title: HeatChill_Result
type: object
required:
@@ -486,10 +442,9 @@ heaterstirrer.dalong:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -498,7 +453,6 @@ heaterstirrer.dalong:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -507,7 +461,6 @@ heaterstirrer.dalong:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -533,10 +486,9 @@ heaterstirrer.dalong:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -545,7 +497,6 @@ heaterstirrer.dalong:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -554,7 +505,6 @@ heaterstirrer.dalong:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -578,36 +528,47 @@ heaterstirrer.dalong:
temp_target: float
temp_warning: float
type: python
description: DaLong heater stirrer
config_info: []
description: 大龙加热搅拌器,集成加热和搅拌双重功能的实验室设备。该设备通过串口通信控制,支持精确的温度调节、搅拌速度控制和安全保护功能。具备实时温度监测、目标温度设定、安全温度报警等特性。适用于化学合成、样品制备、反应控制等需要同时进行加热和搅拌的实验操作,提供稳定均匀的反应环境。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
baudrate:
default: 9600
description: '参数: baudrate'
type: integer
port:
default: COM6
description: '参数: port'
type: string
temp_warning:
default: 50.0
description: '参数: temp_warning'
type: number
required: []
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
baudrate:
default: 9600
type: integer
port:
default: COM6
type: string
temp_warning:
default: 50.0
type: string
required: []
type: object
data:
properties:
status:
type: string
stir_speed:
type: number
temp:
type: number
temp_target:
type: number
temp_warning:
type: number
required:
- status
- stir_speed
- temp
- temp_warning
- temp_target
type: object
version: 1.0.0
tempsensor:
category:
- temperature
class:
action_value_mappings:
auto-build_modbus_request:
@@ -621,23 +582,18 @@ tempsensor:
handles: []
result: {}
schema:
description: UniLabJsonCommand build_modbus_request 的参数schema
description: build_modbus_request的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand build_modbus_request 的参数schema
properties:
device_id:
description: '参数: device_id'
type: string
function_code:
description: '参数: function_code'
type: string
register_address:
description: '参数: register_address'
type: string
register_count:
description: '参数: register_count'
type: string
required:
- device_id
@@ -648,7 +604,7 @@ tempsensor:
result: {}
required:
- goal
title: build_modbus_request 命令参数
title: build_modbus_request参数
type: object
type: UniLabJsonCommand
auto-calculate_crc:
@@ -659,14 +615,12 @@ tempsensor:
handles: []
result: {}
schema:
description: UniLabJsonCommand calculate_crc 的参数schema
description: calculate_crc的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand calculate_crc 的参数schema
properties:
data:
description: '参数: data'
type: string
required:
- data
@@ -674,7 +628,7 @@ tempsensor:
result: {}
required:
- goal
title: calculate_crc 命令参数
title: calculate_crc参数
type: object
type: UniLabJsonCommand
auto-read_modbus_response:
@@ -685,14 +639,12 @@ tempsensor:
handles: []
result: {}
schema:
description: UniLabJsonCommand read_modbus_response 的参数schema
description: read_modbus_response的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand read_modbus_response 的参数schema
properties:
response:
description: '参数: response'
type: string
required:
- response
@@ -700,7 +652,7 @@ tempsensor:
result: {}
required:
- goal
title: read_modbus_response 命令参数
title: read_modbus_response参数
type: object
type: UniLabJsonCommand
auto-send_prototype_command:
@@ -711,14 +663,12 @@ tempsensor:
handles: []
result: {}
schema:
description: UniLabJsonCommand send_prototype_command 的参数schema
description: send_prototype_command的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand send_prototype_command 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
@@ -726,33 +676,7 @@ tempsensor:
result: {}
required:
- goal
title: send_prototype_command 命令参数
type: object
type: UniLabJsonCommand
auto-set_warning:
feedback: {}
goal: {}
goal_default:
command: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_warning 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_warning 的参数schema
properties:
command:
description: '参数: command'
type: string
required:
- command
type: object
result: {}
required:
- goal
title: set_warning 命令参数
title: send_prototype_command参数
type: object
type: UniLabJsonCommand
set_warning:
@@ -765,10 +689,9 @@ tempsensor:
result:
success: success
schema:
description: ROS Action SendCmd 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties:
status:
type: string
@@ -777,7 +700,6 @@ tempsensor:
title: SendCmd_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
command:
type: string
@@ -786,7 +708,6 @@ tempsensor:
title: SendCmd_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -806,36 +727,32 @@ tempsensor:
status_types:
value: float
type: python
description: Temperature sensor
config_info: []
description: 高精度温度传感器设备用于实验室环境和设备的温度监测。该传感器通过Modbus RTU协议与控制系统通信提供实时准确的温度数据。具备高精度测量、报警温度设定、数据稳定性好等特点。适用于反应器监控、环境温度监测、设备保护等需要精确温度测量的实验场景为实验安全和数据可靠性提供保障。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
address:
description: '参数: address'
type: string
baudrate:
default: 9600
description: '参数: baudrate'
type: integer
port:
description: '参数: port'
type: string
warning:
description: '参数: warning'
type: string
required:
- port
- warning
- address
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
address:
type: string
baudrate:
default: 9600
type: string
port:
type: string
warning:
type: string
required:
- port
- warning
- address
type: object
data:
properties:
value:
type: number
required:
- value
type: object
version: 1.0.0

View File

@@ -1,27 +1,8 @@
gas_source.mock:
category:
- vacuum_and_purge
class:
action_value_mappings:
auto-close:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: UniLabJsonCommand close 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand close 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close 命令参数
type: object
type: UniLabJsonCommand
auto-is_closed:
feedback: {}
goal: {}
@@ -29,18 +10,17 @@ gas_source.mock:
handles: []
result: {}
schema:
description: UniLabJsonCommand is_closed 的参数schema
description: is_closed的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand is_closed 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed 命令参数
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-is_open:
@@ -50,65 +30,17 @@ gas_source.mock:
handles: []
result: {}
schema:
description: UniLabJsonCommand is_open 的参数schema
description: is_open的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand is_open 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_open 命令参数
type: object
type: UniLabJsonCommand
auto-open:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: UniLabJsonCommand open 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand open 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: open 命令参数
type: object
type: UniLabJsonCommand
auto-set_status:
feedback: {}
goal: {}
goal_default:
string: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_status 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_status 的参数schema
properties:
string:
description: '参数: string'
type: string
required:
- string
type: object
result: {}
required:
- goal
title: set_status 命令参数
title: is_open参数
type: object
type: UniLabJsonCommand
close:
@@ -118,22 +50,19 @@ gas_source.mock:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -153,22 +82,19 @@ gas_source.mock:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -190,16 +116,14 @@ gas_source.mock:
handles: []
result: {}
schema:
description: ROS Action StrSingleInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: StrSingleInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
string:
type: string
@@ -208,7 +132,6 @@ gas_source.mock:
title: StrSingleInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -228,7 +151,8 @@ gas_source.mock:
status_types:
status: str
type: python
description: Mock gas source
config_info: []
description: 模拟气体源设备,用于系统测试和开发调试。该设备模拟真实气体源的开关控制和状态监测功能,支持气体供应的启停操作。提供与真实气体源相同的接口和状态反馈,便于在没有实际硬件的情况下进行系统集成测试和算法验证。适用于气路系统调试、软件开发和实验流程验证等场景。
handles:
- data_key: fluid_out
data_source: executor
@@ -238,47 +162,26 @@ gas_source.mock:
label: out
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
port:
default: COM6
description: '参数: port'
type: string
required: []
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
port:
default: COM6
type: string
required: []
type: object
data:
properties:
status:
type: string
required:
- status
type: object
version: 1.0.0
vacuum_pump.mock:
category:
- vacuum_and_purge
class:
action_value_mappings:
auto-close:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: UniLabJsonCommand close 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand close 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close 命令参数
type: object
type: UniLabJsonCommand
auto-is_closed:
feedback: {}
goal: {}
@@ -286,18 +189,17 @@ vacuum_pump.mock:
handles: []
result: {}
schema:
description: UniLabJsonCommand is_closed 的参数schema
description: is_closed的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand is_closed 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed 命令参数
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-is_open:
@@ -307,65 +209,17 @@ vacuum_pump.mock:
handles: []
result: {}
schema:
description: UniLabJsonCommand is_open 的参数schema
description: is_open的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand is_open 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_open 命令参数
type: object
type: UniLabJsonCommand
auto-open:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: UniLabJsonCommand open 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand open 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: open 命令参数
type: object
type: UniLabJsonCommand
auto-set_status:
feedback: {}
goal: {}
goal_default:
string: null
handles: []
result: {}
schema:
description: UniLabJsonCommand set_status 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand set_status 的参数schema
properties:
string:
description: '参数: string'
type: string
required:
- string
type: object
result: {}
required:
- goal
title: set_status 命令参数
title: is_open参数
type: object
type: UniLabJsonCommand
close:
@@ -375,22 +229,19 @@ vacuum_pump.mock:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -410,22 +261,19 @@ vacuum_pump.mock:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -447,16 +295,14 @@ vacuum_pump.mock:
handles: []
result: {}
schema:
description: ROS Action StrSingleInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: StrSingleInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
string:
type: string
@@ -465,7 +311,6 @@ vacuum_pump.mock:
title: StrSingleInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -485,7 +330,8 @@ vacuum_pump.mock:
status_types:
status: str
type: python
description: Mock vacuum pump
config_info: []
description: 模拟真空泵设备,用于系统测试和开发调试。该设备模拟真实真空泵的抽气功能和状态控制,支持真空系统的启停操作和状态监测。提供与真实真空泵相同的接口和控制逻辑,便于在没有实际硬件的情况下进行真空系统的集成测试。适用于真空工艺调试、软件开发和实验流程验证等场景。
handles:
- data_key: fluid_in
data_source: handle
@@ -495,20 +341,18 @@ vacuum_pump.mock:
label: out
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
port:
default: COM6
description: '参数: port'
type: string
required: []
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
port:
default: COM6
type: string
required: []
type: object
data:
properties:
status:
type: string
required:
- status
type: object
version: 1.0.0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,6 @@
zhida_hplc:
category:
- zhida_hplc
class:
action_value_mappings:
abort:
@@ -8,22 +10,19 @@ zhida_hplc:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -36,27 +35,6 @@ zhida_hplc:
title: EmptyIn
type: object
type: EmptyIn
auto-abort:
feedback: {}
goal: {}
goal_default: {}
handles: []
result: {}
schema:
description: UniLabJsonCommand abort 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand abort 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: abort 命令参数
type: object
type: UniLabJsonCommand
auto-close:
feedback: {}
goal: {}
@@ -64,18 +42,17 @@ zhida_hplc:
handles: []
result: {}
schema:
description: UniLabJsonCommand close 的参数schema
description: HPLC设备连接关闭函数。安全地断开与智达HPLC设备的TCP socket连接释放网络资源。该函数确保连接的正确关闭避免网络资源泄露。通常在设备使用完毕或系统关闭时调用。
properties:
feedback: {}
goal:
description: UniLabJsonCommand close 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close 命令参数
title: close参数
type: object
type: UniLabJsonCommand
auto-connect:
@@ -85,44 +62,17 @@ zhida_hplc:
handles: []
result: {}
schema:
description: UniLabJsonCommand connect 的参数schema
description: HPLC设备连接建立函数。与智达HPLC设备建立TCP socket通信连接配置通信超时参数。该函数是设备使用前的必要步骤建立成功后可进行状态查询、方法获取、任务启动等操作。连接失败时会抛出异常。
properties:
feedback: {}
goal:
description: UniLabJsonCommand connect 的参数schema
properties: {}
required: []
type: object
result: {}
required:
- goal
title: connect 命令参数
type: object
type: UniLabJsonCommand
auto-start:
feedback: {}
goal: {}
goal_default:
text: null
handles: []
result: {}
schema:
description: UniLabJsonCommand start 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand start 的参数schema
properties:
text:
description: '参数: text'
type: string
required:
- text
type: object
result: {}
required:
- goal
title: start 命令参数
title: connect参数
type: object
type: UniLabJsonCommand
get_methods:
@@ -132,22 +82,19 @@ zhida_hplc:
handles: []
result: {}
schema:
description: ROS Action EmptyIn 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -169,16 +116,14 @@ zhida_hplc:
handles: []
result: {}
schema:
description: ROS Action StrSingleInput 的 JSON Schema
description: ''
properties:
feedback:
description: Action 反馈 - 执行过程中从服务器发送到客户端
properties: {}
required: []
title: StrSingleInput_Feedback
type: object
goal:
description: Action 目标 - 从客户端发送到服务器
properties:
string:
type: string
@@ -187,7 +132,6 @@ zhida_hplc:
title: StrSingleInput_Goal
type: object
result:
description: Action 结果 - 完成后从服务器发送到客户端
properties:
return_info:
type: string
@@ -208,32 +152,32 @@ zhida_hplc:
methods: dict
status: dict
type: python
description: Zhida HPLC
config_info: []
description: 智达高效液相色谱HPLC分析设备用于实验室样品的分离、检测和定量分析。该设备通过TCP socket与HPLC控制系统通信支持远程控制和状态监控。具备自动进样、梯度洗脱、多检测器数据采集等功能可执行复杂的色谱分析方法。适用于化学分析、药物检测、环境监测、生物样品分析等需要高精度分离分析的实验室应用场景。
handles: []
icon: ''
init_param_schema:
description: UniLabJsonCommand __init__ 的参数schema
properties:
feedback: {}
goal:
description: UniLabJsonCommand __init__ 的参数schema
properties:
host:
default: 192.168.1.47
description: '参数: host'
type: string
port:
default: 5792
description: '参数: port'
type: integer
timeout:
default: 10.0
description: '参数: timeout'
type: number
required: []
type: object
result: {}
required:
- goal
title: __init__ 命令参数
type: object
config:
properties:
host:
default: 192.168.1.47
type: string
port:
default: 5792
type: string
timeout:
default: 10.0
type: string
required: []
type: object
data:
properties:
methods:
type: object
status:
type: object
required:
- status
- methods
type: object
version: 1.0.0

View File

@@ -2,15 +2,19 @@ import copy
import io
import os
import sys
import inspect
import importlib
from pathlib import Path
from typing import Any, Dict, List
import yaml
from unilabos.config.config import BasicConfig
from unilabos.resources.graphio import resource_plr_to_ulab, tree_to_list
from unilabos.ros.msgs.message_converter import msg_converter_manager, ros_action_to_json_schema, String
from unilabos.utils import logger
from unilabos.utils.decorator import singleton
from unilabos.utils.import_manager import get_enhanced_class_info
from unilabos.utils.import_manager import get_enhanced_class_info, get_class
from unilabos.utils.type_check import NoAliasDumper
DEFAULT_PATHS = [Path(__file__).absolute().parent]
@@ -19,6 +23,19 @@ DEFAULT_PATHS = [Path(__file__).absolute().parent]
@singleton
class Registry:
def __init__(self, registry_paths=None):
import ctypes
try:
import unilabos_msgs
except ImportError:
logger.error(
"[UniLab Registry] unilabos_msgs模块未找到请确保已根据官方文档安装unilabos_msgs包。"
)
sys.exit(1)
try:
ctypes.CDLL(str(Path(unilabos_msgs.__file__).parent / "unilabos_msgs_s__rosidl_typesupport_c.pyd"))
except OSError as e:
pass
self.registry_paths = DEFAULT_PATHS.copy() # 使用copy避免修改默认值
if registry_paths:
self.registry_paths.extend(registry_paths)
@@ -30,6 +47,7 @@ class Registry:
)
self.EmptyIn = self._replace_type_with_class("EmptyIn", "host_node", f"")
self.device_type_registry = {}
self.device_module_to_registry = {}
self.resource_type_registry = {}
self._setup_called = False # 跟踪setup是否已调用
# 其他状态变量
@@ -63,7 +81,9 @@ class Registry:
},
"feedback": {},
"result": {"success": "success"},
"schema": ros_action_to_json_schema(self.ResourceCreateFromOuter),
"schema": ros_action_to_json_schema(
self.ResourceCreateFromOuter, "用于创建或更新物料资源,每次传入多个物料信息。"
),
"goal_default": yaml.safe_load(
io.StringIO(get_yaml_from_goal_type(self.ResourceCreateFromOuter.Goal))
),
@@ -84,7 +104,9 @@ class Registry:
},
"feedback": {},
"result": {"success": "success"},
"schema": ros_action_to_json_schema(self.ResourceCreateFromOuterEasy),
"schema": ros_action_to_json_schema(
self.ResourceCreateFromOuterEasy, "用于创建或更新物料资源,每次传入一个物料信息。"
),
"goal_default": yaml.safe_load(
io.StringIO(get_yaml_from_goal_type(self.ResourceCreateFromOuterEasy.Goal))
),
@@ -99,21 +121,32 @@ class Registry:
}
]
},
# todo: support nested keys, switch to non ros message schema
"placeholder_keys": {
"res_id": "unilabos_resources", # 将当前实验室的全部物料id作为下拉框可选择
"device_id": "unilabos_devices", # 将当前实验室的全部设备id作为下拉框可选择
"parent": "unilabos_nodes", # 将当前实验室的设备/物料作为下拉框可选择
},
},
"test_latency": {
"type": self.EmptyIn,
"goal": {},
"feedback": {},
"result": {"latency_ms": "latency_ms", "time_diff_ms": "time_diff_ms"},
"schema": ros_action_to_json_schema(self.EmptyIn),
"schema": ros_action_to_json_schema(
self.EmptyIn, "用于测试延迟的动作,返回延迟时间和时间差。"
),
"goal_default": {},
"handles": {},
},
},
},
"version": "1.0.0",
"category": [],
"config_info": [],
"icon": "icon_device.webp",
"registry_type": "device",
"handles": [],
"handles": [], # virtue采用了不同的handle
"init_param_schema": {},
"file_path": "/",
}
@@ -126,7 +159,10 @@ class Registry:
logger.debug(f"[UniLab Registry] Path {i+1}/{len(self.registry_paths)}: {sys_path}")
sys.path.append(str(sys_path))
self.load_device_types(path, complete_registry)
self.load_resource_types(path, complete_registry)
if BasicConfig.enable_resource_load:
self.load_resource_types(path, complete_registry)
else:
logger.warning("跳过了资源注册表加载!")
logger.info("[UniLab Registry] 注册表设置完成")
# 标记setup已被调用
self._setup_called = True
@@ -138,20 +174,46 @@ class Registry:
logger.debug(f"[UniLab Registry] resources: {resource_path.exists()}, total: {len(files)}")
current_resource_number = len(self.resource_type_registry) + 1
for i, file in enumerate(files):
data = yaml.safe_load(open(file, encoding="utf-8"))
with open(file, encoding="utf-8", mode="r") as f:
data = yaml.safe_load(io.StringIO(f.read()))
complete_data = {}
if data:
# 为每个资源添加文件路径信息
for resource_id, resource_info in data.items():
resource_info["file_path"] = str(file.absolute()).replace("\\", "/")
if "description" not in resource_info:
resource_info["description"] = ""
if "version" not in resource_info:
resource_info["version"] = "1.0.0"
if "category" not in resource_info:
resource_info["category"] = [file.stem]
elif file.stem not in resource_info["category"]:
resource_info["category"].append(file.stem)
if "config_info" not in resource_info:
resource_info["config_info"] = []
if "icon" not in resource_info:
resource_info["icon"] = ""
if "handles" not in resource_info:
resource_info["handles"] = []
if "init_param_schema" not in resource_info:
resource_info["init_param_schema"] = {}
if complete_registry:
class_info = resource_info.get("class", {})
if len(class_info) and "module" in class_info:
if class_info.get("type") == "pylabrobot":
res_class = get_class(class_info["module"])
if callable(res_class) and not isinstance(
res_class, type
): # 有的是类,有的是函数,这里暂时只登记函数类的
res_instance = res_class(res_class.__name__)
res_ulr = tree_to_list([resource_plr_to_ulab(res_instance)])
resource_info["config_info"] = res_ulr
complete_data[resource_id] = copy.deepcopy(dict(sorted(resource_info.items()))) # 稍后dump到文件
resource_info["registry_type"] = "resource"
resource_info["file_path"] = str(file.absolute()).replace("\\", "/")
complete_data = dict(sorted(complete_data.items()))
complete_data = copy.deepcopy(complete_data)
if complete_registry:
with open(file, "w", encoding="utf-8") as f:
yaml.dump(complete_data, f, allow_unicode=True, default_flow_style=False, Dumper=NoAliasDumper)
self.resource_type_registry.update(data)
logger.debug(
f"[UniLab Registry] Resource-{current_resource_number} File-{i+1}/{len(files)} "
@@ -161,6 +223,54 @@ class Registry:
else:
logger.debug(f"[UniLab Registry] Res File-{i+1}/{len(files)} Not Valid YAML File: {file.absolute()}")
def _extract_class_docstrings(self, module_string: str) -> Dict[str, str]:
"""
从模块字符串中提取类和方法的docstring信息
Args:
module_string: 模块字符串,格式为 "module.path:ClassName"
Returns:
包含类和方法docstring信息的字典
"""
docstrings = {"class_docstring": "", "methods": {}}
if not module_string or ":" not in module_string:
return docstrings
try:
module_path, class_name = module_string.split(":", 1)
# 动态导入模块
module = importlib.import_module(module_path)
# 获取类
if hasattr(module, class_name):
cls = getattr(module, class_name)
# 获取类的docstring
class_doc = inspect.getdoc(cls)
if class_doc:
docstrings["class_docstring"] = class_doc.strip()
# 获取所有方法的docstring
for method_name, method in inspect.getmembers(cls, predicate=inspect.isfunction):
method_doc = inspect.getdoc(method)
if method_doc:
docstrings["methods"][method_name] = method_doc.strip()
# 也获取属性方法的docstring
for method_name, method in inspect.getmembers(cls, predicate=lambda x: isinstance(x, property)):
if hasattr(method, "fget") and method.fget:
method_doc = inspect.getdoc(method.fget)
if method_doc:
docstrings["methods"][method_name] = method_doc.strip()
except Exception as e:
logger.warning(f"[UniLab Registry] 无法提取docstring信息模块: {module_string}, 错误: {str(e)}")
return docstrings
def _replace_type_with_class(self, type_name: str, device_id: str, field_name: str) -> Any:
"""
将类型名称替换为实际的类对象
@@ -197,6 +307,60 @@ class Registry:
logger.error(f"[UniLab Registry] 无法找到类型 '{type_name}' 用于设备 {device_id}{field_name}")
sys.exit(1)
def _generate_schema_from_info(
self,
param_name: str,
param_type: str,
param_default: Any,
) -> Dict[str, Any]:
"""
根据参数信息生成JSON Schema
"""
prop_schema = {}
# 根据类型设置schema FIXME 不完整
if param_type:
param_type_lower = param_type.lower()
if param_type_lower in ["str", "string"]:
prop_schema["type"] = "string"
elif param_type_lower in ["int", "integer"]:
prop_schema["type"] = "integer"
elif param_type_lower in ["float", "number"]:
prop_schema["type"] = "number"
elif param_type_lower in ["bool", "boolean"]:
prop_schema["type"] = "boolean"
elif param_type_lower in ["list", "array"]:
prop_schema["type"] = "array"
elif param_type_lower in ["dict", "object"]:
prop_schema["type"] = "object"
else:
# 默认为字符串类型
prop_schema["type"] = "string"
else:
# 如果没有类型信息,默认为字符串
prop_schema["type"] = "string"
# 设置默认值
if param_default is not None:
prop_schema["default"] = param_default
return prop_schema
def _generate_status_types_schema(self, status_types: Dict[str, Any]) -> Dict[str, Any]:
"""
根据状态类型生成JSON Schema
"""
status_schema = {
"type": "object",
"properties": {},
"required": [],
}
for status_name, status_type in status_types.items():
status_schema["properties"][status_name] = self._generate_schema_from_info(
status_name, status_type["return_type"], None
)
status_schema["required"].append(status_name)
return status_schema
def _generate_unilab_json_command_schema(
self, method_args: List[Dict[str, Any]], method_name: str
) -> Dict[str, Any]:
@@ -211,60 +375,29 @@ class Registry:
JSON Schema格式的参数schema
"""
schema = {
"description": f"UniLabJsonCommand {method_name} 的参数schema",
"type": "object",
"properties": {},
"required": [],
}
for arg_info in method_args:
param_name = arg_info.get("name", "")
param_type = arg_info.get("type")
param_type = arg_info.get("type", "")
param_default = arg_info.get("default")
param_required = arg_info.get("required", True)
prop_schema = {"description": f"参数: {param_name}"}
# 根据类型设置schema FIXME 不完整
if param_type:
param_type_lower = param_type.lower()
if param_type_lower in ["str", "string"]:
prop_schema["type"] = "string"
elif param_type_lower in ["int", "integer"]:
prop_schema["type"] = "integer"
elif param_type_lower in ["float", "number"]:
prop_schema["type"] = "number"
elif param_type_lower in ["bool", "boolean"]:
prop_schema["type"] = "boolean"
elif param_type_lower in ["list", "array"]:
prop_schema["type"] = "array"
elif param_type_lower in ["dict", "object"]:
prop_schema["type"] = "object"
else:
# 默认为字符串类型
prop_schema["type"] = "string"
else:
# 如果没有类型信息,默认为字符串
prop_schema["type"] = "string"
# 设置默认值
if param_default is not None:
prop_schema["default"] = param_default
schema["properties"][param_name] = prop_schema
# 如果是必需参数添加到required列表
schema["properties"][param_name] = self._generate_schema_from_info(param_name, param_type, param_default)
if param_required:
schema["required"].append(param_name)
return {
"title": f"{method_name} 命令参数",
"description": f"UniLabJsonCommand {method_name} 的参数schema",
"title": f"{method_name}参数",
"description": f"",
"type": "object",
"properties": {"goal": schema, "feedback": {}, "result": {}},
"required": ["goal"],
}
def load_device_types(self, path: os.PathLike, complete_registry: bool):
# return
abs_path = Path(path).absolute()
devices_path = abs_path / "devices"
device_comms_path = abs_path / "device_comms"
@@ -289,6 +422,14 @@ class Registry:
# 在添加到注册表前处理类型替换
for device_id, device_config in data.items():
# 添加文件路径信息 - 使用规范化的完整文件路径
if "version" not in device_config:
device_config["version"] = "1.0.0"
if "category" not in device_config:
device_config["category"] = [file.stem]
elif file.stem not in device_config["category"]:
device_config["category"].append(file.stem)
if "config_info" not in device_config:
device_config["config_info"] = []
if "description" not in device_config:
device_config["description"] = ""
if "icon" not in device_config:
@@ -314,14 +455,29 @@ class Registry:
status_type = "String" # 替换成ROS的String便于显示
device_config["class"]["status_types"][status_name] = status_type
target_type = self._replace_type_with_class(status_type, device_id, f"状态 {status_name}")
if target_type in [dict, list]: # 对于嵌套类型返回的对象,暂时处理成字符串,无法直接进行转换
if target_type in [
dict,
list,
]: # 对于嵌套类型返回的对象,暂时处理成字符串,无法直接进行转换
target_type = String
status_str_type_mapping[status_type] = target_type
device_config["class"]["status_types"] = dict(
sorted(device_config["class"]["status_types"].items())
)
if complete_registry:
device_config["class"]["action_value_mappings"] = {k:v for k, v in device_config["class"]["action_value_mappings"].items() if not k.startswith("auto-")}
# 保存原有的description信息
old_descriptions = {}
for action_name, action_config in device_config["class"]["action_value_mappings"].items():
if "description" in action_config.get("schema", {}):
description = action_config["schema"]["description"]
if len(description):
old_descriptions[action_name] = action_config["schema"]["description"]
device_config["class"]["action_value_mappings"] = {
k: v
for k, v in device_config["class"]["action_value_mappings"].items()
if not k.startswith("auto-")
}
# 处理动作值映射
device_config["class"]["action_value_mappings"].update(
{
@@ -334,19 +490,33 @@ class Registry:
"goal_default": {i["name"]: i["default"] for i in v["args"]},
"handles": [],
}
# 不生成已配置action的动作
for k, v in enhanced_info["action_methods"].items()
if k not in device_config["class"]["action_value_mappings"]
}
)
device_config["init_param_schema"] = self._generate_unilab_json_command_schema(
# 恢复原有的description信息auto开头的不修改
for action_name, description in old_descriptions.items():
if action_name in device_config["class"]["action_value_mappings"]: # 有一些会被删除
device_config["class"]["action_value_mappings"][action_name]["schema"][
"description"
] = description
device_config["init_param_schema"] = {}
device_config["init_param_schema"]["config"] = self._generate_unilab_json_command_schema(
enhanced_info["init_params"], "__init__"
)["properties"]["goal"]
device_config["init_param_schema"]["data"] = self._generate_status_types_schema(
enhanced_info["status_methods"]
)
device_config.pop("schema", None)
device_config["class"]["action_value_mappings"] = dict(
sorted(device_config["class"]["action_value_mappings"].items())
)
for action_name, action_config in device_config["class"]["action_value_mappings"].items():
if "handles" not in action_config:
action_config["handles"] = []
action_config["handles"] = {}
if "type" in action_config:
action_type_str: str = action_config["type"]
# 通过Json发放指令而不是通过特殊的ros action进行处理
@@ -391,10 +561,8 @@ class Registry:
)
)
),
"handles": [],
"handles": {},
}
if "registry_type" not in device_config:
device_config["registry_type"] = "device"
device_config["file_path"] = str(file.absolute()).replace("\\", "/")
device_config["registry_type"] = "device"
logger.debug(
@@ -435,6 +603,13 @@ class Registry:
},
**schema["properties"]["goal"]["properties"],
}
# 将 placeholder_keys 信息添加到 schema 中
if "placeholder_keys" in action_config and action_config.get("schema", {}).get(
"properties", {}
).get("goal", {}):
action_config["schema"]["properties"]["goal"]["_unilabos_placeholder_info"] = action_config[
"placeholder_keys"
]
msg = {"id": device_id, **device_info_copy}
devices.append(msg)

View File

@@ -0,0 +1,80 @@
hplc_plate:
category:
- resource_container
class:
module: unilabos.devices.resource_container.container:PlateContainer
type: python
config_info: []
description: HPLC板
file_path: C:/Users/10230/PycharmProjects/Uni-Lab-OS/unilabos/registry/resources/common/resource_container.yaml
handles: []
icon: ''
init_param_schema: {}
model:
mesh: hplc_plate/meshes/hplc_plate.stl
mesh_tf:
- 0
- 0
- 0
- 0
- 0
- 3.1416
type: resource
registry_type: resource
version: 1.0.0
plate_96_high:
category:
- resource_container
class:
module: unilabos.devices.resource_container.container:PlateContainer
type: python
config_info: []
description: 96孔板
file_path: C:/Users/10230/PycharmProjects/Uni-Lab-OS/unilabos/registry/resources/common/resource_container.yaml
handles: []
icon: ''
init_param_schema: {}
model:
mesh: plate_96_high/meshes/plate_96_high.stl
mesh_tf:
- 0
- 0.086
- 0
- 1.5708
- 0
- 1.5708
type: resource
registry_type: resource
version: 1.0.0
tiprack_96_high:
category:
- resource_container
class:
module: unilabos.devices.resource_container.container:TipRackContainer
type: python
config_info: []
description: 96孔板
file_path: C:/Users/10230/PycharmProjects/Uni-Lab-OS/unilabos/registry/resources/common/resource_container.yaml
handles: []
icon: ''
init_param_schema: {}
model:
children_mesh: generic_labware_tube_10_75/meshes/0_base.stl
children_mesh_tf:
- 0.0018
- 0.0018
- -0.03
- -1.5708
- 0
- 0
mesh: tiprack_96_high/meshes/tiprack_96_high.stl
mesh_tf:
- 0
- 0.086
- 0
- 1.5708
- 0
- 1.5708
type: resource
registry_type: resource
version: 1.0.0

View File

@@ -1,8 +1,34 @@
OTDeck:
description: Opentrons deck
class:
category:
- deck
class:
module: pylabrobot.resources.opentrons.deck:OTDeck
type: pylabrobot
config_info: []
description: Opentrons deck
file_path: C:/Users/10230/PycharmProjects/Uni-Lab-OS/unilabos/registry/resources/opentrons/deck.yaml
handles: []
icon: ''
init_param_schema: {}
model:
mesh: opentrons_liquid_handler
type: device
mesh: opentrons_liquid_handler
registry_type: resource
version: 1.0.0
hplc_station:
category:
- deck
class:
module: unilabos.devices.resource_container.container:DeckContainer
type: python
config_info: []
description: hplc_station deck
file_path: C:/Users/10230/PycharmProjects/Uni-Lab-OS/unilabos/registry/resources/opentrons/deck.yaml
handles: []
icon: ''
init_param_schema: {}
model:
mesh: hplc_station
type: device
registry_type: resource
version: 1.0.0

View File

@@ -1,5 +1,39 @@
Opentrons_96_adapter_Vb:
description: Opentrons 96 adapter Vb
class:
category:
- plate_adapters
class:
module: pylabrobot.resources.opentrons.plate_adapters:Opentrons_96_adapter_Vb
type: pylabrobot
type: pylabrobot
config_info:
- children: []
class: ''
config:
barcode: null
category: plate_adapter
model: Opentrons_96_adapter_Vb
rotation:
type: Rotation
x: 0
y: 0
z: 0
size_x: 127.76
size_y: 85.48
size_z: 18.55
type: PlateAdapter
data: {}
id: Opentrons_96_adapter_Vb
name: Opentrons_96_adapter_Vb
parent: null
position:
x: 0
y: 0
z: 0
sample_id: null
type: container
description: Opentrons 96 adapter Vb
file_path: C:/Users/10230/PycharmProjects/Uni-Lab-OS/unilabos/registry/resources/opentrons/plate_adapters.yaml
handles: []
icon: ''
init_param_schema: {}
registry_type: resource
version: 1.0.0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,28 +1,35 @@
container:
description: regular organic container
icon: Flask.webp
class:
category:
- container
class:
module: unilabos.resources.container:RegularContainer
type: unilabos
config_info: []
description: regular organic container
file_path: C:/Users/10230/PycharmProjects/Uni-Lab-OS/unilabos/registry/resources/organic/container.yaml
handles:
- handler_key: top
label: top
io_type: target
data_type: fluid
side: NORTH
data_source: handle
data_key: fluid_in
- handler_key: bottom
label: bottom
io_type: source
data_type: fluid
side: SOUTH
data_source: handle
data_key: fluid_out
- handler_key: bind
label: bind
io_type: target
data_type: mechanical
side: SOUTH
data_source: handle
data_key: mechanical_port
- data_key: fluid_in
data_source: handle
data_type: fluid
handler_key: top
io_type: target
label: top
side: NORTH
- data_key: fluid_out
data_source: handle
data_type: fluid
handler_key: bottom
io_type: source
label: bottom
side: SOUTH
- data_key: mechanical_port
data_source: handle
data_type: mechanical
handler_key: bind
io_type: target
label: bind
side: SOUTH
icon: Flask.webp
init_param_schema: {}
registry_type: resource
version: 1.0.0