omicro Flux:バランス制御球体型ロボット

1. はじめに

omicro Fluxは、従来のomicroの後継機として開発されたバランス制御球体型ロボットである。名前の”Flux”は、磁束のほか、センサデータや状態の変化・流動といった連続的な動きを表現している。最大の特徴は、従来のDCモーターからM5Stack製BLDC Roller485に変更することで、大幅な精度向上を実現したことである。

BLDCモーター、IMU、自作制御基板による構成で、球体内でバランスを取りながら移動する仕組みとなっており、XRプロジェクト「Boundary Blur」のような高度なインタラクション体験の実現を可能としている。

omicro Flux Image 1

2. 開発背景

omicro Fluxの開発には背景がある。これまで「omicro」という球型ロボットを「Boundary Blur」というXRプロジェクトで動かしていた。Boundary Blurは、物理世界とデジタル世界の境界を曖昧にするというコンセプトのプロジェクトで、omicroはその重要な構成要素であった。しかし、イベントを重ねるごとにomicroの回転量制御の精度の低さ、耐久性の低さ、トルク不足を痛感するようになった。XRアプリでのインタラクションを高精度化するにあたり、これらの問題が解決されないと、Boundary Blurでより高いインタラクション体験を実装することは困難だと判断し、omicroの後継機として開発されたのがomicro Fluxである。

3. システム構成

システムの利用手順は以下の通りである。

  1. 床に球体型ロボットを設置する。
  2. 球体型ロボットの電源を入れ、iOSアプリケーションとBLEで接続する。
  3. 球体型ロボットで電子コンパスのキャリブレーションを行う。キャリブレーションはiOSアプリから行われる。
  4. iOSやwatchOSアプリケーションで球体型ロボットを操作する。

3.1 球体型ロボット

omicro Fluxは、従来のomicroと同様に外側の球体とその中で動くロボットの二部分から構成されているが、内部システムに大幅な改良が加えられている。

外側の球体

外側の球体は、直径170mmのクリアなプラスチックを使用しており、材質はスチロール樹脂である。表面には硬化ガラスコーティング剤が塗装されており、耐久性と視認性を高めている。この点は従来のomicroと同様の構造である。

内部のロボット

omicro Fluxの最大の特徴は、制御システムの大幅な変更である。従来のDCモーターからM5Stack製BLDC Roller485に切り替えることで、精密な制御が可能となった。

Roller485は、BLDCモーターだけでなく、角度センサーやディスプレイなどが一体化された統合型ブラシレスDCモーターモーションコントロールキットである。主要な仕様は以下の通りである:

  • MCU:STM32G431CBU6(Cortex-M4)、128 KBフラッシュメモリ、32 KB SRAM、170 MHz
  • モーター:D3504 200KVブラシレスモーター(直径41mm)
  • ドライバチップ:DRV8311HRRWR
  • 角度センサー:TLI5012BE1000
  • 通信インターフェース:PWR-485(HT3.96-4Pインターフェース)、I2C (0x64)
  • ディスプレイ:0.66インチOLEDディスプレイ(解像度64 x 48、SPI通信)

この一体型デザインにより、従来のシステムで必要だった複数の部品を統合し、配線の簡素化と制御精度の向上を実現している。制御基板は自作のものを使用し、IMU(慣性計測装置)と組み合わせることで、球体内でのバランス制御を実現している。

自作基板のIMUには3軸ジャイロスコープと3軸加速度センサーが内蔵されており、ロボットの姿勢や動きを高精度で検出する。さらに、地磁気センサーを搭載することで、絶対的な方位角の取得が可能となり、より正確な方向制御を実現している。

車輪と運動機構

omicro Fluxには合計10個の車輪があり、動力は下部の大きな2つの車輪にのみ繋がれている。ゴムタイヤと球体が直接接触するとグリップが強すぎるため、医療用のサージカルテープを使用して摩擦を調整している。その他の8つの車輪は、静止時には球体の内壁に接触していないが、走行時には内壁に触れるようになっている。これにより、「ボールの直進安定性向上」、「衝撃吸収」、「回転時の軸保持」という役割を果たしている。車輪が回転すると、内部のロボットが球体の内側の壁を駆け上がることで、ボールが前進する。ボールの方向変更は、車輪が逆方向に等速で回転することで、超信地旋回を行い、その場での回転が可能である。

3.2 操作アプリケーション

omicro Fluxの操作には専用のiOSアプリケーションとwatchOSアプリケーションを使用します。これらのアプリケーションの詳細な機能や操作方法については、「omicroシリーズ専用アプリケーション」をご参照ください。

omicro Flux対応版の主な改良点:

  • BLDCモーター対応: 精密制御に対応した新しい制御インターフェース
  • 高精度制御: 改良された回転量と移動量の制御システム
  • 触覚フィードバック対応ジョイスティック制御: ジョイスティックで制御する際に触覚フィードバックを受けながら操作が可能。押し込み量によって加速減速制御を行う。単純な加速減速停止操作だと移動制御が難しいため、内部的に最適な値に変換するアルゴリズムを実装している

Boundary Blur:球体型ロボットと複合現実を活用したマルチエージェントシステム

1. はじめに

現実空間に存在する球体型ロボットと仮想空間のAIエージェントが連携してタスクを遂行することを目指している。しかし、物理空間と仮想空間をシームレスに接続することは困難である。さらに、球体ロボットの動きを正確に制御し、物理ロボットと仮想AIエージェントの双方向の相互作用を実現するためには高度なAI技術が必要である。また、直感的な操作体験を提供するためのインターフェースを開発する際にも技術的な課題が存在する。

本作品では、球体型ロボット omicroと複合現実を活用したマルチエージェントシステム Boundary Blurを提案する。

2. 提案システム

2.1 設計方針

提案システムの目的は、現実空間と仮想空間のエージェントが連携してタスクを遂行することである。このために、スマートフォンやApple Watchから操作できる球体型ロボットボール「omicro」と、複合現実を活用したマルチエージェントシステム「Boundary Blur」を構築する。

2.2 システム構成

システムの利用手順は以下の通りである。

  1. 球型ロボットを設置する場所の選定を行い、床や壁が反射しやすい場合は、反射を避けるために黒のシートを床に敷く。LEDと同色の光を放つプロダクトの近くは避ける。
  2. 球型ロボットの電源を入れ、iPhoneアプリケーションとBLEで接続する。複数の球型ロボットと接続する際は、iPhoneアプリを複数接続モードに切り替える。
  3. 球型ロボットで電子コンパスのキャリブレーションを行う。このキャリブレーションはiOSアプリから実施する。
  4. iPad Proを三脚で固定し、球型ロボットがiPadのカメラの画角に入るように設置する。iPad Proの設定高さは地上から130cm前後にする。
  5. iPad ProでUnityアプリケーションを起動し、メッシュモードをオンにして床やオブジェクトをメッシュ化する。必要に応じて、移動可能エリアを指定する仮想障害物を空間に設置する。
  6. iPad Pro上で動作するUnityアプリと球体型ロボットの操作に使用しているiOSアプリをBluetoothで接続し、iOSアプリを経由して球体型ロボットの電子コンパスから取得した方位情報をUnityアプリに渡す。
  7. UnityアプリケーションでOpenCVモードをオンにし、球体型ロボットの中心点を取得する。動作環境が明るすぎたり暗すぎる場合は、OpenCVモードの2値化の色範囲を調整し、AR空間上に球型ロボットのデジタルツインを表示させる。環境光の影響で検出位置がずれるため、OpenCV検出位置の補正機能を用いて、奥行きや縦横の位置を手動で調整する。
  8. 球型ロボットをiOSやwatchOSアプリケーションで操作する。球型ロボットのデジタルツインがAR空間上で衝突した場合は、その状態をハードウェアの球型ロボットにフィードバックする。
  9. AR空間上で球体型ロボットを追尾するゲームAIを稼働させる。ゲームAIが現実空間に存在する球体型ロボットと接触すると、現実の球体型ロボットは回避行動を起こす。追尾と回避を繰り返し、結果として球体型ロボットが自動で動き続ける。

2.2.1 球型ロボット

詳細については以下をご参照ください。
omicro:自走式球体型ロボット

2.3.4 Unityアプリケーション

本システムの中核をなす「Boundary Blur」と名付けられた複合現実アプリは、Unityで開発されている。ARFoundationを用いてARKitの機能を活用し、PlaneDetection、LiDAR情報に基づく空間のMesh化、HumanStencilを用いた人間の位置取得、仮想オブジェクトの設置、そしてShaderやVFXGraphを用いた視覚効果は全てARFoundationと組み合わせて行っている。

球体型ロボットの位置取得は、OpenCVを用いて行われる。アプリケーションで取得した画像をもとに、球体型ロボットのLEDの青色を基準にして2値化し、ボール型ロボットの中心座標を取得する。取得した中心座標に対してARFoundationでRaycastを行い、ボールの奥行き情報を取得する。AR空間上の仮想座標に球型ロボットのデジタルツインを配置し、デジタルツインがAR空間内でARによって出現させた別のGameObjectと衝突した場合は、ハードウェアの球型ロボットにもフィードバックを返すようにしている。

球型ロボットの向きの取得は、このアプリケーションでは行えないので、ハードウェア側でデジタルコンパスを用いて方位を計算し、それをUnityアプリ側に返す形をとっている。

Boundary Blurは、iPad ProのLiDARやコンピュータビジョンライブラリを用いて現実空間の上にデジタルツインをリアルタイムで作成し、その上で動くゲームAIが起こした事象が現実空間に存在する球体型ロボットに反映される。また、現実に存在する球体型ロボットに仮想空間上での質量を与えており、現実のロボットが動くと、仮想空間上のゲームAIやゲームオブジェクトにも影響を与える。

omicro:球体型ロボット

1. はじめに

omicroは、スマートフォンやタブレット、Apple WatchからBluetoothで直感的に操作可能な球体型ロボットである。完全に保護された設計により、STEAM教育に適した構造を持ち、360度全方向に対応する駆動システムを搭載している。また、ハンドジェスチャーによる操作も可能であり、複数のロボットを同時に制御する機能も備えている。これにより、教育現場でのプログラミング教育やロボット工学の実習、家庭での子供たちの学習支援、研究開発におけるロボティクス研究、イベントや展示会でのインタラクティブなデモンストレーションなど、多岐にわたる応用が可能である。

Image 5 Image 1 Image 2 Image 3 Image 4

2. システム構成

システムの利用手順は以下の通りである。

  1. 床に球体型ロボットを設置する。
  2. 球体型ロボットの電源を入れ、iPhoneアプリケーションとBLEで接続する。複数の球体型ロボットと接続する場合は、iPhoneアプリを複数接続モードに切り替える。
  3. 球体型ロボットで電子コンパスのキャリブレーションを行う。キャリブレーションはiOSアプリから行われる。
  4. iOSやwatchOSアプリケーションで球体型ロボットを操作する。

2.1 球体型ロボット

球体型ロボット omicroは、外側の球体とその中で動くロボットの二部分から構成されている。

外側の球体

外側の球体は、直径170mmのクリアなプラスチックBOXを使用しており、材質はスチロール樹脂である。表面には硬化ガラスコーティング剤が塗装されており、耐久性と視認性を高めている。

内部のロボット

内部のロボットは、M5Stamp S3を中心に、2つのマトリックスLED、モータードライバのSparkfun TB6612FNG、6軸センサのMPU6050、地磁気センサ GROVE三軸デジタルコンパスモジュールv1、NeoPixel Ring 16連フルカラーシリアルLEDで構成されている。フレームはレーザーカットされたアクリルを使用している。電源にはエネループ電池を6本使用し、これらは2本と4本に分けて配置されている。ロボットの最下部には重心を整えるためにパラストが配置されている。

車輪と運動機構

ロボットには合計10個の車輪があり、動力は下部の大きな2つの車輪にのみ繋がれている。ゴムタイヤと球体が直接接触するとグリップが強すぎるため、医療用のサージカルテープを使用して摩擦を調整している。その他の8つの車輪は、静止時には球体の内壁に接触していないが、走行時には内壁に触れるようになっている。これにより、「ボールの直進安定性向上」、「衝撃吸収」、「回転時の軸保持」という役割を果たしている。車輪が回転すると、内部のロボットが球体の内側の壁を駆け上がることで、ボールが前進する。ボールの方向変更は、車輪が逆方向に等速で回転することで、超信地旋回を行い、その場での回転が可能である。


2.2 操作アプリケーション

omicroの操作には専用のiOSアプリケーションとwatchOSアプリケーションを使用します。これらのアプリケーションの詳細な機能や操作方法については、「omicroシリーズ専用アプリケーション」をご参照ください。

主な機能:

  • iOSアプリ: システムハブとして複数ロボットの制御、Unity連携
  • watchOSアプリ: ハンドジェスチャーによる直感的操作、CoreMLを活用した機械学習機能

omicroシリーズ専用アプリケーション:iOS・watchOSアプリの機能と操作

1. はじめに

omicroシリーズ(omicroおよびomicro Flux)は、専用のiOSアプリケーションとwatchOSアプリケーションを通じて操作される球体型ロボットシステムです。これらのアプリケーションは、直感的なユーザーインターフェースとハンドジェスチャー機能により、革新的なロボット操作体験を提供します。

2. 球型ロボットを操作するためのiOSアプリケーション

2.1 基本機能

このiOSアプリケーションは、システムのハブの役割を担っており、複数の球型ロボット(omicroおよびomicro Flux)とwatchOSアプリとの間の通信をすべて制御しています。球型ロボットとwatchOSアプリとの通信はCoreBluetoothを用いてBLEで行っています。

2.2 主要機能

omicroシリーズのアプリケーションでは、以下の機能が実装されています:

  • 複数ロボット同時制御: 複数の球型ロボットとwatchOSアプリ、Unityアプリの間の通信管理
  • Unity連携:
    • 球型ロボットから受け取った角度情報をUnityアプリケーションに送信
    • Unityアプリケーションから受け取った衝突判定のフラグを球型ロボットに送信
  • BLE通信: CoreBluetoothを用いた安定したBluetooth Low Energy通信

3. 球型ロボットを操作するためのwatchOSアプリケーション

3.1 基本概要

このアプリはiOSアプリに付随するものです。iOSアプリと同様に球型ロボットを操作するのが主な機能であり、その操作の際は必ずiOSアプリケーションを経由して、球型ロボットに指示を送ります。

3.2 ハンドモーション機能

watchOSアプリケーションならではの機能としては、ハンドモーション機能が挙げられます。これは、パフォーマンスを行う球型ロボット操縦者の手の動きをApple Watchのジャイロセンサと加速度センサで読み取り、それに応じて球型ロボットを操縦する機能です。

基本操作

  • 機能のオン/オフ: 手を素早く下げた場合には機能がオフになり、素早く水平に上げた場合は機能がオンになります
  • 直進操作: 手を水平状態から20°上げると、球体型ロボットが直進します
  • 回転操作: 手を水平に上げたまま手のひらを左右に捻ると球体型ロボットが左右に回転します

3.3 機械学習機能

watchOS上のCoreMLを用いて手の動きを機械学習し、複雑なハンドモーションで操作する機能も実装されています。手の動きのログをCoreMLのActivity Classificationでトレーニングさせ、センシングだけより複雑な手の動きのパターンを読み取れるようにしています。

4. システム間連携

これらのアプリケーションは、omicroシリーズのロボットと密接に連携し、以下のような統合されたシステムを構成しています:

  1. iOSアプリ: 中央制御ハブとして機能
  2. watchOSアプリ: 直感的なハンドジェスチャー操作を提供
  3. 球型ロボット: 高精度な物理的動作を実行
  4. 外部システム: Unity等との連携によるXR体験の実現

これらのアプリケーションにより、omicroシリーズは単なるロボットを超えた、革新的なインタラクション体験を提供するプラットフォームとして機能しています。

© 2025. All rights reserved.