google-deepmind / dm_robotics

Libraries, tools and tasks created and used at DeepMind Robotics.
Apache License 2.0
332 stars 32 forks source link

Version Issues #17

Open AlexanderKhazatsky opened 1 year ago

AlexanderKhazatsky commented 1 year ago

This package is awesome, but particularly finnicky with version issues relating to mujoco and dm_control. I have to install it in my repo in the following manner to avoid bugs: https://github.com/AlexanderKhazatsky/R2D2

It would be great if it could be made more easily compatible :)

m01 commented 1 year ago

This seems to work for me, and pip does not seem to complain about any specific version incompatibilities.

$ python3 -m venv dmr
$ source dmr/bin/activate
pip install dm_robotics-transformations \
dm_robotics-geometry \
dm_robotics-agentflow \
dm_robotics-manipulation \
dm_robotics-moma \
dm_robotics-controllers \
dm_control

(the above does result in mujoco==2.3.2 being installed as well)

Please could you include more specific details about the issue you're facing?

AlexanderKhazatsky commented 1 year ago

It does technically install. But then why I try to use the 6 dof cartesian IK I get errors.

m01 commented 1 year ago

Please could you provide a minimal repro and any error messages you get while running it?

shacklestone commented 8 months ago

Is this still an issue - if not I will close early 2024.

EvillingDark commented 7 months ago

The issue still exists. I recently encountered the same situation when I pip install dependencies in the following order:

dm-control
dm-robotics-moma
dm-robotics-manipulation
tensorflow
dm-reverb
opencv-python
typing-extensions

When I run test scenarios, an error occured:

Traceback (most recent call last):
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/root/dataset/environment/rgbStacking/rgb_stacking-main/rgb_stacking/main.py", line 116, in <module>
    app.run(main)
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/absl/app.py", line 308, in run
    _run_main(main, args)
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/absl/app.py", line 254, in _run_main
    sys.exit(main(argv))
  File "/home/root/dataset/environment/rgbStacking/rgb_stacking-main/rgb_stacking/main.py", line 85, in main
    with environment.rgb_stacking(object_triplet=_OBJECT_TRIPLET.value) as env:
  File "/home/root/dataset/environment/rgbStacking/rgb_stacking-main/rgb_stacking/environment.py", line 169, in rgb_stacking
    task_env = env_builder.build_base_env()
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_robotics/moma/subtask_env_builder.py", line 83, in build_base_env
    self._base_env = composer.Environment(self._task,
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_control/composer/environment.py", line 347, in __init__
    super().__init__(
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_control/composer/environment.py", line 226, in __init__
    self._recompile_physics_and_update_observables()
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_control/composer/environment.py", line 246, in _recompile_physics_and_update_observables
    self._hooks.after_compile(self._physics_proxy, self._random_state)
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_control/composer/environment.py", line 118, in after_compile
    self._task.after_compile(physics, random_state)
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_robotics/moma/base_task.py", line 200, in after_compile
    ef.after_compile(self.root_entity.mjcf_model.root)
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_robotics/moma/effectors/constrained_actions_effectors.py", line 110, in after_compile
    self._delegate.after_compile(mjcf_model)
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_robotics/moma/effectors/cartesian_4d_velocity_effector.py", line 150, in after_compile
    self._effector_6d.after_compile(mjcf_model)
  File "/home/root/anaconda3/envs/rgbstacking/lib/python3.10/site-packages/dm_robotics/moma/effectors/cartesian_6d_velocity_effector.py", line 372, in after_compile
    self._qp_mapper = _CartesianVelocityMapper(qp_params)
RuntimeError: ValidateParameters: `joint_ids` must only contain 1 DoF joints. Number of joints [7]; number of DoF [9].

This error doesn't occur if the dependencies are installed by following order:

dm-robotics-moma
dm-robotics-transformations
dm-robotics-agentflow
dm-robotics-geometry
dm-robotics-manipulation
dm-robotics-controllers
dm-control
tensorflow
dm-reverb
opencv-python
typing-extensions

Hope you guys find out why it happens and fix it :)