Closed KANBE8810 closed 3 years ago
作成するDockerは以下の形で間違いありませんでしょうか? https://github.com/citbrains/GankenKun_webots/issues/28#issuecomment-828860729
他の実装でも構わないと思いますが,上記の構成を以下に実装しています. https://github.com/citbrains/citbrains_humanoid/tree/develop/RoboCup2021
VMWareのイメージはこちら https://drive.google.com/drive/folders/1i03-F-7N1gW6NKL0EGWv1a83_0_dO-UJ?usp=sharing
おそらく間違いないとは思いますが、10日にAPIとかの仕様書の更新があるので、そちらの方で改めて確認したいと思います。
検証用のDockerfleが完成してimage buildとdocker runも通りました。 これからwebotsとの通信がうまくいくかどうかを確かめたいと思います。
Dockerfileには問題がなかったのですが、作成したimageが5.11GBとルールの5GBを超えてしまっているので対策が必要です。 現状ではcitbrains_humanoidからcloneするものを減らすという形で対応したいと考えています。
dockerの仕組みを十分に理解していないのですが,実際の試合で提供するのはバイナリになると思いますので,ソースコードやgithubにある過去の履歴などは削除したdockerで検証して良いと思います. dockerの中で開発するのであれば,ソースコードも含めた方が良いかもしれませんが.
ソースや中間オブジェクトは消すのがよいと思います。 またgit clone --depth=1 でクローンすれば最新の履歴だけ取得できるのでサイズを減らすことができます。
入江さんのコマンドを使用したところ5.11GBから4.57GBまで減らすことができました。 画像1枚目が普通にcloneしてmakeしたとき、 画像2枚目が入江さんのコマンドでcloneしてmakeしたときのdfの結果です。 Availableの値が大きく変わっていますが、これは僕の端末内の不要なimagesを削除しただけなので気にしないでください。
調べていたらマルチステージビルドをするとコンテナイメージを大幅に抑えられる可能性があるという記事を見つけたので、次はそちらを試してみたいと思います。
runstrategy.pyの起動まで確認して、srcのmakeまで自動でやるようにdockerfileを書きました。
上から順々にやっていこうと思います。 他に23日までにDocker関連でやらなければならないことがあれば指摘してください。
その場歩きを永遠と行うコードを書いて、develop/RobVup2021で動作確認を行ったところ、問題なく歩行を1分以上続けられていました。 https://github.com/citbrains/citbrains_humanoid/blob/develop/RoboCup2021/for2050/src/pyfiles/endless_walk.py
入江さんのブランチが最終的に提出するプログラムとなると思いますので,そちらで検証していただければと思います. (先ほどprotoモデルをアップデートしたので,関節の回転が逆方向になるかもしれません.)
入江さんのブランチ(merge_webots_branches)で動作確認したところ問題なく1分以上歩行を続けられていました。 その場歩きの誤差(ずっと歩くことによる初期位置からのズレ)もほとんどなかったので提出する際に動かすコードはこちらで大丈夫かと思います。https://github.com/citbrains/citbrains_humanoid/blob/merge_webots_branches/for2050/src/pyfiles/endless_walk.py
本日(05/22),本番の環境を用意しますので,そちらでチェックしましょう. そういえばwebotsサーバの計算結果を表示する方法が分からないままですが...
複数コマンドを実行させなきゃいけないことを完全に忘れてました.。
現状としてはdocker-composeでそれぞれを実行するコンテナを作成してコンテナ間通信で戦略を動かそうかと考えています。
何かもっと良い方法があれば教えていただきたいです。 @kiyoshiiriemon
解決しました。
フランクフルトのサーバーでwebotsの起動を確認しました. まだポートを開けていないので,これから開けます. 必要な設定がありましたら,行いますのでよろしくおねがいします.
user: ubuntu password: ubuntu アドレス 3.122.251.119 (フランクフルトなので遅いです)
ポートを開けて以下のメッセージが戻ってくることを確認しました.
mirai@mirai-virtual-machine:~/robocup/for2050/src/webots$ ./WebotsClient
Cannot connect to 3.122.251.119:10021
Connection closed by server.
mirai@mirai-virtual-machine:~/robocup/for2050/src/webots$ ./WebotsClient
Connection to 3.122.251.119:10021 refused: your IP address is not allowed in the game.json configuration file.
TIME=0
終了しましたのでissueを閉じます.
Dockerイメージを5月23日までに4機体分を作成して提出する。 提出するTC検証用のDockerイメージは、技術委員会がリアルタイムファクタで、大会で使用されるハードウェア上でシュミレーションできる必要がある。