今回は自由研究研究所が行ったプログラミング体験の流れをここに記します。
ドローンプログラミング体験の流れ
今回のドローンプログラミング体験については基本的にDJI社の「tello(テロ―)」の使用を想定して行うものです。
公式サイトはコチラから↓
https://store.dji.com/jp/shop/tello-series
4台同時進行で30分1回転を想定していますが、非常にタイトなため30分体験後に10~15分以上のインターバルを入れた方がよいかもしれません。
- Wi-Fi受信可能なPC×4台
- tello(テロ―)×4台(予備があればよい)
- Tello用バッテリー×8台(本体に各1台付属)
- Tello用バッテリー充電器×2台(4台充電可能なもの)
- Tello用プロペラ(予備用)
PCの事前準備
まずはPCでのセットアップが必要です。
基本となるscratch2.0オフライン版と、node.jsのインストール、「Tello.js」と「Tello.s2e」ファイルのダウンロードします。
こちらの↓サイトを参考にしてセットアップを行うとわかりやすいです。
なお、「Tello.s2e」のファイルは岡山の教室のプリムアーク渡辺さんから日本語化(漢字、かな)していただいたものもあります。
https://blog.davinci-partners.com/it/drone/tello_scratch/
スクラッチからコマンドを送り、nodeサーバーからWi-Fi経由でtelloに信号を送って制御しているものだと思います。
scratchで制御する前にスマホ等で↑のように動かしてみてからの方がよいと思います。
会場の要件
体験する広さとしては、最低でも4m×4m程度の広さが必要だと思います。
高さは広くても狭くてもメリットデメリットがあるので詳細を後述します。
ドローンの飛行中は大変危険ですので近づかせないように机などで囲ってしまうか、コーンやバリケードなども必要になる場合があります。
仕切りがあいまいだと小さい子が入ってくることがあるので注意が必要です。
回転中は手を触れないようにしましょう。
囲めるブースなどが無い場合は、席を向かい合わせにしたりすると危険です。
4席横一列などにして同じ方向を向かせたテーブルセッティングにした方がよいでしょう。
- nodeサーバーに接続するコマンドを書いたテキストファイルををあらかじめ開いておく。
- コマンドプロントを素早く立ち上げれるよう身につけておく。
- コマンドプロントにテキストファイルの内容をコピー&ペーストすることに慣れておく。
- scratch2.0を起動
- シフトキーを押しながら「ファイル」を押すことで隠しコマンドとなっている「実験的なHTTP拡張を読み込み」ボタンが出てくるので押す。
- telloのコマンドブロックのファイルを開く。(s2eファイル)
- コマンドメニューの「その他」内にtello用の拡張ブロックが追加される。
- うまくnodeサーバーとつながっていると、tello controlと書かれた右側の〇が緑色になっている。(赤色だと接続失敗)
- telloの電源を起動し、パソコン側でtelloのssidと一致するネットワークを選択。
- scratch上で、「離陸」「着陸」ブロックなどで実際に飛行するかテスト。
体験内容1
今回はひらがなが読める児童からを対象としたため、パソコンのマウスを触れたことの無い可能性を想定してマウス練習から行っています。
こちらの「K/B & マウス練習ツール」というインストール型ものを使っています。
この中の「ドラッグ練習」が中学生などでも楽しめる、ゲーム感覚でマウス練習ができるものです。(大人でも楽しめる)
これを最初に5分間行います。結構これだけで盛り上がりますw
体験内容2
次にいきなりパソコンには行かず、あらかじめ名刺用紙にscratchのブロックを印刷したカードを使って、並ばせる体験をします。
このようなカードを「コクヨ合わせ名人」で作成しました。
通常ブロックを人数分と講師用、宙返りブロックはドローンの見せ場のため1人2枚用意しました。
他にブロックとブロックの間に「〇秒待つ」ブロックを挟むために1人5~6枚用意しています。
最初はカードの説明からします。「ドローン流れ.docx」を参照
ドローンを実際に手に持ってその動きのとおり動かして見せ、ブロックの機能を理解させる。
また、長さや角度のクイズなどを出して楽しませる。
最初は複雑にプログラミングさせず、5個程度のブロックを選ばせて、実際にscratchでプログラミングする要領でカードを並ばせる。
ここまででだいたい12分程度経過となる。
体験内容3
次はいよいよscratchを使い、自分がカードで並べたブロックの通りにマウスを使って並べさせる。
基本全ての設定はひらがなでよい。
数字の入力などはなかなかてこずる場合あり。(うまくカーソールをもっていけない)scratch2.0はブロックを組むエリアの右下に拡大縮小ボタンがあるため、子供の年齢等に応じ適宜拡大してあげると良い。
「待つブロック」は多く使うのであらかじめ数字を入れておいて多く右のエリアに出しておくのが良いが、黙っててもやる子はやる。
scratchでブロックを組み終わったら、ここで初めてバッテリーをtelloに挿して電源を入れる。
ここまでで約18分経過。
体験内容4
telloのWi-Fiにパソコン側で接続したら、まずはだれか一人を決めて飛ばさせるのが良い。
その後、順次バッテリーを挿し、カードを使って5個のブロックで組ませたプログラミングを行う。
なお、telloのバッテリーは満充電からの連続飛行時間が最長13分となっており、さらに50%を切ると宙返りができなくなる。
そのため実際の飛行時間は7分以内に収めるイメージを持っておく必要がある。
プログラムを組むために考えている時間は飛行していないため電池の消耗が少なく(待機時間)、残り12分前後が適した時間配分であると思う。(飛行時間7分、待機時間5分程度になる)
30分経過後は終了となり、すぐにドローンをバッテリーを抜いて充電する。
7分飛行後のバッテリーの充電はおよそ40分で満充電となり、次の次の体験用として使う。
充電が満充電でなくても飛ばせるが、すぐ宙返りができなくなる恐れがあるため電源管理は特に気を使うこと。
注意事項
〇方向感覚の優れた子は、着地位置から思い通りのプログラムが展開できるが、たいていの子は最初の位置まで機体を戻してあげないと、壁付近に着陸後、すぐに離陸させて壁に激突させる恐れがある。
〇体験場所の天井が高い場所だと楽しさも増すが、一定数わざと天井にぶつけるプログラムを組む子が出てくる。高い天井の場所だと、天井に接触、ドローンが落下し機体損傷の可能性が高いため、講師側がしっかりとプログラムを読んで飛行経路のイメージを持ち、壁や天井にぶつからないようにあらかじめ修正することに気を配る必要がある。そのためには体験者2人対し1人の講師が理想。
〇体験中に壁に激突などがあると、ドローンのプロペラは簡単に破損します。基本的に本体の新品購入の場合は、予備のプロペラが入っていますが、取り付け位置が決まっているので注意してください。
コチラのサイトがわかりやすいかもしれません。
〇通常は体験を繰り返すごとにバッテリーを挿してPCからWi-Fiに繋げますが、たまに反応しない場合があるため、最初のコマンドプロントの入力からやり直すのが無難でしょう。ここは講師が何も見ずに設定できるくらいのスキルが必要です。
〇ブロック内の数字を変える際に、数字をうまくクリックできず、スタートからのブロックを実行されてしまう恐れがあります。
予兆もなしにいきなり飛び始めるので、講師などがドローンを持ってる状況などであったら危険です。
数字を入力する際はブロックを繋げた状態ではなく、切り離された状態から数字を変更、その後実行ブロックに繋げるなどの方法をとった方がより安全です。
〇telloは2回ほど体験を行い、かなり荒っぽい使い方をさせていますが、致命的な破損は今のところないです。(意外と丈夫)
〇7分飛ばすと40分の充電時間が必要なので、逆算して1回の体験が終了して、次の体験の30分はずっと充電。
次の次の体験開始から10分後程度にようやく満充電で使用可能ということで、30分1回転での体験が最小単位になると思います。
5体験時間を1時間にして飛行可能時間フルの13分でやってもいいですが、バッテリーが50%を切ると宙返りができず、楽しさ半減の上にフル充電までに1時間半程度は必要になるでしょう。次に続きません。
5分飛ばしてこまめに充電してを繰り返してということなら可能かもしれません。
〇Wi-Fi接続切れなどのトラブル時に瞬時に原因を突き止めるために何度か実験は必須です。
マウスにテプラで「みぎ」「ひだり」のシールを張って、視覚で押すボタンを指示できるようにする。
tello本体にSSIDの文字のシールを貼っておくことで、バッテリー接続後のWi-Fi選びで選択が容易になる。(4台同時にネットワーク表示されるため、英数字の羅列では、よほど記憶していない限り判断できない。また本体のSSID表記はバッテリーをはずした内側のため、確認するためには一度電源を切ってバッテリーをはずさなければならない)
あと、別売りで色付きのプロペラがあり、パソコンに同色のシールなどを貼っておくと識別がかなり楽。
充電器は純正だと3台までのものとなるため、写真の4台接続可のものが好ましい。ランプで満充電の判断が容易。