DRONE
  • DRONE
  • MOBILITY
  • SPACE
  • ROBOTICS
  • 特集
  • コラム
  • ニュース
  • ABOUT US
Reading: [教えて!ドローンプログラミング]Vol.03 Tello EDUではじめるドローンプログラミング上級編:ScratchとPythonで飛ばしてみよう!
Share
DRONE
  • DRONE
  • MOBILITY
  • SPACE
  • ROBOTICS
  • 特集
  • コラム
  • ニュース
  • ABOUT US
検索
  • DRONE
  • MOBILITY
  • SPACE
  • ROBOTICS
  • 特集
  • コラム
  • ニュース
  • ABOUT US
Follow US
© 2013-2022 DRONE. All Rights Reserved.
コラム石井理恵

[教えて!ドローンプログラミング]Vol.03 Tello EDUではじめるドローンプログラミング上級編:ScratchとPythonで飛ばしてみよう!

2019年6月5日
SHARE

多言語対応でさらなる可能性が広がるTello EDU!

プログラミング教育用トイドローンTello EDUを使ってドローンプログラミングを紹介するこのシリーズ。これまでTello EDUアプリやSwift Playgroundsアプリを使ってプログラミングしてきました。Tello EDUの特徴は、ScratchやPythonなど多言語に対応しているところです。今回は、この2つの言語を使ってTello EDUのプログラミングに挑戦したいと思います!

- Advertisement -
Contents
多言語対応でさらなる可能性が広がるTello EDU!Scratchでドローンを飛ばしてみよう1.Scratchをインストール2.node.jsをインストール3.Tello EDU プログラミングデータのダウンロード4.ScratchでTello EDUを飛ばせるようにするScratchでプログラミング飛行テスト試行錯誤が続くプログラミングPythonでドローンを飛ばしてみよう1.Pythonをダウンロードする2.Pythonのサンプルファイルをダウンロードする3.Tello3.pyファイルを開く4.新しいウインドウが開く5.Tello EDUのスイッチを入れパソコンとTello EDUのWi-Fiを接続6.コマンドを入力Pythonでプログラミング飛行テスト論理的思考や問題解決能力ってプログラミングで身につくの?プログラミング教育で何を学ぶのか?
▶Vol.01 Tello EDUではじめるドローンプログラミング入門編

▶Vol.02 Tello EDUではじめるドローンプログラミング中級編:いよいよ複数ドローンで飛行を楽しもう!

Scratchでドローンを飛ばしてみよう

Tello Scratch READMEファイルの一部

- Advertisement -

では、早速Scratchを使ってドローンをプログラミングしていきましょう。Scratch はTello、Tello EDUどちらにも対応していますが、Scratchでドローンを動かす場合、少し準備が必要です。筆者はMacを使っているのでMacの場合を例に紹介します。

Tello EDU公式ページのメニュー「ダウンロード」から、「Scratch README」をクリックすると、Tello EDUをScratchで動かす手順が書かれています。(英語版のみ)。このファイルを参考に進めていきましょう。

1.Scratchをインストール

このページから自分のOSや環境に合わせてScratchをダウンロードしてインストールします。

1.Adobe AIR(持っていない場合はこちらも必要です)
2.Scratch 2.0オフラインエディター(Tello EDUを動かすために最新版ではなくこちらをダウンロードしてください)

- Advertisement -

Scratch2.0オフラインエディター画面

インストールが完了し、Scratch 2.0オフラインエディターを立ち上げると猫とブロックが並ぶScratchの画面が現れます。表示が日本語でない場合は左上のScratchのロゴの横にある地球マークから日本語を選択するとブロックの文字が日本語になります。ひらがなでの表示も可能です。

2.node.jsをインストール

次に、このアドレスから、node.js(緑色のボタン左側が推奨版)をダウンロードして手順に従ってインストールします。

3.Tello EDU プログラミングデータのダウンロード

ダウンロードされた「Scratch」フォルダの中身

さらに、ScratchでTello EDUを動かすためのプログラミングデータをこちらからダウンロードします。

1.まず、Tello.jsファイルを右クリック→「このアプリケーションで開く」→「テキストエディット」を選び、ファイルを開きます。

2.次に、アプリケーションから「ターミナル」(Windowsの場合はコマンドプロンプト)を立ち上げます。「node」と入力してenterキーを押します。

3.1で開いたTello.jsファイルの「var」以降最後まで全てをコピーして2のターミナルにペーストします。

テキストエディットでTello.jsファイルを開いた画面。選択して水色になっている「var」以降最後までコピーする

ターミナルを立ち上げ「node」と入力した画面。「>」以降の部分に上記Tello.jsファイルでコピーした部分を貼り付ける。この画面は終わるまで開いたままにしておく

4.ScratchでTello EDUを飛ばせるようにする

実は、ScratchはそのままではTello EDUを動かすことはできません。3までの準備をした後、最初にインストールしたScratchを起動します。shiftキーを押しながらメニューバーの「ファイル」を押すと一番下に「実践的なHTTP拡張を読み込み」というメニューが現れます。

「実践的なHTTP拡張を読み込み」を選択し、3でダウンロードした「Scratch」フォルダにあるTello.s2eファイルを読み込みます。

Scratchにドローンを制御するブロックが追加される

Scratch画面真ん中、「スクリプト」の「その他」をクリックすると、Tello EDUをコントロールするブロックが追加されています(ドローンを制御するブロックは英語表記)。これで準備完了です!

Scratchでプログラミング飛行テスト

Scratchでのプログラミング画面例

あとは前回までと同じように、Tello EDUのスイッチを入れ、パソコンをTello EDU独自のWifiに接続します。ブロックを組み合わせてプログラミングし、実行するとTello EDUをScratchで制御できるようになります。

ScratchでTelloEDUのプログラミング飛行テスト。緑の旗をクリックするとTelloEDUが動き始める

試行錯誤が続くプログラミング

初心者の筆者でも手順通りに進めば思ったよりもスムーズにできそうだ!とドローンが飛んだ瞬間思ったのですが、なんと最後に「着陸」しないというトラブルが起きてしまいました。機体が熱を持ったり、フライトを繰り返したりしていると、途中の命令をスキップしてしまうことはよくあるのですが、着陸しないというのは想定外です。

いろいろ試してみた結果、ソフトの再インストールなど1からやり直してみると着陸も問題なくできるようになりました。同じ症状が起きた時は参考にしてみてください。

Pythonでドローンを飛ばしてみよう

AIなどでも使われ、今人気のPythonですが、実はとても教育に適したプログラミング言語です。もちろん本格的なテキスト言語なのですが、シンプルで記述も比較的短くて済むという特徴があります。Tello EDUがこの性能、この価格でPythonにも対応していると聞き、試してみました!

1.Pythonをダウンロードする

公式サイトからPythonをOSに合わせてダウンロードします。今回はPython3をインストールしました。インストールはダウンロードしてインストーラーを実行するだけなので簡単です。

2.Pythonのサンプルファイルをダウンロードする

Tello EDU公式ページのメニュー「ダウンロード」にある「SDK 2.0 User Guide」を参考にしながら、Pythonのサンプルファイル「Tello3.py」をダウンロードします。

3.Tello3.pyファイルを開く

Tello3.pyファイルをダブルクリックで開き、メニューから「Run」→「Run Module」を選択します。

4.新しいウインドウが開く

5.Tello EDUのスイッチを入れパソコンとTello EDUのWi-Fiを接続

6.コマンドを入力

4で開いたファイルの下の空欄に、「command」と入力し、離陸させるときは「takeoff」を入力します。機体が離陸すればOKです。着陸させるときは「land」、終了させる場合は、「end」を入力します。

Pythonでプログラミング飛行テスト

手順がわかったので、いよいよPythonのプログラミング飛行テストです。まずは離陸と着陸のテストしてみました。

Pythonのプログラミング飛行テスト(離陸・着陸)

成功です!今回は離陸と着陸でしたが、もちろん他のコマンドも入力することができます。先ほど紹介した「SDK 2.0 User Guide」を参照してください。

ここで紹介したのはPythonの導入だけですが、Tello EDUのすごいところは、アップグレードされたSDK2.0により、ビデオストリームデータへのアクセスなどによって画像処理やAI開発へと可能性を広げられることです。公式Webにあるチュートリアルビデオのようなジェスチャーコントロールが自分でもできるかもしれません。

Tello EDU-Soaring Symphonyより

Tello EDUのページには公式のサンプルコードが用意されています。さらに本格的に学びたい子どもたちにとってAIも学べる魅力的な教材だと思います。

論理的思考や問題解決能力ってプログラミングで身につくの?

ところで、以前より疑問だったのが、プログラミングで論理的思考が身につくのか?ということです。筆者はプログラミング初心者なので、自分の経験として感じたことだけを言うと、行動を1つ1つプログラムで表現するという作業がとても新鮮でした。

子ども向けのアプリを使ってブロック組み立てることはこの手順を可視化するのにとても良い教材だと思います。手順を記述してみると実際は無意識で行っていることの多さに気がつきます。手順をきちんと書かないとプログラムは動きません。

そうやって身の回りを見てみるといろいろなところにコンピュータが使われています。こうやってプログラムされているのかなと少し想像できるようになりました。

また、Swift Playgroundsのミッションでプログラミングしたように、同じ作業をまとめて関数やFor文などを組み合わせていくことは、パターンを見つけたり抽象化や概念化したりしていくことにつながりそうです。構造的にものを見ていく訓練になるのではと感じました。

Tello EDUでのプログラミングはその都度何かしらうまくいかないなど問題が起こります。デバッグが必要なのかあるいは別の問題なのか。これまで多くの方に相談してなんとかPythonの実行まで可能になったことを考えると、確かに問題解決能力や忍耐力、協調性等は必須になってくると思います。

ただ、1つ1つの問題を解決していくのにはとても時間がかかりました。本当にこういった力を身につけていくには、授業に少し取り入れただけでは難しいかもしれません。

プログラミング教育で何を学ぶのか?

2020年小学校でプログラミング教育が必修化され、その後も中学校、高校と順次新しい指導要領に合わせて内容も一新されていくことが決まっています。これからの時代、すべての人が、コンピュータがどうやって動くのかという仕組みを知る必要があるでしょう。

もちろん、プログラミングを理解するだけでなく、プログラミングができるIT人材を育成してくことは産業界やドローン業界としても重要です。

ただ、それは単にプログラミングを理解し知識を覚えればいいということでありません。ScratchはMITのメディアラボで開発された言語ですが、開発には「ものを作りながら学ぶ」というシーモア・パパートの「構築主義」という考え方がベースにあります。

Scratchを開発したミッチェル・レズニックも、Scratchの目的はプログラマーを育てることではなく、創造的思考力を育てることだと言っています。何より今までなかった「自分が作りたいものを作る」ためには創造力が必要です。一方で、これから「自分の作りたいものを作る」ためには、プログラミングができないと作ることができない時代になってきているのかもしれません。

筆者もPythonに興味を持ち、いろいろな夢が広がりました。この連載は今回が最終回ですが、少しでもドローンプログラミングに興味がある方やSTEM教育にトイドローンを活用してみたいという方のお役に立てればうれしいです。

DJI Matrice 4Tが広大な遊水地上空で活躍。DJI Dock 2も投入、ドローンによる「ヨシ焼き」残火確認 現場レポート
2025年3月21日
大林組とKDDIスマートドローン、ドローンポート「DJI Dock 2」を活用し能登半島で道路工事の作業効率化を推進
2024年11月20日
ドローン操縦スキル上達のために。DPA回転翼3級から国家資格がベスト![後編]
2024年9月30日
ドローン操縦スキル上達のために。DPA回転翼3級から国家資格がベスト![前編]
2024年9月30日
TAGGED: 教えて!ドローンプログラミング
shizuka 2019年6月5日
Share this Article
Facebook Twitter Copy Link Print
Share
Previous Article 4Kズーム可能な水中ドローン「BW Space Pro」がクラウドファンディングで目標金額達成。現在180%を超え進行中
Next Article センシンロボティクス、業務自動化統合プラットフォーム 「SENSYN FLIGHT CORE」に3Dルートを作成できる機能を追加
- Advertisement -

最新ニュース

250612_JD_Soradynamics_top
Soradynamics、産業用ドローン「Hayate 2」と「隼」を展示。安全に運用できる高機能性[JapanDrone2025]
特集 2025年6月12日
2540612_JD_riegl_top
RIEGLの新LiDAR「VUX-100-25」、FOV160°で133万点/秒取得能力を搭載。マルチコプターでの高効率測量を実現[JapanDrone2025]
特集 2025年6月12日
250612_JD_roboz_top
ROBOZ「Litebee Stars」が実現する小規模屋内ドローンショー。教育コンテンツとしても注目[JapanDrone2025]
特集 2025年6月12日
「DRONE SHOW JAPAN PRESENTS STARMIRAGE IN OSAKA TEMMABASHI」延べ5万5千人が天満橋エリアに来場
「DRONE SHOW JAPAN PRESENTS STARMIRAGE IN OSAKA TEMMABASHI」、延べ5万5千人が天満橋エリアに来場
ニュース 2025年6月12日
【水中ドローン体験会】カナダ製水中ドローン『DeepTrekker』自動航行機能を東京で体験し検討できる
水中ドローン体験会:カナダ製水中ドローン「DeepTrekker」自動航行機能を東京で体験し検討できる
ニュース 2025年6月11日
- Advertisement -

関連記事

コラム石井理恵

[教えて!ドローンプログラミング]Vol.02 Tello EDUではじめるドローンプログラミング中級編:いよいよ複数ドローンで飛行を楽しもう!

2019年4月22日
コラム石井理恵

[教えて!ドローンプログラミング]Vol.01 Tello EDUではじめるドローンプログラムミング入門編

2019年3月5日

DRONEとは

DRONE(https://www.drone.jp/、以下本サイト)は、ドローンやマルチコプターについての本格的な解説やおすすめ、最新情報を発信する日本初のメディアとして、「Explore the Future」をタグラインに2015年スタートしました。

2022年、時代とテクノロジーの急速な進化を押さえ、ドローンを起点に、「空飛ぶクルマ」、「自動運転」、「AI」、「ロボティクス」、「電気自動車(EV)」、「宇宙関連」など、時代を変えていく国内外のテクノロジーについて、幅広くみなさまにお伝えします。

メディアパートナー

ページ一覧

  • Home
  • DRONE
  • MOBILITY
  • SPACE
  • ROBOTICS
  • 特集
  • コラム
  • ニュース
  • ABOUT US
  • プライバシーポリシー

アーカイブ

姉妹サイト

PRONEWS(プロニュース)は、デジタル映像制作専門情報Webメディア

DRONE
Follow US

© 2013-2023 DRONE. All Rights Reserved.

Welcome Back!

Sign in to your account

Lost your password?