6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows×Unityで爆速ドローン訓練!PS4コントローラ握って箱庭シミュレータを飛ばす!

Posted at

この記事を読むと、Windows環境で手軽にリアルなドローン操縦体験ができるようになります。

PS4コントローラを握って、箱庭シミュレータ×Unityで、まるで実機のようなフライト体験を始めましょう。

⚠️ 注意:PX4 / Ardupilot は使っていません!
本記事のドローン制御は、箱庭ドローンシミュレータにあらかじめ含まれている制御プログラムで実行されます。
よって、PX4やQGroundControlなどのインストール・設定は不要です。

🎯 想定読者

  • 実機操作に近い感覚でドローン操縦訓練を体験したい開発者・教育関係者
  • PS4コントローラで直感的に操作できるドローン環境を探している人
  • Unityゲーム開発者で、物理エンジンつきのドローン挙動を試したい人
  • UnityとWebSocket連携で、双方向インタラクションのある環境を構築したい人

では、早速始めましょう。

💻 Windows環境

必要なものはこれだけです。

ツール 用途 備考
Windows 11 / WSL2 ホスト環境 WSL2は必須(WSL1不可)
Ubuntu 24.04.2 LTS 箱庭ドローンシミュレータ WSL2内で動かします
UnityHub/Unity(6.1) 可視化(任意) 自機やセンサの3D表示が可能
PS4コントローラ ドローン操縦用 -

💡 PS4コントローラは、事前にWindows側でUSB接続しておきましょう。

TIPS コントローラ入力の流れ

🎮 「PS4コントローラで操作」→「Unityで受け取る」→「WSL上の箱庭ドローンシミュレータに送信」

  • コントローラの入力はUnity側のスクリプトで受け取ります
  • Unity から WebSocket 経由で、WSL上のシミュレータにコントローラの命令値を送信
  • 箱庭ドローンシミュレータは、独自の内蔵制御ロジックでドローンを挙動制御します

このあとの章では、Unityプロジェクトの設定方法や、WSL上の箱庭ドローン環境との接続方法を紹介していきます。

🛠 環境セットアップ

まずは、WSL2を起動です!

📦 箱庭ドローンシミュレータ本体

git clone --recursive https://github.com/toppers/hakoniwa-drone-core.git

クローンする場所は、WSL2/Ubuntuのホーム直下に project ディレクトリ作成して、そこで行うのがお勧めです。

クローンおわったら、WSL に docker をインストールしよう!

箱庭Webサーバー

git clone --recursive https://github.com/toppers/hakoniwa-webserver.git

クローンする場所は、WSL2/Ubuntuのホーム直下に project ディレクトリ作成して、そこで行うのがお勧めです。

🎮 Unity環境

git clone --recursive https://github.com/hakoniwalab/hakoniwa-unity-drone.git

クローンする場所は、Windowsのファイルシステム(例えば /mnt/c)直下に project ディレクトリ作成して、そこで行うのがお勧めです。

クローン終わったら、Unity Hubで下図のように Add をクリックして、

image.png

hakoniwa-unity-drone/simulation を追加してください。

image.png

成功すると、下図のようになります。

image.png

そして、simulation をクリックすると、Unityが起動します。(何回か再起動メッセージがでますが、めげずにがんばりましょう)

起動後、下図のように、プロジェクトビューから、Scenes/WebAvatar をクリック!

image.png

ヒエラルキービューの HakoniwaWeb を選択して、Inspectorビューの Server Uri のIPアドレスを、WSL2のIPアドレスを指定します。

WSL2のIPアドレスは、Ubuntu 上で ifconfigeth0 のものを入力します。

例:

tmori@WinHako:~/qiita$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.31.9.252  netmask 255.255.240.0  broadcast 172.31.15.255

ちなみに、デフォルトで動くドローンはこちらっす。

image.png

お疲れさまでした、さっそく動かしてみましょう

さー、やりましょう。

箱庭ドローンシミュレータを起動だ!

WSLの端末で、以下を実行してください。

bash hakoniwa-drone-core/docker/run.bash

成功すると、docker コンテナに入りますので、この状態で、箱庭ドローンシミュレータを起動しましょう。

bash hakoniwa-drone-core/docker/tools/run-hako.bash rc

Unity でドローンを操縦だっ!

Unityのプレイボタンをクリックするだけです。

以下はデモ操作した内容の動画です。

操作デモ動画

  1. Xボタンを押す → プロペラが回転
  2. 左スティック前倒し → ドローンが浮上
  3. 右スティック前倒し → ドローン前進
  4. 前方には風(2m/sec)が吹いており、右スティック左倒しであらがう
  5. 障害物に注意しながら中央の荷物へ向かう
  6. 〇ボタンで荷物を取得
  7. 元の位置に戻って 〇ボタンで配送完了
  8. 左スティック後ろ倒し → 降下
  9. Xボタン → 着陸

🥳 お疲れさまでした!ここまでできれば、あなたはもう“ドローンパイロット見習い”です。
この仕組みを応用して、オリジナルの操縦シナリオや教育教材にも展開できます。

6
3
0

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
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?