Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add gym-ignition project #685

Merged
merged 5 commits into from
Apr 13, 2021
Merged

Add gym-ignition project #685

merged 5 commits into from
Apr 13, 2021

Conversation

diegoferigo
Copy link
Member

@diegoferigo diegoferigo commented Apr 11, 2021

Remarks:

  • The Ignition logic matches 1:1 the Gazebo Classic logic
  • I added gym-ignition to the core profile since on the long term we could have something similar to gazebo-yarp-plugins for Ignition Gazebo, and Ignition support will likely be part of core
  • gym-ignition depends on idyntree, therefore if ROBOTOLOGY_USES_IGNITION=ON and ROBOTOLOGY_ENABLE_DYNAMICS=OFF, also idyntree and all its dependent projects will be installed
  • CI tests ROBOTOLOGY_USES_IGNITION only in conda
  • macOS and Windows are not tested in conda due to Add OSX build conda-forge/libignition-gazebo-feedstock#2

TODOs:

@diegoferigo diegoferigo self-assigned this Apr 11, 2021
@diegoferigo diegoferigo force-pushed the feature/gym-ignition branch from be967f7 to 8a0e3c3 Compare April 12, 2021 08:21
@diegoferigo diegoferigo marked this pull request as ready for review April 12, 2021 08:44
@diegoferigo diegoferigo requested a review from traversaro April 12, 2021 08:44
@diegoferigo diegoferigo force-pushed the feature/gym-ignition branch from 886009d to 85d1ea3 Compare April 12, 2021 09:26
@traversaro
Copy link
Member

traversaro commented Apr 12, 2021

@diegoferigo diegoferigo force-pushed the feature/gym-ignition branch from 85d1ea3 to 6a3e8b6 Compare April 12, 2021 10:36
@diegoferigo
Copy link
Member Author

* [x]  Can you add the latest release to https://github.com/robotology/robotology-superbuild/blob/master/releases/latest.releases.yaml ?

* [x]  Can you update the profiles.md table specifying where `ROBOTOLOGY_USES_IGNITION` is supported (i.e. tested by CI)

Done in https://github.com/robotology/robotology-superbuild/compare/85d1ea32192cfb7f026715b7c5b750a77f44a06f..6a3e8b6b3ff38756781c575274145dc19f5aff8b

CMAKE_ARGS -DSCENARIO_USE_IGNITION:BOOL=${ROBOTOLOGY_USES_IGNITION}
-DSCENARIO_ENABLE_BINDINGS:BOOL=${ROBOTOLOGY_USES_PYTHON}
-DBINDINGS_INSTALL_PREFIX:PATH=${ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR}
DEPENDS iDynTree ign-gazebo5)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@traversaro is the ign-gazeboX dependency OK? (There's a typo and this should be 4 for the current master, but I'm not sure that adding it is necessary)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I typically set DEPENDS only to the value of other projects that are handled by the superbuild. I am not really sure how it works for projects not handled by the superbuild, so if it works I would just leave iDynTree there.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doc/profiles.md Outdated
Comment on lines 238 to 242
Follow the official instructions to install Ignition on your platform, available at https://ignitionrobotics.org/docs.

Different Ignition distributions can be installed alongside.
The projects included in the superbuild might require different distributions.
From the superbuild point of view, we currently do not allow enabling projects that only support a specific Ignition distribution, therefore all required distributions have to be found in the system.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we support only Conda/Linux for ROBOTOLOGY_USES_IGNITION, we should describe here how to install Ignition Gazebo on conda (preferably the version tested in CI), as the official docs of Ignition Gazebo do not cover that the installation in conda.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@diegoferigo diegoferigo force-pushed the feature/gym-ignition branch 2 times, most recently from b76fbfe to 640c577 Compare April 12, 2021 11:07
@diegoferigo diegoferigo force-pushed the feature/gym-ignition branch from 640c577 to 74ffd01 Compare April 12, 2021 16:01
@diegoferigo
Copy link
Member Author

CI failures don't seem related to this PR.

CI failure message
FAILED: src/yarp-matlab-bindings/CMakeFiles/YCMStamp/yarp-matlab-bindings-configure 
cd /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/yarp-matlab-bindings && /usr/share/miniconda/envs/test/bin/cmake --no-warn-unused-cli "-DCMAKE_PREFIX_PATH:PATH=/home/runner/work/robotology-superbuild/robotology-superbuild/build/install;/usr/share/miniconda/envs/test;/usr/share/miniconda/envs/test/x86_64-conda-linux-gnu/sysroot/usr" -DMatlab_ROOT_DIR:PATH=/home/runner/work/robotology-superbuild/robotology-superbuild/msdk_R2020b_mexa64 -DMatlab_MEX_EXTENSION:STRING=mexa64 -DYARP_USES_MATLAB:BOOL=ON -DYARP_USES_OCTAVE:BOOL=OFF -C/home/runner/work/robotology-superbuild/robotology-superbuild/build/src/yarp-matlab-bindings/CMakeFiles/YCMTmp/yarp-matlab-bindings-cache-Release.cmake -GNinja /home/runner/work/robotology-superbuild/robotology-superbuild/src/yarp-matlab-bindings && /usr/share/miniconda/envs/test/bin/cmake -E touch /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/yarp-matlab-bindings/CMakeFiles/YCMStamp/yarp-matlab-bindings-configure
Not searching for unused variables given on the command line.
loading initial cache file /home/runner/work/robotology-superbuild/robotology-superbuild/build/src/yarp-matlab-bindings/CMakeFiles/YCMTmp/yarp-matlab-bindings-cache-Release.cmake
-- Found YARP: /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib/cmake/YARP (found version "3.4.3+38-20210330.6+gitf7f000f39")
CMake Deprecation Warning at /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib/cmake/YARP/YARPConfig.cmake:226 (message):
  The YARP_INCLUDE_DIRS variable is deprecated
Call Stack (most recent call first):
  CMakeLists.txt:9223372036854775807 (_yarp_deprecated_variable_warning)
  CMakeLists.txt:29 (get_target_property)


-- Found YCM: /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/share/cmake/YCM (found version "0.12.1.12-20210301.4+gitdc98072")
CMake Deprecation Warning at /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/lib/cmake/YARP/YARPConfig.cmake:226 (message):
  The YARP_INCLUDE_DIRS variable is deprecated
Call Stack (most recent call first):
  CMakeLists.txt:9223372036854775807 (_yarp_deprecated_variable_warning)
  CMakeLists.txt:42 (include_directories)


CMake Error at cmake/FindMatlab.cmake:1197 (list):
  list index: 1 out of range (-1, 0)
Call Stack (most recent call first):
  matlab/CMakeLists.txt:96 (find_package)


-- Found Matlab: /home/runner/work/robotology-superbuild/robotology-superbuild/msdk_R2020b_mexa64/extern/include (found version "/home/runner/work/robotology-superbuild/robotology-superbuild/msdk_R2020b_mexa64") found components: MX_LIBRARY 
CMake Deprecation Warning at /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/share/YCM/modules/InstallBasicPackageFiles.cmake:314 (message):
  TARGETS is deprecated.  Use EXPORT instead
Call Stack (most recent call first):
  matlab/CMakeLists.txt:168 (install_basic_package_files)


CMake Deprecation Warning at /home/runner/work/robotology-superbuild/robotology-superbuild/build/install/share/YCM/modules/InstallBasicPackageFiles.cmake:385 (message):
  Compatibility variables are no longer generated.  Use
  ENABLE_COMPATIBILITY_VARS to re-enable them (deprecated) or define them
  using either INCLUDE_FILE or INCLUDE_CONTENT (recommended).
Call Stack (most recent call first):
  matlab/CMakeLists.txt:168 (install_basic_package_files)


-- Configuring incomplete, errors occurred!
See also "/home/runner/work/robotology-superbuild/robotology-superbuild/build/src/yarp-matlab-bindings/CMakeFiles/CMakeOutput.log".

@traversaro
Copy link
Member

CI failures don't seem related to this PR.
CI failure message

Are you sure? All other CI builds are working fine. Are you sure that it is not due to the cmake --build build/ -DROBOTOLOGY_USES_IGNITION:BOOL=ON command? Not that this does not configure again the cmake project, but rather builds it.

@diegoferigo diegoferigo force-pushed the feature/gym-ignition branch from 74ffd01 to 3c8d523 Compare April 12, 2021 17:29
@diegoferigo
Copy link
Member Author

diegoferigo commented Apr 12, 2021

CI failures don't seem related to this PR.
CI failure message

Are you sure? All other CI builds are working fine. Are you sure that it is not due to the cmake --build build/ -DROBOTOLOGY_USES_IGNITION:BOOL=ON command? Not that this does not configure again the cmake project, but rather builds it.

Checking the logs you're right, not sure why my local setup just configures it. I tried it locally before committing (and thinking about it, it's not the first time I notice this behavior) 🤷‍♂️

@traversaro
Copy link
Member

It seems good to go now, thanks (even if I would like to solve conda-forge/libignition-gazebo-feedstock#4 before advertising it).

@traversaro traversaro merged commit 63caa58 into master Apr 13, 2021
@traversaro traversaro deleted the feature/gym-ignition branch April 13, 2021 06:48
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.

2 participants