LoginSignup
1
0

More than 1 year has passed since last update.

Tello SDK を自分なりに最適化してみた(Tello-Console)

Last updated at Posted at 2022-09-28

Tello SDK を自分なりに最適化してみた(Tello-Console)

 Tello を python でプログラミングするときに辿り着く SDK、それは Tello-Python だろう。この記事ではそんな Tello-Python にある tello.py を僕なりに改良した Tello-Console tello.py を紹介しようと思う。
 今回初めてこのような記事を書くので、分かりづらい点もあるかもしれないが、そこは指摘があり次第、修正する。

そもそも Tello って?

tello画像.jpeg
 そもそも Tello って何なのか。知らない方に簡単に説明すると、小さなプログラミングで飛ばすことができるドローンである。とても小型なので室内で飛ばして遊ぶことができ、しかもホバリング性能やカメラの性能が類似する大きさのドローンの中ではトップクラスで優秀で、ドローンのプログラミングの入門機としてとても人気なドローンなのだ。公式ページに詳細が書かれているので、是非参照してほしい。
stella edu 画像.jpeg
 Tello にも種類があり、今回プログラミング用に特化された Tello EDU を前提に話を進める。Tello EDU は 1.7万円ほどで購入できる。 tello EDU についてはこちらの公式ページで参照できる。

Tello-Python って?

 そんな Tello を Python を使ってプログラミングできるように公式から用意された SDK が Tello-Python だ。この中に含まれている tello.py が Tello を飛ばすのに重要なプログラムである。Tello を使ってプログラミングをしている人のほとんどがこの SDK をベースにいろんなタスクを作っていることだろう。僕もこの1人だ。
こちらの記事で Tello-Python についての詳細やサンプルコードについての解説がされているので、Tello-Python を始めたい方は是非こちらを参照してほしい。

Tello-Console って?

 では、そんな Tello-Console とは何なのかついて説明しよう。Tello-Console は簡単に言ってしまえば僕が作った Tello-Python のパクリである。作成に至った経緯は今から1年前、大学1年の時(記述時では大学2年)に Python のクラスの勉強をしていた時、Tello-Python の tello.py がクラスで構築されているのを見て自分でもこれを1から再現しようと思ったことが始まりである。そこから色々試行錯誤をし、一般公開しても大丈夫だろうと思いブログ感覚で今この記事を書いている。

Tello-Console の機能

 一応 Tello-Python を全部パクっているわけではなく、独自の機能も搭載している。以下が Tello-Console の機能である。

機能名 機能の説明
バッテリーチェック プログラムが実行された際にドローンのバッテリー残量を確認し、タスクが続行可能かどうかを判断する。バッテリー残量が10%以下だとプログラムは停止される。
タイムアウト回避 Tello は15秒間コマンドを受信しないと飛行中の場合自動で着陸してしまう。そのためプログラムが実行されたら Tello-Console 内で10秒周期で任意のコマンドを送信し、タイムアウトを防ぐ。このコマンドはユーザーが任意に設定することもできる。
詳細エラー表示 ドローンからのエラーはかなり大雑把だが、エラー発生前の事象とエラーの種類が分かれば原因と解決方法がわかる。この機能はドローンからの何かしらのエラー(プログラムのエラーではない)を検知し、原因と解決方法を出力する。
簡単なビデオデータアクセス ドローンに搭載されたカメラデータにアクセスするには、ただクラス内の一つの変数を取得するだけでできる。Tello-Console 内でカメラデータをすぐに取得できるので、作業の手間が省ける。

 他にも色々細かい機能があるが、この記事では記述しない。このプログラムは **GitHub にて公開している**ので、気になる方は是非使ってほしい。また、まだ不完全の部分もあるのでさまざまのユーザーが使い、知見を共有したい。

今後。このサイトを通じて、tello-console のチュートリアルを随時作成していこうと思う。これから python を始める方でもわかりやすく作成する予定だ。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0