cuRobo Installation#

MetaSim uses cuRobo to perform IK, motion planning, and retargeting of trajectories across different embodiments.

Note

cuRobo installation is tested on Ubuntu 22.04LTS, with both Python 3.8 and 3.10. For other platforms, please refer to the official guide.

Installation#

Please refer to the official guide.

sudo apt install git-lfs
git submodule update --init --recursive
cd third_party/curobo
uv pip install -e . --no-build-isolation

This may take ~5 minutes.

Troubleshooting#

  • If you encounter cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ when building cuRobo, try adding the following lines at the top of third_party/curobo/setup.py:

    import distutils.sysconfig
    cfg_vars = distutils.sysconfig.get_config_vars()
    for key, value in cfg_vars.items():
    if type(value) == str:
        cfg_vars[key] = value.replace("-Wstrict-prototypes", "")
    

    For more details, please refer to this answer.

  • If you encounter error -- unsupported GNU version! gcc versions later than 11 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk. when building cuRobo, try installing gcc-10 and g++-10 on your machine:

    sudo apt install gcc-10 g++-10
    

    and switch to gcc-10 and g++-10 as the default compiler:

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10
    sudo update-alternatives --config gcc
    sudo update-alternatives --config g++
    

    Note that gcc and g++ must be both installed and switched to the same version.