プログラミング

Telloドローンでプログラミング!ーMacでカメラ画像を取得する方法ー

ついにホビードローンデビューです!Tello買っちゃいました〜。

公式ビデオ

この公式ビデオにTelloの楽しさが全部詰まってますので、「どんなことができるか」を知りたい人は見てみてください。


Say Hello to Tello

私がTelloを選んだ理由

あのIntelとドローン界のAppleとも呼び声高いDJIが技術提供しているのなら間違いない!と思って買ってみたってのが一番大きい理由かもしれません。他にも個人的には以下の3点が響きました。

1.コントローラなし、200g以下でコンパクト

旅行とか屋外に持っていくにもコントローラが結構邪魔なんですよね。荷物はできるだけ少なくしたい。コントローラは正直いらなかったので、なくてスッキリ。また、重量が80gとかなり小さく200g未満なので厄介な改正航空法にも引っかからないものポイントです。

2.GPSなしでも安定、プロペラガード装備のため屋内で飛ばしやすい

デフォルトでプロペラガードが付いているので屋内でも安心して飛ばせます。割と動作に安定感がありますので、室内でも怖がらずに飛ばせます。ドローンは意外と飛ばす場所が限られるので家の中で気軽に飛ばせるのが結構大事です。

3.プログラムから操作可能

TelloはScratchという子供にも簡単に使える言語をサポートしています。お子さんのプログラミング学習なんかにもオススメです。他にpythonもサポートしています。

あと、gobotというgo言語で書かれたIOT向けのライブラリでカメラ映像を取得するプログラムが非公式で公開されていました。

サンプルコード↓

Hello, Tello – Hacking Drones With Go

Macでプログラムから画像取得してみた

gobot+gocvをインストールして、tello_opencvサンプルを実行してみました。

サンプルコード↓

Gobot Example – tello_opencv

実行してみたけど、異常終了しました。どうやら、Mac版のOpenCVではメインスレッドでOpenCVを実行しないとエラーになるらしい…。

OpenCVのウィンドウに画像を表示するのは諦めて、ひたすら画像を連番の画像ファイルとして保存するようなプログラムに変更してみたら動きました。

まとめ

  • Telloはコンパクトで使い勝手の良いドローンだった
  • Tello+Macでプログラムを動かす時はOpenCVがサブのスレッドで動かせないから注意が必要

ここまで読んだ人はこちらの記事もどうぞ。Tello画像で物体認識に取り組んでいます。

Telloドローンでプログラミング!ーディープラーニングで物体認識編ー

今回使ったドローン↓

予備バッテリ↓