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

Test the repo documentation #1

Closed
claudia-lat opened this issue Jan 31, 2022 · 9 comments
Closed

Test the repo documentation #1

claudia-lat opened this issue Jan 31, 2022 · 9 comments
Assignees

Comments

@claudia-lat
Copy link
Collaborator

In this issue, the documentation and code of this repo are going to be tested.

@gabrielenava
Copy link
Member

gabrielenava commented Feb 24, 2022

Installation part

I originally tried to install all the dependencies on Ubuntu 20.04. I had issues mainly because of two dependencies:

In both cases, I have found the source code:

but installation did not seem very straightforward so I gave up and I moved to Windows.

  1. maybe we can specify that for the moment we do not ensure support for running the code on Ubuntu, but highlight that if the user wants to try he can go through the sources installation.

Moving to Windows

  1. here, I have installed all dependencies with no big difficulties. However it is necessary to point the user to the proper documentation for robotology-superbuild installation on Windows

  2. another point: to change cmake options in the robotology-superbuild it is very useful to use the cmake gui, that on windows needs to be downloaded separately: https://cmake.org/download/ however this point is more related to robotology-superbuild documentation than on this repo documentation

  3. Also, a difficulty for a non-expert user could be to checkout iDynTree to the correct fork. We should specify that the user needs to reach the iDynTree folder in the src folder of the superbuild, open a terminal and run:
    git remote add [SOME_USER_DEFINED_NAME] https://github.com/ami-iit/idyntree-hde-fork/tree/feature/stack-of-tasks-berdy,
    then run:
    git fetch [SOME_USER_DEFINED_NAME]
    and finally:
    git checkout [SOME_USER_DEFINED_NAME]/feature/stack-of-tasks-berdy).

  4. all the other parts of the installation were fine to me, only a final reminder: if one decides to install the robotology-superbuild through mamba (suggested from the documentation), the following command has to be run every time one needs to operate with robotology scripts in a terminal:
    mamba activate robsub
    without the command the paths are not linked correctly, and for example YARP libraries are not found. Again, I think this is actually something more related to the robotology documentation rather than the one of this repo.

@gabrielenava
Copy link
Member

gabrielenava commented Feb 24, 2022

Usage - PART 1

  1. data conversion was ok. The repo were data are stored is structured in different folders, so it would be better to specify in which sub-folder one can find the .mvnx, .c3d and .mat data.

  2. to run the command that processes mnvx data on windows it is required to first run in the terminal mamba activate robsub if the installation is done via mamba, see the previous comment.

  3. the .trc data documentation has a bug: in the second point I guess the user should rename the file as S0X_0Y.c3d and not as S0X_0Y.trc, because later in the same piece of documentation it is written to export the .trc file from mokka and drop it into the data folder.

  4. to run the code it was necessary to add to the MATLAB path the repository and its subfolders: this point should be added to the documentation

--

At this point I was able to run the MATLAB script. Next part in the next comment!

@traversaro
Copy link

traversaro commented Mar 9, 2022

2. another point: to change cmake options in the robotology-superbuild it is very useful to use the cmake gui, that on windows needs to be downloaded separately: https://cmake.org/download/ however this point is more related to robotology-superbuild documentation than on this repo documentation

Please do not do that! If you install cmake-gui manually, you basically may be installing a CMake version different from the one installed via conda and this may lead to hard to debug errors (I suspect this is related to robotology/robotology-superbuild#1057 (comment)). If there is any issue/feature request related to the robotology-superbuild (i.e. I want to use cmake-gui in the configuration, and with the current instructions I can't ), feel free to open an issue in the robotology-superbuild issue tracker, thanks!

Again, I think this is actually something more related to the robotology documentation rather than the one of this repo.

Feel free to open an issue, thanks!

@gabrielenava
Copy link
Member

gabrielenava commented Mar 9, 2022

Please do not do that! If you install cmake-gui manually, you basically may be installing a CMake version different from the one installed via conda and this may lead to hard to debug errors (I suspect this is related to robotology/robotology-superbuild#1057 (comment)). If there is any issue/feature request related to the robotology-superbuild (i.e. I want to use cmake-gui in the configuration, and with the current instructions I can't ), feel free to open an issue in the robotology-superbuild issue tracker, thanks!

ok, I had cmake already installed on my PC because I already had projects that required it, and I was inside the mamba environment when I called the cmake-gui for my superbuild configuration. No errors emerged during the compilation-generation phase so I tought it was ok.

It is a very peculiar case but it would be better to specify the cmake-gui usage possibilities in the documentation as you suggested.

, the following command has to be run every time one needs to operate with robotology scripts in a terminal:
mamba activate robsub
without the command the paths are not linked correctly, and for example YARP libraries are not found. Again, I think this is actually something more related to the robotology documentation rather than the one of this repo.

Feel free to open an issue, thanks!

this point is already specified in the documentation: https://github.com/robotology/robotology-superbuild/blob/master/doc/conda-forge.md#source-installation, I was wondering if it was necessary to enforce it in the documentation of this repo too, as it is a step that is very easy to forget. But anyways in the robotology documentation is documented.

@traversaro
Copy link

ok, I had cmake already installed on my PC because I already had projects that required it, and I was inside the mamba environment when I called the cmake-gui for my superbuild configuration. No errors emerged during the compilation-generation phase so I tought it was ok.

It is a very peculiar case but it would be better to specify the cmake-gui usage possibilities in the documentation as you suggested.

My plan is to make sure that cmake-gui can be installed via conda, so that cmake-gui works out of the box in conda and we do not need to worry about cross-talking with a system-installed cmake, see conda-forge/cmake-feedstock#12 (comment) .

@gabrielenava
Copy link
Member

gabrielenava commented Mar 9, 2022

Usage - Part 2 (Alternative Final 1: Ubuntu)

I had some difficulties related to the installation of the robotology superbuild on Windows that slowed down my test. The issue has been solved by @traversaro, but in the meantime I decided to move on Ubuntu and continue my testing there. Some comments:

  • I had an issue compiling Mokka from sources on Ubuntu. I did not investigated further because Mokka and MVNX parser are only necessary to generate some files in the data pre-processing phase. I was able to reach this phase on Windows in Test the repo documentation #1 (comment), so I simply ported in Ubuntu the files I had already generated.

  • I needed to install opensim and generate its MATLAB bindings. I went through opensim installation following the opensim superbuild instructions and at the end I was able to install and (apparently) use the opensim bindings for MATLAB.

  • I was able to run and complete the first dataset (Subject 1 with exoskeleton). There was a missing function but the problem has been fixed by @claudia-lat. Then, while running the second dataset (Subject 1 without exoskeleton) MATLAB was badly crashing. Here the matlab crash reports (it generates 6 reports at a time):
    matlab_crash_dump.zip

  • I then debugged and discovered that the problem was related to the call to the following opensim method:

if ~exist(outputMotionFilename, 'file')
    ikTool.run();
end

the call is not performed when the file `` is already generated. for the first dataset, I generated it on Windows during my previous trials and I had it, while I did not have it for the second dataset.

  • to conclude the test I therefore generated the file on windows also for the second dataset, and then I run the code on Ubuntu. At this point I was finally able to conclude the testing successfully!

@gabrielenava
Copy link
Member

Usage - Part 3 (Alternative Final 2: WIndows)

In order to run the code on windows, it is necessary to use appropriate tags for the robotology superbuild.

Here the yaml file that I am using:
aeps.zip

however there are still compilation issues on windows that do not allow me to complete the superbuild installation with the given tags -- the original problem is solved however: the superbuild compiles with the default tags.

Here the issue to track the problems:
robotology/robotology-superbuild#1057 (comment)

Since the code testing is concluded successfully on Ubuntu, I think we can consider the testing concluded @claudia-lat. The only thing left to do, besides addressing the small comments we discussed offline, would be to update the yaml file with different tags once we find the tags that work also on windows.

@gabrielenava
Copy link
Member

testing completed, closing!

@claudia-lat
Copy link
Collaborator Author

@gabrielenava I really want to thank you for your incredible support in testing and improving the code!

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

No branches or pull requests

3 participants