LoginSignup
21
21

More than 5 years have passed since last update.

Apple WatchでDroneを制御してみた

Posted at

概要

そのまんまなんですが、Apple WatchでDroneを制御するということをやってみました。

開発環境

使ったデバイス

SDKなど

※ 現在最新のSDKは3.8です。 (2016/01/22 時点)

仕組み

現状Apple WatchとDroneを直接接続することはできないので、各々iPhoneを経由して通信します。

Apple Watch (watchOS 2)
 ⇅ Watch Connectivity
iPhone (CoreBluetooth / ARSDK3)
 ⇅ BLE
Drone (Rolling Spider)

ざっくりした流れは下記です。

  1. iPhoneとRolling Spiderを接続 (ARSDK3を利用)
  2. Apple Watchの加速度センサ情報を取得、Watch Connectivityを利用してデータをiPhoneに送信
  3. Apple Watchの角度に応じて、Rolling Spiderにコマンド送信

1. iPhoneとRolling Spiderを接続 (ARSDK3を利用)

公式Documentationに従い、iOS用のSDKをダウンロードして組み込み。(※)
接続部分は、下記Sampleに含まれているRSPilotingNewAPI を参考にしました。

Parrot-Developers/Samples

※ SDKアップデートに伴い、Documentationの説明がver 3.8用のものになっています。
3.7.5と3.8で組み込み時の手順が若干異なるのでご注意ください。

2. Apple Watchの加速度センサ情報を取得、Watch Connectivityを利用してデータをiPhoneに送信

データは逐一送るのではなく、コマンド単位で送信するようにしました。(データ送信がボトルネックになるのを避けるため)
Watch Connectivityについては下記を参考にさせていただきました。

3. Apple Watchの角度に応じてRolling Spiderにコマンド送信

今回Apple Watchを装着した腕を前に突き出した状態で、Rolling Spiderをコントロールするようにしています。
そのため、Apple Watchの座標系とRolling Spiderの座標系がz軸を中心に90度ずれている形になります。

  • ホバリング中
    • Apple WatchのPitch ⇒ Rolling SpiderのYaw
    • Apple WatchのRoll ⇒ Rolling SpiderのGaz
  • 移動中
    • Apple WatchのPitch ⇒ Rolling SpiderのRoll
    • Apple WatchのRoll ⇒ Rolling SpiderのPitch

また、その場にホバリングしてYaw/Gaz(高度)を制御するモードと、
Roll/Pitchを制御して移動するモードの2つのモードに分けました。

デモ

Apple Watch x Drone
Apple Watch x Drone from syug on Vimeo.

デモ時の注意点

Apple Watchの自動スリープを解除しておく

Apple Watchは手首の動きに応じて画面をスリープしてくれて便利なのですが、制御時はスリープされると困るので解除しておきます。

  • 設定 > 一般 > 画面をスリープ解除
    • 「手首を上げてスリープ解除」をオフに
    • タップ時「70秒間スリープ解除」に

IMG_7617.PNG IMG_7616.PNG

感想

操作感

  • 片手で操作できるというのは楽かも
    • ただコントロールが難しいのでもろもろ要改良
  • (当たり前ですが)操作者がよろけたりすると変な方向に飛んでっちゃうので、不慮の動きへの対処が必要
  • Watch + 音声入力とかもやってみたい

開発面

  • ARSDKはらくちん
    • Droneのスキャンや接続周りなど、面倒そうなところはカバーしてくれてる
    • DocumentとSample通りに組めばOK

Rolling Spiderすごい

  • ほっといてもホバリングしてくれるので、Drone初心者にも扱いやすい

コード

接続周りとか、かなりざっくりした作りなのでご注意ください m(_ _)m

参考リンク

21
21
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
21