147 Views
August 31, 25
スライド概要
## 概要
本資料は、**PX4 SITL と箱庭ドローンシミュレータを Windows 環境で連携させるためのインストール手順と動作確認方法**をまとめたものです。
対象は、ドローンシミュレーションや PX4 を活用した研究・教育・開発を行うエンジニア/研究者/教育機関の方々です。
---
### 本資料でわかること
* **PX4 SITL**と箱庭ドローンシミュレータをつなぐ方法
* **QGroundControl**を用いた操作・状態確認の手順
* **Unity / Unreal Engine**を用いた飛行シミュレーションの可視化体験
---
### 主な内容
1. **イントロダクション**
* 箱庭ドローン/PRO版の位置づけと用途
* 今日のデモのゴール設定
2. **PX4連携の基礎**
* PX4 SITL とは?
* QGroundControl とは?
3. **環境構成**
* Windows 11 + WSL2/Ubuntu 24.04 環境
* Unity / Unreal Engine による可視化構成
4. **セットアップ手順**
* 箱庭ドローンシミュレータの clone
* Docker / WebServer セットアップ
* PX4 clone / build
* QGC の接続設定
* Unity / Unreal 版の導入方法
5. **動作確認**
* PX4 と箱庭を起動し、Unity/Unreal 上で可視化する手順
6. **まとめと今後の展開**
* Ardupilot 連携、外部環境シミュレーション、AIエージェント連携など
---
### 想定する読者
* PX4 / QGroundControl を利用した研究・教育に取り組む方
* ドローンシミュレータや Unity/Unreal を用いた可視化に関心のある方
* 箱庭ラボのオープンソース/PRO版シミュレータの導入を検討されている方
TOPPERS/箱庭WG活動でUnityやらAthrillやらmROSやら触ってます。 最近は仕事の関係でWeb系の技術に注力しつつ、箱庭への転用を模索しています。 2023年8月1日:合同会社箱庭ラボに移動しました
箱庭ドローン・デモシリーズ PX4連携編 合同会社箱庭ラボ CTO 森崇
ご視聴ありがとうございます! 本日は、箱庭ラボが開発している 箱庭ドローンを活用して、 「PX4連携シミュレーション」 「Unity/Unrealでビジュアライズ」 を中心にご紹介していきます。 画面の右側、YouTubeのコメント欄は開放していますので、 ご質問・ご感想などあれば、お気軽にコメントください。 最後に時間をとって、お返しできる範囲で対応します! 2
この動画でわかること・できること • PX4 SITLと箱庭ドローンをつなぐ方法がわかる • QGroundControlでの操作や状態確認ができるようになる • Unity/Unrealでの飛行シミュレーション可視化を体験できる 3
アジェンダ • イントロダクション • 箱庭ドローン/PRO版の位置づけ • 今日のデモのゴール • PX4連携の基礎 • PX4 SITLとは? • QGroundControlとは? • 箱庭との連携デモ • 必要な環境・構成 • セットアップ手順 • 動作確認手順 • Unity/Unrealでの可視化 • まとめと次の展開 • デモシリーズの今後のテーマ紹介 • PRO版でできること 4
箱庭ドローン/PRO版の位置づけ 「箱庭ドローンPRO」は、無償版では難しい 本格的な開発・連携・商用化を支援するライセンスパッケージです。 試作支援サービス 箱庭ドローン バイナリ/ヘッダ (無償版) 箱庭ドローン ソースコード (PROライセンス) [凡例] お客様のプロセス 箱庭ラボのサービス 試作 拡張 項目 無償版 PROライセンス 利用料金 無償 有償(ライセンス契約) ソースコードの参照・改変 不可(バイナリ提供) 可能(拡張調整が自由) 技術サポート なし コンサル・ブートキャンプ対応あり 機能拡張・カスタマイズ 不可(バイナリ提供) 一緒に相談しながら拡張可能 商用利用 不可 商用利用可能(契約に基づく) 実証・PoC対応 開発者向けの検証まで 実証〜本番開発まで対応 対象: SIer/研究機関/教育機関/実証実験プロジェクト ブートキャンプ/ コード解説サービス 5
今日のデモのゴール フライトコントローラ・PX4を中心に、箱庭ドローンを利用したシミュレーションをできるまでを解説 (白塗り部分が箱庭ドローンのカバー範囲です。今回は、赤枠部分の説明をします) Open Source Software HardWare Pixhawk Closed Product User Application Firmware PX4 Ground Station QGC Simulation SITL DJI HITL Hakoniwa Drone AirSim Drone Control Position/Speed Attitude Gazebo ArduPilot Mission Planner Game Engine Unity Unreal Personal Use Free Software 6
ドローン用オープンソース技術のエコシステム Hardware Firmware Pixhawk Ground Station 7
PX4とは? • 何ものか • ドローンのファームウェア • オートパイロット用のフライトスタック • 主な用途 • 様々な機体を選択できる • マルチコプター、固定翼、VTOL • 地上走行ロボット、水中ドローン • 豊富なソフトウェアが揃っている • 機体制御プログラム • 周辺ドライバ • 動作環境 • POSIX準拠のOS • NuttX OS(組み込み向け) • Linux、MacOS(シミュレータ向け) 8
外部連携が考慮されたアーキテクチャ 1. TCP/UDP通信で、以下の連携が可能 1. Offboard 2. QGC 3. Simulator 9
SITLとは? Simulation In The Loopの略で、 PX4のフライトコントローラと物理シミュレータを 接続したテストが可能になります 通信メッセージは MAVLINK 対応が必要なメッセージ: 10
QGCとは • 何ものか • ドローンの地上局システム用のアプリケーション • 主な用途 • 地上から機体を遠隔操作し、 • 様々なミッションを実行できる • サポートしているファームウェア • PX4 • ArduPilot • 動作環境 • Windows • Linux • MacOS 11
地図の自動取り込み • 福井県:36.065、136.222 12
様々な機器設定 • 機体の様々な設定が可能です! • Actuators • 飛行挙動 • PIDチューニング • Actuators • ローターの位置 • 回転方向 13
PIDチューニングもできちゃう! 14
直感的な操作とリアルタイム監視 機体の姿勢角を 表示 機体の操作 地図上に目標地 点を設定 機体の位置や速 度を表示 15
QGCのシミュレーションでの利用方法 これまでのデモ動画は全てシミュレータでっており、実機と同じ操作が可能です! ↓PX4との通信設定さえやっておけば。 16
アジェンダ • イントロダクション • 箱庭ドローン/PRO版の位置づけ • 今日のデモのゴール • PX4連携の基礎 • PX4 SITLとは? • QGroundControlとは? • 箱庭との連携デモ • 必要な環境・構成 • セットアップ手順 • 動作確認手順 • Unity/Unrealでの可視化 • まとめと次の展開 • デモシリーズの今後のテーマ紹介 • PRO版でできること 17
必要な環境・構成 • パソコン • Unity/Unreal Engineがサクサク動くゲーミングPCを推奨します(RTX3060クラス〜) • OS • Windows 11 • シミュレーション環境 • WSL2/Ubuntu 24.04.2 LTS • PX4及び箱庭ドローンシミュレータ実行環境として利用します • ドローンのビジュアライズ • 以下のいずれかを選択できます • UnityHub/Unity(6.1以降) • Unreal Engine 5.6(Epic Games Launcherから導入、動作実績あり) • ドローンの遠隔操作 • QGroundConrolを利用します 18
今回のデモで利用するのはコンテナパターン 箱庭および箱庭ドローンシミュレータをDockerコンテナ上で一括実行する構成です。 環境差異を吸収し、柔軟なデプロイが可能です。 Hakoniwa Drone Simulator Hakoniwa Environment Hakoniwa Web Server Hakoniwa PDU Data Hakoniwa time Unity/ Unreal Engine Python Application Hakoniwa Core Docker Container Personal Computer
箱庭ドローン&PX4&QGCセットアップ手順 いずれかお好みの方を選択してください WSL2の インストール PX4の clone/build 箱庭 WebServer のclone 箱庭ドローン シミュレータ のclone QGCの インストール Unity のインストール Unreal Engine のインストール WSL2/docker のインストール QGC のセットアップ Unity版 箱庭ドローン のセットアップ UE版 箱庭ドローン のセットアップ WSL2/Ubuntuのファイルシステム (/home/<user>/project等) Windowsのファイルシステム (Cドライブ等)
インストールするファイルシステムとディレクトリ • 本チュートリアルでは、以下の構成で説明します。 • Windows側: • C:¥¥hakoniwa に配置する • WSL2側: • ${HOME}/hakoniwa に配置する • TIPS • Unity / Unreal Engine (UE) が Windows 側にインストールされる理由 → WSL2 上には直接インストールできないため。 • 箱庭ドローン関連ソフトウェアが WSL2 側にインストールされる理由 → Windows 側から WSL2 のファイルシステムにアクセスすると I/O 性能が低いため。 • そのため、処理性能を確保するために WSL2 のホームディレクトリ配下に置く。 • つまり、 • ゲームエンジン系は Windows 側 • 箱庭シミュレータ系は WSL2 側 21
箱庭ドローンシミュレータのclone • まずは、ディレクトリ構成の準備と、箱庭ドローンシミュレータ本体を clone しておきます。 mkdir /mnt/c/hakoniwa mkdir hakoniwa cd hakoniwa https://www.youtube.com/ watch?v=AGIWHYllaaQ git clone --recursive https://github.com/toppers/hakoniwa-drone-core.git 22
WSL2/dockerのインストール • WSL/docker 環境のセットアップ方法 • Docker Desktop for Windows を利用せずに、WSL2/Ubuntu環境に直接 docker をインストールします。 • 詳細:https://github.com/toppers/hakoniwa-drone-core/blob/main/docs/tips/wsl/docker-setup.md bash docker/wsl-docker-install.bash bash docker/wsl-docker-activate.bash bash docker/pull-image.bash https://www.youtube.com/watch?v=76R DUbLWj0w 23
箱庭WebServerのclone cd hakoniwa https://www.youtube.com/watch ?v=_a6MU4xAkxc git clone --recursive https://github.com/toppers/hakoniwa-webserver.git 24
QGCのセットアップ • PX4との接続設定を行います。 • アプリケーション設定 →通信リンク • →新規リンクを追加 • • 名前: • Hakoniwa • 開始時に自動的に接続: • ON • 高遅延: • OFF • タイプ: • UDP • ポート: • 18570 • サーバー追加: • 172.31.9.252 https://www.youtube. com/watch?v=lmMD Nm1Rn4U 25
PX4のclone/build • PX4のセットアップ方法 • 詳細:https://github.com/toppers/hakoniwa-drone-core/blob/main/docs/tips/wsl/px4-setup.md cd hakoniwa PX4のコードをクローンして、ビ ルドします。結構時間かかりま す(7-8分くらい)。 https://www.youtube.co m/watch?v=XWYuiSLCh i0 git clone --recursive https://github.com/PX4/PX4-Autopilot.git bash hakoniwa-drone-core/tools/px4/build.bash 26
Unity版箱庭ドローンのセットアップ(1/2) cd /mnt/c/hakoniwa 【補足】 • 初回のUnity起動は長時間かかり ますので、気長に待ちましょう。 • 初回起動が終わると、再起動を求 められますので、再起動してください。 https://www.youtube.com/wat ch?v=1GbhmfBIBE8 git clone --recursive https://github.com/hakoniwalab/hakoniwa-unity-drone.git 27
Unity版箱庭ドローンのセットアップ(2/2) https://www.youtube.com/watch?v=1GbhmfBIBE8 28
UE版箱庭ドローンのセットアップ(1/2) cd /mnt/c/hakoniwa 【補足】 • 初回のUnreal Engineの起 動は長時間かかりますので、気 長に待ちましょう。 https://www.youtube.com/w atch?v=E-8mjlWmu2M git clone –recursive https://github.com/hakoniwalab/hakoniwa-unreal-drone.git 29
UE版箱庭ドローンのセットアップ(2/2) 1. 2. 3. hakoniwa-unreal-droneの HakoniwaDrone.uprojectを ダブルクリック コンテント/Levelsから AvatarWebを選択 アウトライナーで以下を確認 1. 2. BP_HakoniwaAvatarでドローンの 存在を確認(初号機です) BP_HakoniwaWebClientの WebSocket URIを確認(チェック 内容はUnityの場合と同じです) https://www.youtube.com/ watch?v=G85pqeoWQJc 30
PX4&箱庭動作確認手順(Unityで可視化) • 端末A:PX4起動 • 端末B:箱庭起動 bash hakoniwa-drone-core/tools/px4/run.bash bash hakoniwa-drone-core/docker/run.bash bash hakoniwa-drone-core/docker/tools/run-hako.bash px4 https://www.youtube.c om/watch?v=wZoBXm vKYcs 31
PX4&箱庭動作確認手順(Unrealで可視化) • 端末A:PX4起動 bash hakoniwa-drone-core/tools/px4/run.bash • 端末B:箱庭起動 bash hakoniwa-drone-core/docker/run.bash bash hakoniwa-drone-core/docker/tools/run-hako.bash px4 32
アジェンダ • イントロダクション • 箱庭ドローン/PRO版の位置づけ • 今日のデモのゴール • PX4連携の基礎 • PX4 SITLとは? • QGroundControlとは? • 箱庭との連携デモ • 必要な環境・構成 • セットアップ手順 • 動作確認手順 • Unity/Unrealでの可視化 • まとめと次の展開 • デモシリーズの今後のテーマ紹介 • PRO版でできること 33
まとめ • PX4 SITLと箱庭ドローンをつなぐ方法がわかる • QGroundControlでの操作や状態確認ができるようになる • Unity/Unrealでの飛行シミュレーション可視化を体験できる 34
デモシリーズの今後のテーマ紹介 • 箱庭ドローンの代表機能を一巡して行く予定です 9/中旬 Ardupilot 連携方法 • 10/初旬 外部環境(風など)連携方法 • 10/中旬 AIエージェント連携 : (その他要望あれば随時) • PX4/ Ardupilot Wind/ Temp 箱庭ドローン シミュレータ Physics/ MuJoCo Web/ XR Digital Twin AI/ MCP 35
PRO版でできること カテゴリ フライト制御連携 センサー対応 外部環境シミュレーション ログ・デバッグ支援 物理シミュレーション/ ビジュアライズ機能連携 通信ブリッジ 次世代標準対応 開発・拡張サポート 機能 PX4連携 Ardupilot連携 独自制御連携 バッテリー対応 GPSセンサ 加速度センサ ジャイロセンサ 磁気センサ 気圧センサ センサ拡張 風・気温等のシミュレーション連携 障害物との衝突シミュレーション連携 ログ取得・再生機能(ログリプレイ) Unity/Unreal連携 MuJoCo連携 箱庭ブリッジ(Zenoh/ROS)連携 箱庭ブリッジ(MAVLink)連携 箱庭ブリッジ(Web)連携 箱庭ブリッジ(AR)連携 MCPサーバー連携(Claude接続) 箱庭RPCサービス連携 その他・機能拡張・や不具合改修 箱庭ドローン (無償) △ △ X △ △ △ △ △ △ X △ △ △ △ X △ △ △ △ X X X 箱庭ドローン (PRO) ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ ◯ 説明 標準フライトコントローラ対応 標準フライトコントローラ対応 独自飛行制御開発可能 バッテリー消費・管理シミュレーション 仮想位置情報取得 加速度データ取得 角速度データ取得 磁場データ取得 気圧高度データ取得 任意センサー追加可能(LiDAR等) 外的環境影響モデル統合 Unity障害物とのリアル衝突検知対応 飛行データ記録・検証用 3D仮想空間飛行 高精度物理シミュレーション統合 ROS2のシステム連携可能 MAVLinkドローン通信対応 WebSocketベースでの連携可能 ARデバイス対応 自然言語指示操縦可能 サービス通信プロトコル対応 - X:原則として非対応・不適、△:条件付き対応・限定的・工夫要、○:商用利用可能・コンサル支援あり 36
ご清聴 ありがとうございました! 37