omicro Apps:iOS / watchOS アプリ
複数の球体型ロボット・watchOS・Unity を CoreBluetooth で 1 つのネットワークに束ねるシステムハブ iOS と、Apple Watch のジャイロ・加速度・CoreML を使ったハンドモーション操作の watchOS。
The article body is in Japanese only. See the header above for the English summary, or switch to for the full text.
1. はじめに
omicroシリーズ(omicroおよびomicro Flux)は、専用のiOSアプリケーションとwatchOSアプリケーションを通じて操作される球体型ロボットシステムです。これらのアプリケーションは、直感的なユーザーインターフェースとハンドジェスチャー機能により、革新的なロボット操作体験を提供します。
2. 球型ロボットを操作するためのiOSアプリケーション
2.1 基本機能
このiOSアプリケーションは、システムのハブの役割を担っており、複数の球型ロボット(omicroおよびomicro Flux)とwatchOSアプリとの間の通信をすべて制御しています。球型ロボットとwatchOSアプリとの通信はCoreBluetoothを用いてBLEで行っています。
sequenceDiagram
participant Apps as アプリケーション<br/>レイヤー
participant Hub as iOSアプリ<br/>システムハブ
participant Hardware as ハードウェア<br/>レイヤー
Note over Apps: 統合アプリケーション制御
Apps->>Hub: watchOS/Unity/外部システム
Hub->>Hub: 通信プロトコル変換・統合
Hub->>Hardware: 統一制御インターフェース
Hardware-->>Hub: センサー情報集約
Hub-->>Apps: 状態情報配信
Note over Hub: CoreBluetooth基盤で<br/>全デバイス間通信を一元管理
2.2 主要機能
omicroシリーズのアプリケーションでは、以下の機能が実装されています:
- 複数ロボット同時制御: 複数の球型ロボットとwatchOSアプリ、Unityアプリの間の通信管理
- Unity連携:
- 球型ロボットから受け取った角度情報をUnityアプリケーションに送信
- Unityアプリケーションから受け取った衝突判定のフラグを球型ロボットに送信
- BLE通信: CoreBluetoothを用いた安定したBluetooth Low Energy通信
- omicro / omicro Flux × N
- watchOS App · gestures
- Unity App · XR / collisions
- Game AI · pursuit logic
3. 球型ロボットを操作するためのwatchOSアプリケーション
3.1 基本概要
このアプリはiOSアプリに付随するものです。iOSアプリと同様に球型ロボットを操作するのが主な機能であり、その操作の際は必ずiOSアプリケーションを経由して、球型ロボットに指示を送ります。
3.2 ハンドモーション機能
watchOSアプリケーションならではの機能としては、ハンドモーション機能が挙げられます。これは、パフォーマンスを行う球型ロボット操縦者の手の動きをApple Watchのジャイロセンサと加速度センサで読み取り、それに応じて球型ロボットを操縦する機能です。
sequenceDiagram
participant User as ユーザー
participant Watch as Apple Watch<br/>ジャイロ+加速度センサ
participant watchOS as watchOSアプリ
participant iOS as iOSアプリ
participant Robot as 球型ロボット
Note over User: 手の動きによる操作開始
User->>Watch: 素早く水平に上げる
Watch->>watchOS: センサーデータ取得
watchOS->>watchOS: モーション認識:機能ON
watchOS->>iOS: BLE通信:機能有効化
iOS-->>watchOS: 機能有効確認
User->>Watch: 水平から20°上げる
Watch->>watchOS: 角度変化検出
watchOS->>watchOS: 直進動作認識
watchOS->>iOS: BLE通信:直進コマンド
iOS->>Robot: BLE通信:前進指示
Robot->>Robot: 前進動作実行
Robot-->>iOS: 動作完了確認
User->>Watch: 水平で左右に捻る
Watch->>watchOS: 回転動作検出
watchOS->>watchOS: 左右回転認識
watchOS->>iOS: BLE通信:回転コマンド
iOS->>Robot: BLE通信:回転指示
Robot->>Robot: 超信地旋回実行
User->>Watch: 素早く下げる
Watch->>watchOS: 下向き動作検出
watchOS->>watchOS: モーション認識:機能OFF
watchOS->>iOS: BLE通信:機能停止
iOS-->>watchOS: 機能停止確認
Note over watchOS: 全操作はiOSアプリ経由でロボットに送信
基本操作
3.3 機械学習機能
watchOS上のCoreMLを用いて手の動きを機械学習し、複雑なハンドモーションで操作する機能も実装されています。手の動きのログをCoreMLのActivity Classificationでトレーニングさせ、センシングだけより複雑な手の動きのパターンを読み取れるようにしています。
sequenceDiagram
participant User as ユーザー
participant Watch as Apple Watch
participant App as watchOSアプリ
participant CoreML as CoreML<br/>Activity Classification
participant Model as 学習モデル
participant iOS as iOSアプリ
participant Robot as 球型ロボット
Note over User: トレーニングフェーズ
User->>Watch: 複雑な手の動き
Watch->>App: センサーデータ収集
App->>CoreML: 動きパターンログ
CoreML->>Model: Activity Classificationトレーニング
Model-->>CoreML: 学習完了
Note over User: 運用フェーズ
User->>Watch: 学習済みハンドモーション
Watch->>App: センサーデータ
App->>Model: パターンマッチング
Model-->>App: 認識結果
App->>iOS: BLE通信:複雑コマンド
iOS->>Robot: 高度な制御指示
Robot->>Robot: 複雑動作実行
Apple Watch のジャイロ・加速度データを収集し、CoreML の Activity Classification でジェスチャごとにトレーニング。
運用時は学習済みモデルが手の動きを分類し、認識結果を iOS Hub 経由で球体ロボットに送る。
4. システム間連携
これらのアプリケーションは、omicroシリーズのロボットと密接に連携し、以下のような統合されたシステムを構成しています:
sequenceDiagram
participant User as ユーザー体験
participant Platform as omicroプラットフォーム
participant Innovation as 革新的インタラクション
User->>Platform: 直感的操作(手振り・タッチ)
Platform->>Platform: AI/ML処理・物理制御統合
Platform->>Innovation: XR・複合現実体験
Innovation-->>User: 境界を超えた体験提供
Note over Platform: iOS/watchOS/Unity/ハードウェア<br/>を統合したプラットフォーム
- iOSアプリ: 中央制御ハブとして機能します
- watchOSアプリ: 直感的なハンドジェスチャー操作を提供します
- 球型ロボット: 高精度な物理的動作を実行します
- 外部システム: Unity等との連携によるXR体験を実現します
これらのアプリケーションにより、omicroシリーズは単なるロボットを超えた、革新的なインタラクション体験を提供するプラットフォームとして機能しています。