bears-machines

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

BEARS machines

BEARS设备

Goal

目标

Provide machine-selection and capability guidance for PUDA workflows, then load the correct machine reference before generating commands.
为PUDA工作流提供设备选择与功能指导,在生成命令前加载正确的设备参考文档。

Critical Rule

重要规则

If you are unsure which machine should be used for a command, ask the user before proceeding.
Do not assume.
如果你不确定应使用哪台设备执行命令,请先询问用户,再继续操作。
切勿自行假设。

Machine Capabilities and When to Use

设备功能及适用场景

First Machine (
machine_id: "first"
)

First Machine(
machine_id: "first"

Use for liquid handling and deck operations.
Capabilities:
  • Pipetting workflows: aspirate, dispense, attach tip, drop tip
  • Deck and labware workflows: load deck, position-dependent operations
  • Sequenced robotic handling steps in wet-lab protocols
Use this machine when:
  • The task is about moving liquids between wells/labware
  • The user mentions tip usage, aspiration/dispensing, or deck slots/labware setup
Before command generation:
  • Refer to: first-machine
  • Run
    puda machine commands first
    to understand available commands
  • Follow constraints and sequencing in
    references/first-machine.md
用于液体处理及工作台操作
功能:
  • 移液工作流:aspirate、dispense、attach tip、drop tip
  • 工作台与实验器具工作流:load deck、基于位置的操作
  • 湿实验协议中的序列式机器人处理步骤
适用场景:
  • 任务涉及在孔板/实验器具间转移液体
  • 用户提及吸头使用、aspirate/dispense,或工作台插槽/实验器具设置
生成命令前:
  • 参考文档:first-machine
  • 运行
    puda machine commands first
    了解可用命令
  • 遵循
    references/first-machine.md
    中的约束条件与操作顺序

Biologic Machine (
machine_id: "biologic"
)

Biologic Machine(
machine_id: "biologic"

Use for electrochemical testing and characterization.
Capabilities:
  • OCV (Open Circuit Voltage)
  • CA (Chronoamperometry)
  • PEIS / GEIS (Impedance spectroscopy)
  • CV (Cyclic Voltammetry)
  • MPP variants (MPP, MPP_Cycles, MPP_Tracking)
Use this machine when:
  • The task is an electrochemical measurement or battery/cell characterization
  • The user asks for OCV, CA, EIS, CV, or MPP tests
Before command generation:
  • Refer to: biologic-machine
  • Run
    puda machine commands biologic
    to understand available commands
  • Follow constraints in
    references/biologic-machine.md
用于电化学测试与表征
功能:
  • OCV(开路电压)
  • CA(计时安培法)
  • PEIS / GEIS(阻抗谱)
  • CV(循环伏安法)
  • MPP变体(MPP、MPP_Cycles、MPP_Tracking)
适用场景:
  • 任务为电化学测量或电池/电芯表征
  • 用户要求进行OCV、CA、EIS、CV或MPP测试
生成命令前:
  • 参考文档:biologic-machine
  • 运行
    puda machine commands biologic
    了解可用命令
  • 遵循
    references/biologic-machine.md
    中的约束条件

Balance Machine

Balance Machine

Use for gravimetric mass measurement via an Arduino-based USB load-cell balance on Linux.
Capabilities:
  • Continuous calibrated mass readings from a load-cell over USB serial (
    /dev/ttyUSB*
    or
    /dev/ttyACM*
    )
  • Background reader thread streaming readings at ~4 Hz; no polling required
  • Tare command to zero the balance before a dispense step
  • Freshness check (
    fresh
    flag) to detect stale/disconnected readings
  • NATS telemetry publishing via the edge service
  • Custom calibration CSV support
Use this machine when:
  • The workflow requires weighing a container before or after a liquid transfer
  • The user asks for gravimetric calibration, transfer error calculation, or balance feedback
  • The task involves viscosity or transfer accuracy experiments needing mass data
Before use:
  • Refer to: balance-machine
  • Ask the user for the Linux serial port (
    /dev/ttyUSB1
    , etc.) — do not assume
  • Ensure the edge service is running (
    uv run --package balance-edge python edge/balance.py
    )
用于基于Arduino的USB称重传感器天平在Linux系统上的重力质量测量
功能:
  • 通过USB串口(
    /dev/ttyUSB*
    /dev/ttyACM*
    )从称重传感器获取连续校准质量读数
  • 后台读取线程以约4Hz的频率流式传输读数;无需轮询
  • 分液步骤前可执行tare命令将天平归零
  • 新鲜度检查(
    fresh
    标记)以检测失效/断开连接的读数
  • 通过边缘服务发布NATS遥测数据
  • 支持自定义校准CSV文件
适用场景:
  • 工作流需要在液体转移前后称量容器
  • 用户要求进行重力校准、转移误差计算或天平反馈
  • 任务涉及需要质量数据的粘度或转移精度实验
使用前:
  • 参考文档:balance-machine
  • 向用户询问Linux串口端口(如
    /dev/ttyUSB1
    )——切勿自行假设
  • 确保边缘服务已运行(
    uv run --package balance-edge python edge/balance.py

Opentrons Machine (
machine_id: "opentrons"
)

Opentrons Machine(
machine_id: "opentrons"

Use for automated liquid handling and full protocol generation on the Opentrons OT-2 robot.
Capabilities:
  • Full protocol code generation via
    Protocol.to_python_code()
    — produces valid runnable OT-2 Python
  • Pipetting workflows:
    aspirate
    ,
    dispense
    ,
    transfer
    (with auto-chunking for large volumes)
  • Tip management:
    pick_up_tip
    ,
    drop_tip
  • Deck and labware setup:
    load_labware
    ,
    load_instrument
  • Flow control:
    flow_rate
    ,
    air_gap
    ,
    blow_out
    ,
    touch_tip
    ,
    move_to
  • Protocol utilities:
    delay
    ,
    comment
    ,
    home
  • CSV-driven loops:
    read_csv_file
    +
    loop
    for data-driven protocols
  • Custom labware support: AMDM mass balance vials (30 mL, 50 mL) loaded inline
  • All gen2 pipette types: p10, p20, p300, p1000 (single and multi-channel)
  • External camera image capture:
    camera_capture
    — triggers the external camera mounted above the deck to capture and save a still image of the wellplate
Use this machine when:
  • The user references an Opentrons OT-2 robot
  • The task involves generating a complete OT-2 protocol or individual liquid handling commands
  • The user mentions Opentrons labware (tip racks, well plates, reservoirs, NEST, Corning, mass balance vials)
  • The workflow requires data-driven dispensing from a CSV file
  • The workflow requires capturing a camera image of the wellplate after dispensing steps
Before command generation:
  • Refer to: opentrons-machine
  • Run
    puda machine commands opentrons
    to understand available commands
  • Follow all command types, params, sequencing rules, and labware constraints in
    references/opentrons-machine.md
用于在Opentrons OT-2机器人上实现自动化液体处理与完整协议生成
功能:
  • 通过
    Protocol.to_python_code()
    生成完整协议代码——产出可直接运行的OT-2 Python代码
  • 移液工作流:
    aspirate
    dispense
    transfer
    (大体积自动分块处理)
  • 吸头管理:
    pick_up_tip
    drop_tip
  • 工作台与实验器具设置:
    load_labware
    load_instrument
  • 流量控制:
    flow_rate
    air_gap
    blow_out
    touch_tip
    move_to
  • 协议工具:
    delay
    comment
    home
  • CSV驱动循环:
    read_csv_file
    +
    loop
    用于数据驱动型协议
  • 自定义实验器具支持:在线加载AMDM质量平衡瓶(30mL、50mL)
  • 所有第二代移液器类型:p10、p20、p300、p1000(单通道与多通道)
  • 外部摄像头图像捕获
    camera_capture
    ——触发安装在工作台上方的外部摄像头捕获并保存孔板的静态图像
适用场景:
  • 用户提及Opentrons OT-2机器人
  • 任务涉及生成完整的OT-2协议或单个液体处理命令
  • 用户提及Opentrons实验器具(吸头架、孔板、储液槽、NEST、Corning、质量平衡瓶)
  • 工作流需要从CSV文件进行数据驱动的分液操作
  • 工作流需要在分液步骤后捕获孔板的摄像头图像
生成命令前:
  • 参考文档:opentrons-machine
  • 运行
    puda machine commands opentrons
    了解可用命令
  • 遵循
    references/opentrons-machine.md
    中的所有命令类型、参数、排序规则与实验器具约束

Selection Workflow

设备选择流程

  1. Parse user intent and identify the tasks.
  2. Match intent to the machine capabilities above.
  3. If machine selection is unclear or ambiguous, ask the user and wait for confirmation.
  4. Load the corresponding reference file and CLI help.
  5. Generate commands only after machine choice is confirmed.
  1. 解析用户意图并识别任务。
  2. 将意图与上述设备功能匹配。
  3. 若设备选择不明确或存在歧义,询问用户并等待确认。
  4. 加载对应的参考文件与CLI帮助文档。
  5. 仅在设备选择确认后生成命令。

Output Guidance

输出指导

When answering machine-selection questions:
  • State the recommended machine and a one-line reason tied to capability.
  • If uncertain, ask a direct clarification question instead of guessing.
回答设备选择相关问题时:
  • 说明推荐的设备,并给出一条与功能相关的简短理由。
  • 若不确定,直接提出澄清问题,切勿猜测。

Critical sequencing rules

关键排序规则

  • opentrons
    protocols must always end with no tip attached to any pipette.
  • opentrons
    deck slot (
    location
    ) for every
    load_labware
    command must be explicitly confirmed by the user — never assume a slot.
  • opentrons
    capture_image
    must be its own standalone protocol — never combined with pipetting commands in the same protocol.
  • balance
    — always call
    startup()
    before reading and
    shutdown()
    after. Always tare before a dispense step. Always verify
    fresh == True
    before using a reading.
  • opentrons
    协议必须始终以所有移液器未安装吸头的状态结束。
  • opentrons
    每个
    load_labware
    命令的工作台插槽(
    location
    )必须由用户明确确认——切勿自行假设插槽位置
  • opentrons
    capture_image
    必须作为独立协议——绝不能与移液命令合并在同一协议中。
  • balance
    设备——读取前必须调用
    startup()
    ,读取后必须调用
    shutdown()
    。分液步骤前必须执行tare操作。使用读数前必须验证
    fresh == True