citbrains / GankenKun_webots

Control of humanoid robots on webots, walking, deep-learning, Bayesian-optimization
14 stars 4 forks source link

TC検証(05/23)までにDockerイメージの作成 #34

Closed KANBE8810 closed 3 years ago

KANBE8810 commented 3 years ago

Dockerイメージを5月23日までに4機体分を作成して提出する。 提出するTC検証用のDockerイメージは、技術委員会がリアルタイムファクタで、大会で使用されるハードウェア上でシュミレーションできる必要がある。

yasuohayashibara commented 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

KANBE8810 commented 3 years ago

おそらく間違いないとは思いますが、10日にAPIとかの仕様書の更新があるので、そちらの方で改めて確認したいと思います。

KANBE8810 commented 3 years ago

検証用のDockerfleが完成してimage buildとdocker runも通りました。 これからwebotsとの通信がうまくいくかどうかを確かめたいと思います。

Dockerfileには問題がなかったのですが、作成したimageが5.11GBとルールの5GBを超えてしまっているので対策が必要です。 現状ではcitbrains_humanoidからcloneするものを減らすという形で対応したいと考えています。

yasuohayashibara commented 3 years ago

dockerの仕組みを十分に理解していないのですが,実際の試合で提供するのはバイナリになると思いますので,ソースコードやgithubにある過去の履歴などは削除したdockerで検証して良いと思います. dockerの中で開発するのであれば,ソースコードも含めた方が良いかもしれませんが.

kiyoshiiriemon commented 3 years ago

ソースや中間オブジェクトは消すのがよいと思います。 またgit clone --depth=1 でクローンすれば最新の履歴だけ取得できるのでサイズを減らすことができます。

KANBE8810 commented 3 years ago

入江さんのコマンドを使用したところ5.11GBから4.57GBまで減らすことができました。 画像1枚目が普通にcloneしてmakeしたとき、 画像2枚目が入江さんのコマンドでcloneしてmakeしたときのdfの結果です。 Availableの値が大きく変わっていますが、これは僕の端末内の不要なimagesを削除しただけなので気にしないでください。

Screenshot from 2021-05-14 13-38-59 Screenshot from 2021-05-14 14-15-07

KANBE8810 commented 3 years ago

調べていたらマルチステージビルドをするとコンテナイメージを大幅に抑えられる可能性があるという記事を見つけたので、次はそちらを試してみたいと思います。

KANBE8810 commented 3 years ago

runstrategy.pyの起動まで確認して、srcのmakeまで自動でやるようにdockerfileを書きました。

KANBE8810 commented 3 years ago

23日までにやること

6月の模擬試合までにやること

上から順々にやっていこうと思います。 他に23日までにDocker関連でやらなければならないことがあれば指摘してください。

KANBE8810 commented 3 years ago

その場歩きを永遠と行うコードを書いて、develop/RobVup2021で動作確認を行ったところ、問題なく歩行を1分以上続けられていました。 https://github.com/citbrains/citbrains_humanoid/blob/develop/RoboCup2021/for2050/src/pyfiles/endless_walk.py

yasuohayashibara commented 3 years ago

入江さんのブランチが最終的に提出するプログラムとなると思いますので,そちらで検証していただければと思います. (先ほどprotoモデルをアップデートしたので,関節の回転が逆方向になるかもしれません.)

KANBE8810 commented 3 years ago

入江さんのブランチ(merge_webots_branches)で動作確認したところ問題なく1分以上歩行を続けられていました。 その場歩きの誤差(ずっと歩くことによる初期位置からのズレ)もほとんどなかったので提出する際に動かすコードはこちらで大丈夫かと思います。https://github.com/citbrains/citbrains_humanoid/blob/merge_webots_branches/for2050/src/pyfiles/endless_walk.py

yasuohayashibara commented 3 years ago

本日(05/22),本番の環境を用意しますので,そちらでチェックしましょう. そういえばwebotsサーバの計算結果を表示する方法が分からないままですが...

KANBE8810 commented 3 years ago

複数コマンドを実行させなきゃいけないことを完全に忘れてました.。 現状としてはdocker-composeでそれぞれを実行するコンテナを作成してコンテナ間通信で戦略を動かそうかと考えています。 何かもっと良い方法があれば教えていただきたいです。 @kiyoshiiriemon

KANBE8810 commented 3 years ago

解決しました。

yasuohayashibara commented 3 years ago

フランクフルトのサーバーでwebotsの起動を確認しました. まだポートを開けていないので,これから開けます. 必要な設定がありましたら,行いますのでよろしくおねがいします.

user: ubuntu password: ubuntu アドレス 3.122.251.119 (フランクフルトなので遅いです)

image

yasuohayashibara commented 3 years ago

ポートを開けて以下のメッセージが戻ってくることを確認しました.

yasuohayashibara commented 3 years ago

終了しましたのでissueを閉じます.