by Hiroto Kaneko
Tello EDU 4台を使ったドローン編隊飛行に挑戦するシリーズ、第2回です。
Tello EDU(Tello EDU 公式サイト)は、香港のとなりのIT産業の盛んな町、深圳のベンチャー企業 Ryze Technology 社から発売されている小さなちいさなドローンです。同じ会社から発売されている無印の Tello との最大の違いは、なんと複数台で編隊飛行ができること!
第2回では、Python を使った Tello EDU の制御に向けて、Python 環境を構築し、編隊飛行用のレポジトリを導入していきます。
今回ドローンの制御には、プログラミング言語 Python を使っています。この Python、Mac や Linux では初めから入っている状態ですし、Windows でも Python の公式サイトから最新版をダウンロードできます。
しかし Python を実用的に使いこなしていくには、初めから入っていたり公式サイトからダウンロードしたものではダメで、「環境構築」が欠かせません。それはなぜかというと、30年近いの歴史のある Python には最新版以外にも複数のバージョンがあり、時と場合に応じてそれらを使い分けていく必要があるからです。
今回 Python 環境の構築は Anaconda をベースに進めていきます(すでに Anaconda を使っていたり、ほかの方法で環境を作って使っている場合は、斜め読みしてしてもらって構いません)。
Anaconda は、Python のための仮想環境を作成・管理するソフトウェアです。一つひとつの仮想環境に特定のバージョンの Python と、Python で書かれた様々なパッケージを導入していきます。この仮想環境を切り替えることで、時と場合に応じて様々な味付けの Python を使い分けることができるわけです。
それでは、Anaconda のインストールをしましょう。Anaconda のインストールの手順は、インストールしたいパソコンの環境によって次の2つに分かれます。
この場合、Anaconda のインストールは超簡単です!まず、 Anaconda の公式サイトにアクセスし、メニューから Individual Edition を選んでインストーラーをダウンロードします。あとは指示にしたがってインストールすれば完了です!
この場合、Anaconda のインストールはちょっと複雑です。Anaconda とパッケージ管理ソフトウェア homebrew あるいは apt-get が干渉すると言う問題があるためです。そこでまず homebrew あるいは apt-get を使って pyenv をインストールし、その pyenv を使って Anaconda をインストールすると言う形で、ワンクッション挟みます。詳しい手順は Qiita の @aical さんの記事 が参考になると思います。
Anaconda のインストールが終わったら、Tello EDU の制御のための仮想環境を作成しましょう。仮想環境には、Python 2.7 と、パッケージ netaddr 並びに netifaces を導入します。ターミナル(Windows の場合は Anaconda プロンプト)を開いて以下のコマンドを入力して実行します。
$ conda create -n tello -c conda-forge python=2.7 netaddr netifaces
これで完了です!
少しコマンドの意味を解説したいと思います。まず conda create
は「仮想環境を作成する」という Anaconda のコマンドで、引数には導入する Python のバージョンとパッケージを指定します。オプション -n tello
は、仮想環境の名前を tello に指定しています。ここは好きな名前にしてもらって大丈夫です。オプション -c conda-forge
はパッケージを探すチャンネルを指定しています。conda-forge には Python で書かれた便利なツールが無数に登録されており、Python の人気の理由の一つにもなっています。
さて、仮想環境に導入したパッケージ netaddr と netifaces についても少し解説してみます。これらは Python を使って IPアドレスの検出や設定など、ネットワークの制御を行う際に便利なパッケージです。今回はドローンと無線ルータを接毒した際に、無線ルータが各ドローンに何番のIPアドレスを割り当てたのかを知るためにこれらのパッケージを使用します。
作成した仮想環境に入るには
$ conda activate tello
と打ちます。仮想環境から抜け出すには、
$ conda deactivate
と打ちます。
さて、これで準備が整いました。あとは git-hub 上で公式に公開されている Tello EDU 編隊飛行のレポジトリを導入しましょう。git-hub のレポジトリ Multi-Tello-Formation にアクセスし、Clone or download から Download ZIP を選択し、ダウンロードして解凍します(git を使っている方は clone してもいいと思います)。これで導入完了です!
次回は、今回準備した環境を使って実際に Tello EDU を編隊飛行させてみましょう!
tags: