Skip to content

GAI-313/Tello-Console

Repository files navigation

Tello-Console 7.1.0

English version is here

現在工事中!!!

不定期に更新します。ご了承ください。

 このライブラリは TelloSDK をもとに初心者でもわかりやすく Tello ドローンを使ったプログラムを作成、実行できるラッパークラス tello.py を提供します。

目次

紹介

 Tello-Console は DJI Ryze Tech Tello-EDU 向けの Python プログラムツールです。このライブラリを実装することで、ドローン操作メソッド(ドローンを操作するためのプログラム関数)をコマンド感覚で使用でき、Python をこれから始める人でもすぐにドローンを使ったプログラムの実装が可能になります。ベースとした SDK は TelloSDK で、これらに追加機能を多く搭載し最適化したものが Tello-Console です。

主な特徴

  • わかりやすいステータス表示
     ドローンに対してどんなコマンドを送信したか、ドローンからどのような応答が来たのか、どのようなエラーが発生したのか、そのエラーの解決方法はあるのか、などの状況を表示してくれるので、自己解決が容易にできます。また、Tello-Console と Tello 間の通信状況の表示を無効にすることもできます。
  • 自動着陸問題を回避できる
     Tello は SDK モード(プログラムによってドローンを操作できるモード)の時、15秒間何もコマンドが送信されないと自動で着陸します。この問題は本ライブラリではデフォルトで無効になっているため、ドローンを継続して飛行させることができることで柔軟なプログラムを構築できます。
  • カメラへのアクセスが容易
     Tello のカメラへアクセスするには、OpenCV を使用して、frame 変数を取得するだけで使用できます。
     また、 TelloSDK 3.0 によって Tello の前方カメラだけでなく、機体下部のビジョンカメラへのアクセスも可能です。
  • 豊富なコマンド
     TelloSDK3.0 のコマンドに加え、オリジナルのコマンドも搭載しているため、柔軟かつ複雑なタスクを組むことができます。詳しくはコマンド一覧を参照してください。
  • アップデートして新機能を使う
     Tello-Console は不定期に更新します。アップデートをするたびに新たなチュートリアル、機能、修正を施します。詳しい更新情報はリリースノートを参照してください。
  • チュートリアルによるコーディングサポート
     Tello-Console をすぐに、楽しく使用できるために、チュートリアルを日々作成中です。初心者でもわかりやすい記事を目指して現在製作中なので、乞うご期待。

インストール

 Tello-Console を導入するには、いくつか手順が必要です。Tello-Console の導入方法は OS によって異なります。OS ごとにインストール方法を紹介します。

インストール作業を行う前に(初心者の方は必ずお読みください)
作業方法をよく読み作業に当たってください。作業を飛ばしてしまうと正常にインストールできない場合があります。

 以下の記事から各 OS ごとのインストールガイドまでジャンプできます。

Windows に Tello-Console を導入する方法

 ここでは、Windows に Tello-Console をインストールする方法 を解説します。紹介する導入方法は Windows 10 で検証した方法となります。Windows 11、や、Widnows 10 以前のバージョンのものでは若干操作方法が異なる場合があります。

現在 WIndows では Tello からのカメラビューアクセスに遅延が発生する問題を抱えています。現在調査中ですが、可能であれば Linux での運用を強くお勧めします。

1.コマンドプロンプトを開く

 検索バーに cmd と入力して、コマンドプロンプト を開きます。

~~コマンドプロンプトについて詳しく知りたい場合は、コマンドプロンプト コマンドガイド を参照してください。現在作成中。

2.python コマンドを入力する

 黒いウィンドウが表示されたら、そこに python と入力してください。

 入力したら、エンターキーを押して入力されたコマンドを実行します。


実行して、Microsoft Store が開いたら、手順3 から順番に作業を進めてください。Microsoft Store アプリが開かずにコマンドプロンプトの表示が変わったら 手順4 から作業を進めてください。あなたの環境にはすでに python がインストールされています。

3.python をインストールする

 MicroSoft Store が開いたら、インストール をクリックして、表示されている python をインストールします。


インストールボタン が、スタートピンに固定 に表示が変わったらインストールは完了です。コマンドプロンプトに戻り、もう一度 python コマンドを実行してください。

4.確認

 python を実行すると、以下のように表示が切り替わります。このように末尾が > から >>> に変わったら 無事 Python のインストールは成功です!


quit() を実行して Python 実行モードを終了します。


5.必要なパッケージをインストールする

 以下のコマンドを 1行づつコピペして 実行します。

pip3 install opencv-python

6.Tello-Console をインストールする

 Tello Console は、Git というプログラムを共有できる場所からインストールする必要があります。そのためにここで git をセットアップを行います。

 以下のリンクから、Git for Windows をダウンロードします。以下のサイトにある Download をクリックします。



 ダウンロードフォルダにダウンロードされたインストーラがあります。これを実行します。



 インストールウィザードの "Next" を、インストール進捗バーが表示されるまでひたすらクリックしてください。



 インストール進捗バーが表示されて、これが消えたら、下のようなウィンドウが表示されます。このウィンドウにある "Launch Git Bash" にチェックを入れてください。



もう一つ黒い コマンドプロンプトみたいなウィンドウ が表示されたら完了です。

7.Tello-Console をダウンロードする

 コマンドプロンプトに戻り、以下のコマンドを 1行づつコピペして 実行します。

cd %homepath%
git clone https://github.com/GAI-313/Tello-Console.git

コマンドプロンプトで git コマンドが認識されない場合
上記の git コマンドを実行したとき、以下のようなエラーが表示された場合、以下の手順 に沿って Tello-Console をインストールしてください。
 


  1. Git for Bash を開く
    git for bash とは、先ほど説明した コマンドプロンプトみたいなウィンドウ のことです。


    もし、上記のウィンドウが表示されていない場合は、**検索バー** で **"git"** と入力して候補に出てきた **"Git Bash"** を実行してください。
  2. コマンドを実行
     以下のコマンドを 1行ずつコピペ実行してください。 Git Bash は、ショートカットキー Control + V が利用できません。右クリックして Paste をクリックしてください。

    cd ~ && git clone https://github.com/GAI-313/Tello-Console.git
    

これで WindowsにTello-Console のインストールする作業は完了です!!

ヒント
 Tello-Console ディレクトリをエクスプローラ上でクイックアクセスに登録しておくことで、素早くアクセスすることができるようになります。

Tello-Console を実行してみる に進む

macOS に Tello-Console を導入する方法

 macOS に Tello-Console をインストールする方法を解説します。紹介する導入方法は、macOS Monterey(12.0) で検証した導入方法となります。それ以前、以降の macOS では、若干操作方法が異なる場合があります。

1.ターミナルを開く

  1. Command キーとSpace キーを押して SpotLight 検索を開きます。
  2. Spotlight 検索欄内に "ターミナル" と入力します。
  3. 候補として出てきた "ターミナル.app" を起動します。

ターミナルの外観設定をしていない方へ
ターミナルの外観を最適化する を参照し、ターミナルの外観を設定してください。Tello-Console を実行する際の表示に問題が発生します。(今後対策予定)

2.Pythonのセットアップ

 macOS はバージョンまたはお使いの環境によって Python の環境も異なります。ここではあなたが使用している Mac に標準インストールされている Python のチェックと Python のセットアップ方法を紹介します。

以下のコマンドをコピペしてコマンドを実行してください。コマンドの実行は エンターキーを押すだけです。

python -V

 このコマンドは、Mac に標準でインストールされている Python のバージョンを確認するコマンドです。この時、お使いの Mac の環境によって応答してくるテキストが異なります。 以下の項目に該当した場合、項目をクリックしてセットアップを行ってください。

A. zsh: command not found: python または bash: command not found: python と返された場合

 このテキストが表示された場合、python というコマンドが使用できない状態を表しています。python3 コマンドが使用できるか確認してみましょう。以下のコマンドをターミナルで実行してください。

python3 -V

python 3.x.x という応答がされたら、お使いの Mac では python3 コマンドが有効であることを表しています。以下のコマンドをターミナルで実行して、python コマンドでも python3 コマンドを実行できるようにします。
 まずは現在のシェル環境を変更します。以下のコマンドをターミナルで実行してください。

chsh -s /bin/bash

次に、Command + Q でターミナルを終了し、再度ターミナルを開いてください。
 再度ターミナルが開いたら、以下のコマンドを実行してください。このコマンドは python というコマンドで python3 コマンドを実行できるようエイリアスを作成するコマンドです。

echo "alias python='python3'" >> ~/.bash_profile

同様に以下のコマンドも実行してください。

echo "alias pip='pip3'" >> ~/.bash_profile

 これで python の設定は完了です。python -V コマンドを実行して python3 のバージョンが表示されることを確認してください。

python -V

 これで Tello-Console をインストールする準備が整いました。

B. python 2.x.x と返された場合

 このテキストが返されたら、現在お使いの Mac にインストールされている Python のバージョンが python2 系列であることを示しています。Tello-Console は Python2 環境では実行できません。 ここではお使いの Mac に Python3 をインストールする方法を紹介します。
 以下のコマンドを実行して、コマンドライン・デベロッパ・ツール のインストールを行います。

gcc

 すると、画面上に以下のようなポップアップが表示されるので、インストール をクリックしたのちに 同意 をクリックしてください。

Mac が電源に繋がれていないと電源に接続するように促されます。インストール作業には少々時間がかかるため、電源に接続することを推奨します。

インストールが完了したら、以下のコマンドを実行してシェルの環境を変更します。

chsh -s /bin/bash

次に、Command + Q でターミナルを終了し、再度ターミナルを開いてください。
 再度ターミナルが開いたら、以下のコマンドを実行してください。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

 このコマンドを実行すると、途中 パスワードの入力が求められます。 パスワードを入力した後に、RETURN キーを押すように要求される ので、要求されたらエンターキーを押してください。
 正常にコマンドのプロセスが終了したら、以下のコマンドを実行して、Python 3 をインストールします。

brew install python@3.8

 Python 3 のインストールが完了したら、以下のコマンドを実行してください。このコマンドを実行することで Mac 内に点在する Python 3 関連のパッケージを統一します。

ln -s /usr/local/opt/python@3.8/bin/python3.8 /usr/local/bin/python3.8

 以下のコマンドを実行して、Python 3 系列がインストオールされているか確認してください。

python -V

 もし、返されたテキストが python 2.x.x である場合、以下の手順に沿ってください。

  1. 以下のコマンドを実行してください。このコマンドは python というコマンドで python3 コマンドを実行できるようエイリアスを作成するコマンドです。
    echo "alias python='python3'" >> ~/.bash_profile
  2. 同様に以下のコマンドも実行してください。
    echo "alias pip='pip3'" >> ~/.bash_profile

 これで python コマンドで python3 コマンドを実行できるようになりました。
 返されたテキストが python 3.x.x である場合、Python のセットアップは完了です。これで Tello-Console をインストールする準備が整いました。

C. python 3.x.x と返された場合

 Python のセットアップは必要ありませんが、以下のコマンドを実行して、シェルの環境を変更してください。

chsh -s /bin/bash

次に、Command + Q でターミナルを終了し、再度ターミナルを開いてください。
 これで Tello-Console をインストールする準備が整いました。

3. Tello-Console をインストールする

 次に Tello-Console をインストールします。Tello-Console をインストールするには、事前にいくつかのライブラリをインストールする必要があります。以下の手順に沿ってインストール作業を行なってください。
 ターミナルを開き、以下のコマンドを実行して pip をインストールするための python スクリプトをインストールします。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

すると、このコマンドを実行したフォルダ内に get-pip.py という python スクリプトがインストールされます。以下のコマンドでこのスクリプトを実行します。

python3 get-pip.py

これでお使いの Mac で pip を使って python のパッケージをインストールできるようになりました。以下のコマンドを使って画像処理を扱うのに必要となる openCV をインストオールします。

pip3 install opencv-python

 最後に、Git を使って Tello-Console をインストールします。Git コマンドを使うことで、GitHub にある Tello-Console を Mac に持ってくることができます。以下のコマンドを実行してください。

cd ~ && git clone https://github.com/GAI-313/Tello-Console.git

 これで macOS に Tello-Console の導入は完了です。
 Tello-Console を使用してプログラムを作成するには、VScode がお勧めです。こちらで VScode のインストール方法を案内しています。(初心者向け)

 - macOS に VScode をインストールする方法

Tello-Console を実行してみる に移動する。

Ubuntu(Linux) に Tello-Console を導入する方法

 Ubuntu に Tello-Console をインストールする方法を解説します。紹介する導入方法は、Ubuntu 20.04 LTS で検証した導入方法となります。それ以前、以降の Ubuntu では若干、操作方法が異なる場合があります。

  1. Control キーと ALT キーと T キーを押して 端末(ここではターミナルと呼ぶことにする) を開きます。
  2. ターミナルに、以下のコマンドを 1行づつコピペして コマンドを実行します。コマンドの実行は エンターキー を押すだけです。実行すると、はじめにパスワードの入力が求められます。 ログイン時のパスワードを入力してエンターキーを押してください。
sudo apt update
suto apt install -y python3-pip3 git
pip3 install opencv-python3
cd ~ && git clone https://github.com/GAI-313/Tello-Console.git

 これで Ubuntu に Tello-Console の導入は完了です。

これで Tello-Console のインストールは完了です。

 Tello-Console を使用してプログラムを作成するには、VScode がお勧めです。こちらで VScode のインストール方法を案内しています。(初心者向け)

 - macOS に VScode をインストールする方法

Tello-Console を実行してみる

 インストール作業が無事終了すると、ホームディレクトリ(ユーザーネームの名前のフォルダ) に Tello-Console ディレクトリ(フォルダのこと) がダウンロードされています。Tello-Console ディレクトリに移動して、sample_boot.py サンプルプログラムを実行して正常に Tello-Console が実行されるか試してみましょう

  • Windows をお使いの方
    1. コマンドプロンプトを開く
    2. 以下のコマンドを 1行ずつ 実行して Tello-Console ディレクトリへ移動する
      cd %homepath%
      cd Tello-Console
  • macOS、Linux ChromeOS をお使いの方
    1. ターミナル(端末)を開く
    2. 以下のコマンドを実行して Tello-Console ディレクトリへ移動する
      cd ~/Tello-Console

sample_boot.py を実行する

 当セクション内の目次

 Tello-Console ディレクトリ内には豊富なサンプルコードが用意されています。ここでは、正常に Tello-Console が機能するかどうか確認するためにサンプルコードの一つである sample_boot.py を実行してみましょう。
 sample_boot.py を実行するには、コマンドプロンプトまたはターミナルで以下のコマンドを実行します。このコマンドは WIndows、macOS、Linux 共通です。

python sample_boot.py

Linux を使用している方へ
 Linux を使用している方で、python コマンドを実行すると、以下のようなエラーが発生する可能性があります。

コマンド: 'python' が見つかりません。もしかして:
command 'python3' from deb python3
command 'python' from deb python-is-python3

または

command 'python' not found, did you mean:

command 'python3' from deb python3
command 'python' from deb python-is-python3

この場合、python コマンドの代わりに python3 コマンドで python を実行してください。これらのエラーは python 2 系列の python が環境に存在しないことを表しています。

すると、以下のようなテキストが表示されたら 無事 Tello-Console が実行されたことを表しています。

実行結果↓

WELCOME CONSOLE ! TELLO-CONSOLE Vx.x.x
タイムアウト!
エラー!ドローンとの通信に失敗しました!
Tips:ドローンとPCとのWi-Fi接続を確認してください!

Windows:コマンドプロンプトでテキストがカラー表示されない問題

 上記のサンプルコードを実行すると、macOS、Ubuntu などでは、以下のように テキストカラーが反映された状態 で表示されます。

 Windowsでは、以下のように、色で強調表示されず、文字列末尾に謎のテキストが添付された状態で生じされてしまいます。

この問題を解決するには、

コマンドプロンプトで Tello-Console のシンタックスハイライトを有効にする

を参照してください。

アップデート

 Tello-Console は不定期にアップデートを行います。Tello-Console リリースノート を定期的に参照して、バージョンが変更されていることを確認してください。

WIndows の場合

  1. git for bash を開く
  2. 以下のコマンドを順番に実行してください。
cd ~/Tello-Console
git pull

macOS の場合

  1. ターミナルを開く
  2. 以下のコマンドを順番に実行してください。
cd ~/Tello-Console
git pull

Ubuntu(Linux) の場合

  1. 端末(ターミナル)を開く
  2. 以下のコマンドを順番に実行してください。
cd ~/Tello-Console
git pull

Tello-Console をどのディレクトリからでも実行できるようにする

 Tello-Console を使うには、基本的に Tello-Console ディレクトリ内でしか動作しません。 ですが、このセクションを参照することでどのディレクトリからでも tello-Console をつかったコーディングが可能になります。

 OS によって設定方法が異なります。お使いの OS の項目をクリックして進んでください。

この作業は若干難しく、ファイルパスに関する知識が求められます。作業を進める際は気を付けて進んでください。

Windows の場合

1. システム環境変数の設定を開く

 検索バーに env と入力して、上位に候補として出てきた システム環境変数の設定 を開きます。

 次に、設定内の 環境変数(N) をクリックします。

 システム環境変数(S) の綱目欄下にある 新規(N) をクリックします。

2. tello.py のパスを入力する

 新しいシステム変数の変数名に、PYTHONPATH と書きます。すべて大文字です。
 つぎに、変数値に Tello-Console の tello.py までのパス を入力します。以下の手順に沿って tello.py を追加します。

  1. ファイルの参照(D)... をクリックします。
  2. フォルダ一覧が表示されたら、あなたのユーザー名をクリックしてください。するとTello-Console が一覧にでてきます。
  3. Tello-Console の modules フォルダを指定して、 "OK" をクリックしてください。
  4. 変数値に以下のような文字列が追加されたことを確認してください。
    C:\Users\ユーザー名\Tello-Console\modules\tello.py
    

そしたら "OK" をクリックして、PYTHONPATH を追加してください。

3. 確認

 コマンドプロンプトまたは VScode(Visual Studio)を使って tello ライブラリをインポートできるか確認してください。
 ここから少しややこしいのですが、今回の作業で Tello-Console を呼び出す方法が変わります。 どういうことかというと、PYTHONPATH に tello.py を登録する前は、python に Tello-Console を呼び出す際以下のように記述しました。

from modules.tello import console

 しかし、PYTHONPATH に登録したときは、modules ディレクトリ内にある tello.py を直接登録したことで、以下のように記述します。

from tello import console

 このように、modules を記述する必要がなくなりますfrom modules... の記述方法が通用するのは Tello-Console ディレクトリ内のみ となりますので気をつけてください。
 話は戻りますが、Tello-Console 以外のディレクトリ で以下の作業を行なってください。

  1. コマンドプロンプトを開きます。
  2. python コマンドを入力してください。
  3. コマンドプロンプトの入力欄が >>> になったら、以下のコードを入力してください。 from tello import console
  4. エンターキーを押してコードを実行します。この時、何もエラーが出なければ成功です。逆に以下のようなエラーが発生したら失敗です。 ImporttError

2.

macOS の場合

 以下の手順に沿って作業を進めてください。

1. modules ディレクトリに移動する

 ターミナルを開き、以下のコマンドを実行してください。

cd ~/Tello-Console/modules
pwd

 すると、下のような modules ディレクトリまでのパス が表示されます。

お使いの環境によって下のパスの表記が異なります。以下のパスはあくまで例です。

/usr/home/NAME/Telllo-Console/modules

その返されたパスをコピーしてください。

2. 環境変数に書き加える

 環境変数とはパソコンの環境を構成するのに必要な変数のことを言います。Python のライブラリのパスを補完する環境変数 PYTHONPATHTello-Console の modules ディレクトリまでのパス を記述します。
 以下のコマンドを書いてください。 の部分には 先ほどコピーした modules ディレクトリまでのパス を記述します。そのまま書いて実行しないでください!

echo "export PYTHONPATH=$PYTHONPATH:<PATH>" >> ~/.bash_profile

 最後にターミナルを以下のコマンドを実行して再読み込みします。

source ~/.bash_profile

3. 確認

 Python を使って確認しましょう。ターミナルを開き、現在いるディレクトリ(カレントディレクトリ)を変更します。

cd ~

 次に、Python をターミナル上で開きます。

python

 すると、このように Python コマンドラインがターミナル内で開きます。

Python 3.8.2 (default, Apr  8 2021, 23:19:18) 
[Clang 12.0.5 (clang-1205.0.22.9)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

 ここに以下のコードを書いてください。

from modules.tello import console

 上のコードを記述してエンターキーを押して実行してください。

>>> from modules .tello import console

 実行した時、何も表示されず次の入力欄が出たら成功です。

>>> from modules .tello import console
>>>

 続いて、以下のコードを書いて実行すると、Tello-Console の接続シークエンスが実行されます。

drone = console()

 これを実行すると以下のように、ドローンに接続されていないため、強制的に Python プロンプトが終了されます。

>>> drone = console()
WELCOME CONSOLE ! TELLO-CONSOLE Vx.x.x
タイムアウト!
エラー!ドローンとの通信に失敗しました!
Tips:ドローンとPCとのWi-Fi接続を確認してください!
$

 これでどのディレクトリにいても Tello-Console が使用できるようになりました。
エデュケーションに進む

Linux の場合

現在有効な手順を調査中

エデュケーション

 ここでは、Tello-Console の使用方法や、プログラミングをするのにあたり必要なスキルを学べるカリキュラムを用意しています。以下の目次からあなたのスキルに合った学習を進めることができます。(現在作成中)

  • Python 初心者 現在作成中
  • python 経験者(基本的な構文を理解している) 現在作成中
  • python 経験者(関数、クラスを理解し、オブジェクト指向のプログラムを作成できる) 現在作成中
  • とにかくドローンをプログラムしたい方には 現在作成中
  • 画像処理を専門に学びたい方 現在作成中

スタディサポート

 Tello-Console は、ドローンを使ってプログラミングの楽しさ、面白さを知ってもらうことを目的に作られました。以下の記事一覧を散走することで、Python、CUI コマンド、Tello-Console の使用方法、画像処理に関する知識を習得できます。(現在作成中)

TELLO EDU ユーザーガイド

 こちら から TELLO EDU の基本的な使用方法をまとめています。

サンプルコードチュートリアル

 Tello-Console にデフォルトでダウンロードされているサンプルコードについて解説します。各サンプルコードの内容から、Tello-Console コマンドの使用方法を学ことができます。


現在作成中

Tello-Console を使う方法(経験者向けの内容です)

 Tello-Console の本体は、Tello-Console/modules ディレクトリにある tello.py の中にある console クラス です。これを呼び出すことで使用することができます。

 console クラスを使用するには、必ず tello-Console ディレクトリ内でプログラムを記述してください。 (PYTHONPATH を使い環境に反映させる方法を模索中です。)

from modules.tello import console

 console クラスを、任意の変数に格納することでインスタンス化(活性化)し、インスタンス化された時点で console クラスのドローンへの接続準備およびドローンに対する診断を行います。

from modules.tello import console

drone = console()

 console クラスに用意された各メソッドが ドローンを操作するためのコマンド として機能します。例えば、Tello を離陸、着陸させるなら、このように書けば実装できます。詳しい情報は メソッド、コマンド一覧 または VScode からサマリーを参照してください。

from modules.tello import console

drone = console() # インスタンス化。ここで 変数 drone が console クラスと同等となる

drone.takeoff() # takeoff メソッドを実行し、ドローンを離陸させる

drone.land() # land メソッドを実行し、ドローンを着陸させる

 Tello-Console コマンド(メソッド)については、 メソッド(Tello-Console コマンド一覧) を参照してください。

メソッド(Tello-Console コマンド一覧)

 ここでは、Tello-Console が提供するコマンドを一覧で表示します。コマンド名をクリックすると、該当コマンドの詳細が表示されます。

コントロールコマンド

離陸関連コマンド

着陸、モーター関連コマンド

安全、緊急停止コマンド

簡易操作コマンド

高度操作コマンド

設定コマンド

取得コマンド


現在作成中

リリースノート

Tello-Console Ver.7.1.0

 このバージョンではドキュメントの修正及び重要なプログラムの修正を含みます。
 以下の機能を修正しました。

  • ビデオ通信機能の大幅な変更
     以前の Tello-Console(Ver 7.1.0 前)では、console クラスが呼び出された時にカメラデータを取得していましたが、今回のバージョンから コマンドからビデオデータを取得する 仕様に変更となりました。 これにより、既存していた以下のコマンドの仕様が変更となります。

    • stream コマンド
      • 更新前
        ドローンにビデオストリームを開始または停止するようリクエストする
      • 更新後
        ドローンにビデオストリームを開始または停止するとともにビデオデータをエンコードするスレッドを管理し、スムーズにビデオデータを取得または廃棄できるように対応。

    この修正は Chrome OS で OpenCV が正常に機能しない 問題を一時的に回避するために作成されました。これにより サンプルコードの仕様が一部変更となります。

 以下の機能を追加しました。

  • ビデオデータ受信時にタイムアウト機能を追加
     ビデオデータを受信する際に、5秒間ビデオデータを取得できなかったらコマンドをスキップするタイムアウト機構を追加しました。OpenCV を使用時にタイムアウトが発生したらプログラムを停止するよう促すイメージデータを渡します。

 Chrome OS を使用している方はこのバージョンに 必ずアップデートしてください。 アップデート方法は Tello-Console をアップデートする セクションを参照してください。

Tello-Console Ver.7.0.2

 チュートリアルの作成、修正を行いました。(3/20)
 いくつかのバグを修正しました。(3/16)

  • get コマンドから取得されるデータから None が返される問題を修正しました。
  • 全体の動作を軽量化させました。
  • 通信プロトコルを最適化しました。

Tello-Console Ver.7.0.0

 TelloSDK 3.0 に対応した各コマンドを追加しました。特徴的な真コマンドは以下の通りです。

  • throwfly
     スロウフライモード(機体を投げて離陸させるモード)を有効にします。
  • missionpad_detection
     Tello EDU のミッションパッドの検出を有効にします。
  • set_fps
    カメラの fps を変更します

そのほかにも数多くのコマンドを新たに追加しました。TelloSDK 3.0 は、Tello EDU のみ対応しています。一部コマンドは、通常の Tello、Tello アイアンマンエディションでは使用できません。

そのほかの変更内容、追加機能

  • 全体のリファクタリング
     tello.py、サンプルコードをみやすくしました。
  • 引数サマリーの対応
     VScode で各メソッドにカーソルを当てるとそのメソッドに関する情報を表示されるようにしました。
  • (試験段階)引数 TaskKill を追加
     Tello-Console がエラーによって停止された時、プログラム全体を終了(タスクキル)を行うか否かを選択できる引数を追加しました。これは試験段階です。常用は推奨しません。
  • (試験段階)Docker の対応
     Tello-Console を搭載した Ubuntu コンテナの作成を行う Dockerfile を追加しました。これは試験的なものです。

About

Tello SDK を参考に作成した 自作 Tello SDK。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published