以下のコマンドを実行して、docker サービスを起動してください。
sudo chown <owner> /var/run/docker.sock
<owner>
は、当該コマンド実行ユーザ名です。
sudo service docker start
Unityアプリケーション(ZumoApp.zip)を以下からダウンロードしてください。
https://github.com/ncesnagoya/hakoniwa-unity-zumo/releases/tag/v1.1.0
ダウンロードしたファイルを解凍し、hakoniwa-zumosim
直下に配置してください。
成功するとこうなります。
$ ls ZumoApp
core_config.json LoginRobot.json pdu_readers.json shm_methods.json
custom.json model_Data pdu_writers.json UnityCrashHandler64.exe
hakoniwa_core.log model.exe reader_connector.json UnityPlayer.dll
hakoniwa_path.json MonoBleedingEdge RosTopics.json writer_connector.json
HakoniwaSimTime.json pdu_channel_connector.json ros_types
inside_assets.json pdu_configs.json rpc_methods.json
アプリケーションは以下の手順でビルドします。
% bash docker/build.bash <aplname>
<aplname>
は、ビルド対象とするアプリケーション名です。
アプリケーション名は、workspace/src/apl/apps
配下にあるディレクトリ名を指定してください。
ls workspace/src/apl/apps
course_1 course_2
以下のコマンドを実行することで、箱庭を起動できます。
補足:アプリケーションのシミュレーション実行開始のトリガは、Unity側で行います。
% bash docker/run.bash
成功すると端末に以下のログが出力されます。
$ bash docker/run.bash
x86_64
wsl2
INFO: ACTIVATING HAKO-CONDUCTOR
OPEN RECIEVER UDP PORT=172.25.195.216:54001
OPEN SENDER UDP PORT=172.25.195.216:54002
delta_msec = 20
max_delay_msec = 1
INFO: shmget() key=255 size=1129352
Server Start: 172.25.195.216:50051
INFO: ACTIVATING ZUMOSIM-RUNNER
asset_name = zumosim-runner
config path = ./runtime/custom.json
delta_time_msec = 20
INFO: shmget() key=255 size=1129352
Robot: ZumoRoboModel, PduWriter: ZumoRoboModel_actuator
channel_id: 1 pdu_size: 24
INFO: ZumoRoboModel create_lchannel: logical_id=1 real_id=0 size=24
WAIT START
また、Unityアプリが下図のように起動します。
補足:起動時に、セキュリティ許可のダイアログが出ますが、「許可」してください。
注意:初回については、Windowsが本アプリケーションの実行を抑止していますので、一度だけ、ZumoApp/model.exe
をダブルクリックして、実行を許可してください。起動したら終了してください。
UnityアプリケーションのSTART
ボタンをクリックしてください。
注意:Unityのクローズしないようにしてください。
最初に docker images で対象イメージを確認します。
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ncesnagoya/hakoniwa-zumosim-dev v1.0.0 645e59a3440c 17 minutes ago 1.25GB
ncesnagoya/hakoniwa-zumosim-run v1.0.0 81fe7a69d1f8 29 minutes ago 3.72GB
ここでは、ncesnagoya/hakoniwa-zumosim-run
を保存してみましょう。
docker save ncesnagoya/hakoniwa-zumosim-run -o zumosim-run.tar
-o
オプションで、ファイル名を指定します。ファイルは tar ファイルで出力されますので、拡張子は .tar
にします。
成功するとこうなります。
ls -lh
-rw-------@ 1 tmori staff 3.5G 8 23 14:06 zumosim-run.tar
テストする場合は、一旦、保存した docker image を削除しておきましょう。 その上で、以下のコマンドでロードできます。
% docker load -i ./zumosim-run.tar
この通り、ロードできました。
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ncesnagoya/hakoniwa-zumosim-run v1.0.0 81fe7a69d1f8 32 minutes ago 3.72GB
% bash docker/create-image.bash dev
% bash docker/create-image.bash run