寄せ集めパーツとAIエージェントで基板を撮影・マップ化してプロービングする自作環境「AutoProber」

小型のCNC工作機械やUSB顕微鏡、オシロスコープなどを組み合わせ、基板上のパッドやピンを見つけてプロービングできる自作環境「AutoProber」をJ-GainSec氏がGitHub上で公開しました。
gainsec/autoprober: hardware hacker's flying probe automation stack
https://github.com/gainsec/autoprober
プロービングというのは、基板上のパッドやピンに「プローブ」と呼ばれる針状の部品を当て、電圧や信号がどうなっているかを調べる作業のことです。AutoProberはこのプロービングをAIエージェントによって自動化するための自作環境で、基板上のどこを調べるべきかを見つけ、調べる場所の候補をダッシュボードに表示し、操作者が承認した後に実際のプロービングへ進めるようになっています。
J-GainSec氏によると、AutoProberはまず初めにAIエージェントにプロジェクトを読み込ませて使用するハードウェアをすべて接続し、各パーツが正常に動作しているかを確認させるところから始まるとのこと。

次にAutoProberはCNCマシンを基準位置に戻すホーム動作を行い、位置ずれを補正するキャリブレーションを実行。その後、操作者がプローブと顕微鏡が一体になった専用ヘッダーを取り付けます。
その状態で「ステージの上に新しい基板や測定対象が置かれていること」をAIエージェントに伝えると、AIエージェントはまずその対象がステージ上のどこにあるかを探します。そして、対象が見つかるとその対象を少しずつ撮影しながら各画像の位置をX軸、Y軸、Z軸で記録し、基板上のパッドやピン、チップ、その他の注目すべきパーツを特定します。

AIエージェントが見つける注目すべきパーツには、各種ヘッダーやI/Oバンク、アナログ-デジタル変換回路(ADC)、製造後に利用者や設計者が内部回路の構成を設定できる半導体集積回路であるFPGA、電源を切っても保持するべきデータの記憶に用いられるEEPROM、同期用のコネクターなどが含まれるとのこと。

その後、AIエージェントは撮影した画像をつなぎ合わせて基板全体を確認できる1枚のマップを作り、そのマップ上に見つけたピンや注目すべきパーツの位置が書き込まれます。

AIエージェントが見つけたプローブ場所の候補はWebダッシュボードに追加され、操作者が候補を確認した上で承認するか却下するかを決定することが可能。

承認されたターゲットには実際にプロービングが行われ、その結果が表示されます。J-GainSec氏は「接続したハードウェアはWebダッシュボード、Pythonスクリプト、AIエージェント自身のいずれからでも操作できる」と説明しています。

J-GainSec氏がAutoProberの試作機で使ったパーツは以下の通り。
・光学式エンドストップ
・USB顕微鏡
・SainSmart Genmitsu 3018-PROVer V2
・個別に制御できるACコンセントとUSB-Aポート2基、USB-Cポート2基を備えたMatter対応のスマート電源タップ
・Siglent製オシロスコープ「SDS1104X-E」
・ジャンパーワイヤー
・ペンのスプリングまたは同様の軽い圧縮ばね
・ツールヘッド部品を出力するための3Dプリンター
また、任意で使えるパーツや差し替え可能なパーツとして以下が挙げられています。
・一般的なオシロスコープ用プローブ
・5VのUSB電源アダプター
・USB 2.0の分岐ケーブル
J-GainSec氏によると、AutoProberは普通のWebアプリではなく「実際に機械が動くシステム」として扱う必要があるとのことで、安全対策が細かく決められています。たとえばCNC工作機械がプローブ先端の接触を検知した時に出すGRBLの「Pn:P」という信号をそのまま信用することはせず、機械が危険な位置まで動いた時に動作を止めるためのセンサーを別途用意し、オシロスコープの4番目の入力端子である「Channel 4」を使って独立して監視しているとのこと。
また、機械の動作中はAutoProberが「Channel 4」に入る信号を常に監視し、「Channel 4」でトリガーが出た場合や、電圧がはっきりしない場合、CNC工作機械が異常を知らせるアラームを出した場合、CNC工作機械のX軸・Y軸・Z軸が動ける限界位置に達したことを知らせる信号が出た場合には動作を止めるとのことです。その後は電圧や状態、動作が記録され、操作者が明示的に停止状態を解除するまで待機します。「停止した後に自動で動作を再開することはない」とJ-GainSec氏は説明しています。

なお、J-GainSec氏はAutoProberのPython制御コードやCADファイル、ドキュメントなどをGitHub上で公開しているため、自分で組み立てて試すこともできます。
AutoProberについてはソーシャルニュースサイトのHacker Newsでも取り上げられており、「既製品のハードウェアを組み合わせ、AIエージェントに作業の流れを処理させる1本のリポジトリは価値がある」という好意的な声がある一方で、「AIは何をしているのか。ピンを全部見つけるだけなのか、それともそれ以上のこともするのか」というAIの役割についての疑問や、「物理ハードウェアは高い精度で動くのに、AIは確率的に動くので、ピンの位置を0.1mmでも間違えれば基板を壊すおそれがある」という精度に関する懸念、「基板テストは何十年も前から確立されており、設計データがあるならAIを使わなくても対象の位置は高い精度で求められる」とそもそもの必要性を問うコメントなどが投稿されています。
・関連記事
娘の3歳の誕生日にポータブルなステップシーケンサー付きシンセサイザーを自作 - GIGAZINE
廃虚や衰退都市を思わせる「コンクリート製ノートPCスタンド」を自作した猛者が登場 - GIGAZINE
家族の予定・天気・家の状態をひと目で確認できる自作電子ペーパーダッシュボード「Timeframe」を改良してきた10年間の記録 - GIGAZINE
NVIDIAの業務用GPUとAIチップを搭載した激安AIサーバーを入手して家庭用AIマシンを作ってしまった記録が話題に - GIGAZINE
・関連コンテンツ
in AI, ハードウェア, ソフトウェア, Posted by log1b_ok
You can read the machine translated English article AutoProber: A homemade environment that ….







