Skip to content

Missing base.stl asset for booster_t1 model #211

@MartialTerran

Description

@MartialTerran

Title: Bug: Missing base.stl asset for booster_t1 model

Model:
booster_t1

Issue Description:
The XML files for the booster_t1 model (specifically, t1.xml) include a reference to a mesh asset named base.stl, which is expected to be located in the booster_t1/assets/ directory.

However, this base.stl file is missing from the repository. This causes a FileNotFoundError when attempting to parse the XML and download all required assets to load the model in a MuJoCo simulation. Other mesh files, like Trunk.stl, are present and download correctly.

Steps to Reproduce:

  1. Create a script that programmatically downloads the model's XML files (scene.xml, t1.xml).
  2. Parse the XML to identify all required <mesh> assets.
  3. Attempt to download each asset from the repository. The download for .../booster_t1/assets/base.stl will fail with a 404 error.
  4. Attempting to load the model using mujoco.MjModel.from_xml_path(...) without all assets present will result in an error.

Expected Behavior:
The model should load successfully, as all assets referenced in the XML files should be available in the repository for download.

Actual Behavior:
The script fails with a FileNotFoundError because base.stl does not exist in the booster_t1/assets/ directory.

Script Output and Error:

FileNotFoundError: Error: booster_t1/assets/base.stl not found or is empty after download.

Additional Context:
The reference can be found in booster_t1/t1.xml.

The asset is declared in the <asset> section:

<mujoco model="booster_t1">
  <compiler angle="degree" meshdir="" texturedir=""/>
  <asset>
    <mesh file="assets/Trunk.stl"/>
    <mesh file="assets/base.stl"/>  <!-- This file is missing -->
    <mesh file="assets/L_HIP.stl"/>
    ...
  </asset>

And it is used as a geom in the pelvis body:

<body name="pelvis" pos="0 0 0.83">
    <inertial pos="0 0 0" mass="10" diaginertia="0.1 0.1 0.1" />
    <joint name="free" type="free"/>
    <geom type="mesh" mesh="base"/>
    ...
</body>

Proposed Resolution:
Could you please either:

  1. Provide the missing base.stl file by adding it to the booster_t1/assets/ directory?
  2. Or, if this mesh is deprecated or no longer needed, modify the XML files to remove the reference to it?

Thank you

[My first Draft of this issue before AI enhancement]
Which model is the issue affecting?
booster_t1:
the https://github.com/google-deepmind/mujoco_menagerie/tree/main/booster_t1/assets directory on GitHub.

What is the issue?
I am trying to write/run a script and the script is looking for a base.stl file for the booster_t1 model. Other models seem to have a base.stl but there is no such file in the booster_t1 assets folder?
But, base.stl is referenced in the booster_t1 model's XML files

Script output and error:
Libraries installed and imported successfully.

--- Step 1: Defining the Simulation Environment ---
Downloading https://raw.githubusercontent.com/google-deepmind/mujoco_menagerie/main/booster_t1/scene.xml to ./booster_t1/scene.xml
Downloaded booster_t1/scene.xml
Downloading https://raw.githubusercontent.com/google-deepmind/mujoco_menagerie/main/booster_t1/t1.xml to ./booster_t1/t1.xml
Downloaded booster_t1/t1.xml
Downloading https://raw.githubusercontent.com/google-deepmind/mujoco_menagerie/main/booster_t1/assets/Trunk.stl to ./booster_t1/assets/Trunk.stl
Downloaded booster_t1/assets/Trunk.stl
Downloading https://raw.githubusercontent.com/google-deepmind/mujoco_menagerie/main/booster_t1/assets/base.stl to ./booster_t1/assets/base.stl

FileNotFoundError Traceback (most recent call last)
/tmp/ipython-input-3202115192.py in <cell line: 0>()
71 # Add a check to ensure the file was downloaded and is not empty
72 if not os.path.exists(local_path) or os.stat(local_path).st_size == 0:
---> 73 raise FileNotFoundError(f"Error: {file_path} not found or is empty after download.")
74 print(f"Downloaded {file_path}")
75

FileNotFoundError: Error: booster_t1/assets/base.stl not found or is empty after download.

The output shows that base.stl is indeed missing from the ./booster_t1/assets/ directory after downloading. This confirms that the file is not present in the https://github.com/google-deepmind/mujoco_menagerie/tree/main/booster_t1/assets directory on GitHub.

This is why you are seeing the FileNotFoundError when the code tries to load the model, as the scene.xml file likely references base.stl.

To resolve this, you have a couple of options:

Obtain the correct base.stl file: If you have access to the correct base.stl file for this robot model, you can manually upload it to the ./booster_t1/assets/ directory in your Colab environment.
Update the model XML: If the base.stl is not required or has been replaced by another asset, you would need to modify the scene.xml and/or t1.xml files to remove the reference to base.stl or update it to the correct asset file name.
Since I cannot automatically determine the correct base.stl file or modify the XML based on external information, could you please either:

Once the base.stl file is in the correct location or the XML is updated, the model should load successfully, and we can proceed with the rest of the notebook.

Is there any additional context you can provide (e.g., a spec sheet or a URDF to show a value mismatch)?

Provide the base.stl file or tell me how to obtain it?
Instruct me to modify the XML files to remove the reference to base.stl (if it's not needed)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions