GithubHelp home page GithubHelp logo

gz-mujoco's People

Contributors

ahcorde avatar azeey avatar j-rivero avatar scpeters avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gz-mujoco's Issues

[SDFormat->MJCF] Handle name collision between geoms

MJCF does not allow name collisions between geoms in different bodies, but SDFormat collisions and visuals in different bodies are allowed to share names. One solution is to prefix the name of geoms with the name of the bodies they belong to.

Gazebo and Mujoco have incompatible texture mapping for primitive shapes

The difference in texture mapping between Gazebo and Mujoco is best demonstrated with images:

image

Mujoco with //texture/@type="2d"
image

Mujoco with //texture/@type="cube" and //material/texuniform="true"
image

Mujoco with //texture/@type="cube" and //material/texuniform="false"
image

from this, we can see that the combination //texture/@type="cube" and //material/texuniform="false" is the closest to Gazebo, but it still very different.

SDFormat file and texture:
shapes.sdf
albedo.png

README questions

Hi there,

I was finally able to put my hands on this gem! I was following the readme

I wanted to add new small detials on README, but I need to make sure I understand this first.

I have several questions regarding libsdformat part.

  1. Is ahcorde/python/all in sdformat official plugin for this repo?
  2. What is difference between libignition-math7 and ignition-math7? libignition-common5 and igntiion-common5? Cmake couldn't find ignition-math7 and ignition-common5.

See here

-- sdformat13 version 13.0.0~pre1
-- Operating system is Linux
-- Found CPack generators: DEB
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 6.2.0
-- Looking for TINYXML2 - found

-- Looking for IgnURDFDOM - found

-- Found ruby executable: /usr/bin/ruby
CMake Warning at /usr/share/cmake/ignition-cmake3/cmake3/IgnUtils.cmake:197 (find_package):
  By not providing "Findignition-math7.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "ignition-math7", but CMake did not find one.

  Could not find a package configuration file provided by "ignition-math7"
  with any of the following names:

    ignition-math7Config.cmake
    ignition-math7-config.cmake

  Add the installation prefix of "ignition-math7" to CMAKE_PREFIX_PATH or set
  "ignition-math7_DIR" to a directory containing one of the above files.  If
  "ignition-math7" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:114 (ign_find_package)


-- Looking for ignition-math7 - not found

  Could not find a package configuration file provided by "ignition-common5"
  with any of the following names:

    ignition-common5Config.cmake
    ignition-common5-config.cmake
  1. I tried to build libsdformat folder from the source, but I couldn't due to above.
  2. It seems like some requirement needs to be met before able to continue.

I wanted to add more detail for future potential enthusiastic beginners to start with this repo

conda installation

hey, I get the following error by using sdf2mjcf with conda
i did conda install sdformat-mjcf and then sdf2mjcf mug.xml test.sdf with the mujoco mug and get:


(base) wand_da@rmc-lx0470 ~/git/annikonda_sample/mujoco/whitebert (feat/mujoco)$ sdf2mjcf test_defaults.xml test.sdf
Error:   Could not find the 'robot' element in the xml file
         at line 109 in /home/conda/feedstock_root/build_artifacts/urdfdom_1681364098593/work/urdf_parser/src/model.cpp
Error Code 1: Msg: Unable to read file:test_defaults.xml

(base) wand_da@rmc-lx0470 ~/git/annikonda_sample/mujoco/whitebert (feat/mujoco)$

Should detect if OBJ is composite and issue a warning

Mujuco doesn't textures in a composite OBJ file (multiple submeshes in one OBJ files). It would be nice to detect if an OBJ file is composite and issue a warning along the lines of "extures ignored in mesh "mesh.obj" since it is composite, in order to load a composite mesh in MuJoCo please use github.com/kevinzakka/obj2mjcf"

The tool linked there can convert composite OBJ files to simple OBJs with individual textures extracted from the composite OBJ file.

sdformat_to_mjcf: specify nconmax and njmax in SDFormat

Desired behavior

While running in MuJoCo a friction demo world converted from SDFormat, I got several error messages complaining about needing to increase nconmax and njmax and the simulated behavior was very weird. After increasing the values, I saw reasonable simulated behavior.

<mujoco model="default">
  <size nconmax="300" njmax="1000"/>
  <worldbody>
    ...
  </worldbody>
</mujoco>

It would be nice to be able to specify these values in an SDFormat file so they can be passed through to MJCF during conversion.

<sdf version="...">
  <world name="world_name" xmlns:mjcf="https://github.com/gazebosim/gz-mujoco">
    <mjcf:size nconmax="300" njmax="1000"/>
  </world>
</sdf>

Alternatives considered

Implementation suggestion

Additional context

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.