GithubHelp home page GithubHelp logo

evolutiongym / evogym Goto Github PK

View Code? Open in Web Editor NEW
188.0 8.0 32.0 33.66 MB

A large-scale benchmark for co-optimizing the design and control of soft robots, as seen in NeurIPS 2021.

Home Page: https://evolutiongym.github.io/

License: MIT License

Python 56.64% CMake 0.79% C++ 40.06% C 2.50%
co-design robotics simulation deep-reinforcement-learning soft-robotics reinforcement-learning open-ai-gym gym-environment

evogym's Introduction

Evolution Gym

Build Test

Evolution Gym is a large-scale benchmark for co-optimizing the design and control of soft robots. It provides a lightweight soft-body simulator wrapped with a gym-like interface for developing learning algorithms. EvoGym also includes a suite of 32 locomotion and manipulation tasks, detailed on our website. Task suite evaluations are described in our NeurIPS 2021 paper.

Note

EvoGym has been recently updated! TLDR: requirements have been modernized (gym/gymnasium, numpy, etc.), and the library is now pip-installable.

teaser

Installation

EvoGym supports python 3.7 to 3.10 on most operating systems:

pip install evogym --upgrade

On Linux install the following packages (or equivalent):

sudo apt-get install xorg-dev libglu1-mesa-dev

From Source

If your platform is not supported, you may alternatively build from source:

Requirements

Clone the repo and submodules:

git clone --recurse-submodules https://github.com/EvolutionGym/evogym.git

On Linux only:

sudo apt-get install xorg-dev libglu1-mesa-dev

Finally, to install evogym, run the following in the environment of your choice:

pip install -e .

Test Installation

If you have the repo cloned, cd to the examples folder and run the following script:

python gym_test.py

Alternatively, you can run the following snippet:

import gymnasium as gym
import evogym.envs
from evogym import sample_robot


if __name__ == '__main__':

    body, connections = sample_robot((5,5))
    env = gym.make('Walker-v0', body=body, render_mode='human')
    env.reset()

    while True:
        action = env.action_space.sample()
        ob, reward, terminated, truncated, info = env.step(action)

        if terminated or truncated:
            env.reset()

    env.close()

This script creates a random 5x5 robot in the Walking-v0 environment. The robot is taking random actions. A window should open with a visualization of the environment -- kill the process from the terminal to close it.

Known Issues

Linux and Conda

Error message: libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so

Fix: conda install -c conda-forge libstdcxx-ng

Usage

In addition to the resources below, you can find API documentation on our website.

Tutorials

You can find tutorials for getting started with the codebase on our website. Completed code from all tutorials is also available in the tutorials folder, along with a README. Tutorials are included for:

Examples

To run co-design and control optimization experiments in EvoGym, please see the examples folder and its README. Included are scripts for:

  • Running PPO
  • Running a Genetic Algorithm
  • Running Bayesian Optimization
  • Running CPPN-NEAT
  • Visualizing results
  • Saving results as gifs

Make sure you clone the repo with submodules:

git clone --recurse-submodules https://github.com/EvolutionGym/evogym.git

Install the necessary python requirements:

pip install -r requirements.txt

Design Tool

The Design Tool provides a gui for creating Evolution Gym environments. Please see this repo.

design-tool

Headless Mode

EvoGym runs in headless mode by default, and avoids initializing rendering libraries until necessary. If using a server without rendering capabilities, ensure that:

# Envs are created with render_mode=None (None by default)
env = gym.make('Walker-v0', body=body, render_mode=None)
# If using the low-level api, do not call EvoViewer.render()
world = EvoWorld.from_json(os.path.join('world_data', 'simple_environment.json'))
sim = EvoSim(world)
viewer = EvoViewer(sim)
viewer.render('img') # <-- Rendering libraries are initialized; do not call this

Dev

Install the repo with submodules:

git clone --recurse-submodules https://github.com/EvolutionGym/evogym.git

Install the necessary python requirements. You will additionally need to install the dev requirements:

pip install -r requirements.txt
pip install -r requirements-dev.txt

Run Tests

From within the tests directory run the full test suite:

cd tests
pytest -s -v -n auto

Or the lite test suite:

cd tests
pytest -s -v -n auto -m lite

Citation

If you find our repository helpful to your research, please cite our paper:

@article{bhatia2021evolution,
  title={Evolution gym: A large-scale benchmark for evolving soft robots},
  author={Bhatia, Jagdeep and Jackson, Holly and Tian, Yunsheng and Xu, Jie and Matusik, Wojciech},
  journal={Advances in Neural Information Processing Systems},
  volume={34},
  year={2021}
}

evogym's People

Contributors

jagdeepsb avatar takesxisximada avatar yunshengtian 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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

evogym's Issues

Possible error in BenchmarkBase step function

Hi, I was running some simple tests with BiWalk.

My code is

robot_structure, robot_connections = sample_robot((5, 5))
biwalk = BiWalk(body=robot_structure, connections=robot_connections)
biwalk.default_viewer.track_objects('robot')
for _ in range(500):   
    action = biwalk.action_space.sample()
    ob, rew, done, info = biwalk.step(action)
    biwalk.render(verbose=True)
    if done:
        biwalk.reset()
biwalk.close()

And I noticed that the robot would stand still. BiWalk is a subclass of GoalBase, which in turn is a subclass of BenchmarkBase

After some debugging, I realised that the step function of BenchmarkBase does the following:

def step(self, action):

    action_copy = {}

    for robot_name, a in action.items():
        action_copy[robot_name] = a + 1

    return super().step(action_copy)

Where super() is EvoGymBase.

action is a numpy array, where each entry is the action for each of the robot's actuators, and it's bound between 0.6 and 1.6. However, because of the line
action_copy[robot_name] = a + 1
Each element becomes >= 1.6 and hence the robot doesn't move.

Could someone explain such line? It seems unnecessary and it would crash any baseline environment...

Gym dependency

Evogym currently depends on gym 0.19.0, however pip no longer supports installing this version

pip install gym==0.19.0
Collecting gym==0.19.0
  Using cached gym-0.19.0.tar.gz (1.6 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [1 lines of output]
      error in gym setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

More recent versions of gym (>0.26.0) have changed their API and in the future, gym will be replaced by gymnasium, which uses the gym>0.26.0 API. Would it be possible to update the dependency to gymnasium and change the API?

For now, I've been able to use evogym with version 0.22.0 of gym, however this breaks the requirement to have stable-baselines3==1.4.0 in requirements.txt. This requirement doesn't seem necessary to run evogym, just to run the examples.

evogym + DI-engine

It's really a very nice project. I am tried of classic MuJoCo control tasks and soft robotics will be an attractive topic.

I am the developer of DI-engine, looking for some interesting environments to apply advanced DRL algorithm into them. Are you willing to develop more examples and benchmark results together, or any other ideas?

[Feature Request] Updating evogym Dependencies

First of all, thank you for the wonderful software!! In our lab, we have been using evogym for our research.

Feature Request

I would like to update the dependencies without altering the functionality of evogym as much as possible.

Background

evogym is a fantastic software, however, its dependencies have not been updated. Because of this, we often struggle with installation and running experiments

  • The Python version is outdated
  • The README states Python 3.7/3.8, and setup.cfg states Python 3.6 or higher, but many of these versions are past their End Of Life
  • Using legacy build systems like setup.py and setup.cfg
  • Dependencies have not been updated.

Steps

To work on this issue, I think it should be divided into the following three major steps:

  1. Introduce pyproject.toml
  2. Update Python version
  3. Migrate some libraries (for example, updating from numpy 1.24 to 1.25 or migrating from OpenAI Gym to Gymnasium may require significant effort)

Notes

If we proceed with addressing this issue, we might need to prepare a branch like v2.

about observation and action vectors

Hi all,
I find the env simply outputs a vec of state observation and accepts action vec of actuators (mostly a subset of all voxels), while both of them (corner points and all voxels) are arrange in matrix format by default. So may I ask if anyone could please make it clear how are the two matrices converted into vectors? How do the 2-D coordinates correspond to vector indexes? Are they simply aligned from the top-left corner to down-right element like most of the cases in image processing treatments?
I'll be very gratefull if anyone give me a hint, thanks in advance!

NumPy attribute Error

Hi,

I installed EvoGym in Linux Mint having Python 3.10. As suggested in the github page I tried to execute the gym_test.py in examples. It issues the following error.

Using Evolution Gym Simulator v2.2.5
Traceback (most recent call last):
File "/home/cs_velayutham/Documents/Koding/EvoRo/evogym/examples/gym_test.py", line 9, in
env = gym.make('Walker-v0', body=body)
File "/home/cs_velayutham/.local/lib/python3.10/site-packages/gym/envs/registration.py", line 640, in make
env = env_creator(**_kwargs)
File "/usr/local/lib/python3.10/dist-packages/evogym-1.0.0-py3.10-linux-x86_64.egg/evogym/envs/walk.py", line 29, in init
self.action_space = spaces.Box(low= 0.6, high=1.6, shape=(num_actuators,), dtype=np.float)
File "/home/cs_velayutham/.local/lib/python3.10/site-packages/numpy/init.py", line 324, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'float'.
np.float was a deprecated alias for the builtin float. To avoid this error in existing code, use float by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64 here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations. Did you mean: 'cfloat'?

Request for help please

Error in running python gym_test.py

In a terminal, when i cd to the examples folder and run gym_test.py, I get

Using Evolution Gym Simulator v2.2.5
Error initializing GLFW.
Segmentation fault (core dumped)

My OS is Ubuntu 18.04.4 LTS.

Failed to find module evogym.simulator_cpp

Hello,
When I try to run gym_test.py I get the following error:

PS C:\Users\Yoyo\evogym> & C:/Users/Yoyo/AppData/Local/Programs/Python/Python39/python.exe c:/Users/Yoyo/evogym/examples/gym_test.py Traceback (most recent call last): File "c:\Users\Yoyo\evogym\examples\gym_test.py", line 2, in <module> import evogym.envs File "C:\Users\Yoyo\AppData\Local\Programs\Python\Python39\lib\site-packages\evogym-1.0.0-py3.9-win-amd64.egg\evogym\__init__.py", line 2, in <module> from evogym.sim import EvoSim File "C:\Users\Yoyo\AppData\Local\Programs\Python\Python39\lib\site-packages\evogym-1.0.0-py3.9-win-amd64.egg\evogym\sim.py", line 11, in <module> from evogym.simulator_cpp import Sim ModuleNotFoundError: No module named 'evogym.simulator_cpp'

Can you please tell me what to do to fix this error?

Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES)

Hi,
I have tried to install evogym in ubuntu 20.04. I also installed Cmaker (3.16.3). However, I got the next error message when I run "python setup.py install":

running install
running bdist_egg
running egg_info
writing evogym.egg-info/PKG-INFO
writing dependency_links to evogym.egg-info/dependency_links.txt
writing top-level names to evogym.egg-info/top_level.txt
reading manifest file 'evogym.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'evogym.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (message):
Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
available. Run "cmake --help-policy CMP0072" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.

FindOpenGL found both a legacy GL library:

OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so

and GLVND libraries for OpenGL and GLX:

OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so

OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
CMakeLists.txt:21 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES)
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.16/Modules/FindGLEW.cmake:207 (find_package_handle_standard_args)
CMakeLists.txt:22 (find_package)

-- Configuring incomplete, errors occurred!
See also "/Develop/evogym-main/build/temp.linux-x86_64-3.7/CMakeFiles/CMakeOutput.log".
Traceback (most recent call last):
File "setup.py", line 72, in
zip_safe=False,
File "/Develop/anaconda3/envs/evogym/lib/python3.7/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/Develop/anaconda3/envs/evogym/lib/python3.7/site-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/Develop/anaconda3/envs/evogym/lib/python3.7/site-packages/setuptools/command/install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/Develop/anaconda3/envs/evogym/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 164, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/Develop/anaconda3/envs/evogym/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 150, in call_command
self.run_command(cmdname)
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/Develop/anaconda3/envs/evogym/lib/python3.7/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/command/install_lib.py", line 107, in build
self.run_command('build_ext')
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/Develop/anaconda3/envs/evogym/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "setup.py", line 32, in run
self.build_extension(ext)
File "setup.py", line 57, in build_extension
subprocess.check_call(['cmake', ext.sourcedir] + cmake_args, cwd=self.build_temp, env=env)
File "/Develop/anaconda3/envs/evogym/lib/python3.7/subprocess.py", line 363, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '/Develop/evogym-main/evogym/simulator', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Develop/evogym-main/build/lib.linux-x86_64-3.7/evogym', '-DPYTHON_EXECUTABLE=/Develop/anaconda3/envs/evogym/bin/python', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.

Please, could you suggest how to solve it?
Thanks

missing tutorials

The linked page
https://evolutiongym.github.io/tutorials
Is empty: there is no tutorial.

I was unable to install on MacOS Monterey.

python3 setup.py install
running install
error: can't create or remove files in install directory

pip3 install -r requirements.txt
Collecting GPy==1.10.0
Using cached GPy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl (1.5 MB)
ERROR: Could not find a version that satisfies the requirement gpyopt (unavailable) (from versions: 0.1.1, 0.1.2, 0.1.3, 0.1.4, 1.0.2, 1.0.3, 1.2.0, 1.2.1, 1.2.5, 1.2.6)
ERROR: No matching distribution found for gpyopt (unavailable)

Suggestion for learning algorithms or library?

Hi, thank you for such interesting benchmark!
I am doing some school project about Deep Reinforcement Learning and Evolutionary algorithm. Could you suggest some more existing algorithms that would be interesting to try on this benchmark?

Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES) and #3 did not solve this.

Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES) and #3 did not solve this. Entire (relevant) terminal log:

hfdeMacBook-Pro:~ luchang$ git clone --recurse-submodules https://github.com/EvolutionGym/evogym.git
Cloning into 'evogym'...
remote: Enumerating objects: 588, done.
remote: Counting objects: 100% (587/587), done.
remote: Compressing objects: 100% (442/442), done.
remote: Total 588 (delta 130), reused 572 (delta 127), pack-reused 1
<--snip-->
Resolving deltas: 100% (600/600), done.
Submodule path 'evogym/simulator/externals/glew': checked out '7c2b7514f64234756f7df051b9316f1e46f5a6e7'
Submodule path 'evogym/simulator/externals/glfw': checked out 'df8d7bc892937a8b0f7c604c92a9f64f383cf48c'
Submodule path 'evogym/simulator/externals/pybind11': checked out 'bcb6d63ce99752dd735b5abf128f498458999a66'
Submodule path 'examples/externals/PyTorch-NEAT': checked out 'dee5f0adb22faf7d563c75ce28a8e3d6923d1b22'
Submodule path 'examples/externals/pytorch_a2c_ppo_acktr_gail': checked out '41332b78dfb50321c29bade65f9d244387f68a60'
hfdeMacBook-Pro:~ luchang$ 
hfdeMacBook-Pro:~ luchang$ python3.9 -m pip install torch torchvision torchaudio
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
Collecting torch
  Downloading torch-1.12.1-cp39-none-macosx_10_9_x86_64.whl (133.8 MB)
     |████████████████████████████████| 133.8 MB 1.7 MB/s 
Collecting torchvision
  Downloading torchvision-0.13.1-cp39-cp39-macosx_10_9_x86_64.whl (1.3 MB)
     |████████████████████████████████| 1.3 MB 557 kB/s 
Collecting torchaudio
  Downloading torchaudio-0.12.1-cp39-cp39-macosx_10_9_x86_64.whl (3.1 MB)
     |████████████████████████████████| 3.1 MB 648 kB/s 
Requirement already satisfied: typing-extensions in /usr/local/lib/python3.9/site-packages (from torch) (4.1.0)
Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.9/site-packages (from torchvision) (9.1.1)
Requirement already satisfied: requests in /usr/local/lib/python3.9/site-packages (from torchvision) (2.27.1)
Requirement already satisfied: numpy in /usr/local/lib/python3.9/site-packages (from torchvision) (1.21.2)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.9/site-packages (from requests->torchvision) (2021.5.30)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.9/site-packages (from requests->torchvision) (3.2)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.9/site-packages (from requests->torchvision) (1.26.7)
Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.9/site-packages (from requests->torchvision) (2.0.6)
Installing collected packages: torch, torchvision, torchaudio
  DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
  DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
Successfully installed torch-1.12.1 torchaudio-0.12.1 torchvision-0.13.1
WARNING: You are using pip version 21.2.4; however, version 22.2.2 is available.
You should consider upgrading via the '/usr/local/opt/[email protected]/bin/python3.9 -m pip install --upgrade pip' command.
hfdeMacBook-Pro:~ luchang$ 
hfdeMacBook-Pro:~ luchang$ 
hfdeMacBook-Pro:~ luchang$ evogym
-bash: evogym: command not found
hfdeMacBook-Pro:~ luchang$ 
hfdeMacBook-Pro:~ luchang$ cd evogym
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ python3.9 setup.py install
running install
running bdist_egg
running egg_info
<--snip-->
copying evogym/envs/sim_files/BeamToppler-v0.json -> build/lib.macosx-11-x86_64-3.9/evogym/envs/sim_files
copying evogym/envs/sim_files/PlatformJumper-v0.json -> build/lib.macosx-11-x86_64-3.9/evogym/envs/sim_files
copying evogym/envs/sim_files/Pusher-v1.json -> build/lib.macosx-11-x86_64-3.9/evogym/envs/sim_files
running build_ext
-- The C compiler identification is AppleClang 14.0.0.14000029
-- The CXX compiler identification is AppleClang 14.0.0.14000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/System/Library/Frameworks/OpenGL.framework   
CMake Error at /usr/local/Cellar/cmake/3.21.3_1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.21.3_1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.21.3_1/share/cmake/Modules/FindGLEW.cmake:215 (find_package_handle_standard_args)
  CMakeLists.txt:22 (find_package)


-- Configuring incomplete, errors occurred!
See also "/Users/luchang/evogym/build/temp.macosx-11-x86_64-3.9/CMakeFiles/CMakeOutput.log".
See also "/Users/luchang/evogym/build/temp.macosx-11-x86_64-3.9/CMakeFiles/CMakeError.log".
Traceback (most recent call last):
  File "/Users/luchang/evogym/setup.py", line 61, in <module>
    setup(
  File "/usr/local/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
    return distutils.core.setup(**attrs)
  File "/usr/local/Cellar/[email protected]/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/distutils/core.py", line 148, in setup
    dist.run_commands()
<--snip-->
  File "/usr/local/Cellar/[email protected]/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '/Users/luchang/evogym/evogym/simulator', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/luchang/evogym/build/lib.macosx-11-x86_64-3.9/evogym', '-DPYTHON_EXECUTABLE=/usr/local/opt/[email protected]/bin/python3.9', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ cmake
Usage

  cmake [options] <path-to-source>
  cmake [options] <path-to-existing-build>
  cmake [options] -S <path-to-source> -B <path-to-build>

Specify a source directory to (re-)generate a build system for it in the
current working directory.  Specify an existing build directory to
re-generate its build system.

Run 'cmake --help' for more information.

hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ cmake /Users/luchang/evogym/evogym/simulator -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/luchang/evogym/build/lib.macosx-11-x86_64-3.9/evogym -DPYTHON_EXECUTABLE=/usr/local/opt/[email protected]/bin/python3.9 -DCMAKE_BUILD_TYPE=Release
-- The C compiler identification is AppleClang 14.0.0.14000029
-- The CXX compiler identification is AppleClang 14.0.0.14000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/System/Library/Frameworks/OpenGL.framework   
CMake Error at /usr/local/Cellar/cmake/3.21.3_1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.21.3_1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.21.3_1/share/cmake/Modules/FindGLEW.cmake:215 (find_package_handle_standard_args)
  CMakeLists.txt:22 (find_package)


-- Configuring incomplete, errors occurred!
See also "/Users/luchang/evogym/CMakeFiles/CMakeOutput.log".
See also "/Users/luchang/evogym/CMakeFiles/CMakeError.log".
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ sudo apt-get install libglew-dev
Password:
sudo: apt-get: command not found
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ brew install cmake
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 3 taps (heroku/brew, homebrew/cask and dart-lang/dart).
==> New Casks
akiflow                         chipmunk                        onekey                          plugdata                        snapmaker-luban
aptakube                        cisdem-duplicate-finder         pictureview                     random-mouse-clicker            tempbox
arc                             diffusionbee                    pieces-cli                      readdle-spark                   whist-browser
battery                         lunacy                          planet                          sanesidebuttons                 wolfram-engine

You have 23 outdated formulae and 1 outdated cask installed.
You can upgrade them with brew upgrade
or list them with brew outdated.

Warning: Treating cmake as a formula. For the cask, use homebrew/cask/cmake
cmake 3.21.3_1 is already installed but outdated (so it will be upgraded).
==> Downloading https://ghcr.io/v2/homebrew/core/cmake/manifests/3.24.1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/cmake/blobs/sha256:d40d888e7ce0d4fa898bac4c8afb964c9a4fa3d7d9a4877fc7223a2ee3160e96
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:d40d888e7ce0d4fa898bac4c8afb964c9a4fa3d7d9a4877fc7223a2ee3160e96?se=2022-10
######################################################################## 100.0%
==> Upgrading cmake
  3.21.3_1 -> 3.24.1 

==> Pouring cmake--3.24.1.monterey.bottle.tar.gz
==> Caveats
To install the CMake documentation, run:
  brew install cmake-docs

Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/cmake
==> Summary
🍺  /usr/local/Cellar/cmake/3.24.1: 3,106 files, 46.8MB
==> Running `brew cleanup cmake`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /usr/local/Cellar/cmake/3.21.3_1... (2,953 files, 42.9MB)
Removing: /Users/luchang/Library/Caches/Homebrew/cmake--3.23.2... (15.3MB)
==> `brew cleanup` has not been run in the last 30 days, running now...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /usr/local/Cellar/aom/3.1.2... (22 files, 12.5MB)
Removing: /Users/luchang/Library/Caches/Homebrew/aom--3.3.0... (4.4MB)
Removing: /Users/luchang/Library/Caches/Homebrew/c-ares--1.18.1_1... (158.4KB)
Removing: /usr/local/Cellar/ca-certificates/2021-09-30... (3 files, 203.5KB)
<--snip-->
Removing: /usr/local/lib/python3.9/site-packages/__pycache__/texttable.cpython-39.pyc... (20.7KB)
Removing: /usr/local/lib/python3.9/site-packages/__pycache__/threadpoolctl.cpython-39.pyc... (35.2KB)
Removing: /usr/local/lib/python3.9/site-packages/__pycache__/typing_extensions.cpython-39.pyc... (82.9KB)
Pruned 0 symbolic links and 4 directories from /usr/local
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ 
hfdeMacBook-Pro:evogym luchang$ cmake /Users/luchang/evogym/evogym/simulator -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/luchang/evogym/build/lib.macosx-11-x86_64-3.9/evogym -DPYTHON_EXECUTABLE=/usr/local/opt/[email protected]/bin/python3.9 -DCMAKE_BUILD_TYPE=Release
-- The C compiler identification is AppleClang 14.0.0.14000029
-- The CXX compiler identification is AppleClang 14.0.0.14000029
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /usr/local/Cellar/cmake/3.24.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.24.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.24.1/share/cmake/Modules/FindGLEW.cmake:215 (find_package_handle_standard_args)
  CMakeLists.txt:22 (find_package)


-- Configuring incomplete, errors occurred!
See also "/Users/luchang/evogym/CMakeFiles/CMakeOutput.log".
See also "/Users/luchang/evogym/CMakeFiles/CMakeError.log".

Pip subprocess error when creating conda env from .yml file

Hi, I was following the setup guidelines for a MacBook with macOS Monterey, Version 12.2
When running
conda env create -f environment.yml

I get
Pip subprocess error:
Running command git clone -q git://github.com/yunshengtian/neat-python /private/var/folders/_f/3z_0lgy91yz7w1mqx4tzk8qr0000gn/T/pip-req-build-umjmz1er fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
WARNING: Discarding git+git://github.com/yunshengtian/neat-python@2762ab630838520ca6c03a866e8a158f592b0370. Command errored out with exit status 128: git clone -q git://github.com/yunshengtian/neat-python /private/var/folders/_f/3z_0lgy91yz7w1mqx4tzk8qr0000gn/T/pip-req-build-umjmz1er Check the logs for full command output.
ERROR: Command errored out with exit status 128: git clone -q git://github.com/yunshengtian/neat-python /private/var/folders/_f/3z_0lgy91yz7w1mqx4tzk8qr0000gn/T/pip-req-build-umjmz1er Check the logs for full command output.
failed
CondaEnvException: Pip failed

I then tried
conda activate evogym
pip install -r requirements.txt

getting
Collecting GPyOpt@ git+git://github.com/yunshengtian/GPyOpt@5fc1188ffdefea9a3bc7964a9414d4922603e904 Cloning git://github.com/yunshengtian/GPyOpt (to revision 5fc1188ffdefea9a3bc7964a9414d4922603e904) to /private/var/folders/_f/3z_0lgy91yz7w1mqx4tzk8qr0000gn/T/pip-install-0d077qh5/gpyopt_09f8c8bdd15d45e38759e2efff937db9 Running command git clone -q git://github.com/yunshengtian/GPyOpt /private/var/folders/_f/3z_0lgy91yz7w1mqx4tzk8qr0000gn/T/pip-install-0d077qh5/gpyopt_09f8c8bdd15d45e38759e2efff937db9 fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported.
AND
Running command git clone -q git://github.com/yunshengtian/neat-python /private/var/folders/_f/3z_0lgy91yz7w1mqx4tzk8qr0000gn/T/pip-install-0d077qh5/neat-python_a7be629021284f1cad5c588bd7f09ac7 fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported.

I think the issue is due to the new Git protocols security (https://github.blog/2021-09-01-improving-git-protocol-security-github/)

There is also an issue with gpyopt versioning, as when running pip install -r requirements.txt I get
ERROR: Could not find a version that satisfies the requirement gpyopt (unavailable) (from versions: 0.1.1, 0.1.2, 0.1.3, 0.1.4, 1.0.2, 1.0.3, 1.2.0, 1.2.1, 1.2.5, 1.2.6)
ERROR: No matching distribution found for gpyopt (unavailable)

Cannot run examples from PyCharm

I open evogym as project on my PyCharm 2019.2.4 (Professional) and mark the examples folder as Source Root. I then try to run the example
python run_group_ppo.py --algo ppo --use-gae --lr 2.5e-4 --clip-param 0.1 --value-loss-coef 0.5 --num-processes 4 --num-steps 128 --num-mini-batch 4 --log-interval 100 --use-linear-lr-decay --entropy-coef 0.01 --eval-interval 50

from PyCharm, but I get

File "evogym/evogym/sim.py", line 11, in
from evogym.simulator_cpp import Sim
ModuleNotFoundError: No module named 'evogym.simulator_cpp'

However, when running the command python run_group_ppo.py from terminal, the experiment runs. How do I adjust the project so to run in PyCharm (or any other IDE)?
It would be helpful for debug purposes.

Pip/Conda install error

Having the following issues trying to install one of the submodules :). Is it private/missing?

$ pip install -r requirements.txt
Collecting GPyOpt@ git+git://github.com/yunshengtian/GPyOpt@5fc1188ffdefea9a3bc7964a9414d4922603e904
  Cloning git://github.com/yunshengtian/GPyOpt (to revision 5fc1188ffdefea9a3bc7964a9414d4922603e904) to /tmp/pip-install-4qlsnhhh/gpyopt_ad9a723ba6aa450f823705c6b10c1588
  Running command git clone --filter=blob:none --quiet git://github.com/yunshengtian/GPyOpt /tmp/pip-install-4qlsnhhh/gpyopt_ad9a723ba6aa450f823705c6b10c1588
  fatal: unable to connect to github.com:
  github.com[0: 140.82.113.3]: errno=Connection timed out

  error: subprocess-exited-with-error
  
  × git clone --filter=blob:none --quiet git://github.com/yunshengtian/GPyOpt /tmp/pip-install-4qlsnhhh/gpyopt_ad9a723ba6aa450f823705c6b10c1588 did not run successfully.
  │ exit code: 128
  ╰─> See above for output.
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet git://github.com/yunshengtian/GPyOpt /tmp/pip-install-4qlsnhhh/gpyopt_ad9a723ba6aa450f823705c6b10c1588 did not run successfully.
│ exit code: 128
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

compile error

I am using macOS on m1 chip, when I run the command "python setup.py install", it occurred error:" calling a private constructor of class 'Eigen::Ref<Eigen::Matrix<double, -1, -1, 0>, 0, Eigen::OuterStride<-1>>'
return empty;"

what should I do to fix the bug?

The reward function of 'Jumper-v0' might be incorrect

# collect pre step information
pos_1 = self.object_pos_at_time(self.get_time(), "robot")

# step
done = super().step({'robot': action})

# collect post step information
pos_2 = self.object_pos_at_time(self.get_time(), "robot")

# compute reward
com_1 = np.mean(pos_1, 1)
com_2 = np.mean(pos_2, 1)
reward = (com_2[1] - com_1[1])*10 - abs(com_2[0] - com_1[0])*5

https://github.com/EvolutionGym/evogym/blob/9a1a5e7b26702184821e6e64587220ead2ab0e21/evogym/envs/jump.py#LL36-L54C71

When jumping up, the reward is positive, but when falling, the reward is negative. Thus the cumulative reward is 0 when landing. Nothing will be learned. The optimal policy is to jump up before the end of an episode and reach the highest point exactly at the end.

gymnasium.error.NameNotFound: Environment `Walker` doesn't exist.

I installed Evogym following the instructions. When I tried to run the gym_test.py file I get the following error.

Traceback (most recent call last):
File "/home/cs_velayutham/Documents/Koding/EvoRo/evogym/examples/gym_test.py", line 9, in
env = gym.make('Walker-v0', body=body, render_mode='human')
File "/home/cs_velayutham/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 741, in make
env_spec = _find_spec(id)
File "/home/cs_velayutham/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 527, in _find_spec
_check_version_exists(ns, name, version)
File "/home/cs_velayutham/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 393, in _check_version_exists
_check_name_exists(ns, name)
File "/home/cs_velayutham/.local/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 370, in _check_name_exists
raise error.NameNotFound(
gymnasium.error.NameNotFound: Environment Walker doesn't exist. Did you mean: Walker2d?

Windows installation unable to run GA.

I have attempted to install in Windows using conda as described in the README.

When attempting to install I followed the step-by-step in the README religiously. I am on Windows 10 Home version 22H2.

When running conda env create -f environment.yml with conda version 23.7.2 the environment seems to be created successfully. Then after activating the environment and running python setup.py install it completes successfully with some warnings (see snippet in error output B below). Running python gym_test.py works as expected however running python .\run_ga.py results in (see error output A below). Attempting to rectify this was unsuccessful.

Error output A:

Traceback (most recent call last):
File ".\run_ga.py", line 4, in
from ga.run import run_ga
File "C:\mydocs\github\evo_gym_errors\evogym\examples\ga\run.py", line 14, in
from ppo import run_ppo
File "C:\mydocs\github\evo_gym_errors\evogym\examples\ga..\ppo_init_.py", line 2, in
from ppo.run import run_ppo
File "C:\mydocs\github\evo_gym_errors\evogym\examples\ga..\ppo\run.py", line 9, in
from ppo import utils
File "C:\mydocs\github\evo_gym_errors\evogym\examples\ga..\ppo\utils.py", line 7, in
from ppo.envs import VecNormalize
File "C:\mydocs\github\evo_gym_errors\evogym\examples\ga..\ppo\envs.py", line 7, in
from stable_baselines3.common.monitor import Monitor
ModuleNotFoundError: No module named 'stable_baselines3'

Error output B:

running install
C:\Miniconda\envs\evogym\lib\site-packages\setuptools\command\install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
setuptools.SetuptoolsDeprecationWarning,
C:\Miniconda\envs\evogym\lib\site-packages\setuptools\command\easy_install.py:147: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
EasyInstallDeprecationWarning,
. . .
SimObject.cpp
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(49): warning C4244: 'argument': convers
ion from 'double' to 'GLsizei', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyt
hon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(52): warning C4244: 'argument': convers
ion from 'double' to 'size_t', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyth
on-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(91): warning C4244: 'argument': convers
ion from 'double' to 'GLsizei', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyt
hon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(96): warning C4244: 'argument': convers
ion from 'double' to 'size_t', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyth
on-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(121): warning C4244: 'argument': conver
sion from 'double' to 'GLsizei', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpy
thon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(125): warning C4244: 'argument': conver
sion from 'double' to 'size_t', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyt
hon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(133): warning C4244: 'return': conversi
on from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-3
7\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(136): warning C4244: 'return': conversi
on from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-3
7\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Camera.cpp(144): warning C4244: 'return': conversi
on from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-3
7\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Boxel.cpp(24): warning C4244: 'argument': conversi
on from 'int' to 'const float', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyt
hon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Boxel.cpp(25): warning C4244: 'argument': conversi
on from 'int' to 'const float', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyt
hon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(30): warning C4244: 'argument': conv
ersion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyth
on-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(31): warning C4244: 'argument': conv
ersion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\t
emp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(32): warning C4244: 'argument': conv
ersion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\t
emp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(40): warning C4244: 'argument': conv
ersion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\t
emp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(41): warning C4244: 'initializing':
conversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-c
python-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(68): warning C4244: 'argument': conv
ersion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\t
emp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(69): warning C4244: 'initializing':
conversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-c
python-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(180): warning C4267: 'initializing':
conversion from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\SimObject.cpp(203): warning C4267: '=': conversion
from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37
Release\SimulatorCPP\simulator_cpp.vcxproj]
c:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\simulatorcpp\ObjectCreator.h(9): warning C4067: unexpected toke
ns following preprocessor directive - expected a newline (compiling source file C:\mydocs\github\evo_gym_errors\evogym
evogym\simulator\SimulatorCPP\Interface.cpp) [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Re
lease\SimulatorCPP\simulator_cpp.vcxproj]
c:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\simulatorcpp\ObjectCreator.h(9): warning C4067: unexpected toke
ns following preprocessor directive - expected a newline (compiling source file C:\mydocs\github\evo_gym_errors\evogym
evogym\simulator\SimulatorCPP\ObjectCreator.cpp) [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-3
7\Release\SimulatorCPP\simulator_cpp.vcxproj]
c:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\simulatorcpp\ObjectCreator.h(9): warning C4067: unexpected toke
ns following preprocessor directive - expected a newline (compiling source file C:\mydocs\github\evo_gym_errors\evogym
evogym\simulator\SimulatorCPP\PythonBindings.cpp) [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-
37\Release\SimulatorCPP\simulator_cpp.vcxproj]
Snapshot.cpp
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(63): warning C4244: 'argument': conv
ersion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyth
on-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(83): warning C4267: 'return': co
nversion from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpy
thon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(90): warning C4267: 'return': co
nversion from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpy
thon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(64): warning C4244: 'argument': conv
ersion from 'double' to 'GLsizei', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-c
python-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(104): warning C4244: '=': conver
sion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython
-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
c:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\simulatorcpp\ObjectCreator.h(9): warning C4067: unexpected toke
ns following preprocessor directive - expected a newline (compiling source file C:\mydocs\github\evo_gym_errors\evogym
evogym\simulator\SimulatorCPP\Sim.cpp) [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release
SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(71): warning C4305: 'argument': trun
cation from 'double' to 'GLclampf' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(105): warning C4244: '=': conver
sion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython
-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(105): warning C4244: 'argument': con
version from 'double' to 'GLsizei', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(111): warning C4305: 'argument': tru
ncation from 'double' to 'GLclampf' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Sim
ulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(115): warning C4305: 'argument': tru
ncation from 'double' to 'GLclampf' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Sim
ulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(133): warning C4244: 'argument': con
version from 'double' to 'GLsizei', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(28): warning C4244: 'argument': co
nversion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build
\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(144): warning C4305: 'argument': tru
ncation from 'double' to 'GLfloat' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(29): warning C4244: 'argument': co
nversion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build
\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(156): warning C4305: 'argument': tru
ncation from 'double' to 'GLfloat' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(47): warning C4267: 'initializing'
: conversion from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64
-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Sim.cpp(55): warning C4244: 'initializing': conver
sion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\bu
ild\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,-1,-1,0,-1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Sim.cpp(56): warning C4244: 'initializing': conver
sion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\bu
ild\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,-1,-1,0,-1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(165): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(168): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(183): warning C4244: 'initializing':
conversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(187): warning C4305: 'argument': tru
ncation from 'double' to 'GLfloat' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
main.cpp
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(192): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(197): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(201): warning C4244: 'initializing':
conversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(205): warning C4305: 'argument': tru
ncation from 'double' to 'GLfloat' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(210): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(215): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(231): warning C4305: 'argument': tru
ncation from 'double' to 'GLfloat' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(90): warning C4244: 'initializing'
: conversion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\e
vogym\build\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<int,1,-1,1,1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Sim.cpp(63): warning C4244: '=': conversion from '
Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.wi
n-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,-1,-1,0,-1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(91): warning C4267: 'initializing'
: conversion from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64
-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Sim.cpp(64): warning C4244: '=': conversion from '
Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.wi
n-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,-1,-1,0,-1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\main.cpp(1): warning C4067: unexpected tokens foll
owing preprocessor directive - expected a newline [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-
37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(198): warning C4244: '=': conver
sion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython
-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(199): warning C4244: '=': conver
sion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython
-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(210): warning C4244: 'argument':
conversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(229): warning C4244: 'argument':
conversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Sim.cpp(80): warning C4244: 'initializing': conver
sion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\bu
ild\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,-1,-1,0,-1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(250): warning C4244: '=': conver
sion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython
-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Sim.cpp(81): warning C4244: 'initializing': conver
sion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\bu
ild\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,-1,-1,0,-1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(251): warning C4244: '=': conver
sion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython
-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Sim.cpp(88): warning C4244: '=': conversion from '
Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.wi
n-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,-1,-1,0,-1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Sim.cpp(89): warning C4244: '=': conversion from '
Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.wi
n-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,-1,-1,0,-1,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(518): warning C4267: 'initializi
ng': conversion from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-am
d64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(535): warning C4267: 'argument':
conversion from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(544): warning C4244: 'initializi
ng': conversion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_error
s\evogym\build\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,2,-1,0,2,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(549): warning C4244: 'initializi
ng': conversion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_error
s\evogym\build\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,2,-1,0,2,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(558): warning C4244: 'argument':
conversion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\bu
ild\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(558): warning C4244: '=': conver
sion from 'double' to '_Ty', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython
-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
_Ty=int
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(611): warning C4244: 'argument':
conversion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\bu
ild\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(612): warning C4244: 'argument':
conversion from 'double' to 'const int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-
amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(227): warning C4244: 'argument': c
onversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cp
ython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\ObjectCreator.cpp(631): warning C4244: 'argument':
conversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(232): warning C4244: 'argument': c
onversion from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cp
ython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(246): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(247): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(264): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(267): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(270): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(273): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(290): warning C4244: '=': conversion
from 'double' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37
Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(294): warning C4305: 'argument': tru
ncation from 'double' to 'GLfloat' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(299): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(302): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(305): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(308): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(348): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(361): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(372): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(388): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(390): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(403): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(405): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(421): warning C4305: 'argument': tru
ncation from 'double' to 'GLfloat' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(424): warning C4305: 'argument': tru
ncation from 'double' to 'GLfloat' [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\Simu
latorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(502): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(505): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(508): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(511): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(536): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(539): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(542): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Interface.cpp(545): warning C4244: 'argument': con
version from 'double' to 'GLfloat', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-
cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(420): warning C4244: 'argument':
conversion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\ev
ogym\build\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,2,-1,0,2,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(430): warning C4244: 'initializi
ng': conversion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_error
s\evogym\build\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,2,-1,0,2,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(412): warning C4267: 'return': con
version from 'size_t' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpyt
hon-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
c:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\simulatorcpp\ObjectCreator.h(9): warning C4067: unexpected toke
ns following preprocessor directive - expected a newline (compiling source file C:\mydocs\github\evo_gym_errors\evogym
evogym\simulator\SimulatorCPP\main.cpp) [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release
\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\main.cpp(61): warning C4244: 'initializing': conve
rsion from 'Eigen::EigenBase::Index' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\b
uild\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Ref<Eigen::MatrixXi,0,Eigen::OuterStride<-1>>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(685): warning C4244: 'initializi
ng': conversion from 'float' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd
64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(724): warning C4244: 'argument':
conversion from 'double' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\bu
ild\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(728): warning C4018: '<': signed
/unsigned mismatch [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulat
or_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(903): warning C4244: 'argument':
conversion from 'float' to 'Eigen::EigenBase::Index', possible loss of data [C:\mydocs\github\evo_gym_errors
evogym\build\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
Derived=Eigen::Matrix<double,2,-1,0,2,-1>
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(904): warning C4244: 'argument':
conversion from 'float' to 'unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\tem
p.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(905): warning C4244: 'argument':
conversion from 'float' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-c
python-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(945): warning C4244: 'argument':
conversion from 'float' to 'const unsigned __int64', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\bui
ld\temp.win-amd64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(950): warning C4244: 'argument':
conversion from 'float' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-c
python-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(957): warning C4244: 'argument':
conversion from 'float' to 'const _Ty', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-a
md64-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
with
[
_Ty=int
]
C:\mydocs\github\evo_gym_errors\evogym\evogym\simulator\SimulatorCPP\PhysicsEngine.cpp(958): warning C4244: 'argument':
conversion from 'float' to 'int', possible loss of data [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd64-c
python-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
LINK : warning LNK4044: unrecognized option '/ldl'; ignored [C:\mydocs\github\evo_gym_errors\evogym\build\temp.win-amd6
4-cpython-37\Release\SimulatorCPP\simulator_cpp.vcxproj]
Creating library C:/mydocs/github/evo_gym_errors/evogym/build/temp.win-amd64-cpython-37/Release/SimulatorCPP/Relea
se/simulator_cpp.lib and object C:/mydocs/github/evo_gym_errors/evogym/build/temp.win-amd64-cpython-37/Release/Simula
torCPP/Release/simulator_cpp.exp
Generating code
Finished generating code

. . .

error C2248 when run python setup.py install

Hi, I'm facing an issue with building the simulator in Windows 10.
After cloning the git repo, I installed Python dependencies with conda as instructed:

conda env create -f environment.yml

Then I ran the following command to build the simulator:

python setup.py install

and end up with this error:

subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '/m']' returned non-zero exit status 1.

I scrolled up a bit and see the following lines in red:

  PythonBindings.cpp
  Robot.cpp
C:\MyPath\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(271,3): error C2248: 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>::Ref': cannot access private member declared
 in class 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\externals\eigen\Eigen\src/Core/Ref.h(299): message : see declaration of 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>::Ref' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\SimulatorCPP\Environment.h(95): message : see declaration of 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(282,3): error C2248: 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>::Ref': cannot access private member declared
 in class 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\externals\eigen\Eigen\src/Core/Ref.h(299): message : see declaration of 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>::Ref' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\SimulatorCPP\Environment.h(95): message : see declaration of 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(294,3): error C2248: 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>::Ref': cannot access private member declared
 in class 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\externals\eigen\Eigen\src/Core/Ref.h(299): message : see declaration of 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>::Ref' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\SimulatorCPP\Environment.h(95): message : see declaration of 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]
  Sim.cpp

C:\MyPath\evogym\evogym\simulator\SimulatorCPP\Environment.cpp(309,3): error C2248: 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>::Ref': cannot access private member declared
 in class 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\externals\eigen\Eigen\src/Core/Ref.h(299): message : see declaration of 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>::Ref' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

C:\MyPath\evogym\evogym\simulator\SimulatorCPP\Environment.h(95): message : see declaration of 'Eigen::Ref<Eigen::MatrixXd,0,Eigen::OuterStride<-1>>' [C:\MyPath\evogym\build\temp.win-amd64-3.7\Release\SimulatorCPP\simulator_cpp.vcxproj]

Reshaping state information into grid

I am interested in using horizontal/vertical stretches as evolvable operations, and therefore I would really like to process the state vector in a way that I can attribute to individual voxels rather than one big flat state vector. Is there a way to lay out the voxel portion of the state vector into a tensor that includes both dimensions of the robot shape? Specifically, from the paper:

"Then the state information of the robot
in our tasks is a (2N + 3)-D vector including the relative position of each voxel corner with respect to
the center of mass of the robot (2N-D), and the velocity and orientation of center of mass (3-D)"

I may be misunderstanding this, but (2N - D) + (3 - D) = (2N + 3) - 2D, rather than (2N - 3) - D as stated in the paper. I think this actually supposed to be (2N) and (3 - D), and I found a variable of size 2N stepping through the code with a debugger. However, it was not clear how to attribute each point to a particular voxel. Is there a way to transform this representation to vectors of corner, x_init_voxel_position, y_init_voxel_position, x_pos, y_pos

ModuleNotFoundError: No module named 'evogym.simulator_cpp'`

I followed the instructions and installed Evogym on my pc (win 11).
However, I have the following two problems and for both I will use the evogym/tutorials/basic_api.py file as reference:

  1. from pycharm it give the following error, while from the terminal it executes correctly
    Traceback (most recent call last): File "C:/Users/opuse/Desktop/evogym/tutorials/basic_api.py", line 1, in <module> from evogym.envs import * File "C:\Users\opuse\Desktop\evogym\evogym\__init__.py", line 2, in <module> from evogym.sim import EvoSim File "C:\Users\opuse\Desktop\evogym\evogym\sim.py", line 9, in <module> import evogym.simulator_cpp ModuleNotFoundError: No module named 'evogym.simulator_cpp'
  2. If I move the basic_api.py out from the tutorials folder, hence in evogym/basic_apy.py, it will not execute returning the same error from 1

Thanks,
Andrea

EOFError due to multiprocess in PyCharm

When running python run_group_ppo.py --algo ppo --use-gae --lr 2.5e-4 --clip-param 0.1 --value-loss-coef 0.5 --num-processes 4 --num-steps 128 --num-mini-batch 4 --log-interval 100 --use-linear-lr-decay --entropy-coef 0.01 --eval-interval 50
in the Python Console in PyCharm I get:

ERROR
Traceback (most recent call last):
File "evogym/examples/ppo/../utils/mp_group.py", line 7, in job_wrapper
out_value = func(*args)
File "evogym/examples/ppo/run.py", line 57, in run_ppo
args.gamma, args.log_dir, device, False)
File "evogym/examples/ppo/envs.py", line 97, in make_vec_envs
envs = SubprocVecEnv(envs)
File "/opt/anaconda3/envs/evogym/lib/python3.7/site-packages/stable_baselines3/common/vec_env/subproc_vec_env.py", line 111, in init
observation_space, action_space = self.remotes[0].recv()
File "/opt/anaconda3/envs/evogym/lib/python3.7/multiprocessing/connection.py", line 250, in recv
buf = self._recv_bytes()
File "/opt/anaconda3/envs/evogym/lib/python3.7/multiprocessing/connection.py", line 407, in _recv_bytes
buf = self._recv(4)
File "/opt/anaconda3/envs/evogym/lib/python3.7/multiprocessing/connection.py", line 383, in _recv
raise EOFError
EOFError

When I run the same command with --num-processes 1 I don't get any error and robots are evaluated using 1 episode.

Running the code through terminal doesn't give any problem.

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.