bears-machines について
bears-machinesは、PUDAワークフロー向けの機器選択・機能案内スキルです。実験内容に合う機器と参照手順を示し、選択が不明確な場合は確認を求めます。
主な機能
- 01タスクに応じた機器選択
- 02液体処理と電気化学測定
- 03天秤とOpentronsの案内
- 04Elephantアーム操作に対応
- 05確認と実行順序を重視
活用シーン
- 01ピペッティング用機器の選択
- 02電池評価用機器の選定
- 03Opentronsプロトコル前の条件確認
- 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 ワークフロー向けに、マシンの選択と機能に関するガイダンスを提供し、コマンドを生成する前に正しいマシンのリファレンスを読み込みます。
重要なルール
コマンドにどのマシンを使用すべきか不明な場合は、先に進む前にユーザーに確認してください。 推測しないでください。
マシンの機能と使用場面
First マシン(machine_id: "first")
液体の取り扱いとデッキ操作に使用します。
機能:
- ピペッティングのワークフロー:吸引、分注、チップの装着、チップの廃棄
- デッキとラボウェアのワークフロー:デッキのロード、位置に依存する操作
- ウェットラボプロトコルにおける、順序を伴うロボット操作の手順
次の場合にこのマシンを使用します:
- ウェル間またはラボウェア間で液体を移動するタスク
- ユーザーがチップの使用、吸引/分注、デッキスロット/ラボウェアのセットアップについて言及している場合
コマンド生成の前に:
- 参照先:first-machine
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-machine
puda machine commands biologicを実行して、使用可能なコマンドを確認しますreferences/biologic-machine.mdに記載された制約に従います
Balance マシン
Linux 上で Arduino ベースの USB ロードセル天秤を使用した重量測定に使用します。
機能:
- USB シリアル(
/dev/ttyUSB*または/dev/ttyACM*)経由でロードセルから校正済みの質量値を連続取得 - 約 4 Hz で測定値をストリーミングするバックグラウンドリーダースレッド。ポーリングは不要
- 分注ステップの前に天秤をゼロにする風袋引きコマンド
- 古い測定値や切断状態を検出する鮮度チェック(
freshフラグ) - エッジサービス経由での NATS テレメトリーのパブリッシュ
- カスタム校正 CSV のサポート
次の場合にこのマシンを使用します:
- ワークフローで、液体移送の前または後に容器を計量する必要がある場合
- ユーザーが重量測定による校正、移送誤差の計算、または天秤からのフィードバックを求めている場合
- 質量データが必要な粘度実験または移送精度実験を行う場合
使用前に:
- 参照先:balance-machine
- Linux のシリアルポート(
/dev/ttyUSB1など)をユーザーに確認します。推測しないでください - エッジサービスが実行中であることを確認します(
uv run --package balance-edge python edge/balance.py)
Opentrons マシン(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によるデータ駆動型プロトコル - カスタムラボウェアのサポート:Opentrons ドライバーのラボウェアカタログから検出され、通常の
load_labwareコマンドで読み込まれる AMDM 質量天びん用バイアル(30 mL、50 mL) - すべての 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_id: "elephant")
6 軸ロボットアームの操作、直交座標/関節の動作、電動グリッパーの操作、スキャン/リセットのワークフロー、カメラ誘導によるビジョン処理に使用します。
機能:
- 直交座標系でのポーズ移動と相対移動
- 関節角度と単一軸の動作制御
- スキャン位置への移動とリセットを中心とした復旧ワークフロー
- 電動グリッパーの操作:
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— 動作前にアームが接続され、電源が入っていることを確認してください。電動グリッパーのワークフローでは、電源サイクル後にopen_gripper()またはclose_gripper()を呼び出す前に、init_gripper()を呼び出してください。カメラを使った作業の前には、scan()を実行することを推奨します。
コメント
Markdown 対応