LoginSignup
91
79

ドローン操作システムを作ろう(目次)

Last updated at Posted at 2019-04-25

はじめに

このページは,
Ardupilot系ドローンを,インターネット越しに遠隔操縦するシステムを作ろう!
という企画です.

(追記)
2020年中頃には,携帯電話回線のドローンへの解禁が噂されています.
いよいよ,ネット越し操縦の時代になってきました!

「5G回線でリアルタイム映像を見ながら操縦すること(1人1台操縦ルール)」などという変な方向へルール化されないことを祈ります...
1人で何機も操作しなければ,人材不足の解消にはなりませんよ!

概要

「ドローンてのは空飛ぶ自律移動ロボットだ!」
「目視内なんてただのラジコンで十分だ!目視外飛行こそロボットの活躍の場だ!」
「ラジコンなんかDJIに任せるわ!Ardupilotはロボットのためにあるんや!」
「(DJIの)Manualを飛ばせない? へっ,それじゃ(Ardupilotの)Stabilizeは到底無理だな!!」

というArdupilot愛の溢れる方向けの企画です(違

当面は「ドローン操作システムを作ろう」というタイトルですが,
ゆくゆくは**操作システムじゃなくて管制システム**に,変わると良いな(希望的観測

段階的にページを作っていきますので,ゆっくりお待ち下さい.

準備するもの

各章によって必要な機材は異なりますが.
全体として以下が必要です.

・Ubuntu Linuxの入ったPC(インテル系CPU必須,屋外でも試すのでノートPCを推奨)
・コンパニオンPCを搭載したArdupilot系ドローン(コンパニオンはRaspberry Piを推奨)
・無線LAN,RoLa,LTEなどの無線通信装置と,インターネット接続手段
・インターネットに直結されたLinuxサーバ(できればVPS.クラウドや自宅サーバでも可能)
・Webブラウザ(PC,スマホ,タブレット)

最終的なシステム構成

本企画で作る最終的なシステム構成は,次の図の様になります.
final_system.png

したがって,

  • ドローン(Ardupilot系マルチコプター)
  • Linux
  • Raspberry Pi
  • Python
  • dronekit, dronekit-sitl
  • paho-mqtt, MQTT over WebSocket
  • Leaflet
  • HTML, スタイルシート, JavaScript

などの知識が必要になります.
本企画では,それぞれの技術を一応,入門形式で紹介していきますが,
より詳しく学ぶためには,ネット上の様々な記事を読まれる方が良いでしょう.

プログラムに関しては,
・サンプルソースの多少の改変
・ヘタに関数やクラスを多用せず,いわゆる「ベタ書き」
を心がけました.なるべく理解しやすいように.
玄人Pythonistaや玄人JavaScripterの方は,適宜修正して使ってくださいね(^^ゞ

目次

現時点での目次です.たぶんコロコロ変わります...

  1. dronekit-python を使ってみる SITL編
  2.  補足:dronekitのサンプルプログラム
  3. dronekit-python を使ってみる 実機編
  4. ドローンを動かす SITL編
  5. ドローン操作システムの概要
  6. ドローンを動かす 実機・Raspberry Pi編
  7. MQTTブローカーのセットアップ
  8. pythonでMQTT送受信
  9. dronekitの情報をMQTTで送信してみる
  10. MQTTをWebブラウザで受信してみる
  11. 地図上にドローンの位置を表示してみる
  12. Leafletのマーカーを変更する
  13. MQTTでドローンにコマンドを送る
  14. Webブラウザからドローンにコマンドを送る
  15. 地図上のクリックした場所を目標地点にする
  16. VPSで環境構築する
  17. インターネット経由で実機ドローンを動かす

###ArduPilot SITL

  1. ArduPilotのSITLを動かす
  2.  補足:ArduPilot SITLをラズパイ4で動かそう
  3. ArduPilot-SITLをdronekitで動かす
  4. ArduPilot-SITLをドローン操作システムで動かす
  5. ArduPilot-SITLで固定翼機を飛ばす

追加して書きたい

複数ドローンのオペレート(管制)

Appendix A

  1. 複数のドローンを操作できるようにする
  2. 集団行動(swarm)をする
  3. 衝突回避アルゴリズムでドローン同士で回避する
  4. 衝突回避アルゴリズムで有人機を回避する
  5. フライトプラン(ウェイポイントパス)の表示

画面表示の向上

Appendix B

  1. Leafletに様々な地図を追加する
  2. 人口密集地域や空港制限表面を表示する(要Leafletのバージョンダウン)
  3. ドローンの進行方向,速度,目標地点を線で表す

表示するマーカーの種類を増やす

Appendix C

  1. シミュレータと実機をアイコンで分ける
  2. ローバーを走らせる
  3. ADS-Bを受信して,有人機を地図に表示する
  4. 気象観測装置を作り,地図に表示する
  5. IoTデバイスも表示する
  6. DJI A3/N3のドローンも操作する
  7. 超小型スマホを積んだDJI完成機を表示する

国土交通省の仕様に合わせる

Appendix D

  1. 情報提供機能(SDSP)の地図で表示する
  2. 運航統合管理機能(FIMS-UASSP)に情報を投げる
91
79
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
91
79