Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

実行結果の共有 #3

Open
yasuohayashibara opened this issue Dec 31, 2024 · 3 comments
Open

実行結果の共有 #3

yasuohayashibara opened this issue Dec 31, 2024 · 3 comments

Comments

@yasuohayashibara
Copy link
Member

yasuohayashibara commented Dec 31, 2024

不整地でモータの制限を変更しながら実行した結果を以下に示す.

見られた傾向

結果
最大トルクも最大速度も制限すると,目標速度に追従できなくなる.
1関節だけの場合は,動かさなくても歩行できるような歩行パターンに変化していく.
不整地(最大0.1m)で従来と遜色ない歩行を行うためには,トルク100Nm,最大速度12rad/s程度が限界か
(もう少し分解能を上げて計算することが必要と思われるが)

最大トルク
・100Nm デフォルト(139Nm)のときと遜色ない歩行が可能
・60Nm 歩行はできるが大きくまたを開かないと歩行できない.目標速度にあまり追従できていない.
・40Nm ぎろぎり可能.目標速度にあまり追従できていない
・20Nm 膝を伸ばした状態で歩行.他の関節の動きで何とか歩行している

最大速度
・12rad/s デフォルト(20rad/s)と遜色ない歩行が可能
・6rad/s 膝を伸ばした状態で歩行.他の関節の動きで何とか歩行している. ← この結果は他と異なるので怪しい
・2rad/s 膝を伸ばした状態で歩行.他の関節の動きで何とか歩行している. ← この結果は他と異なるので怪しい

動画
IMAGE

@yasuohayashibara
Copy link
Member Author

yasuohayashibara commented Jan 3, 2025

現在,スクリプトで連続的にパラメータを変更しながら自動的に学習させている.
学習のみで,学習済みモデルでの挙動の確認は行っていない.
詳しい内容は時間があればまとめるが,以下のようなスクリプトを使用している.

#!/bin/bash

# Define arrays for EFFORT_LIMIT and VELOCITY_LIMIT values
EFFORT_LIMITS=(10 20 40 60 80 100 120 139)
VELOCITY_LIMITS=(5 10 15 20)

# Define the input and output file names
INPUT_FILE="./source/extensions/omni.isaac.lab_assets/omni/isaac/lab_assets/unitree.py.base"
OUTPUT_FILE="./source/extensions/omni.isaac.lab_assets/omni/isaac/lab_assets/unitree.py"

for i in {0..7}; do
    for j in {0..3}; do
        > "$OUTPUT_FILE"  # Clear the output file before writing
        CURRENT_EFFORT_LIMIT=${EFFORT_LIMITS[$i]}
        CURRENT_VELOCITY_LIMIT=${VELOCITY_LIMITS[$j]}

        # Replace placeholders in the input file with the current values
        sed "s/EFFORT_LIMIT/${CURRENT_EFFORT_LIMIT}/g; s/VELOCITY_LIMIT/${CURRENT_VELOCITY_LIMIT}/g" "$INPUT_FILE" >> "$OUTPUT_FILE"

        echo experiment: ${CURRENT_EFFORT_LIMIT}, ${CURRENT_VELOCITY_LIMIT}
        ./isaaclab.sh -p source/standalone/workflows/rsl_rl/train.py --task Isaac-Velocity-Rough-G1-v0 --headless >> "log.txt"
    done
done

@yasuohayashibara
Copy link
Member Author

以下に学習結果をアップロードした.
https://drive.google.com/drive/folders/1IJwSPDBtQJywUkRiQZcFTAir70IZEEIN?usp=sharing

挙動を確認したが,

1)速度の制限の違いがあまり見られない.
5rad/s以下の速度も用意したほうが良いかもしれない.

2)トルクの制限による挙動の変化は顕著に見られる.

あまり時間をかけてチェックしていないので,まだいくつかのサンプルから気づいたこととなる.
もしかしたら設定を間違っているおそれもあるので,もっと検討が必要だとは思われる.

あと,学習済みモデルのチェック時に,時々脱力して歩行できない様子が見られる.
同じ条件で再度起動すると歩行できるので,何かバグがあるかもしれない.

@yasuohayashibara
Copy link
Member Author

計96パターン(トルク8x速度4x地形3)を全て学習させて以下にアップロードした.
学習済みモデルの確認はしていない.
あと,1パターン424MBでダウンロードするのも大変なので,今後は最後の学習済みモデルだけアップロードしようかと考えている.

https://drive.google.com/drive/folders/1IJwSPDBtQJywUkRiQZcFTAir70IZEEIN?usp=sharing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant