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

DroneBlocksプログラミング ドローンプログラミング
Pocket

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

ドローンDJI TelloをDrone Blocksアプリでプログラム飛行
DJIから低価格(アメリカでは99ドル)で発売になっているトイドローンのTelloですが、だいぶ人気があるようです。その人気の一つにプログラミングで飛行できるというものがあります。今回はスマホを使ってプログラミングしTelloを飛ばすということをご紹介したいと思います。

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

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

スポンサーリンク

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

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

DroneBlocksメニュー

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

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

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

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

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

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

DroneBlocksのVariables

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

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

DroneBlocksのプログラム

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

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

DroneBlocksのVariablesサンプル

飛行テスト

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

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

ドローンプログラミング学習用電子書籍

以下のように無料アプリ、スマホ、DJI Telloの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でプログラミングできるようになるかもしれません。実現してくれることを願っています。

合わせて読みたい

★★★★あなたの1票がブログ更新の励みになります★★★★

この記事が気に入っていただけたらブログランキングに投票頂けるとブログ更新の励みになります(^^♪

にほんブログ村 その他趣味ブログ ドローン・UAVへ
にほんブログ村


ドローンランキング

本日もご訪問頂きましてありがとうございました。

ドローン開発者に必要なプログラミングスキルあります
AI プログラミング 6ヶ月長期コース ~ 最短でAIの最先端へ

受講者(20代後半~40代)の多くが専門実践教育訓練給付金制度を使用して、実質70%オフで受講可能。Python、数学の基礎から、環境構築、AIアプリケーション開発まで一気通貫で行います。オンデマンドの講義 + プロの講師に質問し放題、定期的なメンタリング付き。すべてオンラインなので全国どこからでも参加可能です。

無料テキストで基礎から学べる

Python含め15種類のプログラミングが無料で体験可能です。就職サポートも有り「初心者向けのコース」が充実しています。オンラインで全国どこからでも受講できる初心者向けのスクールです。

時代はAI!Python特化型プログラミングスクール

Pythonコースで人工知能や機械学習といった最先端の分野を重点的に学習することが可能。6ヶ月間の密度の濃いカリキュラムにより、本気でやりたい方が世の中に必要な人材として成長ができる。

ドローンプログラミング
スポンサーリンク
FPV Takaをフォローする
マイクロドローン・レース用ドローン・空撮の楽しさを感じるブログ

コメント

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