Files
Uni-Lab-OS/unilabos/devices/liquid_handling/complete_biomek_protocol.json
Xuwznln aa1c67de29 Device Visualization & Mock Devices (#44) [37-biomek-i5i7 (#40), Device visualization (#39), Add Mock Device for Organic Synthesis\添加有机合成的虚拟仪器和Protocol (#43)]
* 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>

---------

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>
2025-06-12 21:01:04 +08:00

3760 lines
122 KiB
JSON

{
"meta": {
"name": "DNA纯化完整流程",
"description": "使用磁珠进行DNA纯化的完整自动化流程",
"version": "1.0",
"author": "Biomek系统",
"date": "2024-01-01",
"type": "DNA_purification"
},
"labwares": [
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on TL1",
"Position": "TL1"
},
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on TL2",
"Position": "TL2"
},
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on TL3",
"Position": "TL3"
},
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on TL4",
"Position": "TL4"
},
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on TL5",
"Position": "TL5"
},
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on P5",
"Position": "P5"
},
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on P6",
"Position": "P6"
},
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on P15",
"Position": "P15"
},
{
"Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"RT_Tips": {
"Class": "TipClasses\\T230",
"Contents": [],
"_RT_Contents": [],
"Used": false,
"RT_Used": false,
"Dirty": false,
"RT_Dirty": false,
"MaxVolumeUsed": 0.0,
"RT_MaxVolumeUsed": 0.0
},
"Properties": {},
"Known": false,
"Class": "LabwareClasses\\BC230",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"Name": "Tip Rack BC230 on P16",
"Position": "P16"
},
{
"Properties": {
"Name": "stock plate on P1",
"Device": "",
"liquidtype": "master_mix",
"BarCode": "",
"SenseEveryTime": false
},
"Known": true,
"Class": "LabwareClasses\\nest_12_reservoir_15ml",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"EvalAmounts": [
10000.0
],
"Nominal": false,
"EvalLiquids": [
"master_mix"
],
"Name": "stock plate on P1",
"Position": "P1"
},
{
"Properties": {
"Name": "stock plate on P2",
"Device": "",
"liquidtype": "bind beads",
"BarCode": "",
"SenseEveryTime": false
},
"Known": true,
"Class": "LabwareClasses\\nest_12_reservoir_15ml",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"EvalAmounts": [
10000.0
],
"Nominal": false,
"EvalLiquids": [
"bind beads"
],
"Name": "stock plate on P2",
"Position": "P2"
},
{
"Properties": {
"Name": "stock plate on P3",
"Device": "",
"liquidtype": "ethyl alcohol",
"BarCode": "",
"SenseEveryTime": false
},
"Known": true,
"Class": "LabwareClasses\\nest_12_reservoir_15ml",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"EvalAmounts": [
10000.0
],
"Nominal": false,
"EvalLiquids": [
"ethyl alcohol"
],
"Name": "stock plate on P3",
"Position": "P3"
},
{
"Properties": {
"Name": "elution buffer on P4",
"Device": "",
"liquidtype": "elution buffer",
"BarCode": "",
"SenseEveryTime": false
},
"Known": true,
"Class": "LabwareClasses\\nest_12_reservoir_15ml",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"EvalAmounts": [
5000.0
],
"Nominal": false,
"EvalLiquids": [
"elution buffer"
],
"Name": "elution buffer on P4",
"Position": "P4"
},
{
"Properties": {
"Name": "working plate on P11",
"Device": "",
"liquidtype": "Water",
"BarCode": "",
"SenseEveryTime": false
},
"Known": true,
"Class": "LabwareClasses\\NEST 2ml Deep Well Plate",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"EvalAmounts": [
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0
],
"Nominal": false,
"EvalLiquids": [
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water"
],
"Name": "working plate on P11",
"Position": "P11"
},
{
"Properties": {
"Name": "working plate on P13",
"Device": "",
"liquidtype": "Water",
"BarCode": "",
"SenseEveryTime": false
},
"Known": true,
"Class": "LabwareClasses\\NEST 2ml Deep Well Plate",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"EvalAmounts": [
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0,
500.0
],
"Nominal": false,
"EvalLiquids": [
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water",
"Water"
],
"Name": "working plate on P13",
"Position": "P13"
},
{
"Properties": {
"Name": "waste on P22",
"Device": "",
"liquidtype": "Water",
"BarCode": "",
"SenseEveryTime": false
},
"Known": true,
"Class": "LabwareClasses\\nest_1_reservoir_195ml",
"DataSets": {
"Volume": {}
},
"RuntimeDataSets": {
"Volume": {}
},
"EvalAmounts": [
0.0
],
"Nominal": false,
"EvalLiquids": [
"Water"
],
"Name": "waste on P22",
"Position": "P22"
}
],
"steps": [
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
},
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "P11",
"Target": "Orbital1",
"LeaveBottomLabware": false
}
},
{
"oscillation": {
"Device": "OrbitalShaker0",
"Parameters": [
"800",
"2",
"300",
"CounterClockwise"
],
"Command": "Timed Shake"
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "Orbital1",
"Target": "P11",
"LeaveBottomLabware": false
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "P11",
"Target": "P12",
"LeaveBottomLabware": false
}
},
{
"incubation": {
"Message": "Paused",
"Location": "the whole system",
"Time": 180,
"Mode": "TimedResource"
}
},
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
},
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "P12",
"Target": "Orbital1",
"LeaveBottomLabware": false
}
},
{
"oscillation": {
"Device": "OrbitalShaker0",
"Parameters": [
"800",
"2",
"45",
"CounterClockwise"
],
"Command": "Timed Shake"
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "Orbital1",
"Target": "P12",
"LeaveBottomLabware": false
}
},
{
"incubation": {
"Message": "Paused",
"Location": "the whole system",
"Time": 180,
"Mode": "TimedResource"
}
},
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
},
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "P12",
"Target": "Orbital1",
"LeaveBottomLabware": false
}
},
{
"oscillation": {
"Device": "OrbitalShaker0",
"Parameters": [
"800",
"2",
"45",
"CounterClockwise"
],
"Command": "Timed Shake"
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "Orbital1",
"Target": "P12",
"LeaveBottomLabware": false
}
},
{
"incubation": {
"Message": "Paused",
"Location": "the whole system",
"Time": 180,
"Mode": "TimedResource"
}
},
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
},
{
"incubation": {
"Message": "Paused",
"Location": "the whole system",
"Time": 900,
"Mode": "TimedResource"
}
},
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "P12",
"Target": "Orbital1",
"LeaveBottomLabware": false
}
},
{
"oscillation": {
"Device": "OrbitalShaker0",
"Parameters": [
"800",
"2",
"60",
"CounterClockwise"
],
"Command": "Timed Shake"
}
},
{
"move": {
"Pod": "Pod1",
"GripSide": "A1 near",
"Source": "Orbital1",
"Target": "P12",
"LeaveBottomLabware": false
}
},
{
"incubation": {
"Message": "Paused",
"Location": "the whole system",
"Time": 180,
"Mode": "TimedResource"
}
},
{
"transfer": {
"Span8": false,
"Pod": "Pod1",
"items": [
{
"Position": "P12",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Well Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Aspirate",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": true,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
},
{
"Position": "P13",
"Height": -2.0,
"Volume": "40",
"liquidtype": "Tip Contents",
"WellsX": 12,
"LabwareClass": "Matrix96_750uL",
"AutoSelectPrototype": true,
"ColsFirst": true,
"CustomHeight": false,
"DataSetPattern": false,
"HeightFrom": 0,
"LocalPattern": true,
"Operation": "Dispense",
"OverrideHeight": false,
"Pattern": [
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true
],
"Prototype": "MC P300 High",
"ReferencedPattern": "",
"RowsFirst": false,
"SectionExpression": "",
"SelectionInfo": [
1
],
"SetMark": true,
"Source": false,
"StartAtMark": false,
"StartAtSelection": true,
"UseExpression": false
}
],
"Wash": false,
"Dynamic?": true,
"AutoSelectActiveWashTechnique": false,
"ActiveWashTechnique": "",
"ChangeTipsBetweenDests": true,
"ChangeTipsBetweenSources": false,
"DefaultCaption": "",
"UseExpression": false,
"LeaveTipsOn": false,
"MandrelExpression": "",
"Repeats": "1",
"RepeatsByVolume": false,
"Replicates": "1",
"ShowTipHandlingDetails": false,
"ShowTransferDetails": true,
"Solvent": "Water",
"Span8Wash": false,
"Span8WashVolume": "2",
"Span8WasteVolume": "1",
"SplitVolume": false,
"SplitVolumeCleaning": false,
"Stop": "Destinations",
"TipLocation": "BC230",
"UseCurrentTips": false,
"UseDisposableTips": false,
"UseFixedTips": false,
"UseJIT": true,
"UseMandrelSelection": true,
"UseProbes": [
true,
true,
true,
true,
true,
true,
true,
true
],
"WashCycles": "4",
"WashVolume": "110%",
"Wizard": false
}
}
]
}