Skip to content

Commit

Permalink
Merge branch 'master' into usesystpl
Browse files Browse the repository at this point in the history
  • Loading branch information
GiulioRomualdi authored Sep 23, 2024
2 parents 26d838f + 0ee61e7 commit 7d290b2
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 33 deletions.
11 changes: 8 additions & 3 deletions .github/workflows/conda-forge-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ on:
# Execute a "nightly" build at 2 AM UTC
- cron: '0 2 * * *'

# Workaround for https://github.com/conda-forge/mumps-feedstock/issues/125
# and https://github.com/conda-forge/mumps-feedstock/pull/126#issuecomment-2355357834
env:
OMP_NUM_THREADS: 1

jobs:
build:
name: '[${{ matrix.os }}@${{ matrix.build_type }}@conda]'
Expand Down Expand Up @@ -41,7 +46,7 @@ jobs:
liblie-group-controllers eigen qhull "casadi>=3.5.5" cppad spdlog \
nlohmann_json manif manifpy pybind11 numpy pytest scipy opencv pcl \
tomlplusplus libunicycle-footstep-planner "icub-models>=1.23.4" \
ros-humble-rclcpp onnxruntime-cpp libbayes-filters-lib cmake-package-check
ros-humble-rclcpp onnxruntime-cpp libbayes-filters-lib cmake-package-check catch2
- name: Linux-only Dependencies [Linux]
if: contains(matrix.os, 'ubuntu')
Expand Down Expand Up @@ -79,7 +84,7 @@ jobs:
mkdir -p build
cd build
cmake -GNinja -DBUILD_TESTING:BOOL=ON -DFRAMEWORK_COMPILE_IK:BOOL=OFF -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
-DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
-DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON -DUSE_SYSTEM_Catch2:BOOL=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
- name: Build [Linux&macOS]
if: contains(matrix.os, 'macos') || contains(matrix.os, 'ubuntu')
Expand All @@ -101,7 +106,7 @@ jobs:
run: |
mkdir -p build
cd build
cmake -GNinja -DBUILD_TESTING:BOOL=ON -DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON -DCMAKE_INSTALL_PREFIX=%CONDA_PREFIX%\Library -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
cmake -GNinja -DBUILD_TESTING:BOOL=ON -DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON -DUSE_SYSTEM_Catch2:BOOL=ON -DCMAKE_INSTALL_PREFIX=%CONDA_PREFIX%\Library -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
- name: Build [Windows]
if: contains(matrix.os, 'windows')
Expand Down
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# Changelog
All notable changes to this project are documented in this file.

## [unreleased]
### Added
- Add USE_SYSTEM_tiny-process-library CMake option to use tiny-process-library found in system (https://github.com/ami-iit/bipedal-locomotion-framework/pull/891)
- Add `USE_SYSTEM_tiny-process-library` CMake option to use `tiny-process-library` found in system (https://github.com/ami-iit/bipedal-locomotion-framework/pull/891)

### Changed

### Fixed

## [0.19.0] - 2024-09-06
### Added
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.16.0)

## MAIN project
project(BipedalLocomotionFramework
VERSION 0.19.0)
VERSION 0.19.100)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

Expand Down
2 changes: 1 addition & 1 deletion cmake/AddBipedalLocomotionUnitTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ if (BUILD_TESTING)
include(FetchContent)
FetchContent_Declare(Catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.0.1)
GIT_TAG v3.7.1)

FetchContent_GetProperties(Catch2)
if(NOT Catch2_POPULATED)
Expand Down
54 changes: 27 additions & 27 deletions docs/pages/main-page.dox
Original file line number Diff line number Diff line change
Expand Up @@ -18,37 +18,37 @@ The minimum required dependencies are `Eigen3`, `iDynTree` and `spdlog`. If you

\section exported-components 📙 Exported components

The **bipedal-locomotion-framework** project consists of several components. The components are stored in the [`src`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src) folder and their compilation depends on the installed dependencies.
The **bipedal-locomotion-framework** project consists of several components. The components are stored in the [`src`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src) folder and their compilation depends on the installed dependencies.

| Component | Description | Additional Dependencies |
| :--------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| `Framework` | Interface library that gathers all the exported components, includable with the file `BipedalLocomotion/Framework.h` | - |
| [`AutoDiff`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/AutoDiff) | Bridge between CppAD and Eigen | [`CppAD`](https://coin-or.github.io/CppAD/doc/cppad.htm) |
| [`ContactModels`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/ContactModels) | Models to describe the contact between robot and enviroment | - |
| [`Contacts`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Contacts) | Syntactic description of a contact | [`manif`](https://github.com/artivis/manif) [`nlohmann json`](https://github.com/nlohmann/json/) |
| [`CommonConversions`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Conversions) | Common conversion utilities used in the framework | - |
| [`ManifConversions`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Conversions) | Library related conversion utilities used in the framework | [`manif`](https://github.com/artivis/manif) |
| [`matioCppConversions`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Conversions) | Library related conversion utilities used in the framework | [`matio-cpp`](https://github.com/ami-iit/matio-cpp) |
| [`CasadiConversions`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Conversions) | Library related conversion utilities used in the framework | [`CasADi`](https://github.com/casadi/casadi) |
| [`Estimators`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Estimators) | Library containing observers | - |
| [`FloatingBaseEstimator`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Estimators) | Library containing floating base estimators | [`manif`](https://github.com/artivis/manif) |
| [`RobotDynamicsEstimator`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Estimators) | Library containing floating base estimators | [`manif`](https://github.com/artivis/manif) |
| [`GenericContainer`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/GenericContainer) | Data structure similar to ``span`` but resizable. | - |
| [`IK`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/IK) | Inverse kinematics | [`manif`](https://github.com/artivis/manif) [`osqp-eigen`](https://github.com/robotology/osqp-eigen) |
| [`Math`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Math) | Library containing mathematical algorithms | [`manif`](https://github.com/artivis/manif) |
| [`ML`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/ML) | Library containing deep learning algorithms | [`onnxruntime`](https://onnxruntime.ai/) |
| [`ParametersHandler`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/ParametersHandler) | Library for retrieving parameters from configuration files | [`YARP`](https://www.yarp.it/git-master/) (only if you want the `YARP` implementation) [`tomlplusplus`](https://github.com/marzer/tomlplusplus/) (only if you want the `toml` implementation) |
| [`PerceptionInterface`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/RobotInterface) | Generic interface classes to adapt to perception data formats like images and point clouds | [`OpenCV`](https://github.com/opencv/opencv) [`PCL`](https://github.com/PointCloudLibrary/pcl) |
| [`PerceptionCapture`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Perception) | Library containing driver classes for perception devices | [`OpenCV`](https://github.com/opencv/opencv) [`PCL`](https://github.com/PointCloudLibrary/pcl) [`realsense2`](https://github.com/IntelRealSense/librealsense) |
| [`PerceptionFeatures`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Perception) | Library containing perception algorithms useful for locomotion | [`OpenCV`](https://github.com/opencv/opencv) |
| [`Planners`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/Planners) | Library containing planner useful for locomotion | [`manif`](https://github.com/artivis/manif) [`CasADi`](https://web.casadi.org/) [`qhull`](http://www.qhull.org/) |
| [`ReducedModelControllers`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/ReducedModelsController) | Controller based on reduced models, e.g., `CentroidalMPC` | [`CasADi`](https://github.com/casadi/casadi)|
| [`RobotInterface`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/RobotInterface) | Library for communicating with the robot | [`YARP`](https://www.yarp.it/git-master/) (only if you want the `YARP` implementation) |
| [`SimplifiedModelControllers`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/SimplifiedModelControllers) | Controllers based on simplified models, i.e, LIPM. | - |
| [`System`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/System) | Description of discrete and continuous dynamical systems | - |
| [`TSID`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/TSID) | Task space inverse dynamics | [`manif`](https://github.com/artivis/manif) [`lie-group-controllers`](https://github.com/ami-iit/lie-group-controllers) |
| [`TextLogging`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/TextLogging) | Helper library to display messages into the console | [`YARP`](https://www.yarp.it/git-master/) (only if you want the `YARP` implementation) [`ros-humble`](https://docs.ros.org/en/humble/) (if you want the `ros2` implementation) |
| [`YarpUtilities`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/v0.19.0/src/YarpUtilities) | Utilities library for retrieving data and from YARP structures | [`YARP`](https://www.yarp.it/git-master/) |
| [`AutoDiff`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/AutoDiff) | Bridge between CppAD and Eigen | [`CppAD`](https://coin-or.github.io/CppAD/doc/cppad.htm) |
| [`ContactModels`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/ContactModels) | Models to describe the contact between robot and enviroment | - |
| [`Contacts`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Contacts) | Syntactic description of a contact | [`manif`](https://github.com/artivis/manif) [`nlohmann json`](https://github.com/nlohmann/json/) |
| [`CommonConversions`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Conversions) | Common conversion utilities used in the framework | - |
| [`ManifConversions`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Conversions) | Library related conversion utilities used in the framework | [`manif`](https://github.com/artivis/manif) |
| [`matioCppConversions`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Conversions) | Library related conversion utilities used in the framework | [`matio-cpp`](https://github.com/ami-iit/matio-cpp) |
| [`CasadiConversions`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Conversions) | Library related conversion utilities used in the framework | [`CasADi`](https://github.com/casadi/casadi) |
| [`Estimators`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Estimators) | Library containing observers | - |
| [`FloatingBaseEstimator`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Estimators) | Library containing floating base estimators | [`manif`](https://github.com/artivis/manif) |
| [`RobotDynamicsEstimator`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Estimators) | Library containing floating base estimators | [`manif`](https://github.com/artivis/manif) |
| [`GenericContainer`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/GenericContainer) | Data structure similar to ``span`` but resizable. | - |
| [`IK`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/IK) | Inverse kinematics | [`manif`](https://github.com/artivis/manif) [`osqp-eigen`](https://github.com/robotology/osqp-eigen) |
| [`Math`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Math) | Library containing mathematical algorithms | [`manif`](https://github.com/artivis/manif) |
| [`ML`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/ML) | Library containing deep learning algorithms | [`onnxruntime`](https://onnxruntime.ai/) |
| [`ParametersHandler`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/ParametersHandler) | Library for retrieving parameters from configuration files | [`YARP`](https://www.yarp.it/git-master/) (only if you want the `YARP` implementation) [`tomlplusplus`](https://github.com/marzer/tomlplusplus/) (only if you want the `toml` implementation) |
| [`PerceptionInterface`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/RobotInterface) | Generic interface classes to adapt to perception data formats like images and point clouds | [`OpenCV`](https://github.com/opencv/opencv) [`PCL`](https://github.com/PointCloudLibrary/pcl) |
| [`PerceptionCapture`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Perception) | Library containing driver classes for perception devices | [`OpenCV`](https://github.com/opencv/opencv) [`PCL`](https://github.com/PointCloudLibrary/pcl) [`realsense2`](https://github.com/IntelRealSense/librealsense) |
| [`PerceptionFeatures`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Perception) | Library containing perception algorithms useful for locomotion | [`OpenCV`](https://github.com/opencv/opencv) |
| [`Planners`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/Planners) | Library containing planner useful for locomotion | [`manif`](https://github.com/artivis/manif) [`CasADi`](https://web.casadi.org/) [`qhull`](http://www.qhull.org/) |
| [`ReducedModelControllers`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/ReducedModelsController) | Controller based on reduced models, e.g., `CentroidalMPC` | [`CasADi`](https://github.com/casadi/casadi)|
| [`RobotInterface`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/RobotInterface) | Library for communicating with the robot | [`YARP`](https://www.yarp.it/git-master/) (only if you want the `YARP` implementation) |
| [`SimplifiedModelControllers`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/SimplifiedModelControllers) | Controllers based on simplified models, i.e, LIPM. | - |
| [`System`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/System) | Description of discrete and continuous dynamical systems | - |
| [`TSID`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/TSID) | Task space inverse dynamics | [`manif`](https://github.com/artivis/manif) [`lie-group-controllers`](https://github.com/ami-iit/lie-group-controllers) |
| [`TextLogging`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/TextLogging) | Helper library to display messages into the console | [`YARP`](https://www.yarp.it/git-master/) (only if you want the `YARP` implementation) [`ros-humble`](https://docs.ros.org/en/humble/) (if you want the `ros2` implementation) |
| [`YarpUtilities`](https://github.com/ami-iit/bipedal-locomotion-framework/tree/master/src/YarpUtilities) | Utilities library for retrieving data and from YARP structures | [`YARP`](https://www.yarp.it/git-master/) |


\warning ⚠️ Including `BipedalLocomotion/Framework.h` may result in higher compilation time because of the inclusion of headers which may not be used in your project. It is always suggested to follow the [IWYU](https://github.com/include-what-you-use/include-what-you-use/blob/cc0fad4be0db26e40713b6076263f204a311b573/docs/WhyIWYU.md) paradigm. This applies also for the CMake targets. It is suggested to link only the targets used in your project.
Expand Down

0 comments on commit 7d290b2

Please sign in to comment.