【未経験者向け】ドローンのをスマホでやる方法(IF文・変数編)

シリーズでお届けしています、ドローンプログラム講座。
DJI/Ryzeから低価格で発売されているTelloというトイドローンを、プログラム未経験者でも問題なく使えるDrone Blocksというアプリを使ってスマホプログラミングし、飛ばす方法をご紹介しております。
ドローンプログラム講座第1回目は、アプリであるDroneBlocksのダウンロード方法、第2回目はDroneBlocksで離着陸をプログラムし飛行、第3回目は少しプログラム応用編ということで、前後左右・フリップをプログラムし飛行させました。今回は更に応用編ということで、If文や変数、繰り返しなどをプログラムし飛行させてみようと思います。

前回までのおさらい

DroneBlocksというスマホでプログラムできるアプリを使い、トイドローンであるTelloをプログラム飛行させるということを今まで連載でお伝えしてきました。連載記事については以下を参照ください。

Drone Blocksのダウンロード方法は以下の記事を参考にしてみてください。

【未経験者向け】ドローンのプログラムをスマホでやる方法(アプリダウンロード編)

ダウンロード後に実際に離着陸をプログラミングを使ったドローン飛行方法は以下の記事を参考にしてみてください。

【未経験者向け】ドローンのプログラムをスマホでやる方法(離陸着陸編)

前後左右・フリップのプログラム方法については以下の記事を参考にしてみてください。

【未経験者向け】ドローンのプログラムをスマホでやる方法(前後左右・フリップ編)

プログラミング応用編

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

今までの離着陸編前後左右上下・フリップ編では、これらカテゴリーのうち、比較的簡単な「Take off」「Navigation」「Flip」「Land」を使用しました。

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

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

変数を使ったプログラミング飛行

変数を使ったプログラミング解説

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

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

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

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

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

変数プログラミング飛行テスト

以下のリンク先に変数を使ったプログラミング飛行の映像がありますので参考にしてみてください。

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

IF文を使ったプログラミング飛行

IF文を使ったプログラミング解説

早速ですが、以下が今回作成したプログラミングになります。

①~⑧まで順番に説明していくと、

離陸させます
②5秒間ホバリング(その場にとどまる)
③とまっている位置からxyzの座標方向に20cm移動します
(イメージは斜め上に20cm移動する感じです)
④変数aaaを作成し、これに3と設定します
⑤変数bbbを作成し、これに0と設定します
⑥repeat内の動作を3回(aaa)繰り返します
まずは変数bbbを1に変更します
前方向にフリップ
続いて後ろ方向にフリップ
ここまで終わったら、次にbbbは2になります。
その後、2種類のフリップをします。
これらを3回繰り返すので3回目にはbbbは3になっています。
⑦もしaaaがbbbと同じになったら、いわゆるaaaは3なのでbbbが3になった時点で右回りに90°旋回します
着陸します

IF文を使ったプログラミング飛行テスト

いかがでしたでしょうか?文章だと分かりづらいかもしれないので動画でプログラミングの内容を確認してみましょう。

まとめ

今回は今までと違い少し複雑なプログラミングを作成し飛行テストしてみました。
実際、狭い屋内でテスト飛行させているので大きな動きはプログラムに入れることはできませんでしたが、もう少し大きく移動させるプログラミングを組んで屋外でみたいなと思っております。

シェアする

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

フォローする