Skip to content
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @traversaro @S-Dafarra @dariosortino
* @traversaro @S-Dafarra @Gianlucamilani @davidegorbani
43 changes: 12 additions & 31 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
uses: ilammy/msvc-dev-cmd@v1.12.1

- name: Setup compilation env variables (not Windows)
if: contains(matrix.os, 'ubuntu') || contains(matrix.os, 'macos')
if: contains(matrix.os, 'ubuntu') || contains(matrix.os, 'macos')
shell: bash -l {0}
run: |
echo "CMAKE_INSTALL_PREFIX=${CONDA_PREFIX}" >> $GITHUB_ENV
Expand All @@ -46,15 +46,24 @@ jobs:
echo "CXX=${compiler_path}" >> $GITHUB_ENV
echo "CMAKE_INSTALL_PREFIX=${CONDA_PREFIX}\Library" >> $GITHUB_ENV
- name: Install trintrin from source
shell: bash -l {0}
run: |
git clone https://github.com/ami-iit/trintrin
cd trintrin
mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
cmake --build . --config ${{ matrix.build_type }}
cmake --install . --config ${{ matrix.build_type }}
- name: Configure
shell: bash -l {0}
run: |
mkdir -p build
cd build
cmake -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DBUILD_TESTING:BOOL=ON \
-DHDE_COMPILE_PYTHON_BINDINGS:BOOL=ON -DHUMANSTATEPROVIDER_ENABLE_VISUALIZER:BOOL=ON \
-DHUMANSTATEPROVIDER_ENABLE_LOGGER:BOOL=ON -DHDE_DETECT_ACTIVE_PYTHON_SITEPACKAGES:BOOL=ON ..
-DHUMANSTATEPROVIDER_ENABLE_VISUALIZER:BOOL=ON -DHUMANSTATEPROVIDER_ENABLE_LOGGER:BOOL=ON ..
- name: Build
shell: bash -l {0}
Expand All @@ -79,31 +88,3 @@ jobs:
run: |
# Test CMake packages
cmake-package-check IWear --targets IWear::IWear
cmake-package-check WearableData --targets WearableData::WearableData
cmake-package-check WearableActuators --targets WearableActuators::WearableActuators
cmake-package-check HumanDynamicsEstimation --targets HumanDynamicsEstimation::HumanStateMsg
# Test python packages
python -c "import wearables"
python -c "import hde"
- name: Test standalone build of bindings
shell: bash -l {0}
run: |
cd bindings
mkdir -p build
cd build
cmake -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DBUILD_TESTING:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON \
-DHDE_DETECT_ACTIVE_PYTHON_SITEPACKAGES:BOOL=ON ..
cmake --build . --config ${{ matrix.build_type }}
ctest --output-on-failure -C ${{ matrix.build_type }} .
cmake --install . --config ${{ matrix.build_type }}
- name: Check install of standalone build of bindings
shell: bash -l {0}
run: |
# Test python packages
python -c "import wearables"
python -c "import hde"
21 changes: 3 additions & 18 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 3.16)
project(HumanDynamicsEstimation
LANGUAGES CXX
VERSION 4.2.2)
VERSION 5.0.0)

# =====================
# PROJECT CONFIGURATION
Expand All @@ -21,7 +21,6 @@ endif()
include(GNUInstallDirs)
include(CTest)

option(HUMANSTATEPROVIDER_ENABLE_ROS1VISUALIZER "Enable the ROS 1-based RViz Human State Visualizer" OFF)
option(HUMANSTATEPROVIDER_ENABLE_VISUALIZER "Enable the iDyntree-irricht based Human State Visualizer" OFF)

find_package(robometry QUIET)
Expand All @@ -33,6 +32,7 @@ option(BUILD_TESTING "Build tests" OFF)
# Subfolders will find the dependencies they need.
find_package(YARP 3.2 REQUIRED)
find_package(YCM REQUIRED)
find_package(trintrin REQUIRED)

# Import cmake utilities
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
Expand All @@ -48,9 +48,6 @@ option(BUILD_SHARED_LIBS "Build libraries as shared as opposed to static" ON)

set(CMAKE_POSITION_INDEPENDENT_CODE ON)

# Flag to enable python bindings
option(HDE_COMPILE_PYTHON_BINDINGS "Flag that enables building the bindings" OFF)

# Plugins are force to be Shared/Dynamic Library
set(YARP_FORCE_DYNAMIC_PLUGINS ON)

Expand Down Expand Up @@ -83,9 +80,6 @@ if(WIN32)
add_compile_definitions(_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING)
endif()

# Flag to enable Paexo wearable device
option(WEARABLES_COMPILE_PYTHON_BINDINGS "Flag that enables building the bindings" OFF)

# Flag to enable XSensSuit wearable device
find_package(XsensXME QUIET)
option(ENABLE_XsensSuit "Flag that enables building XsensSuit wearable device" ${XsensXME_FOUND})
Expand All @@ -96,9 +90,6 @@ endif()
# Flag to enable Paexo wearable device
option(ENABLE_Paexo "Flag that enables building Paexo wearable device" OFF)

# Flag to enable SenseGlove wearable device
option(ENABLE_HapticGlove "Flag that enables building Haptic Sense Glove wearable device" OFF)

# Flag to enable IWearFrameVisualizer module
find_package(iDynTree QUIET)
option(ENABLE_FrameVisualizer "Flag that enables building IWearFrameVisualizer module" ${iDynTree_FOUND})
Expand Down Expand Up @@ -130,20 +121,14 @@ add_subdirectory(app)
add_subdirectory(modules)
add_subdirectory(servers)
add_subdirectory(clients)

if(HUMANSTATEPROVIDER_ENABLE_ROS1VISUALIZER)
add_subdirectory(publishers)
endif()

add_subdirectory(bindings)
add_subdirectory(HumanDynamicsEstimationLibrary)

install_basic_package_files(${PROJECT_NAME}
VERSION ${${PROJECT_NAME}_VERSION}
COMPATIBILITY AnyNewerVersion
VARS_PREFIX ${PROJECT_NAME}
NO_CHECK_REQUIRED_COMPONENTS_MACRO
DEPENDENCIES YARP)
DEPENDENCIES YARP trintrin)

# Add the uninstall target
include(AddUninstallTarget)
4 changes: 2 additions & 2 deletions HumanDynamicsEstimationLibrary/algorithms/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ add_component(NAME algorithms
${CMAKE_CURRENT_SOURCE_DIR}/src/DynamicalInverseKinematics.cpp
PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/hde/algorithms/InverseVelocityKinematics.hpp
${CMAKE_CURRENT_SOURCE_DIR}/include/hde/algorithms/DynamicalInverseKinematics.hpp
PUBLIC_LINK_LIBRARIES iDynTree::idyntree-model
PRIVATE_LINK_LIBRARIES YARP::YARP_OS
PUBLIC_LINK_LIBRARIES iDynTree::idyntree-model
PRIVATE_LINK_LIBRARIES YARP::YARP_os
iDynTree::idyntree-high-level
OsqpEigen::OsqpEigen
osqp::osqp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
#ifndef DYNAMICALINVERSEKINEMATICS_HPP
#define DYNAMICALINVERSEKINEMATICS_HPP

#include <iDynTree/Core/VectorDynSize.h>
#include <iDynTree/Core/MatrixDynSize.h>
#include <iDynTree/Model/Model.h>
#include <iDynTree/VectorDynSize.h>
#include <iDynTree/MatrixDynSize.h>
#include <iDynTree/Model.h>

#include <map>
#include <memory>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
#ifndef INVERSEVELOCITYKINEMATICS_HPP
#define INVERSEVELOCITYKINEMATICS_HPP

#include <iDynTree/Core/VectorDynSize.h>
#include <iDynTree/Core/MatrixDynSize.h>
#include <iDynTree/Model/Model.h>
#include <iDynTree/VectorDynSize.h>
#include <iDynTree/MatrixDynSize.h>
#include <iDynTree/Model.h>

#include <map>
#include <memory>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "OsqpEigen/OsqpEigen.h"

// idyntree
#include <iDynTree/Core/EigenHelpers.h>
#include <iDynTree/EigenHelpers.h>
#include <iDynTree/KinDynComputations.h>

// yarp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "OsqpEigen/OsqpEigen.h"

// idyntree
#include <iDynTree/Core/EigenHelpers.h>
#include <iDynTree/EigenHelpers.h>
#include <iDynTree/KinDynComputations.h>

#include <yarp/os/LogStream.h>
Expand Down
2 changes: 1 addition & 1 deletion HumanDynamicsEstimationLibrary/utils/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ add_component(NAME utils
SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/iDynTreeUtils.cpp
PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/hde/utils/iDynTreeUtils.hpp
PUBLIC_LINK_LIBRARIES iDynTree::idyntree-core
PRIVATE_LINK_LIBRARIES YARP::YARP_OS
PRIVATE_LINK_LIBRARIES YARP::YARP_os
Eigen3::Eigen
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
#define HUMANDYNAMICSESTIMATION_UTILS_HPP

// iDynTree
#include <iDynTree/Core/Rotation.h>
#include <iDynTree/Core/Transform.h>
#include <iDynTree/Core/VectorDynSize.h>
#include <iDynTree/Core/VectorFixSize.h>
#include <iDynTree/Rotation.h>
#include <iDynTree/Transform.h>
#include <iDynTree/VectorDynSize.h>
#include <iDynTree/VectorFixSize.h>

#include <vector>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include <cmath>

// iDynTree
#include <iDynTree/Core/EigenHelpers.h>
#include <iDynTree/EigenHelpers.h>

// YARP
#include <yarp/os/LogStream.h>
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ For installing the dependencies you can decide to install them individually or t

#### Libraries
- [**YARP**](https://github.com/robotology/yarp): a library and toolkit for communication and device interfaces.
- [**trintrin**](https://github.com/ami-iit/trintrin): a library with common messages for interprocess communication in robotics applications.
- [**icub-main**](https://github.com/robotology/icub-main): a library for the interaction with the iCub robot.
- [**iDynTree**](https://github.com/robotology/idyntree): a library of robots dynamics algorithms for control, estimation and simulation.
- [**Eigen**](http://eigen.tuxfamily.org/index.php?title=Main_Page) (3.3 or later): a C++ template library for linear algebra.
Expand All @@ -45,7 +46,6 @@ For installing the dependencies you can decide to install them individually or t
#### Optional dependencies
- [**irrlicht**](http://irrlicht.sourceforge.net/) and [**iDynTree**](https://github.com/robotology/idyntree) compiled with `IDYNTREE_USES_IRRLICHT` enabled: visualizer for floating-base rigid-body systems.
- [**Robometry**](https://github.com/robotology/robometry) : a telemetry suite for logging data.
- [**pybind11**](https://github.com/pybind/pybind11): if present, the user can enable `HDE_COMPILE_PYTHON_BINDINGS` to enable the compilation of the python bindings.

## How to install
After installing all the dependencies, you can install the HDE project:
Expand Down Expand Up @@ -87,7 +87,6 @@ Wearable devices contained in [`/devices/`](/devices) are [YARP devices](http://
| XsensSuit | Exposes [`XsensSuit`](https://www.xsens.com/motion-capture) data. | Windows | xsens MVN SDK 2018.0.3 | [:books:](/doc/How-to-run-XsensSuit.md) |
| ICub | Exposes [iCub](https://icub.iit.it/) robot data. | Linux/MacOS/Windows | [`iDynTree`](https://github.com/robotology/idyntree) | [:books:](/doc/How-to-run-iCub-as-wearable-source.md) |
| Paexo | Exposes [Paexo](https://paexo.com/?lang=en) data. | Linux | `iFeelDriver` (Contact the maintainer for more details) | - |
| HapticGlove | Exposes [SenseGlove](https://www.senseglove.com/product/developers-kit/) data. | Linux/Windows | [`SenseGloveSDK`](https://github.com/Adjuvo/SenseGlove-API) | [:books:](./doc/How-to-compile-and-run-HapticGlove.md) |
| IFrameTransform | Exposes YARP [`IFrameTransform` Interface](http://www.yarp.it/git-master/classyarp_1_1dev_1_1IFrameTransform.html). | Linux/MacOS/Windows | - | - |


Expand Down Expand Up @@ -170,4 +169,5 @@ The development is also supported by the [Istituto Italiano di Tecnologia](http:

* Silvio Traversaro ([@traversaro](https://github.com/traversaro))
* Stefano Dafarra ([@S-Dafarra](https://github.com/S-Dafarra))
* Dario Sortino ([@dariosortino](https://github.com/dariosortino))
* Davide Gorbani ([@davidegorbani](https://github.com/davidegorbani))
* Gianluca Milani ([@Gianlucamilani](https://github.com/Gianlucamilani))
Loading