本文へ
ハクソク

世界を動かす技術を、日本語で。

オープンマイクロマニピュレーター – サブマイクロメートルの3D動作制御プラットフォーム

元記事: 原文(github.com)

概要

  • Open Micro-Manipulator は低コストかつ高精度なオープンソースのXYZマイクロマニピュレーター
  • サブミクロン精度 のモーションコントロールを実現し、光学アライメントや電子部品のプロービング、顕微鏡用途に最適
  • G-Code やUSBシリアル経由で簡単に制御・プロジェクト統合が可能
  • Python GUI/API やCADデータなど、開発・運用を支援する豊富なリソースを提供
  • 最新ハードウェア/ファームウェア で利便性・性能がさらに向上

Open Micro-Manipulator 概要

  • 低コスト で 自作可能 なモーター駆動XYZマイクロマニピュレーター
  • サブミクロン精度 の位置決めを実現
  • 用途例 :光学機器のアライメント、電子部品プロービング、顕微鏡下作業
  • YouTube動画 で組立や動作の詳細を紹介
  • パラレルキネマティック構造 と ミニチュアボールジョイント による高剛性・広い可動範囲
  • 市販ステッピングモーター + 高精度PWM/クローズドループ制御
  • 磁気ギアリング 方式でロータリーエンコーダの分解能を30倍に強化(50nmステップ対応)
  • 解像度と絶対精度 の違いに注意(分解能は高いが絶対精度はやや劣る)

制御・ファームウェア

  • G-Code コマンドをUSBシリアル経由で送信可能
  • 独自ファームウェア によるスムーズな経路計画・パスフォロー
  • 6自由度ポーズ補間 をサポートし、将来的な拡張性も考慮
  • VSCode+PlatformIO でファームウェアのビルド・書き込みが容易
  • hw_config.h でハード設定(ピン番号やモータータイプ等)を調整

ハードウェアバージョン4.0の改良点

  • 自己干渉問題 (ホーミング時)を解決
  • ボールジョイントブロック の固定強化、回転ズレ防止
  • リンクロッド長 の一貫性確保
  • 不要な摩擦 ・ ゴムバンド交換不可 問題の解消
  • FreeCADモデル の大幅な整理・改良(全ピン・ファスナー含む)
  • BOM未更新 のため注意

GUI・Python API

  • Python製GUI で直感的な操作・ライブカメラ表示が可能
  • G-Codeランナー ・ リアルタイムマウス制御 など多機能
  • Python API でシリアル通信・コマンド実行・デバッグが容易
    • 接続/切断 ・ 原点復帰 ・ キャリブレーション ・ 移動 ・ ツール出力 など主要操作を網羅
    • open_micro_stage_api.py をプロジェクトにコピーし、依存関係をインストールするだけで利用可能

主要API関数例

  • connect(port, baud_rate)
  • disconnect()
  • home(axis_list)
  • calibrate_joint(joint_index, save_result)
  • move_to(x, y, z, f, move_immediately, blocking, timeout)
  • set_tool_output(tool_idx, output_value, immediate)
  • wait_for_stop(polling_interval_ms, disable_callbacks)
  • set_max_acceleration(linear_accel, angular_accel)
  • set_servo_parameter(pos_kp, pos_ki, vel_kp, vel_ki, vel_filter_tc)

ファームウェアの主な更新内容

  • v1.0.4 :ツール出力(レーザー彫刻等)の高速・正確な制御
    • PWM出力 にPIO機能を利用し多チャンネル対応
    • キャリブレーションエラーチェック の強化
    • パラメータ初期化・コメント追加、バグ修正
  • v1.0.1 :キャリブレーション・ホーミング・ログ出力の改善、新G-Codeコマンド追加

G-Code対応コマンド

  • G0/G1 X Y Z F :指定位置への直線移動
  • G4 S/P :指定時間の停止
  • G24 X Y Z A B C :サーボループ用ポーズ直接設定
  • G28 A-F :ジョイントの原点復帰
  • M3 :ツール出力設定
  • M17/M18 :モーター有効/無効
  • M50~M58 :各種情報取得・パラメータ設定・キャリブレーション

CADデータ・機械設計

  • FreeCAD で設計(無料・オープンソース)
  • 3軸CNC加工 を想定した設計、3Dプリントも可(熱変形に注意)
  • CAD/STLファイル をリポジトリで公開
  • アーム長など寸法 は組立時に要確認

電子回路

  • KiCAD設計、市販モジュールを組み合わせたシンプルなPCB
  • SMD不要 で組立容易
  • PCB v1.2 はD1ダイオードのミスプリント修正が必要(v1.3で解消)
  • 推奨電源 :5V~6V(2A)
  • 製造用ファイル も公開

サポート・貢献方法

  • ビルドガイドの改善 や 体験フィードバック の提供
  • Nema-17ステッピングモーターのシャフト誤差評価
  • Ko-fi での支援(任意)
  • YouTube動画 で最新情報や組立方法を紹介

参考リンク

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

この人、伝説だね。彼のこのシリーズや他の動画はYouTubeで見る価値があるよ。なんか、ただの一般人がサブUMマニピュレーターのDIYをYouTubeにアップして、あっさり消えちゃうのがすごいよね。宣伝も何もなしで。

└

ここでこれを見るとは思わなかった。最初に見たのが1年前だから、何か更新されたのかなって気になってた。更新はなさそうだけど、詳しくは調べてないんだ。すごくいい内容だし、これで仕事が決まったり、忙しくなったりしてるといいな。編集: 動画への直接リンクはこちら: https://www.youtube.com/watch?v=MgQbPdiuUTw

Reprap micronも似たようなことをやってるよ。https://github.com/VikOlliver/RepRapMicron

└

今日、誰かがこれを投稿してたよ: https://news.ycombinator.com/item?id=50141076

これ、デルタボットと比べるとどうなんだろう?デルタボットはピックアンドプレースによく使われるから、かなり細かい解像度が必要だよね。デルタの方が動きの範囲はずっと広い気がする。

ピエゾ電気スティックスリップアクチュエーターをDIYすることも可能で、潜在的にはサブナノメートル(!)の解像度が得られるけど、コストは高め(約$1k)だね。[1] "低コスト、オープンソースのXYZナノポジショナー、高精度分析用途向け", https://doi.org/10.1016/j.ohx.2022.e00317

手動の非モータライズ版もあるよ。今、最終的に使うために、改造しながらこれを作ってるところ。ポイント回折干渉計で使う予定。https://youtu.be/-mgqq0qdDRM?is=nFvtZprNsjMn3D_B

ここでこれを見るのは珍しいね。週末はこれのビルドに取り組んでたばかりなんだ。

オープンソースなのは知ってるけど、作者にはKickstarterで製品を立ち上げてほしいな。

これと同じことをする6DOFバージョンのリンク、誰か持ってる?デザイン原理はヘキサポッドでも簡単に機能すると思うんだ(デュアルロッドのリンクをシングルロッドに変えて、結果をプリロードするように調整する。さらにモーターを3つ追加して、アクチュエーターの配置を操作するプラットフォームに対して変える)。でも、少なくとも予測される作業量や、例えばこのプロジェクトから異なる運動方程式を使って調整した剛性や精度の数値を見てみたいな。そうしないと、どうやって物を最適に配置するか、AppliedScienceのDIY真空プリロード球状空気ベアリングに頼るべきかどうかを考えるために、たくさんのR&Dを投資することになるから。グラファイトブロックをヘキサポッドの動きステージの側の「プラットフォーム三角形」(浮いて動く部分)に加工するのは、結局力はあまり必要ないし、ミリングツールやドリルの位置をしっかりコントロールできれば大丈夫。あと、必須の効果的な集塵も忘れずに、そうしないと作業場がグラファイトパウダーで真っ白になっちゃうからね。ロッドの端にボールベアリングを取り付けるのが、このアイデア全体の中で一番難しい加工部分になるかもしれない。でも、この3Dプリントのゴムバンドプリロードジャーナルベアリングのコンセプトは、そのシンプルさが面白いね。可動範囲は限られてるかもしれないけど。

同じ出典の記事