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

Telloドローンプログラミング ドローンプログラミング

シリーズでお届けしています、ドローンプログラム講座。

DJI/Ryzeから低価格で発売されているTelloというトイドローンを、プログラム未経験者でも問題なく使えるDrone Blocksというアプリを使ってスマホプログラミングし、飛ばす方法をご紹介しております。

ドローンプログラム講座第1回目は、アプリであるDroneBlocksのダウンロード方法、第2回目はDroneBlocksで離着陸をプログラムし飛行、第3回目は少しプログラム応用編ということで、前後左右・フリップをプログラムし飛行させました。

今回は更に応用編ということで、If文や変数、繰り返しなどをプログラムし飛行させてみようと思います。

【DJI公式】Ryze Tech Tello Powered by DJI テロー トイドローン カメラ HD動画 ドローン カメラ付き 初心者 スマホ 小型 空撮 GPS drone
created by Rinker
スポンサーリンク

前回までのおさらい

DroneBlocksというスマホでプログラムできるアプリを使い、トイドローンであるTelloをプログラム飛行させるということを今まで連載でお伝えしてきました。

連載記事については以下を参照ください。

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

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

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

スポンサーリンク

プログラミング応用編

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

Drone Blocksのコード

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

今回は、それに加え、「Loops」「Variables」「Math」を追加してみようと思います。

ちなみに一番ご質問が多かったのが「Variables」というコードは何に使うのですか?というものでした。

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

今回、私も勝手にVariablesに自分なりの変数を設定してみました。

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

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

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

Drone Blocks変数を使ったプログラミング事例

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

今回のプログラミングを文章で説明すると、

  1. Variablesを使って「distance」という名前の変数を設定し、その初期値を50としました
  2. 次に「Loops」で、一連の動作を3回繰り返すことにしました。
  3. 「Loops」の中は、最初に50cm前進させ、右回りに180度回転、更に50cm前進させました。ようは行ったり来たりさせた(往復させた)ということです。
  4. 次に1回往復させた後は、初期値である50に「30を増分させ」、同じように往復させます。これを全部で3回繰り返したということになります。
  5. ようは少しずつ(30cmずつ)前進量を増やしていき、3回目の前進は110cmとなるようにプログラミングしたということです。

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

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

アドバンス的コード未使用のプログラム例

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

スポンサーリンク

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

以下が変数を使ったプログラミング飛行の動画になりますので参考にしてみてください。

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

次にIF文を使ったプログラミングをご紹介します。

※上記で作成した変数を使ったプログラミングとは別のものになりますが、IF文の中に変数のプログラミングも入れてあります。

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

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

Drone BlocksIF文を使ったプログラミング事例

少し複雑かもしれませんが、熟読いただければ幸いです。

1~8まで順番に説明していくと、

  1. 離陸させます
  2. 5秒間ホバリング(その場にとどまる)
  3. とまっている位置からxyzの座標方向に20cm移動します
    (イメージは斜め上に20cm移動する感じです)
  4. 変数aaaを作成し、これに3と設定します
  5. 変数bbbを作成し、これに0と設定します
  6. repeat内の動作を3回(aaa)繰り返します
    まずは変数bbbを1に変更します
    前方向にフリップ
    続いて後ろ方向にフリップ
    ここまで終わったら、次に変数bbbは2になります。
    その後、2種類のフリップをします。
    これらを3回繰り返すので3回目には変数bbbは3になっています。
  7. もし変数aaaが変数bbbと同じになったら、いわゆる変数aaaは3なので変数bbbが3になった時点で右回りに90°旋回します
  8. 着陸します
【DJI公式】Ryze Tech Tello Powered by DJI テロー トイドローン カメラ HD動画 ドローン カメラ付き 初心者 スマホ 小型 空撮 GPS drone
created by Rinker

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

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

まとめ

今回は今までと違い少し複雑なプログラミングを作成し飛行テストしてみました。

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

コメント

タイトルとURLをコピーしました