Replies: 1 comment
-
Hello everyone, sorry I forgot to update the release notes in time, but I would like to provide more details on the " In a nutshell, this means that since 2024.02.0 release, now if you enable the Furthermore, now the mamba create -n xcubfirmware -c conda-forge -c robotology icub-firmware "robotology-distro==2024.02.0" After installation, you will find the fyi @robotology/iit-artificial-mechanical-intelligence @robotology/icub-tech-support-team |
Beta Was this translation helpful? Give feedback.
-
2024.02.0 Distro Announcement
Brief description of the announcement
Hello @robotology/everyone 👋
The iCub project is happy to announce our Software Distro 2024.02.0 📦
This is a major release that comprises binary packages as well. Therefore, follow the instructions available in our documentation to upgrade your system and/or download the new dependencies.
You can find the tags composing this distro in our Software Versioning Table.
Detailed context
This distro is shipped with several updates and fixes, including the ones listed hereafter:
🆕 Updates
🔘 New joint coupling's sw architecture
We recently re-design how in our software we want to handle the coupling of joints in underactuated systems.
In particular, this new architecture is based on the YARP plugin system, this allows to load runtime the coupling handler, without introducing compile-time dependencies.
First of all we designed a new interface
yarp::dev::IJointCoupling
in order to fit the architecture explained as follow.Then we started using this new infrastructure in simulation, in particular the coupling handler of hand mk5 has been already refactored in order to be a plugin:
🔘
xcub-moveit2
is out nowxcub-moveit2
is a collector of ros2 packages to control in cartesian space both iCub and ergoCub robots by means ofros2_control
andMoveIt
tools.Check out the project on the MoveIt website.
🔘 2FOC firmware improvements
Fix a synchronization problem in the quadrature encoder counter reset by index. Now the motors can run smoothly:
🔘 Motor temperature reading
If a motor is equipped with temperature sensor, now it is possibile to get the motor temperature by the API of IMotor interface. See icub-tech documentation.
🔘 IMU test
We added to
icub-tests
a new test for the IMU sensors. The aim is to check the Euler angles values measured by the sensor and compare them to the expected values computed with the forward kinematics parsing the URDF of the robot:The data from the encoders and the sensors are acquired and processed realtime, and the parameters to run the test could be set in a specific configuration file:
🔘
icub-firmware-*
fully integrated inrobotology-superbuild
Now the
robotology-superbuild
integrates also theicub-firmware-build
repository.In a nutshell, this means that since 2024.02.0 release, now if you enable the
ROBOTOLOGY_ENABLE_ICUB_HEAD
option in the superbuild, on the clean build of the superbuild you can find the exact version of the firmware that you need to flash on the robot in the
<superbuild_build_directory>/install/share/icub-firmware/
folder.Furthermore, now the
icub-firmware
binaries are also available in theicub-firmware
conda package available in therobotology
channel. For example, if you want to create aconda
environment calledxcubfirmware
to install theicub-firmware
corresponding to the distro2024.02.0
, you can with the following command:mamba create -n xcubfirmware -c conda-forge -c robotology icub-firmware "robotology-distro==2024.02.0"
After installation, you will find the
icub-firmware
files in$CONDA_PREFIX\share\icub-firmware
in Linux/macOS and%CONDA_PREFIX%\Library\share\icub-firmware
on Windows.For more details, see the corresponding PRs:
🔘 Several important fixes to the wrist-mk2 of ergoCub
🔘 Community contributions
👴 Deprecations
🔘 Replace
embObjInertial
w/embObjIMU
embObjInertial
was the "legacy" device that handled the inertial sensors on iCub. It was used for old boards (e.g. mtb board) and it was based on an old firmware service that is not used anymore.We managed to add the support to those old boards in the "modern"
embObjIMU
device and this allowed also to remove both the old device and the old firmware inertial service that is not used anymore, reducing the code duplication and the size of the firmware binaries.embObjInertial
w/embObjIMU
– Stint 1 robots-configuration#420embObjInertial
w/embObjIMU
– Stint 2 robots-configuration#595Beta Was this translation helpful? Give feedback.
All reactions