Skip to content

[Bug Report] TypeError in hf_util.py and missing checkers for RLBench tasks on MuJoCo #760

@szl2001

Description

@szl2001

Thank you for your outstanding work on this framework. I am writing to report an issue encountered while generating data for RLBench-related tasks on MuJoCo using collect_demo.sh.

Problem Description:
Most RLBench tasks (except for open_box and close_box, based on my current tests) fail during environment initialization. The process crashes with a TypeError in the asset downloading utility.
Traceback:
Traceback (most recent call last): File "/data/RoboVerse/./scripts/advanced/collect_demo.py", line 691, in <module> main() File "/data/RoboVerse/./scripts/advanced/collect_demo.py", line 470, in main env = task_cls(scenario, device=device) File "/data/RoboVerse/roboverse_pack/tasks/rlbench/rl_bench.py", line 28, in __init__ super().__init__(scenario, device) File "/data/RoboVerse/metasim/task/base.py", line 69, in __init__ self._instantiate_env(self.scenario) File "/data/RoboVerse/metasim/task/base.py", line 89, in _instantiate_env self.handler: BaseSimHandler = handler_class(scenario, self.extra_spec) File "/data/RoboVerse/metasim/sim/parallel.py", line 88, in __new__ return base_cls(scenario, extra_spec) File "/data/RoboVerse/metasim/sim/mujoco/mujoco.py", line 80, in __init__ super().__init__(scenario, optional_queries) File "/data/RoboVerse/metasim/sim/base.py", line 35, in __init__ scenario.check_assets() # check if all assets are available File "/data/RoboVerse/metasim/scenario/scenario.py", line 76, in check_assets FileDownloader(self).do_it() # download any external assets File "/data/RoboVerse/metasim/utils/hf_util.py", line 262, in do_it check_and_download_recursive(self.files_to_download, self.n_processes) File "/data/RoboVerse/metasim/utils/hf_util.py", line 147, in check_and_download_recursive check_and_download_single(filepath) File "/data/RoboVerse/metasim/utils/hf_util.py", line 82, in check_and_download_single local_exists = os.path.exists(filepath) File "/home/ws3/miniconda3/envs/roboverse_mujoco/lib/python3.10/genericpath.py", line 19, in exists os.stat(path) TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType

Observations:

  1. Asset Loading Issue: The error occurs in hf_util.py when os.path.exists() receives a NoneType object as the filepath. This seems to be similar to a Humanoid bench object path not only support .xml(mjcf) in mujoco #169 closed issue. It effectively prevents the environment from being instantiated.

  2. Missing Checkers: Furthermore, I noticed that several tasks within the RLBench suite currently lack "checker" (success condition logic). This makes it difficult to validate task completion during data collection.

I would appreciate it if you could look into this NoneType error in the asset downloader and provide guidance on the status of the missing checkers for these tasks.

Thank you again for your time and assistance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions