google-deepmind / dm_robotics

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

Update plans #15

Closed JeanElsner closed 1 year ago

JeanElsner commented 1 year ago

Hi guys,

I really like this repository (especially the MoMa) approach. The abstraction into MoMa effectors/sensors is really useful to get the hardware into the loop and I've already managed to integrate the Franka Emika robot pretty well. I'm wondering if you have any plans to integrate upstream development (dm_control/MuJoCo, Python 3.10+). Especially pip packages for the latter would be convenient as Python 3.10 is the system interpreter for Ubuntu 22.04 LTS. I haven't built the wheels for Python 3.10 myself yet, but I think it would be rather straightforward. Newer MuJoCo versions have some breaking changes I think that would require a little more leg work. If you don't have any concrete update plans I'd be happy to start looking into it, once I find the time.

ethanluoyc commented 1 year ago

It would also be great if dm-robotics can be updated to more recent versions of mujoco and dm-control release. I was testing out dm-robotics recently and it seems that the mujoco version that was used in the repo is no longer compatible with some of the models in mujoco_menagerie. e.g., the autolimit compiler flag is not supported by the version of mujoco used in the repo but is used in the franka_emika_panda model.

Also out of the curiosity. Is there any particular reason that the dependencies used by dm-control are pinned to specific versions? I would personally prefer to be able to choose mujoco and dm-control versions and raise incompatibility issues here (and fixing them!) than having to build dmr myself.

worthy-wire commented 1 year ago

I just want to add that I am also using dm_robotics for my research dealing with two industrial Kuka arms. The lsqp based IK solver with collision avoidance is great for simulation. Having an official python based viewer for mujoco, as announced in https://github.com/deepmind/mujoco/discussions/576#discussion-4556269 is also a very helpful addition. But as the new python viewer is built with mujoco==2.3.0, it can not be used with dm_robotics, which requires mujoco<2.2.0.

An update of dm_robotics to support the latest mujoco version would be really appreciated. For now I am sticking to https://github.com/rohanpsingh/mujoco-python-viewer to view my simulation of the lsqp based IK solver with python.

JeanElsner commented 1 year ago

@worthy-wire If you're running your experiments within a dm_control environment or related you can also use the interactive environment viewer from dm_control. I use this viewer to interact with my MoMa model for the Panda both sim and real and it works quite well.

For instance here I'm using a joystick to control the Panda robot with the lsqp/stack of task controller: moma_panda

JeanElsner commented 1 year ago

Also out of the curiosity. Is there any particular reason that the dependencies used by dm-control are pinned to specific versions? I would personally prefer to be able to choose mujoco and dm-control versions and raise incompatibility issues here (and fixing them!) than having to build dmr myself.

This repository includes C++ code that is compiled against MuJoCo and as such a specific release is fixed to require that MuJoCo version at runtime. At least that's my understanding so far.

Anyway, I did manage to update the dependencies, build and run all the tests. I will attach a Pull Request and the Dockerfile I used to build the packages.

Dockerfile.zip (Ubuntu) Dockerfile.zip (manylinux2014)

Pull request: https://github.com/deepmind/dm_robotics/pull/16

shacklestone commented 1 year ago

This is fixed now, is it not?

JeanElsner commented 1 year ago

Perfect, thanks!