トイドローン Tello をビジュアルプログラミングツール Node-REDで制御してみよう 第1回
このたび記事を書かせていただく田中正吾と申します。
普段は、フリーランスのフロントエンドエンジニアとして開発をしつつ、人と情報が触れる接点となるインターフェースに興味を持ち、最近はInternet of ThingsやMixed Reealityのコンテンツ構築にも関わっております。
と、ご紹介させていただきましたが、今回はそういった関わりの中で、とても面白いなと思っているドローンの技術にまつわる記事を数回に渡って書いていきたいと思います。
この第1回では、まずは基本的な準備をしていきましょう。
トイドローン Tello
無人で遠隔操作や自動制御によって飛行できる機器全般をドローンといいますが、今回扱うものは玩具のラジコン感覚で動かせる小さくて軽量なトイドローンと呼ばれる分類のものです。
その名も Tello といいます。
私もはじめてドローンを買ったので他機種との比較なんてものはできませんが、いろいろと調べて以下のところに魅力を感じました。
- 手のひらサイズでとても軽量で初心者でも安全に試せる
- スマートフォンにコントローラーアプリをインストールして操作できる
- 動画と静止画撮影機能がついておりドローンの用途を考えやすそう
- プログラムから制御も可能でエンジニアごころをくすぐる
- たくさんの方が様々な実験やナレッジをまとめてくれて技術的にもとっつきやすい
- 価格もお値ごろ
といったところに注目し購入しました。すでに先行される方が様々な実験やナレッジをまとめられているのは、一番心惹かれました。
こちらのページにもプログラミング制御について強調されています「遊び心こそ学びの最大の基盤です。」ということば素敵ですね。
そして、Telloは軽量で小さいので室内でも手軽に試せることも、プログラミング制御で試行錯誤をする上ではとてもありがたく、自分の部屋ですぐに試せるというの心強いです。
Tello SDKを使ってTello用のソフトウェアアプリつくる情報はこちらにあります。
もちろん今は雰囲気だけ追っておきましょう。あるということだけ分かれば十分です。
こちらを、ざっとまとめると、
- UDPという通信方法でコントロールするPCとTelloがやりとりする
- 動作のさせ方は right 50(右に50cm)といったシンプルな命令が多い
- 本来必要な姿勢制御的なところはTelloが自分自身で行うのでプログラムには含めなくてよさそう
といったところで、標準のコントローラーアプリで行う際も手軽に動かせるところが、うまくSDKで制御するプログラム側でも引き継がれています。
また、このような扱いやすさから、
- TelloのPythonサンプルを動かす – Qiita
- GoでトイドローンDJI Telloを制御する #golangjp – Qiita
- 小型ドローンTelloの編隊飛行をESP32でやってみた : DJI Tello drone formation flight – Qiita
などなど、Golang・Python・Node.jsといった言語での制御だけでなく、ESP32のようなIoTで試すときによく使われるハードウェアとの連携など先に行く方が様々な知見があります!
Telloの準備
Telloの準備です。Telloについては、コントロールアプリで操作するところまで設定します。
【DJIトイドローン】Telloの開封~初期設定~飛行までを徹底レビュー | DroneAgent
こちらの記事が、
- 開封から準備
- 機体とスマートフォンの接続
- コントロールアプリで操作する
ところまでとてもわかりやすかったので、是非参考にしてください。
このようにバッテリーがしっかり奥まで入れた状態で点滅したらアプリを起動します。
アプリ側でも丁寧に説明が出るので進めていきます。右下のTelloに接続ボタンを押すとWi-Fi接続画面に行きます。
TELLO-ではじまるWi-Fiが出てくるはずなので、接続します。
アプリが接続されれば準備完了です。しばし、アプリで遊んでみましょう。
ビジュアルプログラミングツール Node-RED の準備
さて、このSDKをさらに扱いやすくするためビジュアルプログラミングツール Node-RED でTelloと連携していきます。
Node-REDはハードウェアデバイス/APIおよびオンラインサービスを接続するためのツールで、この画像のようにブラウザ上のFlowエディタで簡単にハードウェアデバイス/APIおよびオンラインサービスを接続することができます。
Node.jsのバージョン確認
まずインストールしていきましょう。Node.jsがインストールされていればすぐにインストールが可能です。
2018/09/21現在では、Node.js LTS 8.xを使用することをおすすめします。
Node.jsのバージョンを確認するには
でバージョンを確認しましょう。
Node-REDのインストール
では、Node.jsのパッケージマネージャーからインストールします。
Macの場合はターミナルから、
Windows 10の場合はコマンドプロンプトから、
を実行してインストールします。
Windowsでのインストールの例ですがこのようなログがでてインストールされるはずです。
Node-REDの起動
さてインストールできたら、Macの場合はターミナルから、Windows 10の場合はコマンドプロンプトから、
とコマンドを打って起動します。
このようなログが出て、
このように
と出たら起動成功です。
早速、ブラウザで
と打ち込んで起動しましょう。
このように表示されれば成功です。
先ほど起動したターミナル(あるいはコマンドプロンプト)を閉じるとNode-REDは終了できます。
準備は完了!
ということで、 Tello と Node-RED の準備は完了しました。
次回はいよいよNode-REDでTelloを制御してみましょう!
週1日~/リモートの案件に興味はありませんか?
週1日~/リモートの関わり方で、「開発案件」や「企業のIT化や設計のアドバザリーなどの技術顧問案件」を受けてみませんか?副業をしたい、独立して個人で仕事を受けたエンジニア・デザイナー・PM・技術顧問の皆様のお仕事探し支援サービスがあります。