关于 bears-machines
bears-machines 是面向 PUDA 工作流的机器选择与能力参考技能,帮助根据实验任务选择设备并查阅对应命令指南。遇到选择不明确时要求先向用户确认,避免猜测。
主要功能
- 01按任务匹配实验机器
- 02涵盖液体处理与电化学测试
- 03提供称量及 Opentrons 指引
- 04涵盖 Elephant 机械臂操作
- 05强调确认选择与执行顺序
适用场景
- 01为移液任务选择设备
- 02为电池表征选择机器
- 03生成 Opentrons 协议前核对条件
- 04不确定机器时询问用户
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pudap/ bears-skills --skill bears-machines安装后在 Claude Code 中输入/bears-machines确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/balance-machine.mdelephant.mdfirst-machine.mdlabware.mdopentrons-machine.md详细介绍
BEARS 设备
目标
为 PUDA 工作流提供设备选择和功能指导,然后在生成命令前加载正确的设备参考文档。
重要规则
如果不确定某条命令应该使用哪台设备,请先询问用户再继续。 不要自行假设。
设备功能及使用时机
第一台设备(machine_id: "first")
用于液体处理和载板操作。
功能:
- 移液工作流:吸液、排液、装上吸头、卸下吸头
- 载板和实验室器具工作流:加载载板、依赖位置的操作
- 湿实验室协议中的机器人顺序操作步骤
在以下情况下使用此设备:
- 任务涉及在孔或实验室器具之间转移液体
- 用户提到吸头使用、吸液/排液或载板槽位/实验室器具设置
生成命令前:
- 参考:第一台设备
- 运行
puda machine commands first以了解可用命令 - 遵循
references/first-machine.md中的约束和操作顺序
Biologic 设备(machine_id: "biologic")
用于电化学测试和表征。
功能:
- OCV(开路电压)
- CA(计时电流法)
- PEIS / GEIS(阻抗谱)
- CV(循环伏安法)
- MPP 变体(MPP、MPP_Cycles、MPP_Tracking)
在以下情况下使用此设备:
- 任务涉及电化学测量或电池/电芯表征
- 用户要求进行 OCV、CA、EIS、CV 或 MPP 测试
生成命令前:
- 参考:Biologic 设备
- 运行
puda machine commands biologic以了解可用命令 - 遵循
references/biologic-machine.md中的约束
天平设备
用于通过基于 Arduino 的 Linux USB 称重传感器天平进行重量测量。
功能:
- 通过 USB 串口(
/dev/ttyUSB*或/dev/ttyACM*)连续读取经校准的质量 - 后台读取线程以约 4 Hz 的频率持续传输读数;无需轮询
- 在分液步骤前执行去皮命令,将天平归零
- 新鲜度检查(
fresh标志),用于检测读数是否过时或连接是否断开 - 通过边缘服务发布 NATS 遥测数据
- 支持自定义校准 CSV
在以下情况下使用此设备:
- 工作流需要在液体转移前后称量容器
- 用户要求进行重量校准、计算转移误差或获取天平反馈
- 任务涉及需要质量数据的黏度或转移精度实验
使用前:
- 参考:天平设备
- 向用户询问 Linux 串口(例如
/dev/ttyUSB1)——不要自行假设 - 确保边缘服务正在运行(
uv run --package balance-edge python edge/balance.py)
Opentrons Machine (machine_id: "opentrons")
用于 在 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 天平小瓶(30 mL、50 mL),从 Opentrons 驱动程序的实验室器皿目录中发现,并通过常规的
load_labware命令加载 - 所有 Gen2 移液器类型:p10、p20、p300、p1000(单通道和多通道)
- 外部相机图像捕获:
camera_capture——触发安装在实验台上方的外部相机,拍摄并保存一张孔板静态图像
在以下情况下使用此机器:
- 用户提到 Opentrons OT-2 机器人
- 任务涉及生成完整的 OT-2 协议或单条液体处理命令
- 用户提到 Opentrons 实验室器皿(吸头架、孔板、储液槽、NEST、Corning、天平小瓶)
- 工作流需要根据 CSV 文件进行数据驱动的分液
- 工作流需要在分液步骤后拍摄孔板图像
生成命令前:
- 参考:opentrons-machine
- 在进行任何实际的 Opentrons 运行前,加载并遵循 puda-opentrons-vision-validation:拍摄一张最新的实验台图像,确认每个协议槽位都放置了预期的实验室器皿或物品,并在实验室器皿不确定或不匹配时,请用户确认后再执行。
- 运行
puda machine commands opentrons,了解可用命令 - 遵循
references/opentrons-machine.md中规定的所有命令类型、参数、执行顺序规则和实验室器皿限制
Elephant Machine (machine_id: "elephant")
用于 六轴机械臂操作、笛卡尔坐标/关节运动、电动夹爪动作、扫描/复位流程以及相机引导的视觉步骤。
功能:
- 笛卡尔位姿运动和相对移动
- 关节角度和单轴运动控制
- 扫描定位和面向复位的恢复工作流
- 电动夹爪操作:
init_gripper、open_gripper、close_gripper - 用于视觉引导任务的 Pi 摄像头和实时视频图像捕获
- 用于校准相机工作流的像素到机器人偏移量转换
在以下情况下使用此机器:
- 任务需要机械臂移动到指定坐标或执行类似抓取和放置的步骤
- 用户要求 Elephant 机械臂运动、扫描/复位行为,或在停止/断电后恢复机械臂
- 工作流包括夹爪控制、Pi 摄像头捕获,或从 Elephant 设置中捕获实时视频快照
生成命令前:
- 参考:elephant-machine
- 运行
puda machine commands elephant,了解可用命令 - 遵循
references/elephant.md中规定的运动、夹爪、相机和执行顺序限制
选择工作流
- 解析用户意图并确定任务。
- 将用户意图与上述机器功能相匹配。
- 如果机器选择不明确或存在歧义,请询问用户并等待确认。
- 加载相应的参考文件和 CLI 帮助信息。
- 只有在确认机器选择后,才生成命令。
输出指引
回答机器选择相关问题时:
- 说明推荐的机器,并给出一句与其功能相对应的理由。
- 如果无法确定,请直接提出澄清问题,不要猜测。
关键顺序规则
opentrons协议必须始终以所有移液器均未装有吸头的状态结束。- 每条
load_labware命令中的opentrons载板位(location)都必须由用户明确确认——绝不假定载板位。 - 执行任何实体
opentrons运行之前,必须通过视觉验证载板位占用情况和实验室器具;如果所需载板位为空、实验室器具不匹配、受到阻挡或不可见,则不得运行,除非用户明确批准。 opentrons的capture_image必须单独作为一个协议——绝不能在同一协议中与移液命令组合。balance——读取前始终调用startup(),之后调用shutdown()。执行分液步骤前始终去皮。使用读数前始终确认fresh == True。elephant——运动前确保机械臂已连接并通电。对于电动夹爪工作流,在断电重启后,先调用init_gripper(),再调用open_gripper()或close_gripper()。进行相机引导的操作前,优先调用scan()。
评论
支持 Markdown