断片

です・ます調が記事によって違ったりするブログ

声でドローンを動かす

これはMCC Advent Calendar 2018 10日目の記事です。

adventar.org

昨日はid:nullnumaさんによる、Wacomのペンタブレットを分解してみたでした。

学園祭のコンテンツ関連のエントリを書いている人が誰もいなかったので、学園祭関連の話をします。

概要

学園祭で展示するコンテンツとして、声で操作するドローンのプログラムを書いた。 対象のドローンはParrot Rolling Spiderで重量55gのミニドローンとなっている。

www.parrot.com

本来はスマートフォンとRolling SpiderをBluetoothで繋いで操作して遊ぶおもちゃなのだが、 BLEでの制御部分の実装がNodeJSで使用可能なライブラリとして公開されているのでこれを使った。

github.com

声の取得について、当初はGoogle Cloud Speech API を使って取得していたが、ネットワーク環境が必要なことから(学園祭の部屋のネットワーク環境が最悪だった)断念し、ローカル内にJuliusサーバを構築し、ある程度高速に音声認識結果を取得できるようにした。

f:id:epcnt19:20181210025541p:plain

結果

Juliusは、Dictation KitのDNNを使ったものを動かしていたが、雑音の入った会場内では認識がかなり難しかった。

github.com

Rolling Spiderへの制御命令は、ドローン自体の物理的な動作を含めると、前回の命令から時間をあけて(〜5秒程度)送信する必要があり、 コントロールするのは中々難しかった。さらに、会場が狭く、実際に飛ばすと危険だったので、Rolling Spiderは飛ばないように机に括り付けてデモをやった。悲しい。

反省

Rolling Spiderがミニドローンということもあり飛行時間が5〜10分程度なので換えの予備バッテリーを複数買っておいた方が良かった。Rolling Spider自体、学園祭で使うというより安価で遊べそうだったので買ったわけだが、もう少し金を出して、Wi-Fi接続可能なドローンを買った方が遊びごたえがありそうだった。

コード

gist.github.com

おわりに

同じ部屋で展示を行っていたこちらが大変人気があり面白いコンテンツだったので、いつか解説エントリが出ることを願いつつ終わりにします。