Skip to content

Commit

Permalink
Some improvements on the YarpRobotLoggerDevice and removed ROS1 device (
Browse files Browse the repository at this point in the history
#910)

* Improved warning message when adding a channel without metadata in the logger

* Added possibility to avoid logging text

* Added prints on the current saving stage in the logger device

* Improved the time diagnostic of recordVideo in the logger device

* Remvoed ROS1 device publisher and example device

* Avoid using iCubGazeboV3 in baseEstimatorFromFootIMU

* Bump yarp version on CI to 3.10.1

* Fixed generation of bindings in Windows

* Explicit the dependency between Math and System

* Explicit tell cmake to use conda's Python in conda-forge Windows CI

* Remove all the Python interpreter installed by GitHub Actions on Windows


---------

Co-authored-by: Silvio Traversaro <silvio.traversaro@iit.it>
  • Loading branch information
S-Dafarra and traversaro authored Jan 20, 2025
1 parent 520cd51 commit 1721c3e
Show file tree
Hide file tree
Showing 32 changed files with 155 additions and 940 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
env:
vcpkg_robotology_TAG: v0.11.0
YCM_TAG: v0.15.3
YARP_TAG: v3.8.0
YARP_TAG: v3.10.1
iDynTree_TAG: v12.3.3
CasADi_TAG: 3.5.5.2
manif_TAG: 0.0.5
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/conda-forge-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ jobs:
if: contains(matrix.os, 'windows')
shell: cmd /C CALL {0}
run: |
:: We delete all the Python executables installed by GitHub Actions as a workaround for https://github.com/ami-iit/bipedal-locomotion-framework/pull/910#issuecomment-2589862552
:: once that is not necessary anymore, remove this
rmdir /s /q C:\hostedtoolcache\windows\Python
:: Due to this https://github.com/conda-forge/icub-models-feedstock/issues/18
:: pcl is removed as a workaround for https://github.com/ami-iit/bipedal-locomotion-framework/pull/695#issuecomment-1632208836
:: pcl can be re-added once we have a ros humble build compatible with PCL 1.13.0
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@ All notable changes to this project are documented in this file.
## [unreleased]
### Added
### Changed
- Some improvements on the YarpRobotLoggerDevice (https://github.com/ami-iit/bipedal-locomotion-framework/pull/910)
- Removed ROS1 device publisher and the corresponding example (https://github.com/ami-iit/bipedal-locomotion-framework/pull/910)
### Fixed
- Add missing `ContinuousDynamicalSystem` row to `Exported components` in the README (https://github.com/ami-iit/bipedal-locomotion-framework/pull/919)
- Avoid using ``iCubGazeboV3`` model in ``BaseEstimatorFromFootIMU`` test (https://github.com/ami-iit/bipedal-locomotion-framework/pull/910)

## [0.20.0] - 2024-12-16
### Added
Expand Down
2 changes: 0 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ option(BUILD_SHARED_LIBS "Build libraries as shared as opposed to static" ON)
option(BUILD_TESTING "Create tests using CMake" OFF)
include(CTest)

option(BUILD_DEVICE_EXAMPLES "Create example devices using CMake" OFF)

# Check BipedalLocomotionFramework dependencies, find necessary libraries.
include(BipedalLocomotionFrameworkDependencies)

Expand Down
8 changes: 7 additions & 1 deletion bindings/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ if(FRAMEWORK_COMPILE_PYTHON_BINDINGS)
add_subdirectory(python)

# Create the __init__.py file
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/__init__.py "")
file(WRITE ${BLF_PYTHON_PACKAGE}/__init__.py "")

# If we are on Windows and BUILD_SHARED_LIBS is ON, handle the fact that
# the Python interpreter does not look into PATH to find dll (see https://docs.python.org/3.8/library/os.html#os.add_dll_directory)
Expand All @@ -68,6 +68,12 @@ if(FRAMEWORK_COMPILE_PYTHON_BINDINGS)
file(APPEND "${BLF_PYTHON_PACKAGE}/__init__.py" "if(library_dll_path != os.path.join(os.environ.get('CONDA_PREFIX', ''),'Library','bin') and library_dll_path != os.path.join(os.environ.get('CONDA_PREFIX', ''),'bin')):${NEW_LINE}")
file(APPEND "${BLF_PYTHON_PACKAGE}/__init__.py" " if(os.path.exists(library_dll_path)):${NEW_LINE}")
file(APPEND "${BLF_PYTHON_PACKAGE}/__init__.py" " os.add_dll_directory(library_dll_path)${NEW_LINE}")

# For running tests, we need to add also the path where the dependecies are installed.
# We add idyntree to update the dll path for the tests.
file(APPEND "${BLF_PYTHON_PACKAGE}/__init__.py" "import idyntree${NEW_LINE}")


endif()

file(APPEND "${BLF_PYTHON_PACKAGE}/__init__.py" "from .bindings import *${NEW_LINE}from . import utils${NEW_LINE}")
Expand Down
2 changes: 1 addition & 1 deletion bindings/python/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ target_link_libraries(pybind11_blf PRIVATE
# # The generated Python dynamic module must have the same name as the pybind11
# # module, i.e. `bindings`.
set_target_properties(pybind11_blf PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${BLF_PYTHON_PACKAGE}"
LIBRARY_OUTPUT_DIRECTORY $<1:${BLF_PYTHON_PACKAGE}> # Prevent appending Release/Debug to the output path in Windows
OUTPUT_NAME "bindings")

if(FRAMEWORK_TEST_PYTHON_BINDINGS)
Expand Down
5 changes: 0 additions & 5 deletions cmake/AddBipedalLocomotionYARPDevice.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,6 @@
# This software may be modified and distributed under the terms of the
# BSD-3-Clause license.

framework_dependent_option(FRAMEWORK_COMPILE_example_devices
"Compile example devices?" ON
"BUILD_DEVICE_EXAMPLES" OFF)


function(add_bipedal_yarp_device)
set(options )
set(oneValueArgs NAME)
Expand Down
12 changes: 4 additions & 8 deletions cmake/BipedalLocomotionFrameworkDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,6 @@ framework_dependent_option(FRAMEWORK_COMPILE_YarpUtilities
"Compile YarpHelper library?" ON
"FRAMEWORK_USE_YARP" OFF)

framework_dependent_option(FRAMEWORK_COMPILE_Ros1Publisher
"Compile YarpUtilities::RosPublisher class?" ON
"FRAMEWORK_USE_YARP" OFF)

framework_dependent_option(FRAMEWORK_COMPILE_RosImplementation
"Compile All the ROS implementations?" ON
"FRAMEWORK_USE_rclcpp" OFF)
Expand All @@ -157,10 +153,6 @@ framework_dependent_option(FRAMEWORK_COMPILE_TomlImplementation
"Compile All the TOML implementations?" ON
"FRAMEWORK_USE_tomlplusplus" OFF)

framework_dependent_option(FRAMEWORK_COMPILE_Math
"Compile Math library?" ON
"FRAMEWORK_USE_manif" OFF)

framework_dependent_option(FRAMEWORK_COMPILE_Estimators
"Compile Estimators library?" ON
"" OFF)
Expand All @@ -181,6 +173,10 @@ framework_dependent_option(FRAMEWORK_COMPILE_System
"Compile System library?" ON
"" OFF)

framework_dependent_option(FRAMEWORK_COMPILE_Math
"Compile Math library?" ON
"FRAMEWORK_USE_manif;FRAMEWORK_COMPILE_System" OFF)

framework_dependent_option(FRAMEWORK_COMPILE_Unicycle
"Compile the Unicycle Planner library?" ON
"FRAMEWORK_USE_UnicyclePlanner;FRAMEWORK_COMPILE_System;FRAMEWORK_COMPILE_Planners;FRAMEWORK_COMPILE_Contact" OFF)
Expand Down
5 changes: 0 additions & 5 deletions devices/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,3 @@ add_subdirectory(JointTorqueControlDevice)
add_subdirectory(RobotDynamicsEstimatorDevice)
add_subdirectory(YarpRobotLoggerDevice)
add_subdirectory(VectorsCollectionWrapper)

if (FRAMEWORK_COMPILE_example_devices)
add_subdirectory(examples)
endif()

Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ BSD-3-Clause license. -->
<param name="rgb_cameras_fps">(30)</param>
<param name="video_codec_code">mp4v</param>
<param name="port_prefix">/yarp-robot-logger</param>
<param name="log_text">true</param>
<param name="text_logging_subnames">("ergoCubGazeboV1/yarprobotinterface")</param>
<param name="maximum_admissible_time_step">1.0</param>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ BSD-3-Clause license. -->
<param name="rgb_cameras_fps">(30)</param>
<param name="video_codec_code">mp4v</param>
<param name="port_prefix">/yarp-robot-logger</param>
<param name="log_text">true</param>
<param name="text_logging_subnames">("ergoCubGazeboV1/yarprobotinterface")</param>
<param name="maximum_admissible_time_step">1.0</param>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ BSD-3-Clause license. -->

<param name="video_codec_code">mp4v</param>
<param name="port_prefix">/yarp-robot-logger</param>
<param name="log_text">true</param>
<param name="text_logging_subnames">("ergocub-torso/yarprobotinterface")</param>
<param name="code_status_cmd_prefixes">("ssh ergocub@10.0.2.2" "ssh ergocub@10.0.2.3")</param>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ BSD-3-Clause license. -->

<param name="video_codec_code">mp4v</param>
<param name="port_prefix">/yarp-robot-logger</param>
<param name="log_text">true</param>
<param name="text_logging_subnames">("ergoCubSN001/yarprobotinterface")</param>
<param name="code_status_cmd_prefixes">("ssh ergocub@10.0.2.2" "ssh ergocub@10.0.2.3")</param>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ BSD-3-Clause license. -->

<param name="video_codec_code">mp4v</param>
<param name="port_prefix">/yarp-robot-logger</param>
<param name="log_text">true</param>
<param name="text_logging_subnames">("ergocub-torso/yarprobotinterface")</param>
<param name="code_status_cmd_prefixes">("ssh ergocub@10.0.2.22" "ssh ergocub@10.0.2.23")</param>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ BSD-3-Clause license. -->
<param name="sampling_period_in_s">0.01</param>
<param name="port_prefix">/yarp-robot-logger</param>
<param name="maximum_admissible_time_step">1.0</param>
<param name="log_text">true</param>

<group name="Telemetry">
<param name="save_period">600.0</param>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ BSD-3-Clause license. -->
<param name="rgb_cameras_fps">(30)</param>
<param name="video_codec_code">mp4v</param>
<param name="port_prefix">/yarp-robot-logger</param>
<param name="log_text">true</param>
<param name="text_logging_subnames">("icub-head/yarprobotinterface")</param>
<param name="code_status_cmd_prefixes">("ssh icub@10.0.0.2" "ssh icub@10.0.0.150")</param>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ class YarpRobotLoggerDevice : public yarp::dev::DeviceDriver,
bool m_streamCartesianWrenches{false};
bool m_streamFTSensors{false};
bool m_streamTemperatureSensors{false};
bool m_logText{true};
std::vector<std::string> m_textLoggingSubnames;
std::vector<std::string> m_codeStatusCmdPrefixes;

Expand Down
Loading

0 comments on commit 1721c3e

Please sign in to comment.