Help us understand the problem. What is going on with this article?

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

はじめに

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

概要

「ドローンてのは空飛ぶ自律移動ロボットだ!」
「目視内なんてただのラジコンで十分だ!目視外飛行こそロボットの活躍の場だ!」
「ラジコンなんか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をdronekitで動かす
  3. ArduPilot-SITLをドローン操作システムで動かす
  4. 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)に情報を投げる
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away