myosuite icon indicating copy to clipboard operation
myosuite copied to clipboard

myoedits are breaking, suppressing errors, & overriding existing environments

Open vikashplus opened this issue 3 months ago • 2 comments

There are a number of major issues.

1. myoedits are overwriting existing V0 myoArmReachFixed and myoArmReachRandom

While loading we will see warning messages like there

  MyoSuite:> Registering Myo Envs
  /opt/homebrew/Caskroom/miniconda/base/envs/myosuite/lib/python3.9/site-packages/gymnasium/envs/registration.py:694: UserWarning: WARN: Overriding environment myoArmReachFixed-v0 already in registry.
    logger.warn(f"Overriding environment {new_spec.id} already in registry.")
  /opt/homebrew/Caskroom/miniconda/base/envs/myosuite/lib/python3.9/site-packages/gymnasium/envs/registration.py:694: UserWarning: WARN: Overriding environment myoSarcArmReachFixed-v0 already in registry.
    logger.warn(f"Overriding environment {new_spec.id} already in registry.")
  /opt/homebrew/Caskroom/miniconda/base/envs/myosuite/lib/python3.9/site-packages/gymnasium/envs/registration.py:694: UserWarning: WARN: Overriding environment myoFatiArmReachFixed-v0 already in registry.
    logger.warn(f"Overriding environment {new_spec.id} already in registry.")
  /opt/homebrew/Caskroom/miniconda/base/envs/myosuite/lib/python3.9/site-packages/gymnasium/envs/registration.py:694: UserWarning: WARN: Overriding environment myoArmReachRandom-v0 already in registry.
    logger.warn(f"Overriding environment {new_spec.id} already in registry.")
  /opt/homebrew/Caskroom/miniconda/base/envs/myosuite/lib/python3.9/site-packages/gymnasium/envs/registration.py:694: UserWarning: WARN: Overriding environment myoSarcArmReachRandom-v0 already in registry.
    logger.warn(f"Overriding environment {new_spec.id} already in registry.")
  /opt/homebrew/Caskroom/miniconda/base/envs/myosuite/lib/python3.9/site-packages/gymnasium/envs/registration.py:694: UserWarning: WARN: Overriding environment myoFatiArmReachRandom-v0 already in registry.

This is because myoEdits are re-registering environments with existing names.

2. myoedits are breaking existing V0 myoArmReachFixed and myoArmReachRandom Envs

We donot see the broken envs the issue above surpasses the broken envs. The main reason of the breakage is that MyoEdits removes myoarm_reach.xml that the Existing V0 Envs envs rely on.

3. myoedits are changing env behaviors while keeping the names same.

The new envs that are overriding old envs are also changing the range parameters making it a totally different environment.

Proposal

IIUC, the new envs are intended to be successor of the old envs. As per community guidelines, change in the behavior of the env results in bumped version of the envs. My proposal is

  1. To bump the versions of the myoEdit envs to V1. This will also fox the V0 error suppression issue
  2. To fully depricate the V0s by removing it from the registory. (Alternative option will be to bring back the myoarm_reach.xml that the Existing V0 Envs file. But I don't see any merit of that)

vikashplus avatar Nov 27 '25 20:11 vikashplus

@vikashplus

Thanks for pointing this out. I think the 'non-edited' environments should be removed/not registered (option 2). They were my initial attempt at creating the myoArmReach environments before we opted to use model editing. I should have removed them from the registry after developing the myoedited versions - apologies for not doing this. Both versions were part of the same PR I believe, so one didn't succeed the other.

jamesheald avatar Nov 27 '25 21:11 jamesheald

Ah, I didn't realize that these were new envs all together. That definitely simplifies things. Let me start a PR with the fix. I'll CC you.

vikashplus avatar Nov 28 '25 00:11 vikashplus