ドローンエンジニア養成塾第21期

Applicationコース DAY 1

2026.6.6(Sat)

Copyright © Drone Japan All Rights Reserved.

講師紹介

川村剛・藤川秀行

Copyright © Drone Japan All Rights Reserved.

講師紹介(写真)

講師の紹介図。黒背景の中央に本人の写真があり、周囲に Podcaster(ポッドキャスト配信中)、自動草刈機、株式会社RtoS、Full Stack(ArduPilot/AWS/Web/Mobile/Robot/Network)、ArduPilot エヴァンジェリスト・エンジニア養成塾リード講師などの肩書きが線でつながる。雑誌『トランジスタ技術』の表紙も添えられている

Copyright © Drone Japan All Rights Reserved.
制作した機体の写真。手のひらサイズのドローン ArduWhoop と、雑誌『ドローン自律飛行』の特集記事の表紙
雑誌『ドローン自律飛行』の表紙
四足歩行ロボットの写真

自己紹介:藤川秀行

Copyright © Drone Japan All Rights Reserved.

アプリケーション編のスコープ

center ドローンの役割・ビジネス・ソフトウェア開発の切り口で見た各コースのスコープ図。アプリケーション編は、ソフトウェア開発のうち機体管理(自動航行・航行管理・飛行ログ解析)、高度な自律処理、情報処理(画像合成・画像処理・点群処理・画像転送)を扱う

Copyright © Drone Japan All Rights Reserved.

アプリケーション編のスコープ

center システム全体図。Air(ドローン)・Ground・インターネット/クラウドを、ラジオ・Wi-Fi・Bluetooth・キャリア通信などでつなぐ。吹き出しで、ArduPilotと協調する周辺アプリ(MAVProxy、DroneKit、pymavlink、mavlink-router)の開発にフォーカスすると示している

Copyright © Drone Japan All Rights Reserved.

アプリケーション編のスコープ

center システム構成の図。送受信機、GCS(Mission Planner)、Androidスマートフォン、HereLink、FC(フライトコントローラ)、コンパニオンコンピュータの関係を示し、コンパニオンコンピュータを赤い破線で囲んでいる

Copyright © Drone Japan All Rights Reserved.

アプリケーション編の構成要素

center アプリケーション編の構成要素の図と表。Air側(コンパニオンコンピュータ・FC・機体)とGround側(GCS)を抽象度の高低で並べ、アプリ編の対象(CCのソフトウェア:DroneKit・pymavlink・MAVProxy・MAVLink-router)を赤い破線で囲む。下に構成要素ごとの説明表がある

Copyright © Drone Japan All Rights Reserved.

アプリケーションの処理フロー

center アプリケーションの処理フロー図。コプター(System ID 1)とGCS/アプリ(System ID 255)の間で、ハートビート#0(1Hz)、データストリーム要求(REQUEST_DATA_STREAM #66、MESSAGE_INTERVAL #244)とデータ送信、COMMAND_LONG(#76)の送信とACKをやり取りする

Copyright © Drone Japan All Rights Reserved.
ドローンの黒背景のシルエット画像
Mission Plannerの画面。姿勢表示と地図上の飛行ルート、操作ボタン

アプリケーションの用途例①

GCSでできる機体管理

  • ①機体への接続
  • ②機体の設定・調整
    • パラメータ設定(キャリブレーション、PIDチューニング、スイッチ割当など)
  • ③機体の操作
    • モード変更、アーム、ディスアーム、離陸、着陸(Land)、帰還(RTL)
    • ミッション開始(Auto)、機体制御(座標)
  • ④機体の情報表示
    • 位置、高度、速度、角度、方角、バッテリー電圧、電波強度、GPS捕捉数
  • ⑤自動航行
    • ミッション作成、書込み、読込み

GCS=Ground Control Station(地上局ソフトウェア)

Copyright © Drone Japan All Rights Reserved.
QGroundControlの画面。衛星地図上の機体と飛行ルート、姿勢計、左側に飛行・プラン・着陸などのボタン

アプリケーションの用途例②

  • GCSでできる機体管理(QGCの場合)
  • ①機体への接続
  • ②機体の設定・調整
  • ③機体の操作
  • ④機体の情報表示
  • ⑤自動航行

QGC=Q Ground Control:マルチプラットフォームGCSソフトウェア

Copyright © Drone Japan All Rights Reserved.

アプリケーションの用途③

center 外部デバイスを使った情報処理・高度化の図。FCとコンパニオンコンピュータにカメラ・ステレオカメラ・SIMなどを接続し、物体検出・自動追従・精密着陸・非GPSナビ(SLAM)・障害物回避を行い、クラウド経由でバックエンドサービスやリモート運用と連携する

Copyright © Drone Japan All Rights Reserved.

ドローンアプリ開発での生成AI活用

center 生成AIを使ったドローンアプリ開発の流れ図。アプリのアイデアからプロンプト作成、コード生成、テスト、完成へ進み、エラー情報の返却・バグ修正・機能追加のループがある。プロンプト作成とテストに必要な知識も付記されている

Copyright © Drone Japan All Rights Reserved.
扉を開けようとしている男性のイラスト

目標習得スキル

  • ArduPilotの基礎
    • 開発環境構築 ArduPilotのビルド
  • 実践準備
    • コンパニオンコンピュータの概要&構成
    • MAVLinkの概要
    • SITL接続方法
    • MAVProxyの使い方
    • MAVLink-routerの使い方
    • DroneKit-Pythonの使い方
    • pymavlinkの使い方
  • 実践・ハンズオン
    • コンパニオンコンピュータ、シミュレータ、各種開発ツールを活用し、ユースケース・課題に対応したアプリケーションを開発・テストできること


ドローンエンジニアへの扉を開こう

Copyright © Drone Japan All Rights Reserved.

全体スケジュール

アプリケーションコースは積極的に、実際に手を動かし実践する、がモットーです!
※時間の都合上多少変更がある場合があります。

日程 内容
Day1 6月6日 キックオフ, コース説明
Day2 6月20日 機体制御アプリケーション開発ワークショップ, pymavlink, DroneKit-Python
Day3 7月4日 コンパニオンコンピュータ概要&構成, MAVLink, SITL接続, MAVProxy, MAVLink-router
Day4 7月18日 フライトエクスペリエンス, チューニング, オートミッション, PullRequest基礎
Day5 7月25日 開発におけるセキュリティ, 実践ワークショップ
Copyright © Drone Japan All Rights Reserved.

講義スケジュール 1/2

  • Day1:11月8日(土)
    • コース内容紹介
    • ArduPilotの紹介
    • 宿題:開発環境手順書で環境を整える(シミュレータ、Python開発環境など)
  • Day2:11月22日(土)
    • DroneKit-Pythonの紹介・演習
    • pymavlinkの紹介・演習(機体への接続・切断、アーム・離陸・モード変更、機体の情報読込・パラメータ読込 等)
    • 宿題:開発環境手順書で環境を整える(コンパニオンコンピュータ開発環境など)

※時間の都合上多少変更がある場合があります。

Copyright © Drone Japan All Rights Reserved.

講義スケジュール 2/2

  • Day3:12月6日(土)
    • コンパニオンコンピュータの概要&構成
    • MAVLinkの紹介
    • SITL接続方法
    • MAVProxyの紹介
    • MAVLink-routerの紹介
    • 宿題:フライトエクスペリエンスで飛ばすためのアプリケーション開発(配布されたコンパニオンコンピュータ実機も利用可)
  • Day4:12月20日(土)
  • Day5:1月10日(土)
    • 開発におけるセキュリティ
    • 実践ワークショップ:当日発表される課題に対して、チームに分かれてアプリケーション開発による課題解決に取り組む

※時間の都合上多少変更がある場合があります。

Copyright © Drone Japan All Rights Reserved.

推奨PC環境・スペック

  • OS:Windows11, RAM:8GB以上, CPU:i5以上
  • WSL2(Ubuntu22.04)を使用
  • Real Flightなど3Dシミュレータを使う場合はGPU搭載マシンを推奨
  • Zoomと開発環境は、同一PCでの使用を推奨。ワークショップで開発画面を共有するケースがあるため
  • 社用PCは非推奨。Firewallやネットワーク設定の制限により各開発ツールが正常動作しない可能性があるため
  • フライトエクスペリエンス時などフィールドでも使用できるノートPCを推奨。座学はデスクトップPCでもOK

※ 上記以外の環境(Mac, Ubuntu, WSL1など)でも参加可能ですが、問題発生時は自己解決が必要となります。養成塾Facebookグループなどでの質問・相談は可能です

Copyright © Drone Japan All Rights Reserved.

より理解度をあげるために

center より理解度をあげるための3つの行動。活動をSNS等でシェアする、フライトエクスペリエンスに参加する、ArduPilot関連プロジェクト(ソースコード修正、ドキュメント修正、Issue報告、コミュニティ投稿)に貢献する

Copyright © Drone Japan All Rights Reserved.

次回までの宿題

ぜひ、FBコミュニティに参加して、
わからない事があったらシェアしてください。養成塾コミュニティメンバーが全力サポートします!

  • 環境構築手順(別途連携)を参照して開発環境をセットアップする
対象作業 期限 手順書ファイル名
ドローン開発環境構築 Day2:11月22日 drone-dev-env-setup-guide.pdf
コンパニオンコンピュータ環境構築 Day3:12月6日 cc-dev-env-setup-guide.pdf
Copyright © Drone Japan All Rights Reserved.

Appendix.リンク集

Copyright © Drone Japan All Rights Reserved.

Appendix.リンク集

Copyright © Drone Japan All Rights Reserved.

src: slide 2

src: slide 3

src: slide 4

src: slide 5

図内テキスト(抽出): ドローンの役割、ビジネス、ソフトウェア開発の切り口でみた各コースのスコープ “Day1~2 の間にコース変更希望もしくは複数受講の方は事務局までお願いします。” / ドローンの役割 1.作業の代替:「運搬」「散布」「採取」 2.情報収集 : 加工や分析するための情報収集 / ドローンのビジネス ハードウェア サービス・ソフトウェア ドローン関連ビジネス(基盤) / ドローンのソフトウェア開発 機体制御 基本機体制御 ペイロード管理・制御 高度な自律処理 機体管理:自動航行、航行管理、飛行ログ解析 情報処理:画像合成、画像処理、点群処理、画像転送 / オペレーションコース / デベロッパーコース (アプリケーション編) / デベロッパーコース (フライトコード編)

src: slide 6

図内テキスト(抽出): Ground / Air / Internet / クラウド システム *2 / 他クラウド / 他サービス / ローカル通信(LAN/Wi-Fi/Bluetooth...) / USBリンク / ラジオ通信 Wi-Fi通信 Bluetoothなど / キャリア通信(LTEなど) / キャリア通信(LTEなど) / インターネット通信 / リモートID / Mission Planner QGroundControl APM Planner... / ArduPilotと協調する周辺アプリケーション、 そのアプリケーション開発に必要なエッセンシャルスキルを習得することにフォーカスします / MAVProxy DroneKit pymavlink mavlink-router... / 再掲

src: slide 7

図内テキスト(抽出): 送受信機 / GCS (Mission Planner) / Android スマートフォン / FC(フライトコントローラ) / コンパニオン コンピュータ / HereLink

src: slide 8

図内テキスト(抽出): CC Software / CC Hardware / Drone Hardware / GCS Software / GCS Hardware / Air(Drone) / Ground(GCS) / High / Low / abstraction / FC Software / FC Hardware / GCS Software / GCS Hardware / CC=Companion Computer, FC=Flight Controller / pymavlink / MAVProxy / MAVLink-router

src: slide 9

図内テキスト(抽出): コプター / GCS/Application / System ID: 1 Component ID:1 / System ID: 255 Component ID:1 / ハートビート#0 (1Hz) / コマンド送信 COMMAND_LONG (#76) / ACK / REQUEST_DATA_STREAM#66 MESSAGE_INTERVAL#244 / データ送信 / https://ardupilot.org/dev/docs/copter-commands-in-guided-mode.html#copter-commands-in-guided-mode

src: slide 10

src: slide 11

src: slide 12

図内テキスト(抽出): 障害物回避 / 外部デバイスを使った情報処理・高度化 / インターネット/ クラウド / 画像/テレメトリ→ / 非GPSナビ(SLAM) / 精密着陸 / 物体検出 / 非GPSナビ / SIM / ステレオカメラ / リモート 運用 / カメラ / コンパニオン コンピュータ / フライト コントローラ / マーカー / 自動追従 / バックエンド サービス / ←コマンド送信

src: slide 13

図内テキスト(抽出): プロンプト作成に必要な知識 概念・用語 ツール・ライブラリの使い方 できること・できないこと 参考とするソースコード / テストのために必要な知識 環境構築 ビルド・実行方法 シミュレータの使い方 生成AIの嘘(ハルシネーション)を見抜く / アイデアの例 ログ解析 Web GCS ミッション作成支援 障害物回避 / アプリの アイデア / コード生成 / テスト / 完成 / 機能追加 / バグ修正 / NG / OK / ソース コード / プロンプト / エラー情報 / GitHubには多くのコードが公開されているため、生成AIによる支援を効果的に活用できます。 ただし、AIへの指示や結果の検証を正しく行うには、ドローンアプリ開発に関する知識が必要です。 本コースでその知識を身につけましょう。 / 生成AIを活用して作ったドローンアプリ事例 Web GCS : https://x.com/i/status/1863614621082599520 RCレコーディングモード : https://x.com/i/status/1658391264075866112 ArduPilot MCPサーバー : https://x.com/i/status/1913032517407658408

src: slide 14

density:auto

src: slide 15

src: slide 16

density:auto

src: slide 17

density:auto

src: slide 18

density:auto

src: slide 19

図内テキスト(抽出): アクティビティをSNS等で積極的にシェアしよう 成果、失敗 質問、相談 作った機体やプログラム / フライトエクスペリエンスに積極的に参加しよう 自作機体(陸海空) 自作プログラム / ArduPilot関連プロジェクトに貢献できるようになろう ソースコード修正 ドキュメント(Wiki)修正 Issueでの問題報告 コミュニティへの投稿

src: slide 20

guide-source: drone-dev-env-setup-guide.pdf の正本 = https://github.com/hfujikawa77/droneschool-doc/blob/master/doc/drone-dev-env-setup-guide/drone-dev-env-setup-guide.md

guide-source: cc-dev-env-setup-guide.pdf の正本 = https://github.com/hfujikawa77/droneschool-doc/blob/master/doc/drone-dev-env-setup-guide/cc-dev-env-setup-guide.md

src: slide 21

src: slide 22