mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 13:01:12 +00:00
* unify liquid_handler definition * remove default values * Dev Sync (#25) * 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 --------- Co-authored-by: Harvey Que <Q-Query@outlook.com> Co-authored-by: zhangshixiang <@zhangshixiang> Co-authored-by: q434343 <73513873+q434343@users.noreply.github.com> * remove default behavior for visualization * change liquidhandler name * resource create from outer easy * add easy resource creation * easy resource creation logic * remove wrongly debug msg from others * remove wrongly debug msg from others * add missing action clients * fix device_id * fix slot_on_deck * fix registry typo * complete require packages msg converter support array string implements create resource logic * 修复port输入 * fix: remove dirty actions --------- Co-authored-by: Junhan Chang <changjh@pku.edu.cn> Co-authored-by: Harvey Que <Q-Query@outlook.com> Co-authored-by: q434343 <73513873+q434343@users.noreply.github.com>
275 lines
7.6 KiB
YAML
275 lines
7.6 KiB
YAML
liquid_handler:
|
|
description: Liquid handler device controlled by pylabrobot
|
|
class:
|
|
module: unilabos.devices.liquid_handling.liquid_handler_abstract:LiquidHandlerAbstract
|
|
type: python
|
|
status_types:
|
|
name: String
|
|
action_value_mappings:
|
|
remove:
|
|
type: LiquidHandlerRemove
|
|
goal:
|
|
vols: vols
|
|
sources: sources
|
|
waste_liquid: waste_liquid
|
|
use_channels: use_channels
|
|
flow_rates: flow_rates
|
|
offsets: offsets
|
|
liquid_height: liquid_height
|
|
blow_out_air_volume: blow_out_air_volume
|
|
spread: spread
|
|
delays: delays
|
|
is_96_well: is_96_well
|
|
top: top
|
|
none_keys: none_keys
|
|
feedback: { }
|
|
result: { }
|
|
add_liquid:
|
|
type: LiquidHandlerAdd
|
|
goal:
|
|
asp_vols: asp_vols
|
|
dis_vols: dis_vols
|
|
reagent_sources: reagent_sources
|
|
targets: targets
|
|
use_channels: use_channels
|
|
flow_rates: flow_rates
|
|
offsets: offsets
|
|
liquid_height: liquid_height
|
|
blow_out_air_volume: blow_out_air_volume
|
|
spread: spread
|
|
is_96_well: is_96_well
|
|
mix_time: mix_time
|
|
mix_vol: mix_vol
|
|
mix_rate: mix_rate
|
|
mix_liquid_height: mix_liquid_height
|
|
none_keys: none_keys
|
|
feedback: { }
|
|
result: { }
|
|
transfer_liquid:
|
|
type: LiquidHandlerTransfer
|
|
goal:
|
|
asp_vols: asp_vols
|
|
dis_vols: dis_vols
|
|
sources: sources
|
|
targets: targets
|
|
tip_racks: tip_racks
|
|
use_channels: use_channels
|
|
asp_flow_rates: asp_flow_rates
|
|
dis_flow_rates: dis_flow_rates
|
|
offsets: offsets
|
|
touch_tip: touch_tip
|
|
liquid_height: liquid_height
|
|
blow_out_air_volume: blow_out_air_volume
|
|
spread: spread
|
|
is_96_well: is_96_well
|
|
mix_stage: mix_stage
|
|
mix_times: mix_times
|
|
mix_vol: mix_vol
|
|
mix_rate: mix_rate
|
|
mix_liquid_height: mix_liquid_height
|
|
delays: delays
|
|
none_keys: none_keys
|
|
feedback: { }
|
|
result: { }
|
|
mix:
|
|
type: LiquidHandlerMix
|
|
goal:
|
|
targets: targets
|
|
mix_time: mix_time
|
|
mix_vol: mix_vol
|
|
height_to_bottom: height_to_bottom
|
|
offsets: offsets
|
|
mix_rate: mix_rate
|
|
none_keys: none_keys
|
|
feedback: { }
|
|
result: { }
|
|
move_to:
|
|
type: LiquidHandlerMoveTo
|
|
goal:
|
|
well: well
|
|
dis_to_top: dis_to_top
|
|
channel: channel
|
|
feedback: { }
|
|
result: { }
|
|
aspirate:
|
|
type: LiquidHandlerAspirate
|
|
goal:
|
|
resources: resources
|
|
vols: vols
|
|
use_channels: use_channels
|
|
flow_rates: flow_rates
|
|
end_delay: end_delay
|
|
offsets: offsets
|
|
liquid_height: liquid_height
|
|
blow_out_air_volume: blow_out_air_volume
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
discard_tips:
|
|
type: LiquidHandlerDiscardTips
|
|
goal:
|
|
use_channels: use_channels
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
dispense:
|
|
type: LiquidHandlerDispense
|
|
goal:
|
|
resources: resources
|
|
vols: vols
|
|
use_channels: use_channels
|
|
flow_rates: flow_rates
|
|
offsets: offsets
|
|
blow_out_air_volume: blow_out_air_volume
|
|
spread: spread
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
drop_tips:
|
|
type: LiquidHandlerDropTips
|
|
goal:
|
|
tip_spots: tip_spots
|
|
use_channels: use_channels
|
|
offsets: offsets
|
|
allow_nonzero_volume: allow_nonzero_volume
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
drop_tips96:
|
|
type: LiquidHandlerDropTips96
|
|
goal:
|
|
tip_rack: tip_rack
|
|
offset: offset
|
|
allow_nonzero_volume: allow_nonzero_volume
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
move_lid:
|
|
type: LiquidHandlerMoveLid
|
|
goal:
|
|
lid: lid
|
|
to: to
|
|
intermediate_locations: intermediate_locations
|
|
resource_offset: resource_offset
|
|
destination_offset: destination_offset
|
|
pickup_direction: pickup_direction
|
|
drop_direction: drop_direction
|
|
get_direction: get_direction
|
|
put_direction: put_direction
|
|
pickup_distance_from_top: pickup_distance_from_top
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
move_plate:
|
|
type: LiquidHandlerMovePlate
|
|
goal:
|
|
plate: plate
|
|
to: to
|
|
intermediate_locations: intermediate_locations
|
|
resource_offset: resource_offset
|
|
pickup_offset: pickup_offset
|
|
destination_offset: destination_offset
|
|
pickup_direction: pickup_direction
|
|
drop_direction: drop_direction
|
|
get_direction: get_direction
|
|
put_direction: put_direction
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
move_resource:
|
|
type: LiquidHandlerMoveResource
|
|
goal:
|
|
resource: resource
|
|
to: to
|
|
intermediate_locations: intermediate_locations
|
|
resource_offset: resource_offset
|
|
destination_offset: destination_offset
|
|
pickup_distance_from_top: pickup_distance_from_top
|
|
pickup_direction: pickup_direction
|
|
drop_direction: drop_direction
|
|
get_direction: get_direction
|
|
put_direction: put_direction
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
pick_up_tips:
|
|
type: LiquidHandlerPickUpTips
|
|
goal:
|
|
tip_spots: tip_spots
|
|
use_channels: use_channels
|
|
offsets: offsets
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
pick_up_tips96:
|
|
type: LiquidHandlerPickUpTips96
|
|
goal:
|
|
tip_rack: tip_rack
|
|
offset: offset
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
return_tips:
|
|
type: LiquidHandlerReturnTips
|
|
goal:
|
|
use_channels: use_channels
|
|
allow_nonzero_volume: allow_nonzero_volume
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
return_tips96:
|
|
type: LiquidHandlerReturnTips96
|
|
goal:
|
|
allow_nonzero_volume: allow_nonzero_volume
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
stamp:
|
|
type: LiquidHandlerStamp
|
|
goal:
|
|
source: source
|
|
target: target
|
|
volume: volume
|
|
aspiration_flow_rate: aspiration_flow_rate
|
|
dispense_flow_rate: dispense_flow_rate
|
|
feedback: {}
|
|
result:
|
|
name: name
|
|
transfer:
|
|
type: LiquidHandlerTransfer
|
|
goal:
|
|
source: source
|
|
targets: targets
|
|
source_vol: source_vol
|
|
ratios: ratios
|
|
target_vols: target_vols
|
|
aspiration_flow_rate: aspiration_flow_rate
|
|
dispense_flow_rates: dispense_flow_rates
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 液体处理仪器当前状态
|
|
required:
|
|
- name
|
|
additionalProperties: false
|
|
|
|
liquid_handler.revvity:
|
|
class:
|
|
module: unilabos.devices.liquid_handling.revvity:Revvity
|
|
type: python
|
|
status_types:
|
|
status: String
|
|
action_value_mappings:
|
|
run:
|
|
type: WorkStationRun
|
|
goal:
|
|
wf_name: file_path
|
|
params: params
|
|
resource: resource
|
|
feedback:
|
|
status: status
|
|
result:
|
|
success: success
|