omicro:球体型ロボット

1. omicroとは

omicroは球体型ロボットである。スマートフォンやタブレットからBluetoothで接続して操作できる。また、Apple Watchを使用して手の動きだけで制御することも可能である。

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 球型ロボットを操作するためのiOSアプリケーション

このiOSアプリケーションは、システムのハブの役割を担っており、複数の球型ロボットomicroとwatchOSアプリ、Unityアプリの間の通信はすべてこのアプリを介して行われている。複数の球型ロボットとwatchOSアプリとの通信はCoreBluetoothを用いてBLEで行っている。

Unityアプリケーションとの接続は2つの主な用途があり、1つは球型ロボットから受け取った角度情報をUnityアプリケーションに送信するためである。もう1つはUnityアプリケーションから受け取った衝突判定のフラグを球型ロボットに送信するためである。

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

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

watchOSアプリケーションならではの機能としては、ハンドモーション機能が挙げられる。これは、パフォーマンスを行う球型ロボット操縦者の手の動きをApple Watchのジャイロセンサと加速度センサで読み取り、それに応じて球型ロボットを操縦する機能である。手を素早く下げた場合には機能がオフになり、素早く水平に上げた場合は機能がオンになる。手を水平状態から20°上げると、球体型ロボットが直進し、手を水平に上げたまま手のひらを左右に捻ると球体型ロボットが左右に回転する。

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