ドローン プログラムDJI Telloを変数を使ってプログラミングする方法

前回はDJI/Ryze TelloをスマホアプリであるDrone Blocksを使ってプログラミングし飛ばしてみようという内容をお送りました。
DJI/Ryze TelloをスマホアプリDrone Blocksでプログラミング

人気のビジュアルプログラミングソフトであるスクラッチのように子供でも簡単にプログラミングできドローンを飛ばせるというだけあり、嬉しいことに色々と問い合わせがありました。

今回はこのDrone Blocksで前回使わなかった少しアドバンス的なコードを試してみたいと思います。

Drone Blocksのアドバンス的コード

Drone Blocksのコードには、以下のように大きく「Take off」「Navigation」「Flip」「Loops」「Logic」「Math」「Variables」「Land」というコードのカテゴリーがあります。

前回の投稿DJI/Ryze TelloをスマホアプリDrone Blocksでプログラミングでは、これらカテゴリーのうち、比較的簡単な「Take off」「Navigation」「Flip」「Land」を使用しました。

今回は、それに加え、「Loops」「Variables」「Math」を追加してみようと思います。
ちなみに一番ご質問が多かったのが「Variables」というコードは何に使うのですか?というものでした。

私なりに試してみたところ、そもそもVariablesは変数という意味で、ユーザ側で任意に変数を設定できるようです。
今回、私も勝手にVariablesに自分なりの変数を設定してみました。

Drone Blocksの「Variables」などの使用例

今回は以下のようなプログラムを組んでみました。

前述したとおりVariablesはユーザが任意に設定できる変数なので、私は「distance」(距離)という変数を設定してみました。

では、もしVariablesなどアドバンス的コードを使わずに、上記のプログラムを組んでみると以下のようになります。

いかがでしょうか?「Variables」を初め、「Loops」「Math」の使用例がイメージできますでしょうか?

今回のプログラミングを言葉で説明すると、
①Variablesを使って「distance」という変数を設定し、その初期値を50としました
②次に「Loops」で、一連の動作を3回繰り返すことにしました
③「Loops」の中は、最初に50cm前進させ、右回りに180度回転、更に50cm前進させました。ようは行ったり来たりさせた(往復させた)ということです。
④次に1回往復させた後は、初期値である50に「30を増分させ」、同じように往復させます。これを全部で3回繰り返したということになります。
したがって3回目の前進は110cmとなりました。

飛行テスト

お待たせ致しました。以下が今回、プログラミング実行させた映像になります。
3回目の前進ではドアに激突するのではと焦りましたが、ギリギリで止まってくれました。

また、なぜか往復飛行を繰り返すにつれ、飛行高さが低くなってしまい床についてしまうのではないかとハラハラしました。

まとめ

いかがでしたでしょうか?意外と簡単でしたか?
言う必要もないかと思いますが、今回の場合は飛ばす部屋の広さを考慮してdistanceの「初期値」や「増分値」を設定してあげないと部屋の壁にTelloが激突してしまいますね。

まだまだ、これらのアドバンス的なコードを使って色んなプログラミングができそうなので、今後も試していこうと思っています。

ちなみにDrone BlocksはDJI Phantom3Mavic ProInspireでも使えるようで、その場合もうTelloよりもプログラミングのバリエーションが増えるようです。
私はSparkしか持っていないので使えませんが、開発者にSparkでもプログラミングできるか?もしくはプログラミングできるようになるか?聞いてみようかと思っております。

【4月29日追記】
現在、SPARKでDrone Blocksを使うことはできないようです。詳しくは分からないのですが、多分、DJIがSPARKのWaypoint(経路上の地点情報)をサポートしていないようで、これによりDrone Blocksで前進や姿勢変更、ホバリングなどのコマンドが使えない状態なんだとか。

ですが、開発者は去年末(2017年末)にDJI側に改善要望を提出済みとのことで、もしかすると将来的にSPARKでもDrone Blocksでプログラミングできるようになるかもしれません。実現してくれることを願っています。

関連記事

DJI/Ryze TelloをスマホアプリDrone Blocksでプログラミング

シェアする

  • このエントリーをはてなブックマークに追加

フォローする