mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-14 13:14:39 +00:00
* 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 commit498c997ad7. * Reapply "修改物料跟随与物料添加逻辑" This reverts commit3a60d2ae81. * Revert "Merge remote-tracking branch 'upstream/dev' into device_visualization" This reverts commitfa727220af, reversing changes made to498c997ad7. * 修改物料放下时的方法,如果选择 修改物料放下时的方法, 如果选择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 commit56d45b94f5. * Reapply "修改物体attach时,多次赋值当前时间导致卡顿问题," This reverts commit07d9db20c3. * 添加缺少物料:"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 commit5d9953c3e5. * Reapply "change to debug level" This reverts commit2487bb6ffc. * 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 commit498c997ad7. * Reapply "修改物料跟随与物料添加逻辑" This reverts commit3a60d2ae81. * Revert "Merge remote-tracking branch 'upstream/dev' into device_visualization" This reverts commitfa727220af, reversing changes made to498c997ad7. * 修改物料放下时的方法,如果选择 修改物料放下时的方法, 如果选择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 commit56d45b94f5. * Reapply "修改物体attach时,多次赋值当前时间导致卡顿问题," This reverts commit07d9db20c3. * 添加缺少物料:"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 commit5d9953c3e5. * Reapply "change to debug level" This reverts commit2487bb6ffc. * 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 commit498c997ad7. * Reapply "修改物料跟随与物料添加逻辑" This reverts commit3a60d2ae81. * Revert "Merge remote-tracking branch 'upstream/dev' into device_visualization" This reverts commitfa727220af, reversing changes made to498c997ad7. * 修改物料放下时的方法,如果选择 修改物料放下时的方法, 如果选择drop_trash,则删除物料显示 如果选择drop,则让其解除连接 * unilab添加moveit启动 1,整合所有moveit节点到一个move_group中,并整合所有的controller依次激活 2,添加pymoveit2的节点,使用json可直接启动 3,修改机械臂规划方式,添加约束,让冗余关节不会进行过多移动 * 修改物体attach时,多次赋值当前时间导致卡顿问题, * Revert "修改物体attach时,多次赋值当前时间导致卡顿问题," This reverts commit56d45b94f5. * Reapply "修改物体attach时,多次赋值当前时间导致卡顿问题," This reverts commit07d9db20c3. * 添加缺少物料:"plate_well_G12", * add * fix tip resource data * liquid states * change to debug level * Revert "change to debug level" This reverts commit5d9953c3e5. * Reapply "change to debug level" This reverts commit2487bb6ffc. * 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>
1710 lines
51 KiB
JSON
1710 lines
51 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "PLR_STATION",
|
|
"name": "PLR_LH_TEST",
|
|
"parent": null,
|
|
"type": "device",
|
|
"class": "liquid_handler",
|
|
"position": {
|
|
"x": 620.6111111111111,
|
|
"y": 171,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"data": {
|
|
"children": [
|
|
{
|
|
"_resource_child_name": "deck",
|
|
"_resource_type": "pylabrobot.resources.opentrons.deck:OTDeck"
|
|
}
|
|
],
|
|
"backend": {
|
|
"type": "LiquidHandlerChatterboxBackend"
|
|
}
|
|
}
|
|
},
|
|
"data": {},
|
|
"children": [
|
|
"deck"
|
|
]
|
|
},
|
|
{
|
|
"id": "deck",
|
|
"name": "deck",
|
|
"sample_id": null,
|
|
"children": [
|
|
"tip_rack",
|
|
"plate_well"
|
|
],
|
|
"parent": "PLR_STATION",
|
|
"type": "deck",
|
|
"class": "OTDeck",
|
|
"position": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"type": "OTDeck",
|
|
"with_trash": false,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
}
|
|
},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "tip_rack",
|
|
"name": "tip_rack",
|
|
"sample_id": null,
|
|
"children": [
|
|
"tip_rack_A1",
|
|
"tip_rack_B1",
|
|
"tip_rack_C1",
|
|
"tip_rack_D1",
|
|
"tip_rack_E1",
|
|
"tip_rack_F1",
|
|
"tip_rack_G1",
|
|
"tip_rack_H1",
|
|
"tip_rack_A2",
|
|
"tip_rack_B2",
|
|
"tip_rack_C2",
|
|
"tip_rack_D2",
|
|
"tip_rack_E2",
|
|
"tip_rack_F2",
|
|
"tip_rack_G2",
|
|
"tip_rack_H2"
|
|
],
|
|
"parent": "deck",
|
|
"type": "plate",
|
|
"class": "opentrons_96_filtertiprack_1000ul",
|
|
"position": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 69
|
|
},
|
|
"config": {
|
|
"type": "TipRack",
|
|
"size_x": 122.4,
|
|
"size_y": 82.6,
|
|
"size_z": 20.0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_rack",
|
|
"model": "HTF",
|
|
"ordering": [
|
|
"A1",
|
|
"B1",
|
|
"C1",
|
|
"D1",
|
|
"E1",
|
|
"F1",
|
|
"G1",
|
|
"H1",
|
|
"A2",
|
|
"B2",
|
|
"C2",
|
|
"D2",
|
|
"E2",
|
|
"F2",
|
|
"G2",
|
|
"H2"
|
|
]
|
|
},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "tip_rack_A1",
|
|
"name": "tip_rack_A1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 7.2,
|
|
"y": 68.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_B1",
|
|
"name": "tip_rack_B1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 7.2,
|
|
"y": 59.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_C1",
|
|
"name": "tip_rack_C1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 7.2,
|
|
"y": 50.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_D1",
|
|
"name": "tip_rack_D1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 7.2,
|
|
"y": 41.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_E1",
|
|
"name": "tip_rack_E1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 7.2,
|
|
"y": 32.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_F1",
|
|
"name": "tip_rack_F1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 7.2,
|
|
"y": 23.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_G1",
|
|
"name": "tip_rack_G1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 7.2,
|
|
"y": 14.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_H1",
|
|
"name": "tip_rack_H1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 7.2,
|
|
"y": 5.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_A2",
|
|
"name": "tip_rack_A2",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 16.2,
|
|
"y": 68.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_B2",
|
|
"name": "tip_rack_B2",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 16.2,
|
|
"y": 59.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_C2",
|
|
"name": "tip_rack_C2",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 16.2,
|
|
"y": 50.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_D2",
|
|
"name": "tip_rack_D2",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 16.2,
|
|
"y": 41.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_E2",
|
|
"name": "tip_rack_E2",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 16.2,
|
|
"y": 32.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_F2",
|
|
"name": "tip_rack_F2",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 16.2,
|
|
"y": 23.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_G2",
|
|
"name": "tip_rack_G2",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 16.2,
|
|
"y": 14.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "tip_rack_H2",
|
|
"name": "tip_rack_H2",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "tip_rack",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 16.2,
|
|
"y": 5.3,
|
|
"z": 9.47
|
|
},
|
|
"config": {
|
|
"type": "TipSpot",
|
|
"size_x": 9.0,
|
|
"size_y": 9.0,
|
|
"size_z": 0,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "tip_spot",
|
|
"model": null,
|
|
"prototype_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
},
|
|
"data": {
|
|
"tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
},
|
|
"tip_state": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
},
|
|
"pending_tip": {
|
|
"type": "Tip",
|
|
"total_tip_length": 39.2,
|
|
"has_filter": true,
|
|
"maximal_volume": 20.0,
|
|
"fitting_depth": 3.29
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well",
|
|
"name": "plate_well",
|
|
"sample_id": null,
|
|
"children": [
|
|
"plate_well_A1",
|
|
"plate_well_B1",
|
|
"plate_well_C1",
|
|
"plate_well_D1",
|
|
"plate_well_E1",
|
|
"plate_well_F1",
|
|
"plate_well_G1",
|
|
"plate_well_H1",
|
|
"plate_well_A11",
|
|
"plate_well_B11",
|
|
"plate_well_C11",
|
|
"plate_well_D11",
|
|
"plate_well_E11",
|
|
"plate_well_F11",
|
|
"plate_well_G11",
|
|
"plate_well_H11"
|
|
],
|
|
"parent": "deck",
|
|
"type": "plate",
|
|
"class": "nest_96_wellplate_2ml_deep",
|
|
"position": {
|
|
"x": 265.0,
|
|
"y": 0,
|
|
"z": 69
|
|
},
|
|
"config": {
|
|
"type": "Plate",
|
|
"size_x": 127.76,
|
|
"size_y": 85.48,
|
|
"size_z": 14.2,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "plate",
|
|
"model": "Cor_96_wellplate_360ul_Fb",
|
|
"ordering": [
|
|
"A1",
|
|
"B1",
|
|
"C1",
|
|
"D1",
|
|
"E1",
|
|
"F1",
|
|
"G1",
|
|
"H1",
|
|
"A11",
|
|
"B11",
|
|
"C11",
|
|
"D11",
|
|
"E11",
|
|
"F11",
|
|
"G11",
|
|
"H11"
|
|
]
|
|
},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "plate_well_A1",
|
|
"name": "plate_well_A1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 10.87,
|
|
"y": 70.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_B1",
|
|
"name": "plate_well_B1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 10.87,
|
|
"y": 61.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_C1",
|
|
"name": "plate_well_C1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 10.87,
|
|
"y": 52.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_D1",
|
|
"name": "plate_well_D1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 10.87,
|
|
"y": 43.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_E1",
|
|
"name": "plate_well_E1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 10.87,
|
|
"y": 34.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_F1",
|
|
"name": "plate_well_F1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 10.87,
|
|
"y": 25.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_G1",
|
|
"name": "plate_well_G1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 10.87,
|
|
"y": 16.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_H1",
|
|
"name": "plate_well_H1",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 10.87,
|
|
"y": 7.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_A11",
|
|
"name": "plate_well_A11",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 100.87,
|
|
"y": 70.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_B11",
|
|
"name": "plate_well_B11",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 100.87,
|
|
"y": 61.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_C11",
|
|
"name": "plate_well_C11",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 100.87,
|
|
"y": 52.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_D11",
|
|
"name": "plate_well_D11",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 100.87,
|
|
"y": 43.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_E11",
|
|
"name": "plate_well_E11",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 100.87,
|
|
"y": 34.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_F11",
|
|
"name": "plate_well_F11",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 100.87,
|
|
"y": 25.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_G11",
|
|
"name": "plate_well_G11",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 100.87,
|
|
"y": 16.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
},
|
|
{
|
|
"id": "plate_well_H11",
|
|
"name": "plate_well_H11",
|
|
"sample_id": null,
|
|
"children": [],
|
|
"parent": "plate_well",
|
|
"type": "device",
|
|
"class": "",
|
|
"position": {
|
|
"x": 100.87,
|
|
"y": 7.77,
|
|
"z": 3.03
|
|
},
|
|
"config": {
|
|
"type": "Well",
|
|
"size_x": 6.86,
|
|
"size_y": 6.86,
|
|
"size_z": 10.67,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
},
|
|
"category": "well",
|
|
"model": null,
|
|
"max_volume": 360,
|
|
"material_z_thickness": 0.5,
|
|
"compute_volume_from_height": null,
|
|
"compute_height_from_volume": null,
|
|
"bottom_type": "flat",
|
|
"cross_section_type": "circle"
|
|
},
|
|
"data": {
|
|
"liquids": [],
|
|
"pending_liquids": [],
|
|
"liquid_history": []
|
|
}
|
|
}
|
|
],
|
|
"links": []
|
|
} |