Skip to content

On the fly mjcf#24

Closed
ndunkelb-nasa wants to merge 31 commits intohumble-develfrom
on-the-fly-mjcf
Closed

On the fly mjcf#24
ndunkelb-nasa wants to merge 31 commits intohumble-develfrom
on-the-fly-mjcf

Conversation

@ndunkelb-nasa
Copy link
Contributor

@ndunkelb-nasa ndunkelb-nasa commented Feb 27, 2026

THIS IS STILL IN PROGRESS

Important note: this is dependent on the discussions in this pr which doesn't currently work for our setup, but we are in discussions on how to fix it (I have a local fix which does it that I mentioned in the PR).

This PR includes a couple of important changes

  • Moving the scene info and mujoco_inputs into the main clr xacro for mujoco
    • I think we want to do this but open to suggestions
  • redoing mesh generation, which forces switching to trimesh
  • switching the main clr_mujoco.launch.py to use the on the fly conversion which just points to our assets folder
    • This basically makes the generate_clr_mjcf.launch.py just a tool to regenerate the assets folder, which is fine

Things that I don't know what to do with

  • I need to figure out what to do about shell script arg length because we are right at the limit. If we switch to using the robot description from RSP, we get the grasp frame which is bad. We can take it out entirely, but that has the important negative consequence that we have to use the same robot_description for the RSP and for mujoco, which I don't think we want. I feel like the right solution is to have the converter as a node that takes a robot description param, but if there is a better way with our current setup, I want to hear it.
  • If we want to provide specific args to the ros2_control tag (not for generation. for runtime) like whether or not we want to run headless, or runtime speedup we have to somehow pass those to the main control.launch.py, which sucks. Should we break out the controller manager into own launch file so that we can pass our own args when we want? Right now we can't support switching between pre-generated mjcf or running on the fly without adding mujoco-specific extra launch args to our control.launch.py 👎 .
  • Do we want to separate out our scene info and our mujoco_inputs info into separate xacros in their own files? Or leave in the mujoco-specific urdf? Or in their own files then included as args in the converter process
  • I am thinking that maybe we should just leave the name of the generated mjcf the default from the converter, that way we don't have to change anything w.r.t. the scene file or anything and it should #justwork
  • Do we want to switch to using the --no-fuse option to make our xml tree look more like the urdf tree?

@ndunkelb-nasa ndunkelb-nasa self-assigned this Feb 27, 2026
@ndunkelb-nasa ndunkelb-nasa marked this pull request as draft February 27, 2026 23:46
@ndunkelb-nasa ndunkelb-nasa marked this pull request as ready for review March 11, 2026 18:36
@ndunkelb-nasa
Copy link
Contributor Author

This is going to be closed in favor of putting it into jazzy-devel instead. Stay tuned

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

Successfully merging this pull request may close these issues.

4 participants