omicro Flux:姿勢制御球体型ロボット
BLDC Roller485 と 9 軸 IMU を中核に、姿勢推定・方位制御・走行中の姿勢制限・停止時の制振を組み合わせた多層制御で動作する、omicro の後継機。
The article body is in Japanese only. See the header above for the English summary, or switch to for the full text.
1. はじめに
omicro Fluxは、従来のomicroの後継機として開発した姿勢制御球体型ロボットです。名前の”Flux”は、磁束のほか、センサデータや状態の変化・流動といった連続的な動きを表現しています。最大の特徴は、従来のDCモーターからM5Stack製BLDC Roller485に変更することで、大幅な精度向上を実現したことです。
BLDCモーター、IMU、自作制御基板による構成で、内部ロボットが自重で起き上がる球体構造を前提に、姿勢制御で進行方向を保ちながら移動する仕組みとなっており、XRプロジェクト「Boundary Blur」のような高度なインタラクション体験の実現を可能にしています。
2. 開発背景
omicro Fluxの開発には明確な背景があります。これまで「omicro」という球型ロボットを「Boundary Blur」というXRプロジェクトで動かしていました。
Boundary Blurとは
Boundary Blurは、物理世界とデジタル世界の境界を曖昧にするというコンセプトのマルチエージェントシステムです。現実空間に存在する球体型ロボットomicroと仮想空間上のAIエージェントが連携してタスクを遂行することを目指すプロジェクトで、複合現実(Mixed Reality)技術を活用しています。
システム構成としては、iPad ProのLiDARセンサーとARFoundationを用いて現実空間をスキャン・メッシュ化し、その上にデジタルツインの世界を構築します。OpenCVによる画像認識で現実のomicroの位置を追跡し、AR空間上にロボットのデジタルツインを配置します。このデジタルツインは物理法則に従って仮想空間内のオブジェクトやAIエージェントと相互作用し、その結果が現実のomicroにフィードバックされます。つまり、現実のロボットが仮想空間のオブジェクトに「衝突」すると実際に停止し、仮想のAIエージェントがロボットを「追跡」すると現実のロボットが回避行動を取るという、物理世界と仮想世界が相互に影響し合うシステムとなっています。
技術的課題の顕在化
しかし、Boundary Blurでの展示体験を重ねるごとに、omicroの技術的な限界が明らかになりました。従来のomicroはDCモーターを用いて制御を行っていましたが、DCモーターは特性上、低速での回転量制御が困難であり、球体型ロボットという構造上、接地面が少ないため停止制御も非常に難しい課題でした。omicro単体で動かす分には精密な制御を必要としないため大きな問題にはなりませんでしたが、Boundary BlurシステムでロボットをxRでの操作やインタラクションに合わせて正確に動かそうとすると、この制御精度の限界が顕著に現れました。
さらに、従来のomicroは地磁気センサーを用いて方位を取得していましたが、地磁気は周囲の金属物や電子機器の影響を受けやすく、展示会場のような環境では安定した方位検出が困難でした。XRアプリでのインタラクションを高精度化するにあたり、これらの根本的な問題が解決されないと、Boundary Blurでより高度なインタラクション体験を実装することは不可能だと判断し、omicroの後継機として開発されたのがomicro Fluxです。
群制御システムへの布石
omicro Fluxの開発においてもう一つ重要な動機となったのは、将来的な群制御システムの実現に向けた技術基盤の構築です。単体ロボットの制御精度向上は、複数のロボットが協調動作する際の前提条件となります。個々のロボットが正確な位置制御と安定した通信を実現できなければ、群として機能することは不可能です。
特に、複数の球体型ロボットを「新しい車輪」として機能させるためには、従来のDCモーター制御では到底達成できない精密さが必要でした。各ロボットが僅かな誤差なく協調動作し、動的に役割を変更できる制御システムの確立が不可欠でした。omicro Fluxで実現した高精度制御技術は、このビジョンへの第一歩になっています。
3. システム構成
omicro Fluxの動作には、ハードウェアとソフトウェアの連携による以下の手順が必要です:
3.0 システムセットアップ手順
3.1 球体型ロボット
omicro Fluxは、従来のomicroと同様に外側の球体とその中で動くロボットの二部分から構成されていますが、内部システムに大幅な改良が加えられています。

外側の球体
外側の球体は、クリアなプラスチックを使用しており、材質はスチロール樹脂です。表面には硬化ガラスコーティング剤が塗装されており、耐久性と視認性を高めています。この点は従来のomicroと同様の構造です。
内部のロボット
omicro Fluxの最大の特徴は、制御システムの大幅な変更です。従来のDCモーターからM5Stack製BLDC Roller485に切り替えることで、精密な制御が可能になりました。
Roller485は、BLDCモーターだけでなく、角度センサーやディスプレイなどが一体化された統合型ブラシレスDCモーターモーションコントロールキットです。
DCモーターからRoller485への変更により、以下の大幅な改善が実現されました:
- BLDCによる高トルク制御:ブラシレスDCモーターの採用により、従来のDCモーターでは困難だった低速域での精密な制御が可能になりました
- 故障要因の減少:ブラシ接触がないBLDC特有の特性により、機械的な摩耗による故障リスクが大幅に軽減されました
- 正確な移動量制御:内蔵された角度センサーにより、回転量を正確に測定・制御できるようになり、PID制御の実装も可能になりました
さらに、M5Stack Unit Proを新たに追加することで、9軸IMU(3軸ジャイロスコープ、3軸加速度センサー、3軸磁気センサー)による高精度な姿勢推定が実現されました。この9軸IMUにより、従来の地磁気センサー単体では困難だった安定した方位検出と姿勢制御が可能になっています。
また、従来のマトリックスLEDからUnit Puzzleに変更することで、カラーを用いた表現豊かな目の表現も可能になり、ロボットとしての親しみやすさも向上しています。
この一体型デザインにより、従来のシステムで必要だった複数の部品を統合し、配線の簡素化と制御精度の向上を実現しています。制御基板は自作のものを使用し、これらの高精度センサー群と組み合わせることで、球体内での姿勢制御を実現しています。
主要コンポーネント
| コンポーネント | 数量 | 役割 |
|---|---|---|
| M5Stack StampS3 | 1 | メインコントローラー(BLE 通信・制御ループ) |
| M5Stack Unit Roller485 | 2 | BLDC ドライブ(左右の駆動輪) |
| M5Stack Unit Mini IMU-Pro | 1 | 9 軸 IMU(3 軸ジャイロ + 3 軸加速度 + 3 軸磁気) |
| M5Stack UnitPuzzle | 2 | カラー LED マトリクスによる「目」の表現 |
| Adafruit NeoPixel Ring (WS2812 5050) | 1 | 周辺発光リング |
姿勢制御
omicro Flux は、球体内部のロボットが自重で起き上がる構造になっています。重心が下側にあるため、二輪倒立型ロボットのようにモーターを常時稼働させて倒立を維持するバランス制御は不要で、実装していません。移動指示がなければモーターは止まったままです。
omicro Flux の姿勢制御は、目標方位への旋回・走行中のピッチ崩れ抑制・停止時のピッチ/ロール揺り戻し収束など、用途ごとに別々のサブシステムが受け持ちます。9 軸 IMU からセンサ融合で姿勢角(ピッチ・ロール)と方位角を推定し、それを共通入力として複数のサブシステムが役割分担しながら協調動作する多層構成です。各層は抽象インターフェースで分離されており、MuJoCo で構築した digital twin にも同じ規約で接続して挙動を検証できる設計になっています。
姿勢推定(9 軸センサ融合)
ジャイロ・加速度・地磁気の生データを Madgwick フィルタで融合し、ピッチ・ロール・方位を継続的に推定しています。地磁気は会場ごとにキャリブレーションして硬磁・軟磁の補正をかけています。BLE 通信などでループ周期が揺らいだときも、実測経過時間でフィルタの時間刻みを更新してジャイロ積分の精度を保つようにしています。
方位制御
「指定角度に向け」の指令は、一定時間モーターを回す方式ではなく、モーター内蔵エンコーダの位置制御モードと「移動 → 静止検出 → 実方位計測 → 残差再補正」のステートマシンで処理しています。機械的な遊びやスリップで一発で目標方位に乗らない場面でも、計測と補正を繰り返すことで段階的に追い込めるようにしています。
走行中の姿勢制限
前進・後退中に内部ロボットがピッチ方向へ倒れすぎる(ボールが「ウィリー」する)と、転覆や進行不良につながります。これを抑えるため、ピッチ角を監視してしきい値を超え始めたところから速度指令を線形に絞り、減速側を加速側より速く効かせて姿勢が崩れたら早く戻す挙動にしてあります。これにより、iOS アプリから大きな速度指令が突然入ってもボールは姿勢を保ったまま追従します。
停止時の制振
停止コマンドは即座にモーターを切らず、ソフトストップ後に短い遅延を挟んでから 2 軸 PID 制御で慣性による前後・左右の揺り戻しを能動制動します。収束またはタイムアウトでモーターをハードストップ。センサ異常を検出したときは強制停止して状態を BLE 経由で iOS アプリへ通知します。
モジュール分離
各制御層は抽象インターフェース越しに利用しており、ハードウェア無しで動くスタブ実装も併設しています。CI・Mac・MuJoCo digital twin と同じ規約で繋がるため、firmware の挙動を実機なしで再現して回せる導線を持たせています。
検証環境としての MuJoCo
姿勢制御のロジックを実機だけで検証すると、転倒や接触ミスでハードを傷めるリスクがあり、同じ条件を繰り返し再現するのも難しくなります。これを補うために、ロボティクス研究で広く使われている物理シミュレーションエンジン MuJoCo(剛体動力学・接触・摩擦などをまとめて扱える、姿勢推定・強化学習・制御研究での標準的な実装基盤)の上に、omicro Flux の digital twin を構築しています。
環境を組んだ最大の狙いは、AI エージェント(Claude Code)と対話しながら開発サイクルを高速に回すことです。「制御コードを修正する → シミュレータで挙動を確認する → 必要なら直す」までをエージェントとのやり取りの中で回し、意図どおりに動くようになったロジックだけを実機に反映する、という流れを作るために、firmware と同じインターフェースで叩ける検証環境が必要でした。
シミュレータには外殻の球体・内部車両・駆動 2 輪・補助輪を実機の寸法と質量配置で組み込み、駆動輪が球内壁を駆け上がる挙動まで物理接触で再現しています。firmware と同じ抽象インターフェースをシミュレータ側にも用意してあるため、姿勢制御コードを書き換えずそのまま流して、姿勢制御 ON/OFF の比較や回帰テスト、新しい制御ロジックの試作を実機を起動せずに回せます。
姿勢制御は必要な局面に限定して適用しており、慣性で転がる挙動を残しつつ、操作精度が要求される場面だけ補正をかける構成です。これにより、xR でのインタラクションに必要な追従性と、球体ロボット特有の動きを両立させています。
駆動方式に2輪差動を採用した理由
球体型ロボットの内部駆動には、振り子で重心を倒して転がす方式、全方向ホイールで内壁を押す方式、車輪付き内部ユニットを走らせる方式などがあります。omicro Flux は内部ユニット方式の中でも2輪差動を採用しており、球体構造との組み合わせで以下の特性が得られます。
- 群制御を見据えたコストと運動性能の両立: 複数の球体型ロボットを同期制御で動かす想定を一貫して持っており、1 台あたりの部品点数を抑えつつ前進・後退・カーブ・超信地旋回の全運動が成立する駆動方式が要件でした。2 輪差動は動力輪 2 個で必要な運動を全部賄えるため、台数が増えてもコストと整備工数が線形にしか膨らまない利点があります。
- ヨー制御に追加機構が不要: 左右の動力輪を逆向きに等速で回すだけで超信地旋回が成立する。振り子方式はピッチ方向のトルクしか生成できず、ヨー制御にはフライホイールや磁気アンカーなど別系統の機構が必要になる。
- 直進と旋回を同じアクチュエータで合成できる: 左右の回転量の 和で前進・差で旋回 が独立に決まり、前進中の緩いカーブから停止状態の超信地旋回まで、同じ単純な式で連続的に扱える。方位を補正したい場面でも、目標と現在の向きのズレをそのまま「差」として加えるだけで済む。
- 倒立維持の責務がない: 球体は重心が中心より下に置かれた受動安定構造のため、2輪は倒立を保つためにモーターを常時動かす必要がない(バランス制御は実装していない)。動力輪は走行と方位制御だけに専念でき、二輪倒立型のように転倒で試行が止まることもない。
- 制御モデルが2自由度に収まる: 「前進量」と「差動量」の2変数で操作系から制御系までを通せるため、iOS アプリの BLE プロトコル、firmware の PID、シミュレータ側のインターフェースを同じ抽象レベルで揃えられる。
残り8輪は無動力で、走行時に球体内壁へ接触して直進安定性・衝撃吸収・回転時の軸保持を担います。駆動系は2輪差動に閉じたまま、機構的な安定化を補助輪へ分離した構成です。
車輪と運動機構
omicro Fluxには合計10個の車輪があり、動力は下部の大きな2つの車輪にのみ繋がれています。従来のomicroでは大きなホイールによるトルク向上により消耗が激しくなったため、omicro Fluxでは表面が滑らかで低収縮・高靱性の特性を持つ「Black Resin」に変更しました。ゴムタイヤと球体が直接接触するとグリップが強すぎるため、医療用のサージカルテープを使用して摩擦を調整しています。
その他の8つの車輪は、静止時には球体の内壁に接触していませんが、走行時には内壁に触れるようになっています。これにより、「ボールの直進安定性向上」、「衝撃吸収」、「回転時の軸保持」という役割を果たしています。車輪が回転すると、内部のロボットが球体の内側の壁を駆け上がることで、ボールが前進します。ボールの方向変更は、車輪が逆方向に等速で回転することで、超信地旋回を行い、その場での回転が可能です。
フレーム設計の刷新
omicroからomicro Fluxへの作り直し過程で、Roller485やUnit Proなどの新しいコンポーネントの追加により重心バランスが全て変わったため、フレームは全て再設計し直しています。Ring LEDカバーなどの光を通す必要がある箇所には、透明で強靭かつ寸法安定性に優れた「8001 Resin」を使用し、視認性と耐久性を両立しています。
3.2 操作アプリケーション
omicro Fluxの操作には専用のiOSアプリケーションとwatchOSアプリケーションを使用しています。これらのアプリケーションの詳細な機能や操作方法については、「omicroシリーズ専用アプリケーション」を参照してください。
omicro Flux対応版の主な改良点:
- BLDCモーター対応: 精密制御に対応した新しい制御インターフェース
- 高精度制御: 改良された回転量と移動量の制御システム
- 触覚フィードバック対応ジョイスティック制御: ジョイスティックで制御する際に触覚フィードバックを受けながら操作が可能。押し込み量によって加速減速制御を行う。単純な加速減速停止操作だと移動制御が難しいため、内部的に最適な値に変換するアルゴリズムを実装しています
4. 将来への展望:群制御による「新しい車輪」
omicro Fluxの開発は、単体ロボットの性能向上にとどまりません。それは、複数の球体型ロボットを群制御し、それらを協調動作する「新しい車輪」として機能させることです。
4.1 従来の車輪を超えて
従来の車輪は、固定された円盤状の物体であり、回転軸を中心とした単純な回転運動しか行えません。しかし、omicro Fluxを構成要素とした群制御システムでは、個々のロボットが知能を持ち、状況に応じて協調・適応する動的な移動システムの構築が可能になります。これは車輪という概念そのものを根本的に再定義する挑戦です。
omicro Flux自体は群制御システムを内蔵していません。omicro Fluxは、高精度な単体制御を実現する球体型ロボットとして設計されており、群制御機能はBoundary Blurのような上位システムによって補完されます。この設計により、omicro Fluxは車輪としても、マルチエージェントシステムの一部としても機能できます。
4.2 群制御による機能拡張
Boundary Blurのような上位システムが複数のomicro Fluxを制御することで、以下のような機能が可能になります:
協調移動: 複数のロボットが連携して、単体では困難な移動パターンを実現します
分散制御: システム全体の負荷を複数のロボットに分散し、効率的な動作を行います
冗長性の確保: 一部のロボットに問題が生じても、他のロボットが機能を補完します
環境適応: 各ロボットのセンサー情報を統合し、環境に応じた最適な制御を行います
4.3 技術的基盤
この構想の実現には、omicro Fluxで培われた高精度制御技術が不可欠です:
- 精密位置制御: Roller485によるBLDC制御とPID制御により、群制御に必要な正確な位置決めが可能
- リアルタイム姿勢推定: 9軸IMUによる高精度センサー情報により、個々のロボット状態の正確な把握が実現
- 安定通信: BLE通信の最適化により、複数ロボット間の協調制御が可能
- 環境認識: 各ロボットが持つセンサー情報を統合し、周囲環境の包括的な理解を構築
4.4 応用可能性
複数のomicro Fluxを車輪として統合した移動システムは、従来の固定式車輪では実現困難な適応性を移動体に与えます:
自動搬送システム: 積載物の形状や重量分布に応じて車輪位置を最適化する車両 移動ロボット: 多様な作業環境において柔軟な移動戦略を実現するロボットシステム
4.5 現在地
ここまでで実装できているのは、あくまで「単体の球体型ロボットを精度高く制御する」レイヤまでです。BLDC Roller485 と 9 軸 IMU、姿勢制御の多層スタック、MuJoCo digital twin がそろい、単体としては再現性の高い制御と事前検証の手段ができています。
一方で 4.1〜4.4 で挙げた「群制御による新しい車輪」「協調搬送」「適応的な移動システム」は、まだ実装フェーズに入っていない構想です。これらは Boundary Blur のような上位システム側に群制御層を実装してはじめて動き始めるもので、omicro Flux 自体はその下に据える単体精度レイヤを受け持つ位置づけになっています。
