omicro:球体型ロボット
1. はじめに
omicroは、スマートフォンやタブレット、Apple WatchからBluetoothで直感的に操作可能な球体型ロボットです。完全に保護された設計により、STEAM教育に適した構造を持ち、360度全方向に対応する駆動システムを搭載しています。また、ハンドジェスチャーによる操作も可能であり、複数のロボットを同時に制御する機能も備えています。これにより、教育現場でのプログラミング教育やロボット工学の実習、家庭での子供たちの学習支援、研究開発におけるロボティクス研究、イベントや展示会でのインタラクティブなデモンストレーションなど、多岐にわたる応用が可能です。
2. システム構成
omicroの動作には、ハードウェアとソフトウェアの連携による以下の手順が必要です:
2.0 システムセットアップ手順
sequenceDiagram
participant Setup as 初期設定
participant omicro as omicroシステム
participant Control as 制御開始
Setup->>omicro: 設置・接続・キャリブレーション
omicro->>Control: システム準備完了
Control->>Control: iOS/watchOS制御開始
1. 初期設置
平坦で安定した床面にomicroを配置する。球体の特性上、傾斜面や不安定な場所での使用は避ける。
2. 通信の確立
omicroの電源を投入後、専用iOSアプリケーションを起動し、Bluetooth Low Energy(BLE)による無線通信を確立する。接続状況はアプリケーション画面で確認できる。複数のomicroと接続する場合は、iOSアプリを複数接続モードに切り替える。
3. センサーキャリブレーション
正確な方位制御のため、iOSアプリケーション上から電子コンパスのキャリブレーション処理を実行する。この工程により、設置環境における磁気的影響を補正し、高精度な姿勢推定を可能にする。
4. 制御開始
キャリブレーション完了後、iOSアプリケーション、またはApple Watch上のwatchOSアプリケーションから、omicroの移動制御を開始する。
2.1 球体型ロボット
球体型ロボット omicroは、外側の球体とその中で動くロボットの二部分から構成されています。
外側の球体
外側の球体は、直径170mmのクリアなプラスチックBOXを使用しており、材質はスチロール樹脂です。表面には硬化ガラスコーティング剤が塗装されており、耐久性と視認性を高めています。
内部のロボット
内部のロボットは、M5Stamp S3を中心に、2つのマトリックスLED、モータードライバのSparkfun TB6612FNG、6軸センサのMPU6050、地磁気センサ GROVE三軸デジタルコンパスモジュールv1、NeoPixel Ring 16連フルカラーシリアルLEDで構成されています。フレームはレーザーカットされたアクリルを使用しています。電源にはエネループ電池を6本使用し、これらは2本と4本に分けて配置されています。ロボットの最下部には重心を整えるためにパラストが配置されています。
sequenceDiagram
participant Power as エネループ電池×6
participant MCU as M5Stamp S3<br/>メインコントローラ
participant Driver as TB6612FNG<br/>モータードライバ
participant Motors as DCモーター×2
participant IMU as MPU6050<br/>6軸センサ
participant Compass as 地磁気センサ
participant LED as マトリックスLED×2
participant Ring as NeoPixel Ring
Note over MCU: システム起動・初期化
Power->>MCU: 電源供給
MCU->>Driver: モータードライバ初期化
MCU->>IMU: 6軸センサー初期化
MCU->>Compass: 地磁気センサー初期化
MCU->>LED: LED表示初期化
MCU->>Ring: NeoPixelリング初期化
Note over MCU: 動作制御ループ
loop 制御サイクル
IMU-->>MCU: 加速度・ジャイロデータ
Compass-->>MCU: 方位データ
MCU->>MCU: 姿勢・方位計算
MCU->>Driver: モーター制御信号
Driver->>Motors: 駆動輪回転制御
MCU->>LED: 目の表情制御
MCU->>Ring: 周囲LED演出
end
車輪と運動機構
ロボットには合計10個の車輪があり、動力は下部の大きな2つの車輪にのみ繋がれています。ゴムタイヤと球体が直接接触するとグリップが強すぎるため、医療用のサージカルテープを使用して摩擦を調整しています。その他の8つの車輪は、静止時には球体の内壁に接触していませんが、走行時には内壁に触れるようになっています。これにより、「ボールの直進安定性向上」、「衝撃吸収」、「回転時の軸保持」という役割を果たしています。車輪が回転すると、内部のロボットが球体の内側の壁を駆け上がることで、ボールが前進します。ボールの方向変更は、車輪が逆方向に等速で回転することで、超信地旋回を行い、その場での回転が可能です。
sequenceDiagram
participant User as 操作指令
participant MCU as M5Stamp S3
participant Driver as モータードライバ
participant Drive as 駆動輪×2
participant Support as 補助輪×8
participant Ball as 球体
Note over User: 前進指令
User->>MCU: 前進コマンド
MCU->>Driver: 同方向回転指示
Driver->>Drive: 両輪同方向回転
Drive->>Ball: 内壁を駆け上がり
Support->>Ball: 内壁接触で安定化
Ball->>Ball: 前進動作
Note over User: 回転指令
User->>MCU: 回転コマンド
MCU->>Driver: 逆方向回転指示
Driver->>Drive: 左右逆回転
Drive->>Ball: 超信地旋回
Support->>Ball: 軸保持・衝撃吸収
Ball->>Ball: その場回転
Note over Support: 補助輪の役割
Support-->>Ball: 直進安定性向上
Support-->>Ball: 衝撃吸収
Support-->>Ball: 回転時軸保持
2.2 操作アプリケーション
omicroの操作には専用のiOSアプリケーションとwatchOSアプリケーションを使用します。これらのアプリケーションの詳細な機能や操作方法については、「omicroシリーズ専用アプリケーション」をご参照ください。
主な機能:
- iOSアプリ: システムハブとして複数ロボットの制御、Unity連携
- watchOSアプリ: ハンドジェスチャーによる直感的操作、CoreMLを活用した機械学習機能