参照 : toppers / hakoniwa-unity-drone-model
復習&練習も含めて、次のような順番でお試し。
- NotePC(Intel Core i7 XXth)にUbuntu22.04.05LTSをクリーンインストール.
- UnityでbuildしたアプリとPX4を連携させて、ドローン飛行.
- Unity Editorを使用してニューヨークを飛行.
- 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 で終了
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
Fig. IPアドレスの確認 |
1.5.2. QGCの事前設定
$ cd ~/work/qgc
$ ./QGroundControl.AppImage
あとは手順書通り。
設定Windowのデフォルト値がSerialなのでUDPへ変更する。
Automatically Connect on Startにチェックを忘れずに.
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をクリック! |
---|
fig. Projects Add |
- ~/work/hakoniwa-unity-drone-model\plugin\plugin-srcs を Add Projectする。
~/work/hakoniwa-unity-drone-model\plugin\plugin-srcs |
---|
Fig. Add project |
fig. Unity Hub |
- 上記の三角マークをクリック後
fig. install 2022 3.55f1 |
fig install |
fig. open "plugin-srcs" |
fig. ontinue |
fig. igrore |
fig. 起動画面 |
- consoleのエラーの解消する。
fig. open Package manager |
Add pacakge from git URL... |
---|
Fig. Add pacakge from git URL... |
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
消えないときここをさいど見直す。
toppers / hakoniwa-unity-drone-model の中の
Unityエディタを利用する場合
# これまでのインストール手順で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を開くとエラーが出てるので、解消する。再度見直す。
#Pakage Manegerを開き、com.unity.nuget.newtonsoft-jsonをAddする。
Unity Editor操作:Window -> Package Manager -> + -> Add pacakge from git URL...
com.unity.nuget.newtonsoft-jsonをAddする。
NO_USE_GRPC を Apply
Edit -> Project Settings -> Player -> Other Settings -> Script Compilation
-> + NO_USE_GRPC(inoutする) -> Apply
!
- 一旦閉じる
エラーが消えないので追加で必要・重要
# これまでのインストール手順でclone済み
# git clone --recursive https://github.com/toppers/hakoniwa-unity-drone-model.git
unity editorのエラーを消す
$ cd ~/work/hakoniwa-unity-drone-model/
$ bash install.bash
更に再起動するとwarningもなくなる |
---|
Fig. |
Drag and Drop |
---|
Fig. 3Dデータをヒエラルキーへコピー |
x = 600, y = -40, z = -370 |
---|
Fig. |
Window -> Hakoniwa -> Generate |
---|
Fig. Generate |
Fig. Double-click on ApiDemo |
Fig. |
- Window -> Hakoniwa -> Generate
fig.Generte |
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
fig takeoff |
Fig. Takeoff from ground hold position. slide or hold spaceber |
Fig. |
参照 : ニューヨーク3Dモデルの統合方法