本当はもっとやりたいことがある|デジハリ
本当はもっとやりたいことがある|デジハリ
2015.10.07
第1回
飛んでるあいつ

ノンプログラマでもコピペでOK!JavaScriptを使ってDroneを飛ばそう

のびすけ

こんにちは、エンジニアののびすけです。
さて、今回はDrone(ドローン)の話です。注目されてますよね〜。

以前、株式会社フォークの石射さんにParrot DroneをNode.jsで制御するやり方を教わりました。その後、自分で購入して少しずつ触っています。

そして、初めてDroneを飛ばしたときに感動したので、その勢いで社内勉強会も実施しました。

参加者はディレクターやデザイナーといったエンジニア以外の職種の人のほうが多かったのですが、Droneを問題なくプログラム制御することができました。

今回は、社内勉強会でやった内容をもとに、 ノンプログラマな読者のみなさんもDroneをプログラムで制御できるようになる7つのステップを紹介してみたいと思います。

▼ テクノロジーをおもしろがれ!

Droneのプログラム制御の事例

ますは事例を見ておきましょう。

Droneは以下のようにインスタレーションで利用されるシーンが現状だと多いイメージです。こういったものは操縦が大変……などと言われます。たしかにリモコン経由で人間が操作すると難しいものも多いですが、プログラムで制御することで安定して動かすことが可能です。

事例1:Perfumeのライブでの演出 / 株式会社ライゾマティクス

ライゾマティクスが行ったPerfumeのライブでの演出。Droneだと真っ先に思い浮かぶくらい有名なインスタレーションです。ライゾマティクスの作品はかっこいいですよね〜。

参考:ヤバいから見てっ! ライゾマティクス真鍋大度の動画と作品(本人による解説つき):SENSORS IGNITION 2015
http://weekly.ascii.jp/elem/000/000/311/311552/

事例2:Session / 株式会社フォーク

冒頭でも触れたフォークの作品です。曲にシンクロして動く2台のDroneがかっこいいです。

参考:映像クリエイティブ『SESSION』を制作してみました
http://4009.jp/post/2015-08-10-session/

JavaScriptでDroneを飛ばすための7ステップ

それでは実際に、Droneを飛ばすためのステップを一つずつ見ていきましょう。

STEP1. Droneを選ぼう

Droneだと、DJIParrotという会社が有名です。今回はParrotの製品を扱ってみたいと思います。

Parrot製品にも色々とあるのですが、今回はAirborne Night Drone マクレーン(以下「マクレーン」という)を使います。マクレーンはMini Droneと言われるタイプのDroneで、わりと小型です。

なお、執筆時点では、Amazonで1万6,000円ほどで購入可能でした。

パロット ミニ ドローン エアボーン ナイト クワッドコプター マクレーン (ネイビー) 【日本正規品】
パロット ミニ ドローン エアボーン ナイト クワッドコプター マクレーン (ネイビー) 【日本正規品】

参考:LEDライト搭載で暗闇でも走行・飛行できるParrotのミニドローン「Jumping」と「Airborne」の実機11機種を発売直前レビュー
http://gigazine.net/news/20150918-parrot-minidrones/

ちなみに、使用するマクレーン以外のタイプのMini Droneでも、今回の手順でプログラム制御できますよ。

STEP2. Droneを起動しよう

何はともあれ、まずはDroneの起動方法から学びましょう。といっても、今回利用するマクレーンは、背面にある出っ張りを押すだけで起動できます。

ここで電源のオン/オフを切り替えましょう。

 

1:電源オフ(消灯)

 

2:起動ボタンを押した(ライト赤)

 

3:起動中(ライト橙)

 

4:起動(ライト緑)

基本的に電源ボタンを押して待っていれば、上記1〜4の順番でライトの色が変わり、起動します。ライトが緑色になったら操作可能な状態です。

補足:アプリで動作確認する

今回の手順としては別にやらなくても大丈夫なのですが、「箱から出してすぐに試してみたい!」という方は、スマートフォンアプリから動作確認をしてもいいかもしれません。「FreeFlight3」というアプリを使って飛ばします(アプリの使い方は本題ではないいので省略)。

こんな感じでラジコン感覚で試してみるのも良いと思います。

STEP3. Droneをプログラムから制御する仕組みを知ろう

ParrotのDroneはWi-Fiで制御するものと、Bluetoothで制御するものがあります。手元のデバイスがどちらのタイプなのかは説明書などで確認しましょう。

ちなみに私は、すべてがWi-Fiで接続できるものだと勘違いして、Bluetoothをオフにしていたせいで「なんで動作しないの?」みたいなことがありました。

 

なお、今回利用するマクレーンなどのタイプはBluetooth経由で制御します。パソコン側のBluetoothがオンになっていることを確認しましょう。

 

これで、パソコン側でプログラムを書いて実行することによってDroneに対して命令を送ることができます。色々なプログラミング言語を使うことができるのですが、今回はWeb界隈の人にも馴染みがあるNode.jsを使ってみましょう。

STEP4. Droneの開発環境を整えよう

前段が多くなってしまいましたが、実際に開発をしていきましょう。ちなみに私の環境は以下のような感じです。エラーが出た際などの参考にしてください。以下、説明についてはMacをもとに書いていきます。

  • Mac OSX Yosemite v10.10.5(10.9系以前では動作しない場合があるかもしれません。)
  • Mac Book Pro Mid2014(Mid2011付近は怪しいかもしれません。)
  • Node.js v4.1.1(←現時点最新ver※)

※独り言:io.jsの時代を抜けたらNode.jsがあっという間にv4ですね〜

さて、まずはNode.jsが動く環境を用意するべく、Node.jsをインストールしましょう(Node.jsをインストール済みの方は読み飛ばしてください)。

Node.jsは4.1.1を入れましょう(古いバージョンだとエラーが起きる場合があります)。

$ nvm install 4.1.1

にしましょう。

 

$ node -v
v4.1.1

ここまでできればOKです。