1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

箱庭ドローンシミュレータで東尋坊上空を飛べた!(準備中)

Last updated at Posted at 2024-12-24

image.png

参照 : toppers / hakoniwa-unity-drone-model

復習&練習も含めて、次のような順番でお試し。

  1. NotePC(Intel Core i7 XXth)にUbuntu22.04.05LTSをクリーンインストール.
  2. UnityでbuildしたアプリとPX4を連携させて、ドローン飛行.
  3. Unity Editorを使用してニューヨークを飛行.
  4. Unity Editorを使用して3Dデータを東尋坊に入れ替えて飛行.

NotePC : Mini PC Intel Core i7 16G, GPUはCPU内蔵のみ
Game Controller : Dual Shock


$ sudo apt install gcc g++ make cmake -y
$ sudo apt install git jq libgtest-dev net-tools python3-dev python3-pip  -y
# 1.3. 箱庭ドローンシミュレータのセットアップ
$ mkdir ~/work
$ cd ~/work
$ git clone --recursive https://github.com/toppers/hakoniwa-px4sim.git
$ git clone --recursive https://github.com/toppers/hakoniwa-unity-drone-model.git
# 1.3.1. 箱庭コア機能用のコマンドインストール
$ cd ~/work/hakoniwa-px4sim
$ cd hakoniwa/third-party/hakoniwa-core-cpp-client
$ bash build.bash
$ bash install.bash
1.3.2. 箱庭コア機能のビルド
$ cd ~/work/hakoniwa-px4sim/hakoniwa
$ bash build.bash
# 1.3.2.1. 箱庭コア機能のビルド確認 : cmake-build/src/hako-px4sim
$ ls cmake-build/src/hako-px4sim
# 1.3.3. 箱庭コア機能のインストール
$ cd ~/work/hakoniwa-px4sim/hakoniwa
$ bash install.bash
# インストール結果の確認を。すべてがOKであること。
$ bash third-party/hakoniwa-core-cpp-client/hako-setup-check.bash
# 1.3.4. 環境変数の設定 マニュアルはVIだけどコマンドラインで
$ echo 'export LD_LIBRARY_PATH=/usr/local/lib/hakoniwa:$LD_LIBRARY_PATH' >> ~/.bashrc
$ echo 'export PATH=/usr/local/bin/hakoniwa:$PATH' >> ~/.bashrc
$ echo 'export PYTHONPATH=/usr/local/lib/hakoniwa/py:${PYTHONPATH}' >> ~/.bashrc
$ source ~/.bashrc
# 1.3.5. 箱庭ドローン Unityアプリのセットアップ
# コマンドラインでやってみた。
$ cd ~/Downloads
$ wget https://github.com/toppers/hakoniwa-unity-drone-model/releases/download/v2.8.0/DroneAppLinux.zip
$ cd ~/work/hakoniwa-unity-drone-model
$ unzip ~/Downloads/DroneAppLinux.zip
# 1.3.6. フライトコントローラ PX4のビルド
$ cd ~/work/hakoniwa-px4sim/px4
$ cp hakoniwa-apps/10016_none_iris PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/airframes/10016_none_iris 
$ cp hakoniwa-apps/rcS PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/rcS
# 1.3.6.2 PX4のビルド
$ cd PX4-Autopilot
$ bash Tools/setup/ubuntu.sh --no-nuttx --no-sim-tools
$ make px4_sitl_default
1.3.7. QGC(QGroundContorl)ソフトウェアのインストール
# 事前準備
$ sudo usermod -a -G dialout $USER
$ sudo apt-get remove modemmanager -y
$ sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
$ sudo apt install libfuse2 -y
$ sudo apt install libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor-dev -y
# QGroundControlのダウンロード.
$ cd ~/Downloads
$ wget https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl.AppImage
$ cd ~/work
$ mkdir qgc
$ cd qgc
$ mv ~/Downloads/QGroundControl.AppImage .
# 起動できたら問題なし
$ chmod +x ./QGroundControl.AppImage
$ ./QGroundControl.AppImage
# ctrl-c で終了
image.png
Fig. QGroundControl インストール直後の最初の起動画面
  • Terminal-1 〜 Terminal-4を実行してUnityアプリでの飛行
# 1.4. 箱庭ドローンシミュレータの動作確認
1.4.1. PX4の起動
# terminal-1
$ cd ~/work/hakoniwa-px4sim/px4/PX4-Autopilot
$ bash ../sim/simstart.bash
# 1.4.2. 箱庭コア機能の起動
# terminal-2
$ cd ~/work/hakoniwa-px4sim/hakoniwa
$ bash run.bash
# 1.4.3. Unityアプリの起動
# terminal-3
$ cd ~/work/hakoniwa-unity-drone-model
$ bash ./plugin/activate_app.bash DroneAppLinux
#1.5.2. 
# terminal-4
$ cd ~/work/qgc
$ ./QGroundControl.AppImage
  • QGCの設定. インストール直後にすぐ実施するといいかも.
# 1.5. QGCとPX4の接続と動作確認
# 1.5.1. IPアドレスの確認
$ ifconfig
image.png
Fig. IPアドレスの確認
1.5.2. QGCの事前設定
$ cd ~/work/qgc
$ ./QGroundControl.AppImage

あとは手順書通り。

設定Windowのデフォルト値がSerialなのでUDPへ変更する。
Automatically Connect on Startにチェックを忘れずに.

image.png
Fig. QGroundControl Application Setting

Install the Unity Hub on Linux を参考にUnity Hub 及び Unity Editorを入れていく.

# unity install
$ sudo apt update
$ wget -qO - https://hub.unity3d.com/linux/keys/public | gpg --dearmor | sudo tee /usr/share/keyrings/Unity_Technologies_ApS.gpg > /dev/null
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/Unity_Technologies_ApS.gpg] https://hub.unity3d.com/linux/repos/deb stable main" > /etc/apt/sources.list.d/unityhub.list'
$ sudo apt update
$ sudo apt install unityhub
$ reboot
addをクリック!
image.png
fig. Projects Add
  • ~/work/hakoniwa-unity-drone-model\plugin\plugin-srcs を Add Projectする。
~/work/hakoniwa-unity-drone-model\plugin\plugin-srcs
image.png
Fig. Add project
image.png
fig. Unity Hub
  • 上記の三角マークをクリック後
 
image.png
fig. install 2022 3.55f1
image.png
fig install
image.png
fig. open "plugin-srcs"
image.png
fig. ontinue
image.png
fig. igrore
image.png
fig. 起動画面
  • consoleのエラーの解消する。
image.png
fig. open Package manager
Add pacakge from git URL...
image.png
Fig. Add pacakge from git URL...
image.png
fig. input "com.unity.nuget.newtonsoft-json", add

$ cd ~/Downloads
$ wget https://github.com/toppers/hakoniwa-unity-drone-model/releases/download/v2.8.0/FlightOverTojinboSummer.zip
$ cd work
$ unzip ~/Downloads/FlightOverTojinboSummer.zip -d ./FlightOverTojinboSummer

Unity asset store から
Real New York City Vol. 2

image.png

image.png

image.png

image.png

以下でいいのかな?
image.png

  • import
    image.png

image.png

消えないときここをさいど見直す。
toppers / hakoniwa-unity-drone-model の中の
Unityエディタを利用する場合

image.png

# これまでのインストール手順でclone済み
# git clone --recursive https://github.com/toppers/hakoniwa-unity-drone-model.git
unity editorのエラーを消す
$ cd ~/work/hakoniwa-unity-drone-model/
$ bash install.bash

参照 : PX4と連携可能なUnityで作られたドローンシミュレータ

今回は

$ cd ~/work
$ git clone --recursive https://github.com/toppers/hakoniwa-unity-drone-model.git
$ cd hakoniwa-unity-drone-model
$ bash install.bash 

Unity Editor起動後にconsolを開くとエラーが出てるので、解消する。再度見直す。
image.png

image.png

#Pakage Manegerを開き、com.unity.nuget.newtonsoft-jsonをAddする。
Unity Editor操作:Window -> Package Manager -> + -> Add pacakge from git URL...
Screenshot from 2024-08-24 06-07-45.png

com.unity.nuget.newtonsoft-jsonをAddする。
Screenshot from 2024-08-24 06-10-31.png

NO_USE_GRPC を Apply
Edit -> Project Settings -> Player -> Other Settings -> Script Compilation
-> + NO_USE_GRPC(inoutする) -> Apply
!image.png

image.png

  • 一旦閉じる

エラーが消えないので追加で必要・重要

# これまでのインストール手順でclone済み
# git clone --recursive https://github.com/toppers/hakoniwa-unity-drone-model.git
unity editorのエラーを消す
$ cd ~/work/hakoniwa-unity-drone-model/
$ bash install.bash

image.png

更に再起動するとwarningもなくなる
image.png
Fig.

image.png

Drag and Drop
image.png
Fig. 3Dデータをヒエラルキーへコピー
x = 600, y = -40, z = -370
image.png
Fig.
Window -> Hakoniwa -> Generate
image.png
Fig. Generate
image.png
Fig. Double-click on ApiDemo
image.png
Fig.
  • Window -> Hakoniwa -> Generate
image.png
fig.Generte
image.png
fig. Click play button ( after Ganarate )
  • 実際に飛ばしてみる
# Terminal-1
# 1.4.1. PX4の起動
$ cd ~/work/hakoniwa-px4sim/px4/PX4-Autopilot
$ bash ../sim/simstart.bash
# Terminal-2
# 1.4.2. 箱庭コア機能の起動
$ cd ~/work/hakoniwa-px4sim/hakoniwa
$ bash run.bash
# 1.4.3. Unityアプリの起動 -> Unity Editorを起動
# STARTボタンが押せない時 (Unity Editor内のPlay:右三角をクリックし緑色に変わった)
# Terminal-3
# 1.5.3. QGCとPX4の動作確認
$ cd ~/work/qgc
$ ./QGroundControl.AppImage
image.png
fig takeoff
image.png
Fig. Takeoff from ground hold position. slide or hold spaceber
image.png
Fig.

参照 : ニューヨーク3Dモデルの統合方法

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?