Skip to content

Latest commit

 

History

History
167 lines (111 loc) · 6.68 KB

README-apl.md

File metadata and controls

167 lines (111 loc) · 6.68 KB

Unityエディタで作成したシーンは、Unityアプリケーションにすることができます。 箱庭のUnityアプリケーション作成手順を以下の通りです。

  1. Unity の Editor/Project Settings/Quality でアプリケーションの設定をする
  2. Unity の Editor/Project Settings/Player でアプリケーションの設定をする
  3. Unity アプリケーションをビルドする
  4. 箱庭の各種設定ファイルをコピーする
  5. 箱庭のコンフィグファイルを設定する

前提

事前に、Unityエディタの箱庭シーンから、箱庭のコンフィグファイルを Generate してください。

Generateすると、plugin-srcs 直下に、以下のファイルが出力されます。

HakoniwaSimTime.json
LoginRobot.json
RosTopics.json
core_config.json
custom.json
hakoniwa_path.json
inside_assets.json
pdu_channel_connector.json
pdu_configs.json
pdu_readers.json
pdu_writers.json
reader_connector.json
rpc_methods.json
shm_methods.json
writer_connector.json

Unity アプリケーション作成手順

Unity の Editor/Project Settings/Quality でアプリケーションの設定をする

Quality の設定は、デフォルトですと、Ultra になっています。

image

パソコンの性能が気になる方は、Very Low だけ残して、その他は削除することをお勧めします。

image

Unity の Editor/Project Settings/Player でアプリケーションの設定をする

Player の設定は、デフォルトですと、下図のようになっています。

image

以下の項目を変更しましょう。

  • Fullscreen Mode
    • Windowed に変更して、Width と Height をお好みの値にしてください。
      • ここでは、1024x640 にします。
  • Resizable Window
    • この項目をチェックすることで、Windowサイズを調整できるようになります。

image

Unity アプリケーションをビルドする

File/Build Settings を開き、Add Open Scenes でアプリケーション化したいシーンを選択します。

image

その後、Build ボタンをクリックします。

下図のようにダイアログがポップアップされますので、ビルドした結果を格納するディレクトリ(今回は、HakoniwaAPL)を選択しましょう。

image

成功すると、下図のようにアプリケーションの実行ファイルが生成されます。

image

箱庭の各種設定ファイルをコピーする

前提とする操作で Generate した各種設定ファイル(jsonファイル)一式を、ビルドした結果を格納しているディレクトリにコピー配置しましょう。

次に、plugin-srcs 配下にある ros_types ディレクトリを同様にコピー配置しましょう。

image

箱庭のコンフィグファイルを設定する

core_config.json には、Generate した時の IP アドレスが設定されています。

  • core_ipaddr
  • asset_ipaddr

これらのIPアドレスが変更されている場合は、手動で編集して再設定してください。

以下に、各項目のIPアドレス参照方法を示します。

core_ipaddr

core_ipaddr は、箱庭コンダクタのサーバーのIPアドレスです。

Windows/WSL2環境の場合は、WSL2上のifconfig で確認できます(eth0)。

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.25.195.216  netmask 255.255.240.0  broadcast 172.25.207.255
        inet6 fe80::215:5dff:fea8:5cb6  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:a8:5c:b6  txqueuelen 1000  (イーサネット)
        RX packets 7463  bytes 2070586 (2.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10227  bytes 7722090 (7.7 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

asset_ipaddr

asset_ipaddrは、Unity側のIPアドレスです。

Windows/WSL2環境の場合は、WSL2上で、以下のコマンドを実行することで確認できます。

cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.25.192.1

実行手順

Unityアプリケーションの実行手順は、Unityエディタの場合とほぼ同じです。

最初に、箱庭コンダクタ側を起動します。

例:

$ bash docker/run.bash  runtime
INFO: ACTIVATING HAKO-MASTER
INFO: ACTIVATING ASSET-PROXY
OPEN RECIEVER UDP PORT=172.25.195.216:54001
OPEN SENDER UDP PORT=172.25.195.216:54002
delta_msec = 20
max_delay_msec = 100
INFO: shmget() key=255 size=80768
Server Start: 172.25.195.216:50051
INFO: START block_signal-1
INFO: START train_slow_stop-1
INFO: SIMULATION READY!

次に、Unityアプリケーション(今回の場合はmodel.exe)をダブルクリックします。

起動すると、下図のようにポップアップが出ますが、許可してください。

image

成功するとこうなります。

例: image

この状態で、いつも通り、START ボタンをクリックすることで、シミュレーションを実行することができます。

シミュレーションを終わる場合は、UnityアプリケーションのWindowを×ボタン押下し、箱庭コンダクタ側をCTRL+Cで停止させます。

CTRL+C 完了後に、UnityのWindowが閉じます。