omicro | 自走式球体型ロボット

1. omicroとは

omicroは自走式の球体型ロボットである。スマートフォンやタブレットからbluetoothでつないで操作できる。Apple Watchを利用して複数のボールを同時に手の動きだけで操作することもできる。

2. システム構成

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

  1. 床に開発した球型ロボットを複数設置する。
  2. 球型ロボットの電源をいれて、iPhoneアプリケーションとBLEで接続する。複数の球型ロボットと接続する場合は、iPhoneアプリを複数接続モードに切り替える。
  3. 球型ロボットで電子コンパスのキャリブレーションを行う。キャリブレーションはiOSアプリから行う。
  4. 球型ロボットをiOSやwatchOSアプリケーションで動かす。操作補助に関しては別システムと連携して行う。

2.1 球型ロボット

球体型ロボットの外側の球体はプラスチックBOX 球体 クリア 径170mmを利用している。
材質はスチロール樹脂。パフォーマンスに使う球体型ロボットはマイコンはmbed LPC1768を利用している。
Bletoothモジュールはkoshian、2つのマトリックスLEDはAdafruit ミニLEDマトリックス基板。
モータードライバはSparkfun TB6612FNG。
6軸センサはTPU6050。地磁気センサはGROVE 三軸デジタルコンパスモジュール v1、Ring LEDはNeoPixel Ring 16連フルカラーシリアルLED。
駆動部はタミヤ 楽しい工作シリーズ No.168 ダブルギヤボックス 左右独立4速タイプ、タイヤやスペーサー、固定具は3Dプリンタで自作の部品を用いてる。
フレームはレーザーカットしたアクリルを使用。
電池はエネループを6本使用し、2本と4本を分割して配置している。ロボットの1番下にはパラストも配置している。これらは重心を整えるため、分散して設置している。
マイコンの制御はiOSアプリケーションからBLEで行っている。

球体の中のロボットが球体の内側の壁を駆けあがろうとすると、重心が前方に偏り球体が前に進む。それを繰り返すことで前後左右に進む。方向転換は左右のモーターを同速で逆方向で回転させて超信地旋回で行っている。

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

アプリケーションはXcodeを用いて、Swiftで作成してる。アプリケーションは球型ロボットと各種アプリのハブとなる役割をになっており、複数の球型ロボットとの通信CoreBluetoothを用いてBLEで行っている。後述するwatchOSアプリとの接続もBLEで行ってる。 Unityアプリケーションとの接続にはFirebase Cloud Firestoreをもちいてる。

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

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

iOSにないwatchOSアプリケーションならではの機能としては、ハンドモーション機能が挙げられる。これはパフォーマンスを行う球型ロボット操縦者の手の動きをAppleWatchのジャイロセンサと加速度センサで読み取って、それに応じて球型ロボットを操縦する機能である。 手を素早く下げた場合には機能がオフになり、素早く水平に上げた場合は機能がオンになる。手を水平状態から20°あげると、球体型ロボットが直進し、手を水平にあげたまま手のひらを左右に捻ると球体型ロボットが左右に回転する。 現在は誤作動が多く実用レベルではないが、watchOSのCoreMLを用いて手の動きを機械学習し、より複雑なハンドモーションで球型ロボットを操作する機能も実装されている。