ドローン「Tello」を遠隔制御するための環境構築についてソースコード付きで解説します。
【はじめに】ドローン「Tello」とは
200g未満のホビードローンで、DJIとインテルの技術供与を受けたRYZE社が開発しています。
そのため他のホビードローンと比べても安定性が高く、コストパフォーマンスの高い機体です。
また、他のドローンと違い最初からPythonのプログラムによる遠隔操作ができるように設計されており、Pythonで操作するためのSDKが公開されています。
そのため、お手軽に誰でもドローンの自動制御プログラミングができます。
【環境構築】Tello-Python SDKのインストール
● 公式で提供している「Tello-Python SDK」をGithub(https://github.com/dji-sdk/Tello-Python)から「Code」→「Download ZIP」でZipファイル形式でダウンロードします。
● Pythonをインストールしていない場合は、以下記事を参考にインストールします。
● TelloVideoの動作に必要なPythonモジュールをpipでインストールします。インストールするPythonモジュールは下記の通りです。
python -m pip install --upgrade pip python -m pip install numpy python -m pip install matplotlib python -m pip install -v opencv-python==3.4.2.17 python -m pip install pillow
● 配布サイト(https://sourceforge.net/projects/boost/files/boost-binaries/1.68.0/)からオープンソースのC++用ライブラリ「Boost」のインストーラをダウンロードし、実行してインストールします。
64bit版: boost_1_68_0-msvc-12.0-64.exe
32bit版: boost_1_68_0-msvc-12.0-32.exe
● インストールが完了したら、「<インストール場所>¥lib64-msvc-12.0」(または、lib32-msvc-12.0)配下にある「boost_python27-vc120-mt-x64-1_68.dll」(または、boost_python27-vc120-mt-x32-1_68.dll)を、「<Pythonのインストール場所>¥Lib¥site-packages」配下にコピーします。
● FFmpegをインストールします(やり方は以下記事を参照)。
解凍したら、「<FFmpegのインストール場所>\bin」配下にある「全てのdllファイル」を 「<Pythonのインストール場所>¥Lib¥site-packages」配下にコピーします。
● 配布サイト(https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe)からVisual Studio 2013 C++のインストーラをダウンロードし起動してインストールします。
● 最初にダウンロードした「Tello-Python SDK」の中にある「Tello-Python-master\Tello_Video\h264decoder\Windows\x64\libh264decoder.pyd」をコピーし、 「<Pythonのインストール場所>¥Lib¥site-packages」配下にペーストします。
● Telloを起動し、TelloとWi-Fi接続します。「TelloVideo」内の「main.py」を実行します。
python main.py
Telloのカメラ映像といくつかのボタンが配置されたウィンドウが開けば、環境構築が成功です。
コメント
ffmpegの記事がなく、【Python/ffmpeg】動画編集(拡張子の変換、結合)を参考にしようとしたのですが、URLのリンクが切れていて開くことができませんでした。
そのため、ffmpegをインストールすることができませんでした。
新たなffmpegのインストール方法を教えていただけると幸いです。
コメントありがとうございます。
最新の情報に修正しました。
上記手順で設定を行ったのですが最後「TelloVideo」内の「main.py」をIDLEで実行すると下記メッセージが出てしまいます。
↓
Traceback (most recent call last):
File “C:\Users\ユーザー名\Tello-Python-master\Tello_Video\main.py”, line 1, in
import tello
File “C:\Users\ユーザー名\Tello-Python-master\Tello_Video\tello.py”, line 5, in
import libh264decoder
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
>>>
環境構築が出来ない考えられる原因が何か
お教え頂けると幸いです。
コメントを書き込ませて頂いた後何度かTryしましたらTELLO Controllerのウインドウが開きTelloのカメラ画像を見る事が出来ました。
CommandPanelから操作しようとするとCaught exception socket.error : [Errno 10052]と表示されますがTELLO ControllerのSnapshot!ボタンでカメラ画像の写真が撮る事が出来ました。
このページの開設のおかげです。
有難う御座いました。
コメントありがとうございます。
解決方法までご教示いただきこちらこそありがとうございました。
TelloVideoを動かすにあたりまして、こちらサイトを参考に
環境構築を実施し、
最後「TelloVideo」内の「main.py」をIDLEで実行すると下記メッセージが出てしまいます。
↓
Traceback (most recent call last):
File “C:\Users\ユーザー名\Tello-Python-master\Tello_Video\main.py”, line 1, in
import tello
File “C:\Users\ユーザー名\Tello-Python-master\Tello_Video\tello.py”, line 5, in
import libh264decoder
ImportError: DLL load failed: 指定されたモジュールが見つかりません。
C:\Tello-Python\Tello_Video\h264decoder\Windows\x64\libh264decoder.pyd
このlibh264decoder.pydを
Python2.7のインストールフォルダ
C:\Python27\Lib\site-packages
直下に、「コピー」してあるのですが、
動作させると上記のエラーになります。
何か、考えられる原因ございますでしょうか?
すみません。
自己解決しました。
DLしてきた Tello-Pythonの一式の中に存在している以下のzipファイル
「tello_video_dll(ForWin64).zip」
を解凍し
中に入っている「vcredist_x64.exe」以外の「dllファイル群」を
Python2.7インストールフォルダ
C:\Python27\Lib\site-packages
にすべてコピーして、再実行しました所、エラーは出ずに
ドローンのカメラ映像がPC上に表示されました。