小型ドローン『Tello』とScratchを連携させてプログラミング教材を準備する
バイト先で「Scratchでドローン動かせるようにして」というオーダーを受けた。
戦々恐々としたけれど、調べたら既にそういうパッケージがあるらしい(よかった)。
ドローン『Tello』
小型のドローンくん。バイト先にはこれが数機、お客様に貸し出せるようになっている。 小さいのでぶつかって来てもあまり痛く無さそうに見える。プログラミング教材的に使うにはちょうど良いかもしれない。
(なんて馬鹿言ってないで、暴走を未然に防ぐことを教えた方が良い。折角Scratchなのだから猫ちゃんでのテストを教えると、テストの習慣も身について良いかもしれない)
スマホアプリ『DroneBlocks』
Scratchによく似たプログラミング言語(?)でTelloの航行をプランニングできる。 これを見つけた時は、正直もうScratchと連携させる必要は無いんじゃないかと思ってしまった。
【Drone Blocks】iPhoneアプリで簡単にできる!ドローンTelloのプログラミング【設定方法と使い方】 - スカイフィッシュのドローンブログ -DJIのDroneで空撮するBLOG- ←こちらの記事を参考に試したら簡単に動いた。
Scratch 2 との連携
Scratchでドローンを動かす為の手順は、公式サイトのScratch READMEに簡潔にリストアップされている。 こちらの手順書は簡潔すぎるので、 Ryze Telloをパソコン(スクラッチ)で制御する : YAAAM ←こちらの記事がおすすめ。画面キャプチャ画像も掲載されていてとっても分かりやすい。
環境
- Windows 10
- Tello
私物はMacだけれど、バイト先に配備されているPCはWindowsなので仕方なく。
工程
詳しいことは上記の記事を見れば良いと思うので、ここには実際にやってみた感想を書いておく。
- Adobe AIR のインストール(インストーラーが全ての面倒を見てくれるので考えることはない)
- Scratch 2.0 オフラインエディター のインストール(同じく考えることはない)
- Node.js のインストール(同じく考えることはない)
- Tello.jsとTello.s2e のダウンロード・解凍(Windowsは解凍しなくても中身を閲覧できるみたいでややこしいが、参考記事を正確に読んで同じようにすればできる)
- コマンドプロンプトで node Tello.js を実行(端末を叩き慣れない人でも、参考記事を正確に読んで(略))
- Scratch 2.0 オフラインエディターで Tello.s2e を読み込んでTello用のパッケージ読み込み(機能拡張に慣れない人でも、参考記事を正確に読んで(略))
- Scratch 2.0 オフラインエディターで任意の航行プランをプログラミング
- Telloの電源を入れ、PCのWiFi接続選択先一覧からTelloを選択
- Scratchのプログラムを実行(猫ちゃんを動かすのと同様に実行すればTelloが動く)
- WiFi接続先一覧からTelloの接続を解除し、Telloの電源を切る
- Scratch 2.0 オフラインエディターを終了
- コマンドプロンプトで Ctrl+c をして Tello.js を終了
- コマンドプロンプトを終了(exit又は右上xボタン)
総じて、参考記事を正確に読んで同じようにすればできた。 上記の各工程はどれも5分未満でできる。私はトロい方なので、すばやい人ならもっと時間をかけずにできるだろうと思う。
Telloの航行プログラミング
ScratchによるTelloプログラミングの解説とサンプルコードが、 【ドローンTelloプログラミング】未経験者が初めてのプログラミングに挑戦【Scratchの使い方】 - スカイフィッシュのドローンブログ -DJIのDroneで空撮するBLOG- ←こちらの記事の『Telloでプログラミングに挑戦! 』の章に掲載されている。
教材として使用する際には、まず航行プランを猫ちゃん用ブロックで描き、テストして見てから、Tello用ブロックで描くようにしたらどうかなと思っている。 Telloサイズなら怖く無いけれど、暴走したロボットに引かれると怪我するからなぁ(経験談)
感想というか宣伝
そんな訳で、バイト先には3Dプリンターに加えてドローンも導入された。
時代を拓くと話題の最先端ツールがまさかこんなところに集結しているとは誰も思いもよらないでしょう...。知名度...。
3Dプリンターもドローンも(レーザー加工機等のその他工作機械も)簡単に使えます。 是非ご利用をお待ちしておりますー。