Open Zweisteine96 opened 1 year ago
Together with @lrapetti, the test results are updated here.
Installation of mamba and robotology
I didn't install mamba
but just creating a virtual environment. Since I already have robotology
on my computer, so I didn't install it again in the mamba
environment.
Installation of project
Totally fine except I can't run pytest
, I think it's because I didn't install it?
collect required data
robotology/src/HumanDynamicsEstimation/conf/xml
folder.humanDataPreparationModule
, I have to manually copy all configuration files into /build/install/bin
(though I already did the ccmake
and make install`), and then ran it from there. annotate the data
humanPredictionVisualizerModule
. Here is a test result up to now:
Training
mamba
, I installed some required dependencies manually (so maybe it's better to use the mamba
to manage them). The training results is shown below:
Online test using logged data and visualization
T-pose calibration
is needed. Or maybe I missed something here?In general, the instructions are doable, I can basically let everything run. But at some points we may add more notes?
cc @DanielePucci @kouroshD @lrapetti
Hi @Zweisteine96 ; thank you for testing out the repo and instruction. While I will be happy to help you to debug with your custom environment, the purpose of this issue is to exactly follow the instructions provided here. Please as indicated in README, follow the instructions for installing the repo, download the data as mentioned in the repo. If you face any problem, LMK. Thanks. I have tested the repo several times in different mamba envs and did not face any if your problems.
N.B. Regarding the running c++ binaries; if your installation folder is not added to the path, then you should go to your intallation directory to run. For this purpose, as suggested, you can install it in the installation directory of superbuild.
Hi @kouroshD, I agree with you. Since I didn't follow the very first installation instruction, so I can imagine I would encounter some unexpected problems. The issues reported above are actually not very serious problems, so I think both code and instructions are ready to go.
Thank you for your comment @Zweisteine96 . I belive it is @DanielePucci's call on that to close the issue or not. But what I can say is that following the whole instructions should be very fast.
But what I can say is that following the whole instructions should be very fast.
@Zweisteine96 may you try to give a try?
But what I can say is that following the whole instructions should be very fast.
@Zweisteine96 may you try to give a try?
@Zweisteine96 I think the bast way to test this avoiding having conflicts with what is already installed in your system is to:
.bashrc
the line: source <directory-where-you-downloaded-robotology-superbuild>/build/install/share/robotology-superbuild/setup.sh
@traversaro I don't know if you have any additional suggestion or comment on top of this
@Zweisteine96 may you try to give a try?
Yes I can try it soon.
With the help of @lrapetti , I finished testing the whole pipeline in mamba
. I think all the instructions are clear and lead to the successful running of all programs. But there are several points I think could be modified a little bit for better understanding:
If you do not have robotology-superbuild installed in your system, follow the instructions in here to install it in motion-prediction mamba env.
robotology-superbuild
is already installed in the global environment, it's still okay to use that (no need to install a new one in mamba
).build and install the c++ modules by:
<robotology-superbuild path>/build/install
but a user-defined directory, then when running the following command: humanDataPreparationModule --from humanDataAcquisitionForLogging.ini
, remember to copy the configuration files (also the other required .ini files) to build/install/bin
folder.Sorry again for the delay. Apart from the points mentioned above, the instructions are good for me to go.
cc @DanielePucci @kouroshD
If robotology-superbuild is already installed in the global environment, it's still okay to use that (no need to install a new one in mamba).
I would say, however, I haven't tried it out.
If CMAKE_INSTALL_PREFIX is not
/build/install but a user-defined directory, then when running the following command: humanDataPreparationModule --from humanDataAcquisitionForLogging.ini, remember to copy the configuration files (also the other required .ini files) to build/install/bin folder.
About this, off course if you do not install it in a path that is passed to PATH
env variable, you should go to it directly to use. As you can see here, https://github.com/ami-iit/paper_darvish_2022_humanoids_action-kindyn-predicition/blob/1f3e8f837b2139abd6298cd855ab6b330b4a7cf7/src/humanDataPreparation/app/CMakeLists.txt#L6 , we set it to install in a specific directory. So, if you install in Robotology superbuild install directory, you can find it anywhere. But the behavior you have observed is expected. If you have a better suggestion, lmk please.
Thanks. If there is no other comments, we may close the issue. @DanielePucci should we close this issue. I believe this is done.
If CMAKE_INSTALL_PREFIX is not /build/install but a user-defined directory, then when running the following command: humanDataPreparationModule --from humanDataAcquisitionForLogging.ini, remember to copy the configuration files (also the other required .ini files) to build/install/bin folder.
About this, off course if you do not install it in a path that is passed to
PATH
env variable, you should go to it directly to use. As you can see here,, we set it to install in a specific directory. So, if you install in Robotology superbuild install directory, you can find it anywhere. But the behavior you have observed is expected. If you have a better suggestion, lmk please.
Maybe you can specify that if not installed to the superbuild install directory, you should make sure that the <install-directory>/share/yarp
path is added to the YARP_DATA_DIRS
env variable, and the <install-directory>/bin
is added to the PATH
env variable
Just a small comment: in paper
repos, tipically we try to provide instructions that will also valid in the future, so providing some pin for the dependencies, because future version of the library that we listed in https://github.com/ami-iit/paper_darvish_2022_humanoids_action-kindyn-predicition/blob/main/environment.yml could not work with the existing code. For doing so, tipically we pin at least the "big libraries" installed in https://github.com/ami-iit/paper_darvish_2022_humanoids_action-kindyn-predicition/blob/main/environment.yml down to the patch version, and then suggest a precise distro release of the superbuild to use. This is also why we should not suggested the users to use an existing robotology-superbuild installation if they already have it.
Furthermore, note that all packages installed by the robotology-superbuild is available also as conda-binaries, either from the conda-forge
channel or the robotology
channel. Which packages are actually used from the superbuild? A possible strategy to simplify the installation is to install all of them directly from the environment.yml
, without the need to manually compile the superbuild.
Furthermore, note that all packages installed by the robotology-superbuild is available also as conda-binaries, either from the
conda-forge
channel or therobotology
channel. Which packages are actually used from the superbuild? A possible strategy to simplify the installation is to install all of them directly from theenvironment.yml
, without the need to manually compile the superbuild.
Ok, this may not be true, as the environment is using the defaults
channel that in general contains packages that are not ABI compatible (see https://conda-forge.org/docs/user/tipsandtricks.html#why-does-that-happen), i.e. from the top of the environment.yml file:
- defaults
- conda-forge
- anaconda
probably switching to conda-forge may be complicated and change the results, so at this point I suggest to just pin some dependencies in environment.yml
and specify the distro release used by the superbuild. Furthermore, for future reference it is great if anyone that has a valid installation that is working could store the version of package installed in its environment by pasting in this this discussion the output of mamba list
.
I would follow the repo instructions to test the code, results will be reported in this issue.