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

Merge wearables repo in human-dynamics-estimation #395

Merged
merged 494 commits into from
Sep 25, 2024
Merged

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Sep 23, 2024

As described in robotology/wearables#212 .

The PR history is quite complicated as it contains all the history of wearables, but the relevant commits are actually 81f4c27 and 177d7ba, as they are the change to permit the merge.

Almost all the CMake options, CMake installed packages, and python packages should be exactly the same, permitting seamless migration from wearables+human-dynamics-estimation to the "merged" human-dynamics-estimation 4.0.0, the main exception are:

  • The Python options WEARABLES_COMPILE_PYTHON_BINDINGS, WEARABLES_DETECT_ACTIVE_PYTHON_SITEPACKAGES, WEARABLES_PYTHON_INSTALL_DIR, WEARABLES_PYTHON_PIP_METADATA_INSTALL and WEARABLES_PYTHON_PIP_METADATA_INSTALLER are not used, and instead HDE_COMPILE_PYTHON_BINDINGS, HDE_DETECT_ACTIVE_PYTHON_SITEPACKAGES, HDE_PYTHON_INSTALL_DIR, HDE_PYTHON_PIP_METADATA_INSTALL and HDE_PYTHON_PIP_METADATA_INSTALLER are used also to enable/disable the installation of the wearables python package
  • All the .xml yarpmanager files are installed in $CMAKE_INSTALL_PREFIX/share/HumanDynamicsEstimation, also the one that before were installed in $CMAKE_INSTALL_PREFIX/share/wearables, so that only $CMAKE_INSTALL_PREFIX/share/HumanDynamicsEstimation needs to be added to YARP_DATA_DIRS.
  • This PR change the internal ALIAS of IWear target to IWear::IWear for consistency with the namespace used during the install. If you have been using wearables via FetchContent/add_subdirectory, please change all your instances of Wearable::IWear to IWear::IWear.

yeshasvitirupachuri and others added 30 commits October 6, 2020 10:50
This PR add the wearable device implementation for an Adaptive Paexo
Add the optional parameter to save .mvn recording of xsens suit through SDK
Add AMTI wearable configuration file
Add brewInstallOrUpgrade function for MacOS CI
Add wearable yarp dumper application to run HDE offline
* Update CHANGELOG.md

* Update CHANGELOG.md
* Add install for wearable devices dumper application

* Update CHANGELOG.md

* Update CMakeLists.txt
* Add github Actions CI, remove Travis CI

* Remove iCub dependency

* Set XSENS_MVN_USE_SDK=off in Windows CI

* Update ci.yml

* Update ci.yml

* CI updated dependencies release

* Update CHANGELOG

* Remove Travis badge
Update wrappers CMakeLists to autogenerate .ini files
* update README.md with dependencies and compilation

* Update README.md

* Update CHANGELOG.md
Clean and update FTShoes configuration files
Cleanup plugin headers and IWear interface warning
Move wError and wWarning to common header
@traversaro
Copy link
Member Author

@S-Dafarra @dariosortino given that you are the persons that recently merged PRs in hde, you won the co-mantainership of the new repo with me. : )

@lrapetti
Copy link
Member

💔

@dariosortino
Copy link
Collaborator

What should we do after this PR? Uninstall wearables from the current superbuild installation, and update HDE?

@traversaro
Copy link
Member Author

What should we do after this PR? Uninstall wearables from the current superbuild installation, and update HDE?

The only files that is better if they are removed are the one that are installed in $CMAKE_INSTALL_PREFIX/share/wearables, everything else should be automatically overwritten by the the new "great" hde. So you can either uninstall manually, or just delete the whole install directory and let the superbuild reinstall everything.

@S-Dafarra
Copy link
Contributor

I wonder whether it is cleaner if we move all the old wearables code in a single sub folder

@traversaro
Copy link
Member Author

I wonder whether it is cleaner if we move all the old wearables code in a single sub folder

To be honest I did this like this as I wanted to do the least number of modifications post merge to get everything to build and install correctly, I wanted to leave further modifications cleanup after the merge. For sure for python integration it is useful to have both bindings in the same bindings folder to easily enable/disable both. To be honest, I had imagined most of the cleanup to be more "integration" between wearables and hde to reuse as much as possible the similar CMake code, rather then keep the two version duplicated.

In the end the directories that mix hde and wearables are:

  • interfaces
  • cmake
  • devices
  • msgs

In all cases, the resulting CMakeLists.txt structure inside does not seem too messy to me, but if you prefer I can split these directories in a hde folder and the wearables folder. I would strongly prefer to avoid this for the bindings to reduce the amount of duplicated CMake code.

@S-Dafarra
Copy link
Contributor

I see! Actually, I got misled by the structure with which the file modifications are presented in the changes panel in Github. The structured seemed much more flat. By looking at the file structure in the branch directly, it makes more sense.

Long story short, looks good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.