TownBlogPythonによるドローン「Tello」の制御(2)この記事は1年以上前に書かれました。内容が古くなっている可能性がありますのでご注意下さい。前回作成したプログラムを拡張し、SDKドキュメントに記載されているほぼすべてのコマンドを実行可能にします。コマンドのパラメータは固定です。今回は横長のレイアウトにしました。矢印のボタンの意味は分かると思います。「Battery?」ボタンと「Time?」ボタンは、それぞれ充電量と飛行時間を問い合わせて結果を左上に表示します。今回作成したプログラムは以下の通りです。GitHubでMITライセンスで公開しています。50」コマンドで速度を少し遅めの50cm/秒に設定しています。1回のコマンドにつき、上昇下降と前後左右への移動は20cmに、回転は45°に固定しています。「speed?」や「battery?」コマンドは、SDKドキュメントでは先頭文字が大文字ですが、小文字でないとエラーになってしまいます。これらのコマンドのレスポンスは最後に改行コードが付く場合があるためstrip()で削除しています。このプログラムでTelloを操縦してみて分かったことは、Telloが壁や床に近づき過ぎているような場合に、コマンド通りの動作をせずにerrorレスポンスを返すことが多いという事です。専用アプリを使用していても、壁に近づき過ぎたので離れようとしたが結局ぶつかってしまった、という事がこれまでにも何度かありました。そのような場合にも、Telloがコマンド通りの動作をできない状態に陥っていた可能性があります。