[ PROMPT_NODE_27118 ]
Pylabrobot 可视化
[ SKILL_DOCUMENTATION ]
# PyLabRobot 中的可视化与仿真
## 概述
PyLabRobot 提供了可视化和仿真工具,用于在没有物理硬件的情况下开发、测试和验证实验室工作流。可视化器提供工作台状态的实时 3D 可视化,而仿真后端则支持工作流的测试和验证。
## 可视化器
### 什么是可视化器?
PyLabRobot 可视化器是一个基于浏览器的工具,它:
- 显示工作台布局的 3D 可视化
- 显示实时的吸头存在状态和液体体积
- 同时适用于仿真机器人和物理机器人
- 提供交互式的工作台状态检查
- 实现可视化的工作流验证
### 启动可视化器
可视化器作为 Web 服务器运行,并在浏览器中显示:
python
from pylabrobot.visualizer import Visualizer
# 创建可视化器
vis = Visualizer()
# 启动 Web 服务器(自动打开浏览器)
await vis.start()
# 停止可视化器
await vis.stop()
**默认设置:**
- 端口: 1234 (http://localhost:1234)
- 启动时自动打开浏览器
### 将液体处理工作站连接到可视化器
python
from pylabrobot.liquid_handling import LiquidHandler
from pylabrobot.liquid_handling.backends.simulation import ChatterboxBackend
from pylabrobot.resources import STARLetDeck
from pylabrobot.visualizer import Visualizer
# 创建可视化器
vis = Visualizer()
await vis.start()
# 创建带有仿真后端的液体处理工作站
lh = LiquidHandler(
backend=ChatterboxBackend(num_channels=8),
deck=STARLetDeck()
)
# 将液体处理工作站连接到可视化器
lh.visualizer = vis
await lh.setup()
# 现在所有操作都会实时可视化
await lh.pick_up_tips(tip_rack["A1:H1"])
await lh.aspirate(plate["A1:H1"], vols=100)
await lh.dispense(plate["A2:H2"], vols=100)
await lh.drop_tips()
### 跟踪功能
#### 启用跟踪
为了让可视化器显示吸头和液体,请启用跟踪:
python
from pylabrobot.resources import set_tip_tracking, set_volume_tracking
# 全局启用(在创建资源之前)
set_tip_tracking(True)
set_volume_tracking(True)
#### 设置初始液体
为可视化定义初始液体内容:
python
# 设置单个孔中的液体
plate["A1"].tracker.set_liquids([
(None, 200) # (液体类型, 体积 µL)
])
# 在一个孔中设置多种液体
plate["A2"].tracker.set_liquids([
("water", 100),
("ethanol", 50)
])
# 在多个孔中设置液体
for well in plate["A1:H1"]:
w