Releases: robotology/yarp
YARP 3.12.2
YARP 3.12.2 Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
libYARP_dev
-
Fixed linker error in `yarp::dev:: IJacobianCoupling interface
-
Added new methods to the interface
yarp::dev::Nav2D::IMap2D
yarp::dev::ReturnValue reloadMapsCollection() override;
yarp::dev::ReturnValue reloadLocationsAndExtras() override;
Implemented in devices:Map2D_nwc_yarp,Navigation2D_nwc_yarp -
Added new method to the interface
yarp::dev::Nav2D::INavigation2DExtraActions
yarp::dev::ReturnValue inWhichAreaIAm(std::string& area_name, Nav2D::Map2DArea& area)Implemented in devices:Navigation2D_nwc_yarp` -
Added new datatype:
yarp::dev::Nav2D::Map2DObject -
Added new methods to the interface
yarp::dev::Nav2D::IMap2D
yarp::dev::ReturnValue storeObject(std::string object_name, yarp::dev::Nav2D::Map2DObject obj) override;
yarp::dev::ReturnValue getObject(std::string object_name, yarp::dev::Nav2D::Map2DObject& obj) override;
yarp::dev::ReturnValue getObjectsList(std::vectorstd::string & locations) override;
yarp::dev::ReturnValue getAllObjects(std::vectoryarp::dev::Nav2D::Map2DObject& obj) override;
yarp::dev::ReturnValue renameObject(std::string original_name, std::string new_name) override;
yarp::dev::ReturnValue deleteObject(std::string object_name) override;
yarp::dev::ReturnValue clearAllObjects() override;
Implemented in devices:Map2DStorage,Map2D_nwc_yarp,Navigation2D_nwc_yarp
Devices
MultipleAnalogSensorsRemapper
- Fixed bug in ReturnValue
Tests
- Improved tests for device
Map2DStorage,ControlBoardRemapper,ILLMinterface
Commands
yarpActionsPlayer
- Improvements
Bindings
- Improved yarp.i
- Added bindings for
yarp::dev::IBatteryinterface
Other
- Improved Bash completion script
- Yarpmanager now uses
fast_tcpas default carrier instead oftcp
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.12.1..v3.12.2):
23 Marco Randazzo <[email protected]>
4 Ettore Landini <[email protected]>
3 Beniamino Squitieri <[email protected]>
2 robotology-bot (Tag Repository Action) <[email protected]>
1 Bartek Łukawski <[email protected]>
1 Davide <[email protected]>
1 Giovanni Fregonese <[email protected]>
1 Nicolò Genesio <[email protected]>
1 Silvio Traversaro <[email protected]>
YARP 3.12.1
YARP 3.12.1 Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
New Features
yarpRerun
- Added new executable tool
yarpRerun.
The tool log data received on yarp port using rerun.io framework)
yarpRobotDescriptionInfo
- Added new executable
yarpRobotDescriptionInfo.
This tool generate a .dot file which describes a graph representing all the devices used by yarpobotinterface
and their connections.
Library
libYARP_os
- LogForwarder: added new method
getLogPortName() - Added new test
LogForwarderTestto check that all forwarded messages are caught by the logger engine.
Portmonitor
- Added new portmonitor
simulated_network_delayto add a delay in the network communication. - Used by
LogForwarderTestto test the logger under various network delay conditions.
libYARP_dev
- Added new tests to check
IImpedanceControlinterface.
Fixes
Bindings
- Added bindings for
IJointCouplinginterface. - Added bindings for
yarp::dev::LLM_Message. - Added bindings for
yarp::dev::ReturnValue. - Fixed bindings for Python callbacks. Added examples.
- Strip trailing newline from
CMAKE_INSTALL_PYTHON3DIR.
Executables
yarpActionsPlayerFixed erratic behavior during the first movement of each sequence.
GUIs
yarpmotorgui
- Improved
yarpmotorguito handleforceOffsetofIImpedanceControlinterface: the value is sent only if the table has changed.
Devices
ControlBoardRemapper: fixed wrong buffer resize inresizeSubControlBoardBuffers.
Library
libYARP_os
LogForwarder: now using a separated thread (class ThreadedPort) to prevent the loss of log messages during stress condition.
libYARP_robotinterface
libYARP_robotinterface: does not show error message if device does not derive fromIDeviceDriverParams.
Breaking Changes
GUIs
yarpmotorgui
- Add timers and callbacks for
pwmandcurrentcontrol to keep sending references.
Library
libYARP_dev
SensorMeasurmentsdatatype moved frommultipleAnalogSensorsMsgsto liblibYARP_dev
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.12.0..v3.12.1):
19 Marco Randazzo <[email protected]>
3 Jacopo Losi <[email protected]>
2 Bartek Łukawski <[email protected]>
2 Jacopo <[email protected]>
2 Nicolò Genesio <[email protected]>
2 Pasquale <[email protected]>
2 robotology-bot (Tag Repository Action) <[email protected]>
1 Bartek Łukawski <[email protected]>
1 Silvio Traversaro <[email protected]>
YARP 3.12.0
A (partial) list of bug fixed and issues resolved in this release can be found
here.
New Features
Thrift
- Improved yarp thrift compiler to generate the following new methods for yarp services:
getLocalProtocolVersion()getRemoteProtocolVersion()checkProtocolVersion()
These methods allow to test the compatibility in the network protocol for nws/nwc communication.
To specify a new protocol version modify (or add if missing) the lineconst i16 protocol_version = <xxx>in the .thrift file.
SeefakeTestMsgs.thriftandFakeDevice_nwc_yarpfor an example.
Library
libYARP_os
- Added new portable datatype
yarp:os::ApplicationNetworkProtocolVersion
Devices
- Added new devices:
FakeDevice_nws_yarpFakeDevice_nwc_yarp
FakeDevice_nwc_yarpalso uses the newcheckProtocolVersion()to verify the communication withFakeDevice_nws_yarpRobotDescriptionStoragefakeFrameWriteropenCVWriterframeWriter_nws_yarp
- Added new methods
getParamValue(),getConfiguration()to IDeviceDriverParams interface. - Updated yarpDeviceParamParserGenerator tool
- All device params parsers have been regenerated
yarprobotinterface
- Added new option
autocloseAfterStartwhich automatically terminates the module after opening and attaching all devices (used bor CI and debug) - yarprobotinterface now opens internally a device
RobotDescriptionStorageand register all other opened devices inside it. - User can open a
RobotDescription_nws_yarpand attach it to theRobotDescriptionStorageto obtain info about opened devices. See example:
yarp\src\yarprobotinterface\tests\robotDescription
yarpmotorgui
- It now uses
RobotDescription_nwc_yarpto ask to aRobotDescription_nws_yarpopened by a yarprobotinterface the name of the parts to which connect to.
If the connection fails, the yarpmotorgui will continue to use the previous strategy (via parameters provided by command line or via file yarpmotorgui.ini) - the new parameter
remoteRobotDescriptionPortallows to select the RobotDescription_nws_yarp port. Default value is /yarpRobotInterface/devices/rpc
Breaking Changes
libYARP_dev
- The following interfaces have been modified to use
yarp::dev::ReturnValue:IRangeFinder2DILLMIChatBot
Devices
- The following devices haven been modified to use
yarp::dev::ReturnValue:Rangefinder2DTranformerFakeLaserFakeLaserWithMotorRangefinder2D_nws_yarpRangefinder2D_nwc_yarpfakeChatBotDevicechatBot_nws_yarpchatBot_nwc_yarpfakeLLMDeviceLLM_nwc_yarpLLM_nws_yarpRobotDescriptionServerrefactored toRobotDescription_nws_yarpRobotDescriptionClientrefactored toRobotDescription_nwc_yarp
- The
attachAll()mechanism used to keep track of the devices opened by yarprobotinterface (previously implemented byRobotDescriptionServer)
has been transferred toRobotDescriptionStorage. - device
opencv_grabberhas been renamed toopenCVGrabber - device
audioRecorderWrapper, deprecated in yarp 3.9 has been completely removed
Other
- all yarp command line executables are now located under the folder
commandssimilar to the folderguis/ - yarp documentation was improved.
- expose bindings for
IFrameGrabberControls::getFeature(int, double*, double*) - Added `IRGBDSensor interface to python bindings.
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.11.0..v3.12.0):
60 Marco Randazzo <[email protected]>
7 Silvio Traversaro <[email protected]>
7 Stefano Bernagozzi <[email protected]>
6 robotology-bot (Tag Repository Action) <[email protected]>
3 Stefano Berti <[email protected]>
2 Nicolò Genesio <[email protected]>
1 Alvaro14 <[email protected]>
1 Bartek Łukawski <[email protected]>
1 Pasquale <[email protected]>
1 Stefano Dafarra <[email protected]>
1 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
YARP 3.11.2
YARP 3.11.2 Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
Fixes
GUIs
YarpDataplayer
- Added missing #include
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.11.1..v3.11.2):
2 Marco Randazzo <[email protected]>
2 robotology-bot (Tag Repository Action) <[email protected]>
1 Nicolò Genesio <[email protected]>
YARP 3.11.1
YARP 3.11.1 Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
Changes
Compiler features
The PUBLIC and INTERFACE values set by target_compile_features have been changed back from cxx_std_20 to cxx_std_17, to permit
to continue to compile downstream projects with C++17. This is not a long term decision, and in future the minimum C++ version required
to compile headers could be increased again.
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.11.0..v3.11.1):
3 Silvio Traversaro <[email protected]>
2 robotology-bot (Tag Repository Action) <[email protected]>
1 Marco Randazzo <[email protected]>
YARP 3.11.0
YARP <yarp-3.11> Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
Breaking Changes
Library
libYARP_dev
The signature of methods IFrameTransform::frameExists(const std::string &frame_id) and IFrameTransform::canTransform(const std::string &target_frame, const std::string &source_frame) change to IFrameTransform::frameExists(const std::string &frame_id, bool& exits) and IFrameTransform::canTransform(const std::string &target_frame, const std::string &source_frame, bool& exists).
Tests
The set of tests for individual plugins, previously called harness_dev_xxx has been renamed to harness_devices_xxx
Compiler features
target_compile_features updated from cxx_std_17 to cxx_std_20
Fixes
New Features
devices
multiplenalogsensorremapper
- The angular acceleration and linear velocity values measured by a sensor can now be extracted and used via the sensor remapper.
- Also involves
multipleanalogsensorclientandmultipleanalogsensorserveras a breaking change.
GUIs
yarpopencvdisplay
yarpopencvdisplayis now able to display ayarp::sig::LayeredImage
yarpmanager
- Added time info to
libYARP_managerlogger and toyarpmanagerGUI. - The time info can be displayed as the current time (obtained from
std::chrono::system_clock::now()) or as time elapsed since yarpmanager GUI launch
Libraries
libYARP_sig
- added new datatype
yarp::sig::LayeredImage - added
yarp::sig::utils::sum()to transformyarp::sig::LayeredImagetoyarp::sig::Image - modified signature of method
yarp::sig::utils::depthToPCandyarp::sig::utils::depthRgbToPC.
They now accept step_x and step_y parameters to perform pointcloud decimation.
They also accept a new parameteroutput_orderwhich allows to swap the axis of the output point cloud (see code documentation) - added method yarp::sig::Vector::erase()
libYARP_dev
- added new class
yarp::dev::ReturnValue - The following interfaces have been modified to the new class ReturnValue:
ISpeechSynthesizer
ISpeechTranscription
ILocalization2D
IMap2D
INavigation2D
IOdometry2D
devices
- Updated all devices which use the interfaces employing the new class
ReturnValue:
FakeSpeechSynthesizer
FakeSpeechTranscription
FakeNavigation
FakeLocalizer
FakeOdometry2D
Map2DStorage
SpeechTranscription_nws_yarp
SpeechTranscription_nwc_yarp
SpeechSynthesizer_nws_yarp
SpeechSynthesizer_nwc_yarp
Localization2D_nws_yarp
Localization2D_nwc_yarp
Map2D_nws_yarp
Map2D_nwc_yarp
MobileBaseVelocityControl_nws_yarp
MobileBaseVelocityControl_nwc_yarp
Navigation2D_nwc_yarp
Navigation2D_nws_yarp
Odometry2D_nws_yarp
Other
- Added new CLI executable yarpActionPlayer to playback trajectories on robot.
See the related documentation included in the README.md file - Updated to SWIG 4.3.0
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.10.0..v3.11.0):
54 Marco Randazzo <[email protected]>
13 Nick Tremaroli <[email protected]>
5 Ettore Landini <[email protected]>
4 robotology-bot (Tag Repository Action) <[email protected]>
3 Silvio Traversaro <[email protected]>
3 Stefano Dafarra <[email protected]>
1 Francesco Brand <[email protected]>
1 Ines Sorrentino <[email protected]>
YARP 3.10.1
YARP 3.10.1 Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
Fixes
bindings
- Fixed regression bug in yarp.i: the file swig_python_windows_preable.i is no more included when a downstream
project (like icub-main) includes the file in its own .i swig binding file. See #3148
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.10.0..v3.10.1):
2 Silvio Traversaro <[email protected]>
2 robotology-bot (Tag Repository Action) <[email protected]>
1 Marco Randazzo <[email protected]>
YARP 3.10.0
YARP 3.10.0 Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
Major Behaviour Changes
- ROS1 support removed from github repo https://github.com/robotology/yarp and moved to legacy repo https://github.com/robotology/yarp-ros
- Removed support for CMake 3.16/3.17. CMake minimum version is now 3.19
Deprecations and removals
- Removed
xmlrpcandtcproscarriers. - Removed
yarpidl_rosmsg. - Removed library
libYARP_wire_rep_utils. - Removed
extern/md5 - Removed
extern/rosmessages and examples. - The syntax yarpdev --device xxx --subdevice yyy has been deprecated. See discussion: #3078
Fixes
- Configuration files installed by the
yarp_configure_plugins_installationCMake macro are now relocatable (#2445, ). - Improved
ffmpegport monitor to allow using different couples of coders/decodes yarpbatteryguinow compatible with battery_nwc_yarp.- Fixed compilation of portmonitor carrier when a custom non-system swig is used
- Fixed compatibility with ffmpeg 7 (#3109).
- Fixed compilation with graphviz 10 (#3115).
- Fix sending empty yarp::sig::Vector when building in Debug (#3123).
New Features
- Added new command line tool
yarpDeviceParamParserGenerator. See official yarp documentation (cmd_yarpDeviceParamParserGenerator.dox)
Docker
- Added two parameters to yarp
Dockerfile:base_imgto allow starting from different parent imagesyarp_branchto set the yarp version the users might need in their image
Carriers
- Removed h264 Carrier
- Added gstreamer carrier with extended functionalities.
- Added new gstreamers plugins: yarpvideosource, yarpvidepassthrough, yarpvideosink
- Fixed segfault on disconnection with shmem carrier.
Devices
- Most yarp devices now use yarpDeviceParamParserGenerator to generate parameters documentation.
controlboardremapper
- Aligned to
controlBoard_nws_yarpin terms of required interfaces. See #3095.
deviceBundler
- Added new device
deviceBundlerwhich can be useful to open two devices and attach them while using a single yarpdev command line.
See #3078
llmDevice
- Added LLM_Message data type to propagate LLM answers
- Added refreshConversation feature in the interface to allow users to restart the conversation mantaining the same prompt.
Navigation2D
- Added followPath functionality
- Added paths as possible arguments in gotoLocation in Navigation2D_nwc
Rangefinder2DTransformer
- Removed deprecated device Rangerfinder2DClient
- Added device Rangerfinder2DTransformer, with similar functionalities to Rangerfinder2DClient.
Rangefinder2D_nwc_yarp, Rangefinder2D_nws_yarp
- Network protocol now uses IDL thrift
ffmpeg_grabber
- Deprecated device
ffmpeg_writer
- Deprecated device
portaudio
- Portaudio device, previously marked as deprecated, has been definitely removed from devices' CMakeLists.txt
FakePythonSpeechTranscription
- Added new device
FakePythonSpeechTranscription. The device is also an example which demonstrates the encapsulation of python code inside a c++ device implementing a Yarp interface.
multipleanalogsensorsclient
- Always establish the
rpcconnection with thetcpcarrier, instead of using thecarrieroption as done in YARP <= 3.9 .
GUIs
yarpopencvdisplay
- added new executable
yarpopencvdisplay. Similarly to yarpview, it's a basic window to display video streams. It also allows to save to .avi files.
Libraries
lib_yarp_dev
Drivers.cppIf the user requests for a not existing plugin, the system now prints a message suggesting devices with similar names- The following data types have been migrated from
yarp_devtoyarp_siglibrary:AudioPlayerStatus, AudioRecorderStatus, AudioBufferSize, AudioBufferSizeData, LaserMeasurementData, LaserScan2D.
lib_yarp_sig
- Improvements to serialization class
yarp::sig::Sound(breaking change) - yarp_sig can now use IDL thrift to generate custom data types.
- The following data types have been migrated from
yarp_devtoyarp_siglibrary:AudioPlayerStatus, AudioRecorderStatus, AudioBufferSize, AudioBufferSizeData, LaserMeasurementData, LaserScan2D.
Bindings
Python
- Fix loading of Python bindings on Windows when installed in arbitrary directory.
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.9.0..v3.10.0):
146 Marco Randazzo <[email protected]>
24 Silvio Traversaro <[email protected]>
12 Nicolò Genesio <[email protected]>
10 Stefano Dafarra <[email protected]>
7 fbrand-new <[email protected]>
3 robotology-bot (Tag Repository Action) <[email protected]>
2 Ettore Landini <[email protected]>
1 Alessandro Croci <[email protected]>
1 Alessandro Croci <[email protected]>
1 Bartek Łukawski <[email protected]>
1 Bartek Łukawski <[email protected]>
1 Giovanni Fregonese <[email protected]>
1 elisabeth-ms <[email protected]>
YARP 3.9.0
YARP 3.9.0 Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
Major Behaviour Changes
- Yarp now supports C++20 standard.
- Catch2 library updated to version: 3.4.0
- YCM library updated to 0.15.3
Deprecations and removals
- Removed yarp companion command TopicTest.
- Removed unnecessary rosmsg dependencies in yarpdataplayer.
- Removed UNMAINTAINED executable yarpfs.
- Removed UNMAINTAINED library libyarpc.
- Removed deprecated device controlboardwrapper2.
Fixes
- General improvement to yarp github CI to support Ubuntu22.04+clang17, Windows2022+VS17
- Fixed segfault in
audioRecorderDeviceBasedevice. - Added missing doxygen tags to several interfaces and devices.
- Fixed segfault when reading a mono .wav file from disk in
SoundFileWav.cpp. - Fixed stdin in
yarprun --cmd <cmd> --stdio. - Removed robot and
iCubGuiinertial ports from the example app as the GUI is unable to handle the MAS client. - Fix bug that forces images to be sent through RPC calls in
frameGrabber_nwc_yarp. - The error message upon inconsistent encoder timestamps has been throttled in
controlBoard_nws_yarp. - Fixed issue regarding windows/linux timestamps synchronization:
yarp::os::SystemClock::nowSystem()now maps tostd::chrono::system_clockinstead ofstd::chrono::high_resolution_clock
New Features
Docker
Added new experimental docker image for Ubuntu22.04 http://github.com/robotology/yarp/docker
GUIs
yarpaudiocontrolgui
Added new gui yarpaudiocontrolgui to start/stop an audioRecorder_nwc_yarp or an audioPlayer_nwc_yarp device.
yarpllmgui
Added new gui yarpllmgui to control IChatbot devices.
Libraries
libYARP_sig
- The class
yarp::sig::soundhas refactored to avoid the internal use (private implementation) ofyarp::sig::Imagedata type.
libYARP_companion
- Added companion command
yarp split. The command splits an heterogeneous nested bottle received from a port into multiple ports.
libYARP_dev
- Added new interface:
IJointCoupling, an interface for handling coupled joints. - Added new interfaces:
ISpeechSynthesizer,ISpeechTranscription. - Added new interface:
IChatBotto interact with chatbots. - The interface
ITorqueControlnow supports four a new friction parameters:velocityThresh.
These parameters are used to enable the new torque control law and fine tune the the friction compensation at FW level.
Devices
frameTransformStorage + frameTransformClient + frameTransformServer
- Added a timeout related parameter (
FrameTransform_container_timeout) to change the refresh interval for old timed frame transforms. - The parameter has also been added to the
frameTransformClientandframeTransformServerconfiguration files. Theextern-namefor this parameter is:
ftc_storage_timeoutforframeTransformClientfiles;fts_storage_timeoutforframeTransformServerfiles
chatBot
- Added nwc device
chatBot_nwc_yarpfor theIChatBotinterface and the corresponding test - Added nws device
chatBot_nws_yarp - Added fake device
fakeChatBotDevice
speechSynthesizer
- Added nwc device
speechSynthesizer_nwc_yarpfor theISpeechSynthesizerinterface and the corresponding test - Added nws device
speechSynthesizer_nws_yarp - Added fake device
fakeSpeechSynthesizer
speechTranscription
- Added nwc device
speechTranscription_nwc_yarpfor theISpeechTranscriptioninterface and the corresponding test - Added nws device
speechTranscription_nws_yarp - Added fake device
fakeSpeechTranscription
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.8.0..v3.9.0):
127 Marco Randazzo <[email protected]>
37 Ettore Landini <[email protected]>
14 Nicolò Genesio <[email protected]>
14 fbrand-new <[email protected]>
7 Silvio Traversaro <[email protected]>
6 Arren Glover <[email protected]>
4 robotology-bot (Tag Repository Action) <[email protected]>
3 Bartek Łukawski <[email protected]>
2 Davide <[email protected]>
2 Ugo Pattacini <[email protected]>
1 Davide Gorbani <[email protected]>
1 Marco Randazzo <[email protected]>
1 Simone <[email protected]>
1 Simone Girardi <[email protected]>
1 Stefano Dafarra <[email protected]>
YARP 3.8.1
YARP 3.8.1 Release Notes
A (partial) list of bug fixed and issues resolved in this release can be found
here.
Bug Fixes
tools
yarpmotorgui
- Fixed an issue regarding high CPU usage (#2955).
devices
multipleanalogsensorsserver
Fixed bug that resulted in a segmentation fault if one of the device to which
multipleanalogsensorsserver was attached did not resized the measure vector.
serialPort_nws_yarp serialPort_nwc_yarp
Fixed segfault in serialPort_nws_yarp if devices is used but not attached yet.
Fixed communication with serialPort_nwc_yarp.
opencv_grabber
Removed use of highgui.h include file.
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.8.0..v3.8.1):
8 Marco Randazzo <[email protected]>
5 Silvio Traversaro <[email protected]>
2 Nicolò Genesio <[email protected]>
2 robotology-bot (Tag Repository Action) <[email protected]>
1 Bartek Łukawski <[email protected]>
1 Ugo Pattacini <[email protected]>
1 fbrand-new <[email protected]>