ドローンプログラミング

子供も書ける言語「Scratch」でのプログラミング教育をドローンで!

ドローンでScratchを使ったプログラミング教育に挑戦

こんにちはー!ドローンを自作して空撮したりしてます、K-ki(K-ki@Ailerocket)です。

ドローンの活用分野といえば、空撮農業なんかが有名ですが、じつは「教育」の分野でもドローンは活躍しつつあります。特に、「プログラミング教育」の分野では、既に実用レベルの機体がいくつもあります。

そして、プログラミング教育で使われる言語といえば「Scratch(スクラッチ)」が有名です。そこで今回は、ドローン×Scratchをテーマに、Scratchを活用してドローンを使ったプログラミング教育をする、という視点でいろいろな情報をまとめていきます。

なお、ドローンと他のプログラミング言語の関係に興味がある方は、こちらのページも参考にしてくださいね。

ドローン開発で使用されるプログラミング言語まとめ
ドローン開発で使用されるプログラミング言語の適用分野別まとめ

ドローンの運用に際しては、機体を制御や取得したデータの解析など、様々な場面でソフトウェアを利用します。これらのソフトは目的によって記述するプログラミング言語が違います。ドローンのソフトウェア開発を言語を中心に説明します。

Scratch(スクラッチ)とは

Scratch(スクラッチ)は、プログラミング初心者がコーディングにおける複雑なルールを覚えなくても、プログラムを実行し結果を得られることを目指して開発された、プログラミング言語、またはその学習環境です。プログラミングを書くために必要な書き方のルール(構文)を覚えることなく、直感的にプログラミングできるのが特徴です。

Scratchは教育や学習が楽しく、簡単にできるように設計されています。ゲーム、アート、シミュレーションなどを作るために必要なツールが豊富に揃っており、画像や音声の編集機能まで用意されています。プログラミングの成果が得られるまでの学習量が少なくて済むため、早い段階でプログラミングの楽しさを実感でき、プログラミングに対する学習意欲が湧いてくるように工夫されています。

ブロックを組み合わせるビジュアルプログラミング

Scratchの特徴は、GUI(Graphical User Interface:グラフィカル・ユーザ・インターフェース)上でブロックを組み合わせて視覚的にプログラミングを行う、「ビジュアルプログラミング」と呼ばれるコーディング方法です。一般的なプログラミング言語では、言語ごとのルールに従い英単語をテキストで打ち込んでプログラムをコーディングしますが、Scratchは「○歩動かす」「○度回す」「○回繰り返す」「もし○○なら」のような、プログラミングに必要になるパーツが「ブロック」という形で用意されており、これらを組み合わせて目的を果たすプログラム(スクリプト)を作ります。

テキストによるプログラミングの場合、一文字でも間違うと正しく動きませんし、英単語の意味がわからない子にはプログラムの意味が分かりにくいなど、プログラムを動作させるまでのハードルが高いです。Scratchであれば、日本語ベースで視覚的にプログラムを組んでいけるため、子どもでもプログラムを簡単に書けます。対象年齢は8歳からとなっていますが、対象年齢を5歳からに引き下げた「Scratch Jr」というものもあるため、小学校就学前の子どもでもプログラミングに挑戦することが可能です。

プロジェクトを公開し世界中のユーザーと共有できる

Scratchを使って作ったプロジェクト(=プログラミング作品)は、Scratchのウェブサイト上で公開し、世界中のScratchユーザーと共有できます。共有したプロジェクトが他のユーザーに参考にされると、その人のプロジェクトに貢献者としてクレジットされ、誰かの役に立ったことが分かるようになっています。

この仕組は、もっと本格的なプログラミングの世界と大きな差はありません。Githubなどのソフトウェア開発プラットフォームでは、日々多数のコードが公開され、多くの人がそれを参考に別のプログラムを作っています。Scratchを使えば、こういったソフトウェア開発の仕組みや、関連する著作権の知識もそれとなく身につけることが可能になっています。

セキュリティ面も安心

他のユーザーのプロジェクトを参考にできるのはScratchの長所ですが、同時にセキュリティリスクにもなり得ます。ブロックを組み合わせて作っているとは言えプログラムであり、悪意のあるコードが存在しないとは言い切れないからです。

しかし、Scratchはセキュリティ面もしっかりケアされています。ScratchからアクセスできるハードウェアやOSの機能はかなり制限されており、マイクで拾った音のボリューム、Scratch画面内でのマウス位置、キーが押されたことなどの限定的な情報しか得られません。従って、悪意のあるプログラムを組むことが難しくなっており、安心してプロジェクトの共有などの交流が可能です。

ドローン関連でScratchが活用されるのは教育分野

Scratchについて一通り理解してもらえたところで、Scratchとドローンの関わりについても確認していきましょう。

世界中でドローンに関連する様々なソフトウェア開発が行われていますが、当然ながら産業用途でScratchを使っているものはほぼありません。Scratchではできることが限られていますし、大規模なプログラムをGUI上で管理するのは大変など、理由はいくつもあります。

そもそも、Scratchは教育用・学習用として開発されているため、ドローンにおいても教育・学習用に活用されています。Scratchを使えば簡単なコーディングですぐにドローンを飛ばすことができるので、子どもの興味・関心を引きやすく、この意味ではドローンとScratchの相性は良いです。

Scratchでプログラミングし飛ばせるドローン

子どもでも簡単にプログラムが書けるScratchと、子どもの興味・関心を引きやすいドローンは、プログラミング教育において相性の良い組み合わせの一つです。Scratchを使ってプログラミングできるドローンとして既に色々な製品が販売されているので、具体的にどんなドローンがあるのかを紹介していきましょう。

Ryze Technology Telloシリーズ

Ryze Tech Tello Powered by DJI

Scratchでプログラミングできるドローンとして、最近で一番有名なのがRyze Technology社が販売している「Tello」シリーズです。ドローンメーカーとして世界最大手のDJI社製のフライトコントローラを搭載しており、飛行の安定感は抜群です。

価格も1万円前後と一般的なホビードローン・トイドローンと大差なく、その上でプログラミングが可能なため非常にコストパフォーマンスが良いドローンです。GPSは搭載していませんが、そもそも小型の機体であり屋外で飛ばすと風に流される可能性が高いので、屋内用として割り切りその分をコスト低減に充てた、ユーザーに優しい商品と言えるでしょう。

Ryze Tech Tello EDU Powered by DJI Boost コンボ

Telloには上位版の「Tello EDU」という製品もあり、こちらはScratchでのプログラミングに加えて「Python」と「Swift」でのプログラミングも可能になっています。Scratchよりも本格的なプログラミングが可能なので、子どもだけでなく大人でも楽しめる機体です。

Parrot Mambo FLY

Mambo FLYは、フランスのドローンメーカーであるParrot社の製品です。Parrot社は、プログラミング可能なドローンの先駆け的存在であった「AR.Drone」を開発したメーカーであり、プログラミング可能なドローンをコンシューマー向けに提供している点については、多少歴史が長いです。

Mambo FLYは別売りのパーツが豊富で、物をつかむためのクランプのようなパーツや、FPVカメラなどを後付けできる点がユニークです。アクセサリーを追加購入すれば、他のドローンではできないことが可能になる機体です。

DroneSimulator2

DroneSimulator2は、その名の通りドローンではなくそのシミュレーターです。ドローンを飛ばす場合、場所、時間、バッテリーの充電状況など、様々な条件をクリアしないと飛ばせない場合も多いでしょう。ドローンの飛行制御を行うプログラムを作り込む時は、そういった機体を飛ばせないことが足かせになるのは、あまり効率がいいとは言えませんよね。

DroneSimulator2を使えば、作ったプログラムでドローンがどう飛ぶのかを、Windows PCやAndroid端末でシミュレーションにより確認することができます。また、作ったプログラムでParrot社製のMambo FLYを実際に飛ばすことも可能です。

参考DroneSimulator2

夜遅い時間にドローンを飛ばすと近所迷惑にならないか心配だとか、バッテリーがすぐに切れて困っているという場合には、このシミュレーターを使ってみると良いでしょう。

DJI RoboMaster S1

RoboMasterは、上で紹介した「Tello」にフライトコントローラを提供しているDJI社が販売している「飛ばないドローン」です。そもそもドローンという言葉の定義がはっきりしていないので、「飛ばないドローン」という言葉には???という感じがしますが、まあそこは置いておきましょう。

RoboMaster S1は教育用のロボットとして開発されたもので、パーツを組み立てて機体を作り上げるところからスタートする、組み立て式のラジコンみたいなロボットです。赤外線レーザーを撃ったり、ゲル弾を発射したりしてRoboMaster同士で「バトル」が可能になっているなど、男の子の遊び心をこれでもか!というほどくすぐってきます。

6万円を超える高級なロボットですが、31個のセンサーがついていて赤外線から物理的な衝撃まであらゆる情報を検出できるので、プログラミングによってできることが非常に多く、じっくり取り組めば様々なことを学べるドローンになっています。

もっと学びたい子にはプログラミング教室がおすすめ

Scratchを使ったプログラミングが学べるドローンには、さまざまな種類があることが分かっていただけたと思います。どんな教育でも、身になる学びを得るためには、子どもが興味を持って主体的に取り組むことが一番重要です。子どもの興味・関心を引くドローンは、その点でかなり良い教材になることでしょう。

お子さんが本格的にドローンを使ったプログラミングに熱中しだすと、親御さんの能力を超えたことをやり始める日も遠からずやってきます。そんなときは、プログラミング教室で専門家からよりハイレベルな内容を教えてもらうようにしてあげれば、お子さんの能力をさらに伸ばせます。

もしもお子さんがドローンでのプログラミングが楽しくなり、もっと色々なことをやってみたい言い始めたら、プログラミング教室に通わせることも考えてみてあげてください。参考までに、Scratchでのプログラミングが学べるプログラミング教室の中でも、有名どころを紹介しておきます。

Tech Kids School

Tech Kids Schoolは、サイバーエージェントが運営する小学生向けのプログラミングスクールです。渋谷スクランブルスクエアでプログラミングの授業を行っており、60分間の無料体験レッスンも受けることができます(要予約)。

プログラミングスキルを身につけるだけでなく、テクノロジーを武器に自分のアイデアを実現し、社会に働きかけることができる人間を育てる、という理念を掲げており、実践的な内容が学べるプログラミング教室になっています。

LITALICOワンダー

LITALICOワンダーは、首都圏を中心に2600名以上の子どもが在籍しているプログラミング教室で、三軒茶屋、吉祥寺、渋谷など20校近くの校舎があります。カリキュラムにはゲームのプログラミングを始め、ロボットやデジタルファブリケーションなど、ものづくり系の内容も用意されており、より幅広い興味を持つお子さんに対応できます。

まずはドローンを飛ばしてみよう

今回はScratchを使ってプログラミングできるドローンを中心に、ドローンをプログラミング教育で活用する方法を紹介してきました。色々なドローンを紹介しましたが、まずはお子さんが興味を持つかどうかが重要です。どうしてもドローンやプログラミングに興味が持てない子もいるので、最初からあまり高い買い物はせず、「Tello」か「Tello EDU」あたりの安い割に色々なことができる製品から初めて見ることをおすすめします。

Ryze Tech Tello Powered by DJI

くれぐれも、お父さんがハマって子どものドローンを取り上げちゃったりしないでくださいね!

  • この記事を書いた人
  • 最新記事

K-ki

著者:K-ki 子供のころに作った模型飛行機がきっかけで航空宇宙の世界に足を踏み入れたエンジニア。HNは「けーき」と読みます。 好きなものは航空機(固定翼・回転翼・ドローンなど全般)と生き物・アクアリウム。

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

© 2024 Ailerocket/エルロケット