Recent Releases of https://github.com/robotology/yarp

https://github.com/robotology/yarp - 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 LogForwarderTest to check that all forwarded messages are caught by the logger engine.

Portmonitor

  • Added new portmonitor simulated_network_delay to add a delay in the network communication.
  • Used by LogForwarderTest to test the logger under various network delay conditions.

libYARP_dev

  • Added new tests to check IImpedanceControl interface.

Fixes

Bindings

  • Added bindings for IJointCoupling interface.
  • 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

  • yarpActionsPlayer Fixed erratic behavior during the first movement of each sequence.

GUIs

yarpmotorgui

  • Improved yarpmotorgui to handle forceOffset of IImpedanceControl interface: the value is sent only if the table has changed.

Devices

  • ControlBoardRemapper: fixed wrong buffer resize in resizeSubControlBoardBuffers.

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 from IDeviceDriverParams.

Breaking Changes

GUIs

yarpmotorgui

  • Add timers and callbacks for pwm and current control to keep sending references.

Library

libYARP_dev

  • SensorMeasurments datatype moved from multipleAnalogSensorsMsgs to lib libYARP_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 <marco.randazzo@iit.it> 3 Jacopo Losi <jacopo.losi@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 2 Jacopo <jacopo.losi@iit.it> 2 Nicolò Genesio <nicolo.genesio@iit.it> 2 Pasquale <pasquale.marra.pro@gmail.com> 2 robotology-bot (Tag Repository Action) <robotology@iit.it> 1 Bartek Łukawski <PeterBowman@users.noreply.github.com> 1 Silvio Traversaro <silvio.traversaro@iit.it>

- C++
Published by robotology-bot 9 months ago

https://github.com/robotology/yarp - 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 line const i16 protocol_version = <xxx> in the .thrift file. See fakeTestMsgs.thrift and FakeDevice_nwc_yarp for an example.

Library

libYARP_os

  • Added new portable datatype yarp:os::ApplicationNetworkProtocolVersion

Devices

  • Added new devices:
    • FakeDevice_nws_yarp
    • FakeDevice_nwc_yarp FakeDevice_nwc_yarp also uses the new checkProtocolVersion() to verify the communication with FakeDevice_nws_yarp
    • RobotDescriptionStorage
    • fakeFrameWriter
    • openCVWriter
    • frameWriter_nws_yarp
  • Added new methods getParamValue(), getConfiguration() to IDeviceDriverParams interface.
  • Updated yarpDeviceParamParserGenerator tool
  • All device params parsers have been regenerated

yarprobotinterface

  • Added new option autocloseAfterStart which automatically terminates the module after opening and attaching all devices (used bor CI and debug)
  • yarprobotinterface now opens internally a device RobotDescriptionStorage and register all other opened devices inside it.
  • User can open a RobotDescription_nws_yarp and attach it to the RobotDescriptionStorage to obtain info about opened devices. See example: yarp\src\yarprobotinterface\tests\robotDescription

yarpmotorgui

  • It now uses RobotDescription_nwc_yarp to ask to a RobotDescription_nws_yarp opened 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 remoteRobotDescriptionPort allows to select the RobotDescriptionnwsyarp port. Default value is /yarpRobotInterface/devices/rpc

Breaking Changes

libYARP_dev

  • The following interfaces have been modified to use yarp::dev::ReturnValue:
    • IRangeFinder2D
    • ILLM
    • IChatBot

Devices

  • The following devices haven been modified to use yarp::dev::ReturnValue:
    • Rangefinder2DTranformer
    • FakeLaser
    • FakeLaserWithMotor
    • Rangefinder2D_nws_yarp
    • Rangefinder2D_nwc_yarp
    • fakeChatBotDevice
    • chatBot_nws_yarp
    • chatBot_nwc_yarp
    • fakeLLMDevice
    • LLM_nwc_yarp
    • LLM_nws_yarp
    • RobotDescriptionServer refactored to RobotDescription_nws_yarp
    • RobotDescriptionClient refactored to RobotDescription_nwc_yarp
  • The attachAll() mechanism used to keep track of the devices opened by yarprobotinterface (previously implemented by RobotDescriptionServer) has been transferred to RobotDescriptionStorage.
  • 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 commands similar to the folder guis/
  • 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 <marco.randazzo@iit.it> 7 Silvio Traversaro <silvio.traversaro@iit.it> 7 Stefano Bernagozzi <stefano.bernagozzi@iit.it> 6 robotology-bot (Tag Repository Action) <robotology@iit.it> 3 Stefano Berti <berti.ste@hotmail.it> 2 Nicolò Genesio <nicolo.genesio@iit.it> 1 Alvaro14 <124141465+alvarosang14@users.noreply.github.com> 1 Bartek Łukawski <bwmn.peter@gmail.com> 1 Pasquale <pasquale.marra.pro@gmail.com> 1 Stefano Dafarra <stefano.dafarra@iit.it> 1 dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

- C++
Published by randaz81 12 months ago

https://github.com/robotology/yarp - 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 <marco.randazzo@iit.it> 2 robotology-bot (Tag Repository Action) <robotology@iit.it> 1 Nicolò Genesio <nicolo.genesio@iit.it>

- C++
Published by robotology-bot about 1 year ago

https://github.com/robotology/yarp - 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 <silvio.traversaro@iit.it> 2 robotology-bot (Tag Repository Action) <robotology@iit.it> 1 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by robotology-bot over 1 year ago

https://github.com/robotology/yarp - YARP 3.11.0

YARP 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

targetcompilefeatures updated from cxxstd17 to cxxstd20

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 multipleanalogsensorclient and multipleanalogsensorserver as a breaking change.

GUIs

yarpopencvdisplay

  • yarpopencvdisplay is now able to display a yarp::sig::LayeredImage

yarpmanager

  • Added time info to libYARP_manager logger and to yarpmanager GUI.
  • 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 transform yarp::sig::LayeredImage to yarp::sig::Image
  • modified signature of method yarp::sig::utils::depthToPC and yarp::sig::utils::depthRgbToPC. They now accept stepx and stepy parameters to perform pointcloud decimation. They also accept a new parameter output_order which 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 SpeechTranscriptionnwsyarp SpeechTranscriptionnwcyarp SpeechSynthesizernwsyarp SpeechSynthesizernwcyarp Localization2Dnwsyarp Localization2Dnwcyarp Map2Dnwsyarp Map2Dnwcyarp MobileBaseVelocityControlnwsyarp MobileBaseVelocityControlnwcyarp Navigation2Dnwcyarp Navigation2Dnwsyarp Odometry2Dnwsyarp

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 <marco.randazzo@iit.it> 13 Nick Tremaroli <nicholas.tremaroli@iit.it> 5 Ettore Landini <ettore.landini@iit.it> 4 robotology-bot (Tag Repository Action) <robotology@iit.it> 3 Silvio Traversaro <silvio.traversaro@iit.it> 3 Stefano Dafarra <stefano.dafarra@iit.it> 1 Francesco Brand <francesco.brand@iit.it> 1 Ines Sorrentino <43743081+isorrentino@users.noreply.github.com>

- C++
Published by robotology-bot over 1 year ago

https://github.com/robotology/yarp - 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 swigpythonwindows_preable.i is no more included when a downstream project (like icub-main) includes the file in its own .i swig binding file. See https://github.com/robotology/yarp/pull/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 <silvio.traversaro@iit.it> 2 robotology-bot (Tag Repository Action) <robotology@iit.it> 1 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by robotology-bot over 1 year ago

https://github.com/robotology/yarp - 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 xmlrpc and tcpros carriers.
  • Removed yarpidl_rosmsg.
  • Removed library libYARP_wire_rep_utils.
  • Removed extern/md5
  • Removed extern/ros messages and examples.
  • The syntax yarpdev --device xxx --subdevice yyy has been deprecated. See discussion: https://github.com/robotology/yarp/discussions/3078

Fixes

  • Configuration files installed by the yarp_configure_plugins_installation CMake macro are now relocatable (https://github.com/robotology/yarp/issues/2445, ).
  • Improved ffmpeg port monitor to allow using different couples of coders/decodes
  • yarpbatterygui now compatible with batterynwcyarp.
  • Fixed compilation of portmonitor carrier when a custom non-system swig is used
  • Fixed compatibility with ffmpeg 7 (https://github.com/robotology/yarp/pull/3109).
  • Fixed compilation with graphviz 10 (https://github.com/robotology/yarp/pull/3115).
  • Fix sending empty yarp::sig::Vector when building in Debug (https://github.com/robotology/yarp/pull/3123).

New Features

  • Added new command line tool yarpDeviceParamParserGenerator. See official yarp documentation (cmd_yarpDeviceParamParserGenerator.dox)

Docker

  • Added two parameters to yarp Dockerfile:
    • base_img to allow starting from different parent images
    • yarp_branch to 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_yarp in terms of required interfaces. See https://github.com/robotology/yarp/pull/3095.

deviceBundler

  • Added new device deviceBundler which can be useful to open two devices and attach them while using a single yarpdev command line. See https://github.com/robotology/yarp/discussions/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.

Rangefinder2Dnwcyarp, Rangefinder2Dnwsyarp

  • 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 rpc connection with the tcp carrier, instead of using the carrier option 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.cpp If 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_dev to yarp_sig library: 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_dev to yarp_sig library: 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 <marco.randazzo@iit.it> 24 Silvio Traversaro <silvio.traversaro@iit.it> 12 Nicolò Genesio <nicolo.genesio@iit.it> 10 Stefano Dafarra <stefano.dafarra@iit.it> 7 fbrand-new <francesco.brand@iit.it> 3 robotology-bot (Tag Repository Action) <robotology@iit.it> 2 Ettore Landini <ettore.landini@iit.it> 1 Alessandro Croci <57228872+xela-95@users.noreply.github.com> 1 Alessandro Croci <alessandro.croci@iit.it> 1 Bartek Łukawski <PeterBowman@users.noreply.github.com> 1 Bartek Łukawski <bwmn.peter@gmail.com> 1 Giovanni Fregonese <giotherobot@gmail.com> 1 elisabeth-ms <emenende@ing.uc3m.es>

- C++
Published by robotology-bot over 1 year ago

https://github.com/robotology/yarp - 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 audioRecorderDeviceBase device.
  • 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 iCubGui inertial 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 to std::chrono::system_clock instead of std::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::sound has refactored to avoid the internal use (private implementation) of yarp::sig::Image data 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: IChatBot to interact with chatbots.
  • The interface ITorqueControl now 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 frameTransformClient and frameTransformServer configuration files. The extern-name for this parameter is: ftc_storage_timeout for frameTransformClient files; fts_storage_timeout for frameTransformServer files

chatBot

  • Added nwc device chatBot_nwc_yarp for the IChatBot interface and the corresponding test
  • Added nws device chatBot_nws_yarp
  • Added fake device fakeChatBotDevice

speechSynthesizer

  • Added nwc device speechSynthesizer_nwc_yarp for the ISpeechSynthesizer interface and the corresponding test
  • Added nws device speechSynthesizer_nws_yarp
  • Added fake device fakeSpeechSynthesizer

speechTranscription

  • Added nwc device speechTranscription_nwc_yarp for the ISpeechTranscription interface 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 <marco.randazzo@iit.it> 37 Ettore Landini <ettore.landini@iit.it> 14 Nicolò Genesio <nicolo.genesio@iit.it> 14 fbrand-new <francesco.brand@iit.it> 7 Silvio Traversaro <silvio.traversaro@iit.it> 6 Arren Glover <arren.glover@iit.it> 4 robotology-bot (Tag Repository Action) <robotology@iit.it> 3 Bartek Łukawski <bwmn.peter@gmail.com> 2 Davide <davidegorbani@gmail.com> 2 Ugo Pattacini <ugo.pattacini@iit.it> 1 Davide Gorbani <101326942+davidegorbani@users.noreply.github.com> 1 Marco Randazzo <marco.randazzo@.iit.it> 1 Simone <simone.girardi@iit.it> 1 Simone Girardi <simone.girardi@iit.it> 1 Stefano Dafarra <stefano.dafarra@iit.it>

- C++
Published by robotology-bot over 2 years ago

https://github.com/robotology/yarp - 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.

serialPortnwsyarp serialPortnwcyarp

Fixed segfault in serialPortnwsyarp if devices is used but not attached yet. Fixed communication with serialPortnwcyarp.

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 <marco.randazzo@iit.it> 5 Silvio Traversaro <silvio.traversaro@iit.it> 2 Nicolò Genesio <nicolo.genesio@iit.it> 2 robotology-bot (Tag Repository Action) <robotology@iit.it> 1 Bartek Łukawski <bwmn.peter@gmail.com> 1 Ugo Pattacini <ugo.pattacini@iit.it> 1 fbrand-new <francesco.brand@iit.it>

- C++
Published by robotology-bot almost 3 years ago

https://github.com/robotology/yarp - YARP 3.8.0

YARP 3.8.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Deprecation and Behaviour Changes

lib_yarp_os

  • Removed old deprecated functions related to the usage of unsafe network data types (e.g. asVocab() -> asVocab32(), asInt() -> asInt32(), asDouble -> asFloat64() etc.)

Devices

  • device group has been removed because of faulty/incomplete implementation and unused. Please use yarprobotinterface instead.
  • Class DriverLinkCreator, used only by device group, has been removed.
  • device pipe has been removed because of faulty/incomplete implementation and unused.
  • device dualGrabber, previously deprecated, has been removed.
  • device remote_grabber, previously deprecated, has been removed.

New Features

Libraries

lib_yarp_companion

  • Added companion command yarp split. The command splits an heterogeneous nested bottle received from a port into multiple ports.

lib_yarp_os

  • yarp::os::LogStream now can chain instances of yarp::sig::VectorOf<T>.

lib_yarp_dev

  • Added method bool getAxes(int* ax) to yarp::dev::IAxisInfo interface.

bindings

  • yarp bindings: Added corresponding getAxes() method to IAxisInfo interface + python example.

libYARP_dev_tests

  • A new library yarp_dev_tests: is now exported. It contains common sources to test Yarp device through lib_yarpdev (also outside yarp repo)

libYARP_robotinterface

  • Added support to ${portprefix} variable in parameters (#2819).

Devices

  • Removed devices rpLidar, rpLidar2, rpLidar3, and the corresponding sdk in extern/rplidar. The devices can be now found in https://github.com/robotology/yarp-device-rplidar

fakeLaserWithMotor

  • added new device fakeLaserWithMotor

rangefinder2D_nwc_yarp

  • added new device rangefinder2D_nwc_yarp (including IRangefinder2D tests)

frameTransformServer + frameTransformClient

  • Now both frameTransformClient and frameTransformServer will search for "test" configurations not relying on an absolute path passed as a parameter but will take advantage of yarp::os::ResourceFinder using a file name and a context passed to them in this way: > yarpdev --device frameTransformClient --testxml_from testconfig.xml --testxml_context test_folder

yarpidl_thrift

  • Improved thrift generator in order to handle default values of the variables declared inside a .thrift file.

Extern

Catch

  • Migration from Catch V2.13.8 to Catch V3.2.1.

sqlite3

  • Migration from sqlite to sqlite3. Fixed issue preventing extern/sqlite3 (i.e. YARP_priv_SQLite3) to be correctly found as a dependency by other projects.

GUIs

yarpview

  • Added the possibility to set a custom title for yarpview by passing --title + custom title to the executable
  • If the title argument is not passed yarpview window title will be assigned as it has been until now

yarpmotorgui

  • Added visualization of motor position when a joint is in hardware fault.
  • Improved sliders labels alignment.
  • Added a new option to set the number of decimal digits of the slider.

YCM

  • migration from YCM 0.13 to YCM 0.15.1

Other

  • added option YARP_COMPILE_ALL_FAKE_DEVICES to build all fake devices in one single shot

Portmonitors

image_rotation

  • added new portmonitor image_rotation

Bug Fixes

bindings

  • IGazeControl.storeContext(): now the method is correctly exposed to Python, returning the ID instead of trying to modify a pointer to it. ### devices

ffmpeg_grabber

  • Fixed linking problems on Windows.

AudioRecorderWrapper

  • It now inherits from yarp::dev::WrapperSingle instead of yarp::dev::IMultipleWrapper

AudioPlayerWrapper

  • It now inherits from yarp::dev::WrapperSingle instead of yarp::dev::IMultipleWrapper

frameTransformClient

  • Now, if the selected configuration xml file does not include a certain interface, the device is still correctly initialized but that interface won't be available. If a method that involves the missing interface is called, an error will be returned.

controlBoard_nws_yarp

  • Fixed handling of IRemoteVariables messages via RPC.
  • RPCMessagesParser: several calls to various motor control interfaces have been protected so that if an interface is not available in the hardware device (i.e. the view() fails), the controlboardwrapper/yarprobotinterface does not segfaults.

multipleanalogsensorsremapper

  • Add more verbosity when sensor name is not found.

Tools

yarprobotinterface

  • yarprobotinterface: is now able to parse enabled_by and disabled_by xml attributes. See yarprobotinterface Doxygen documentation.

Yarp companion

  • Fixed yarp command write throwing segmentation fault when argc was less than 2.

Integration Tests

  • Tests: Added integration tests to check the correct execution of the following commands: yarp --version yarpdev --list yarp plugin --all
  • Tests: If no plugins are available, the command yarp plugin --all now returns 0 (OK) instead of 1 (ERROR).

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.7.0..v3.8.0):

185 Marco Randazzo <marco.randazzo@iit.it> 21 Ettore Landini <ettore.landini@iit.it> 13 Silvio Traversaro <silvio.traversaro@iit.it> 6 robotology-bot (Tag Repository Action) <robotology@iit.it> 5 tumme <davide.tome@iit.it> 4 Ugo Pattacini <ugo.pattacini@iit.it> 3 Bartek Łukawski <bwmn.peter@gmail.com> 3 Nicola Piga <nicola.piga@iit.it> 3 hypothe <markeagle98@gmail.com> 1 Marco Gabriele Fedozzi <73471964+hypothe@users.noreply.github.com> 1 Mattia Fussi <mattia.fussi@iit.it> 1 fbrand-new <francesco.brand@iit.it>

- C++
Published by robotology-bot about 3 years ago

https://github.com/robotology/yarp - YARP 3.7.2

YARP 3.7.2 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

Documentation

  • Major improvements to Yarp documentation

Libraries

lib_yarp_os

  • Yarp now displays an error message if it is unable to save its configuration file

Devices

controlBoard_nws_yarp

  • Encoder timestamps are now properly updated

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.7.1..v3.7.2):

5 Marco Randazzo <marco.randazzo@iit.it> 3 Nicola Piga <nicola.piga@iit.it> 2 robotology-bot (Tag Repository Action) <robotology@iit.it> 1 Bartek Łukawski <bwmn.peter@gmail.com>

- C++
Published by robotology-bot almost 4 years ago

https://github.com/robotology/yarp - YARP 3.7.1

YARP 3.7.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

CMake

  • Fix compilation against graphviz 3 on Windows. To work correctly, the fix requires that YCM >= 0.14.2 is used.

  • Migrate to use CMake's official FindSQLite3.cmake module.

Devices

  • GenericSensorRosPublisher (and derived devices): added checks if the interfaces are available in the Attach phase

Libraries

lib_yarp_dev

  • added missing timestamp to IOdometry2D::getOdometry() method

Tools

yarpmotorgui

  • This pr solves the problem reported in issue #issue2839. Now yarpmotorgui does not show the error dialog when setting only a subset of the available robot parts to a custom position

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.7.0..v3.7.1):

8 Marco Randazzo <marco.randazzo@iit.it> 5 Silvio Traversaro <silvio.traversaro@iit.it> 2 robotology-bot (Tag Repository Action) <robotology@iit.it> 1 Ettore Landini <ettore.landini@iit.it> 1 Ugo Pattacini <ugo.pattacini@iit.it>

- C++
Published by robotology-bot almost 4 years ago

https://github.com/robotology/yarp - YARP 3.7.0

YARP 3.7.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Deprecation and Behaviour Changes

lib_yarp_os

  • Removed old deprecated functions related to the usage of unsafe network data types (e.g. asVocab() -> asVocab32(), asInt() -> asInt32(), asDouble -> asFloat64() etc.)

Devices

  • removed deprecated devices: NavigationServer -> please use: navigation2Dnwsyarp NavigationClient -> please use: navigation2Dnwcyarp Map2DServer -> please use: map2Dnwsyarp Map2DClient -> please use: map2Dnwcyarp Localization2DCServer -> please use: localization2Dnwsyarp Localization2DClient -> please use: localization2Dnwcyarp rangefinder2DWrapper -> please use: rangefinder2Dnwsyarp

New Features

Libraries

lib_yarp_os

idl/WireReader
  • Added readBlock method.
idl/WireWriter
  • Added writeBlock method.
  • Added skip_tag flag to all write methods.

lib_yarp_dev

  • ITorqueControl supports four new friction parameters: viscousPos, viscousNeg, coulombPos, coulombNeg. These parameters are used to improve the friction model (and its compensation at FW level).

lib_yarp_companion

  • added period option to companion command yarp write.

  • added once option to companion command yarp read.

  • Companion commands yarp read and yarp write now perform a check to verify that th target ports do not already exist.

  • Added new companion command yarp topic-test.

libYARP_robotinterface

  • Added support to ${portprefix} variable in parameters (#2819).

Devices

audioToFileDevice

  • added new option --add_marker
  • added new option --save_mode break_file

Port Monitors

  • Added new portmonitor depthimage_to_vector
  • added new portmonitor sound_marker

Tools

yarpidl_thrift

  • Improved serialization for lists of basic types. When possible, instead of being serialized element by element, lists of basic types are now serialized as blocks.

GUIs

yarpmotorgui

  • Added an alternative visualization to the tree view on the left of the yarpmotorgui. It is a Widget visualization with the flow layout. In this way, it is possible to see the status of all the joints in a single screen.

Bug Fixes

Catch2

  • Imported Catch v2.13.8 (#2795). This fixes building the unit tests on some configurations.

CMake

  • fixed compatibility with CMake 3.23.1 on macOS.

GUIs

yarpmotorgui

  • The target box for the joints sliders now lands where expected (#2824).

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.6.0..v3.7.0):

41 Marco Randazzo <marco.randazzo@iit.it> 20 Stefano Dafarra <stefano.dafarra@iit.it> 14 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 13 Silvio Traversaro <silvio.traversaro@iit.it> 10 Simone Girardi <simone.girardi@iit.it> 2 Ugo Pattacini <ugo.pattacini@iit.it> 1 Ettore Landini <ettore.landini@iit.it> 1 Matteo Brunettini <matteo.brunettini@iit.it> 1 Simone <simone.girardi@iit.it> 1 robotology-bot (Tag Repository Action) <robotology@iit.it>

- C++
Published by randaz81 about 4 years ago

https://github.com/robotology/yarp - YARP 3.6.0

YARP 3.6.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Dependencies

  • SWIG 4 or later is now required to build YARP bindings
  • CMake 3.16 or later is now required
  • A compiler that supports C++17 is now required

Deprecation and Behaviour Changes

Devices

  • Deprecation of the devices replaced by NWS/NWC was postponed to the next release.
  • The following devices will be replaced by NWS/NWC in the next release, and print a warning when opened:
    • localization2DClient (replaced by localization2D_nwc_yarp)
    • map2DClient (replaced by map2D_nwc_yarp)
    • navigation2DServer (replaced by navigation2D_nws_yarp)

New Features

Libraries

conf

  • The YARP_VERSION_COMPARE macro has been added to version.h to simplify how YARP versions are compared e.g. in #if guards. For instance, the condition #if YARP_VERSION_COMPARE(>=, 3, 6, 0) will yield true if the current YARP version is equal to or greater than 3.6.0.

os

  • Added CommandBottle class. This is a class that contains both the command and the reply. The only advantage of this class compared to using two bottles is that portmonitors are able to know, in the updateReply method, what was the request for the reply received.
Log
  • In addition to the previously supported std::vector, it is now also possible to call yInfo() << collection where the collection is a std::array, std::list, std::set, std::map, C-array, std::tuple...
  • Added the new family of logging macros with "Id" (yIDebug). See documentation.
  • The YARP_LOG_PROCESS_LABEL environment variable is now checked when output is forwarded. If found, the label is appended to the executable name in the log port name e.g. (/log/hostname/yarpdev[mylabel]/123123)
ConnectionWriter
  • Replaced getBuffer with const/non-const versions
ConnectionReader
  • flushWriter is now an interface method.
idl/WireReader
  • Added getReader() method.
idl/WireWriter
  • Flush the connection when the object is destroyed.

sig

  • Added new method yarp::sig::soundfilters::resample() contained in the new header file yarp/sig/SoundFilters.h.

dev

  • Added new interfaces:
    • yarp::dev::IJointFault.
    • yarp::dev::Nav2D::IOdometry2D.
DeviceDriver
  • Added id() and setId() methods
PolyDriver
  • The device id can be set passing the id option to the open method (or passing --id to yarpdev).
Nav2D::INavigation2DVelocityActions
  • applyVelocityCommand() method was moved from yarp::dev::Nav2D::INavigation2DTargetActions to a new interface yarp::dev::Nav2D::INavigation2DVelocityActions.
Nav2D::MapGrid2D
  • Added internal lossless compression for datatype yarp::dev::Nav2D::MapGrid2D using Zlib: the methods yarp::os::Portable::write() and yarp::os::Portable::read() handle the compression before sending data to the network. The method MapGrid2D::enable_map_compression_over_network() enables/disables the data compression over the network (default true). If the Zlib library is not available, compression will be disabled.
Nav2D::Map2DArea
  • Added new method Map2DArea::getCentroid().
  • Added new description field which can now be filled by the user for generic purposes.
Nav2D::Map2DLocation
  • Added new description field which can now be filled by the user for generic purposes.
Nav2D::Map2DPath
  • Added new description field which can now be filled by the user for generic purposes.
Nav2D::IMap2D
  • Added the following methods:
    • getAllLocations(std::vector<yarp::dev::Nav2D::Map2DLocation>& locations)
    • getAllAreas(std::vector<yarp::dev::Nav2D::Map2DArea>& areas)
    • getAllPaths(std::vector<yarp::dev::Nav2D::Map2DPath>& paths)
Nav2D::INavigation2D
  • INavigation2D interface now derives from IMap2D interface

Devices

  • Most of the clients/nwcs now implement the option carrier to set the carrier for the connection with the server.

  • Added the following new EXPERIMENTAL devices:

    • rpLidar3 that supports the 3rd revision of the rpLidar hardware.
    • fakeOdometry that generates a fake odometry and makes it available from IOdometry2D interface.
    • fakePositionSensor that simulate a position sensor and makes it available through the IPositionSensors and IOrientationSensors interfaces.
  • Added more EXPERIMENTAL devices in order to implement the Network Wrapper Server/Client Architecture described in ef nwsandnwc_architecture. These devices do not implement internal logic, therefore they might need to be used together with a different device. This architecture and all these devices are to be considered experimental, and may be modified/renamed/removed at any time without any notice.

    • localization2D_nwc_yarp: YARP NWS which connects to localization2D_nws_yarp: and can be used to replace localization2DClient
    • map2D_nwc_yarp YARP NWS which connects to map2D_nws_yarp and can be used to replace map2DClient
    • mobileBaseVelocityControl_nws_yarp: YARP NWS to control the velocity of a mobile base.
    • mobileBaseVelocityControl_nwc_yarp: YARP NWC to control the velocity of a mobile base.
    • mobileBaseVelocityControl_nws_ros: ROS NWS to control the velocity of a mobile base.
    • navigation2D_nws_yarp: YARP NWS that can be used to replace navigation2DServer.
    • navigation2D_nwc_yarp: YARP NWC that connects to map2D_nws_yarp, localization2D_nws_yarp and navigation2D_nws_yarp.
    • odometry2D_nws_yarp: YARP NWS which can be attached to a IOdometry2D interface and publish the data on a YARP port.
    • odometry2D_nws_ros: ROS NWS which can be attached to a IOdometry2D interface and publish the data on a ROS topic.

fakeLaser

  • Can now be connected to localization2D_nwc_yarp instead of localization2DClient

frameTransformServer

  • Added the option to use an extern xml file (by providing its absolute path).

frameTransformClient

  • Added the option to use an extern xml file (by providing its absolute path).
  • Added optional parameter FrameTransform_verbose_debug

frameTransformStorage

  • Extra debug information is now printed when parameter FrameTransform_verbose_debug is set to 1.
  • All xml files now expose the parameter FrameTransform_verbose_debug (default = 0)

frameTransformContainer

  • Extra debug information is now printed when parameter FrameTransform_verbose_debug is set to 1.
  • All xml files now expose the parameter FrameTransform_verbose_debug (default = 0)

map2DStorage

  • The new v3 file format, which includes the description for Map2DLocation, Map2DArea and Map2DPath is now supported.

map2DServer

  • Added rpc command enable_maps_compression <0/1>

remote_controlboard

  • The IJointFault device is now implemented by the device.

controlBoard_nws_yarp

  • The IJointFault device is now implemented by the device.

controlboardremapper

  • The IJointFault device is now implemented by the device.

fakeMotionControl

  • A hardware fault is now simulated when a TorqueCommand > 1Nm is received.

portaudio

  • 'id' parameter was renamed to 'dev_id'.

portaudioPlayer

  • 'id' parameter was renamed to 'dev_id'.

portaudioRecorder

  • 'id' parameter was renamed to 'dev_id'.

Port Monitors

  • Added bottle_compression_zlib portmonitor to compress bottles (or other data types which can be converted to bottle).
  • Added soundfilter_resample portmonitor to resample audio streams.
  • Added sensorMeasurements_to_vector portmonitor which converts a 6D Pose from a SensorStreamingData data type to a yarp::sig::Vector data type.

Tools

yarp

  • Added option testdata_filename to latency-test companion. It allows to load a file which will be transmitted over the network as benchmark. Different files can be used to test latency when using a compression portmonitor (the compression factor will depend on the entropy of the file).

yarprun

  • If the environment variable YARP_LOG_PROCESS_LABEL is found, the label is now appended to the executable name in the log port name (e.g. /log/yaprunname/yarpdev[mylabel]/123123)

robotinterface

  • Added --dryrun option to test the xml file without actually opening devices.
  • Added reverse-shutdown-action-order attribute for the robot tag. This reverses the order of actions in shutdown and interrupt phase, making it easier to write the actions when multiple attach and detach are involved.
  • All device tag parameters are now passed to all devices defined inside that tag.
  • Added the YARP_PORTNUMBER<XXX> environment variable. This allows to change the port number on which the corresponding port is opened by setting the YARP_PORTNUMBER<XXX> environment variable to the desired port number of the port. For example: YARP_PORTNUMBER_read=20050 yarp read /read will open a port named /read on the 20050 port. Port numbers (if present) are applied before prefixes specified with YARP_PORT_PREFIX and renames specified with YARP_RENAME (if present). WARNING, if the same port is opened with the same name but different port number by two processes, this might lead to port stealing by the latest process executed.

yarpidl_thrift

  • The return variable is again a class member. The updateReply method of a portmonitor is not called on the same thread that reads from the connection, therefore the return variable, as a thread_local variable, causes it to be empty. The flush performed in the WireWriter dtor, ensures that any appendExternalBlock contained in helper serializationis actually written before the helper is destroyed.
  • When rpc command is incomplete or contains extra args, the argument fails.
  • It is no longer possible to have a service function that starts with the same name as a different function (e.g. get and get_all).
  • Enum handling was heavily refactored. It is now possible to use yarp.name and yarp.includefile also for enums.
  • The 'yarp.nested' annotation was fixed. It is also now possible to annotate a struct with the yarp.bottlesize annotation, when the struct is not serialized as a bottle but as a fixed size bottle-like structure (for example other yarpidl_thrift generated structs).
  • The editor for structs is now disabled by default. The yarp.editor annotation should be passed to the struct in order to enable it.
  • Added generation of portmonitor for services. See documentation for details.

GUIs

yarpmotorgui

  • Added new page "Hardware Fault" which displays the internal hardware error.
  • Improved slider graphics, with displayed reference value (optional, enabled from the menu, default off)

yarplogger

  • Added option --unlimited_size which removes all limits on the log size. To be used with caution!

Bug Fixes

Build System

  • Fixed build of lidar sdk with clang.

Libraries

sig

  • Fixed VectorOf<T>::emplace_back returning void. Now it returns a reference to the new element as expected.

GUIs

yarplogger

  • Fixed issue related to saving/loading files containing empty strings.
  • Fixed how the limits are applied to new logs added to an on-going session.

Bindings

  • Fixed compilation of Python3 bindings on certain configurations. (#2725)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.5.0..v3.6.0):

151 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 113 Marco Randazzo <marco.randazzo@iit.it> 24 Ettore Landini <ettore.landini@iit.it> 7 Bartek Łukawski <bwmn.peter@gmail.com> 6 Diego Ferigo <diego.ferigo@iit.it> 5 Stefano Bernagozzi <stefano.bernagozzi@iit.it> 5 Stefano Dafarra <stefano.dafarra@iit.it> 2 Silvio Traversaro <silvio.traversaro@iit.it> 1 Marco Randazzo <marco.randaz@iit.it> 1 Ugo Pattacini <ugo.pattacini@iit.it>

- C++
Published by drdanz over 4 years ago

https://github.com/robotology/yarp - YARP 3.5.1

YARP 3.5.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

New Features

Libraries

math

  • added method yarp::math::Quaternion::isValid()
  • added method yarp::math::FrameTransform::isValid()

Build System

  • Fixed infinite loop when using yarpaddidl and yarpidltodir without searching the `idltools` component.
  • Fixed build on Ubuntu Bionic when both PCL and OpenNI are enabled

Libraries

os

Log
  • Fixed custom log components not forwarding the log properly when running under yarprun.
ResourceFinder
  • Fixed folder creation in getHomeContextPath and getHomeRobotPath.
idl::WireReader
  • Fixed reading empty string as latest argument.

dev

  • Fixed parsing of parameters hw_gain and sw_gain in the two classes AudioPlayerDeviceBase and AudioRecorderDeviceBase

  • Fixed issue with case insensitive file systems.

  • Added methods startStorageThread() and stopStorageThread() to interface yarp::dev::IFrameTransformStorageUtils

robotinterface

  • Fixed extern-name for non-string parameters.

run

  • Fixed handling of multiple environment variables with yarprun on win32

Devices

audioFromFileDevice

  • Fixed module when channels are > 1

controlBoard_nws_yarp

  • Fixed segmentation fault if the device to which the nws attempts to attach was not successfully opened.

controlBoard_nws_ros

  • /joint_states is no longer appended to the topic name.

controlboardremapper

  • Fixed segmentation fault.

ffmpeg_grabber

  • Fixed symbol lookup runtime error.

ffmpeg_writer

  • Fixed symbol lookup runtime error.

frameGrabber_nws_ros

  • The frame_id parameter is no longer required to start with /.

frameTransformClient

  • Fixed concurrent access to the internal container.
  • Timestamp is now set also for static_transforms
  • Updated xml files according to the changes to the subdevices.

frameTransformServer

  • Updated xml files according to the changes to the subdevices.

frameTransformGet_nwc_yarp

  • Fixed missing callback initialization. Without it, no data was collected from the streaming port.

frameTransformSetMultiplexer

  • fixed race condition issue in deleteTransform() method.

frameTransformStorage

  • Fixed race condition issue: added extra mutex to protect the periodicThread from set/get/delete operations
  • the periodic thread can be now stopped/started on request by methods IFrameTransformStorageUtils::stopStorageThread and IFrameTransformStorageUtils::startStorageThread.
  • Fixed start method not called after successfully attaching to a yarp::dev::IFrameTransformStorageGet interface. The device is now able to update its FrameTransformContainer storage by querying the device it was attached to.
  • Fixed attach function that did not performed the view on the iFrameTransformStorageGet interface and did not return true when successful.

frameTransformContainer

  • Added new iterator class. It iterates only on valid transforms.
  • when a transform is deleted, it is marked as invalid. The transform is then removed during the next iteration of the checkAndRemoveExpired().
  • Fixed bug in frameTransformContainer which was not correctly deleting old transforms.

frameTransformSet_nwc_yarp

  • The device was refactored in order to easily manage ports names.

frameTransformSet_nws_yarp

  • The device was refactored in order to easily manage ports names.

frameTransformGet_nwc_yarp

  • The device was refactored in order to easily manage ports names.

frameTransformGet_nws_yarp

  • The device was refactored in order to easily manage ports names.

frameTransformSet_nwc_ros

  • Fixed bug in frameTransformSet_nwc_ros::publishFrameTransforms.

frameTransformSet_nws_ros

  • Fixed time stamps of the static transforms wrongly set to yarp::os::Time::now().

frameTransformGet_nwc_ros

  • Fixed setStrict not called for the subscribers ports for the /tf and /tf_static topics, that was causing a loss of frameTransforms.

map2D_nws_yarp

  • Fixed typos in Map2D_nws_yarp::parse_vocab_command.

opencv_grabber

  • Efficiency has been improved as copies are (in most cases) no longer performed in order to convert from OpenCV frames to YARP image structures.
  • Options --flip_x, --flip_y and --transpose are now also available when reading from file (--movie).

rgbdSensor_nws_ros

  • Fixed bug in rgbdSensor_nws::open. The period was still in milliseconds.

transformClient

  • Fixed method delete in transformClient, now avoiding race conditions during server/client update via streaming port.

Port Monitors

image_compression_ffmpeg

  • Fixed symbol lookup runtime error.

GUIs

yarplogger

  • Fixed bug.

yarpmanager

  • Port names containing trailing or leading white spaces not targeted as non-existing but throwing an error when trying to connect.

Bindings

Python

  • Enable compilation of libYARP_math in the Python wheels

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.5.0..v3.5.1):

26 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 23 Marco Randazzo <marco.randazzo@iit.it> 20 Ettore Landini <ettore.landini@iit.it> 6 Diego Ferigo <diego.ferigo@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 1 Marco Randazzo <marco.randaz@iit.it> 1 Silvio Traversaro <silvio.traversaro@iit.it> 1 Stefano Bernagozzi <stefano.bernagozzi@iit.it> 1 Ugo Pattacini <ugo.pattacini@iit.it>

- C++
Published by drdanz over 4 years ago

https://github.com/robotology/yarp - YARP 3.5.0

YARP is a library and toolkit for communication and device interfaces, used on everything from humanoids to embedded devices.

YARP 3.5.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Dependencies

  • YCM 0.13 is now required.
  • OpenCV 2 is no longer supported.
  • Added optional Zlib dependency.
  • Qt 5.4 or later is now requred to build YARP GUIs.

Libraries

sig

Image
  • Bottom to top images are no longer flipped when sent through the network. This means that the image needs to be manually flipped after it is received.
  • Bottom to top images might cause issues when received by YARP 3.4.5 or earlier.

Devices

  • The ovrheadset device driver was moved to https://github.com/robotology/yarp-device-ovrheadset
  • The realsense2, realsense2withIMU and realsense2Tracking device drivers were moved to https://github.com/robotology/yarp-device-realsense2
  • This release introduces the Network Wrapper Server/Client Architecture as described in #2441. This architecture enables ROS2 compatibility which is currently developed in the yarp-ros2 repository.

Deprecation and Behaviour Changes

  • A few default values for the environment variables used by yarp are now different:
    • Linux:
    • YARP_CONFIG_DIRS defaults to /etc/xdg/yarp to be compliant with the XDG Base Directory Specification
    • Windows:
    • YARP_DATA_DIRS defaults to %%ALLUSERSPROFILE%%\yarp
    • YARP_CONFIG_DIRS defaults to %%ALLUSERSPROFILE%%\yarp\config

Libraries

conf

  • filesystem::path_separator is deprecated in favour of environment::path_separator
  • yarp::conf::environment::getEnvironment is deprecated in favour of yarp::conf::environment::get_string
  • yarp::conf::environment::setEnvironment is deprecated in favour of yarp::conf::environment::set_string
  • yarp::conf::environment::unsetEnvironment is deprecated in favour of yarp::conf::environment::unset
  • The YARP_DEPRECATED_API and YARP_DEPRECATED_API_MSG defines are now deprecated in favour of YARP_DEPRECATED_EXPORT, YARP_DEPRECATED_IMPORT, YARP_DEPRECATED_MSG_EXPORT, and YARP_DEPRECATED_MSG_IMPORT.

os

Bottle
  • BOTTLE_TAG_INT is deprecated in favour of BOTTLE_TAG_INT32
  • BOTTLE_TAG_DOUBLE is deprecated in favour of BOTTLE_TAG_FLOAT64
  • BOTTLE_TAG_VOCAB is deprecated in favour of BOTTLE_TAG_VOCAB32
  • addInt is deprecated in favour of addInt32
  • addDouble is deprecated in favour of addFloat64
  • yarp::os::Bottle::addVocab() is deprecated in favour of yarp::os::Bottle::addVocab32()
ConnectionReader
  • expectInt is deprecated in favour of expectInt32
  • expectDouble is deprecated in favour of expectFloat64
ConnectionWriter
  • appendInt is deprecated in favour of appendInt32
  • appendDouble is deprecated in favour of appendFloat64
LogStream
  • The operator<< for std::ostream and std::vector which caused conflicts with Casadi was removed (#2067).
NetType
  • toHexString is deprecated in favour of yarp::conf::numeric::to_hex_string
  • toString is deprecated in favour of yarp::conf::numeric::to_string
  • toInt, toFloat32 and toFloat64 are deprecated in favour of yarp::conf::numeric::from_string
ResourceFinder
  • Deprecated methods with alternatives in yarp::conf::dirs. The following methods are now deprecated:
    • yarp::os::ResourceFinder::getDataHome()
    • yarp::os::ResourceFinder::getDataHomeNoCreate()
    • yarp::os::ResourceFinder::getConfigHome()
    • yarp::os::ResourceFinder::getConfigHomeNoCreate()
    • yarp::os::ResourceFinder::getDataDirs()
    • yarp::os::ResourceFinder::getConfigDirs() in favour of:
    • yarp::conf::dirs::yarpdatahome()
    • yarp::conf::dirs::yarpconfighome()
    • yarp::conf::dirs::yarpdatadirs() Warnings:
    • The return value of yarpdatadirs() is different (std::vector<std::string> instead of std::string).
    • The yarpdatahome() and yarpconfighome() do not create the directory, it must be created manually (for example with yarp::os::mkdir_p()) if required.
Stamp
  • Using Header instead of Stamp is now recommended.
Value
  • isInt() is deprecated in favour of isInt32()
  • isDouble() is deprecated in favour of isFloat64()
  • asInt() is deprecated in favour of asInt32()
  • asDouble() is deprecated in favour of asFloat64()
  • makeInt() is deprecated in favour of makeInt32()
  • makeDouble() is deprecated in favour of makeFloat64()
  • isVocab() is deprecated in favour of isVocab32()
  • asVocab() is deprecated in favour of asVocab32()
  • makeVocab() is deprecated in favour of makeVocab32()
Vocab
  • yarp::os::createVocab() is deprecated in favour of yarp::os::createVocab32()
  • yarp::os::Vocab::encode() is deprecated in favour of yarp::os::Vocab32::encode()
  • yarp::os::Vocab::decode() is deprecated in favour of yarp::os::Vocab32::decode()
WireReader
  • getIsVocab() is deprecated in favour of getIsVocab32()
  • readVocab() is now deprecated in favour of readVocab32()
WireWriter
  • writeVocab() is now deprecated in favour of writeVocab32()

sig

IntrinsicParams
  • YARP_PLUM_BOB is deprecated in favour of YARP_PLUMB_BOB.

dev

  • The yarp/dev/FrameGrabberControl2.h header file was properly marked as deprecated (it should have been deprecated in YARP 3.0)
  • The yarp/dev/FrameGrabberInterfaces.h header file was deprecated. All interfaces were moved in the corresponding header.
  • All classes and vocabs moved in framegrabber_protocol library were removed. This is an API break, but nobody should be using these outside of YARP.
  • The flag VOCAB_NAV_CLEAR_X, defined in file ILocalization2D.h has been renamed to VOCAB_NAV_CLEARALL_X to avoid confusion with flag VOCAB_NAV_DELETE_X. VOCAB_NAV_CLEARALL_X clears all data belonging to the same category (all maps, all locations, all areas, etc), while VOCAB_NAV_DELETE_X, deletes a single entity (a map with name x, a location with name x etc).
  • The IVisualParams.h file was deprecated in favour of IRgbVisualParams.h and IDepthVisualParams.
  • All headers for the deprecated interfaces are now properly deprecated.
  • The interfaces IFrameGrabber and IFrameGrabberRgb are now deprecated.
IDepthVisualParams
  • The retificationMatrix parameter was renamed rectificationMatrix
IRgbVisualParams
  • The retificationMatrix parameter was renamed rectificationMatrix

robotinterface

  • The robotinterface library is no longer considered experimental, all files in the experimental folder and classes in the experimental namespace are now deprecated and will be removed in the next release.

Port Monitors

  • Port monitors were reorganized and renamed without keeping the back compatibility with the old name. The new names are:
    • depthimage_compression_zfp (zfp)
    • depthimage_to_mono (depthimage)
    • depthimage_to_rgb (depthimage2)
    • segmentationimage_to_rgb (segmentationimage)

Devices

  • The following devices are now deprecated:

    • test_grabber in favour of fakeFrameGrabber
    • fakeMotor in favour of fakeMotionControl
    • test_motor in favour of fakeMotionControl
    • fakebot
  • The following devices will be replaced by NWS/NWC in the next release, and print a warning when opened:

    • controlboardwrapper2 (replaced by controlboardremapper + controlBoard_nws_yarp)
    • RGBDSensorWrapper (replaced by rgbdSensor_nws_yarp)
    • Rangefinder2DWrapper (replaced by rangefinder2D_nws_yarp)
    • grabberDual (replaced by frameGrabber_nws_yarp, and eventually frameGrabberCropper)
    • inertial (replaced by multipleanalogsensorsremapper + multipleanalogsensorsserver + IMURosPublisher)
    • localization2DServer (replaced by localization2D_nws_yarp)
    • map2DServer (replaced by map2D_nws_yarp)
    • transformClient (replaced by frameTransformClient)
    • transformServer (replaced by frameTransformServer)

New Features

Libraries

conf

  • Added the following functions in <yarp/conf/numeric.h>:
    • yarp::conf::numeric::from_string
    • yarp::conf::numeric::to_string
    • yarp::conf::numeric::to_hex_string
  • Added the header <yarp/conf/string.h> containing the following functions:
    • yarp::conf::string::split
    • yarp::conf::string::join
  • Added environment::path_separator
  • Added the following functions in <yarp/conf/environment.h>:
    • yarp::conf::environment::get_string
    • yarp::conf::environment::set_string
    • yarp::conf::environment::get_bool
    • yarp::conf::environment::set_bool
    • yarp::conf::environment::get_numeric
    • yarp::conf::environment::set_numeric
    • yarp::conf::environment::split_path
    • yarp::conf::environment::join_path
    • yarp::conf::environment::get_path
    • yarp::conf::environment::set_path
    • yarp::conf::environment::unset
    • yarp::conf::environment::is_set
  • Added the new dirs.h file with methods to retrieve the important folders
  • Added the following methods:
    • std::string yarp::conf::dirs::home()
    • std::string yarp::conf::dirs::tempdir()
    • std::string yarp::conf::dirs::datahome()
    • std::vector<std::string> yarp::conf::dirs::datadirs()
    • std::string yarp::conf::dirs::confighome()
    • std::vector<std::string> yarp::conf::dirs::configdirs()
    • std::string yarp::conf::dirs::cachehome()
    • std::string yarp::conf::dirs::runtimedir()
    • std::string yarp::conf::dirs::yarpdatahome()
    • std::vector<std::string> yarp::conf::dirs::yarpdatadirs()
    • std::string yarp::conf::dirs::yarpconfighome()
    • std::vector<std::string> yarp::conf::dirs::yarpconfigdirs()
    • std::string yarp::conf::dirs::yarpcachehome()
    • std::string yarp::conf::dirs::yarpruntimedir()

os

  • Introduced the yarp::os::Header class, intended to gradually replace the yarp::os::Stamp class to handle envelopes, maintaining backwards compatibility. The differences with the Stamp class:
    • Header has an extra field to handle the frame id, making it comparable with ROS std_msgs/Header message.
    • The counter uses unsigned int instead of int.
    • Stamp::getMaxCount() is replaced with Header::npos
    • Stamp::getCount() is replaced with Header::count()
    • Stamp::getTime() is replaced with Header::timeStamp()

Bottle

  • Added BOTTLE_TAG_VOCAB32 tag. This is the same as BOTTLE_TAG_VOCAB.
  • The usage of BOTTLE_TAG_VOCAB is not recommended in new code, use BOTTLE_TAG_VOCAB32 instead.
    • Added addVocab32() overloads accepting 4 chars and string.
DummyConnector
  • The getReader methods now accepts a ConnectionWriter as optional parameter. This writer is returned by getWriter is called on the ConnectionReader returned by the writer, and it is therefore used for the replies in Portables and in a few other cases.
Log
  • The YARP_FORWARD_CODEINFO_ENABLE, YARP_FORWARD_HOSTNAME_ENABLE, YARP_FORWARD_PROCESSINFO_ENABLE, and YARP_FORWARD_BACKTRACE_ENABLE are no longer considered experimental.
PeriodicThread
  • The constructor now accepts a third (optional) parameter, clockAccuracy, which enables drift compensation using an absolute time reference to ensure all steps trigger at precise intervals, thus avoiding error accumulation over time. Set it to PeriodicThreadClock::Absolute to enable the new behavior, default is PeriodicThreadClock::Relative (old behavior). Beware that, in absolute mode, starvation may occur if two busy threads share a common resource (#2488).
  • Added new constructor:
    • PeriodicThread(double period, PeriodicThreadClock clockAccuracy).
Property
  • .ini configuration files can now contain the command [import <contextname> <filename>] which includes a .ini file from a different context.
Value
  • Added makeVocab32() overload accepting 4 chars
Wire
  • Added yarp() const overload
WireLink
  • The write method is now const. The signature is now: c++ bool write(const PortWriter& writer, PortReader& reader) const
WireReader
  • Vocabs are now accepted in readI32
    • Added the following methods:
    • readVocab32
    • readUI8
    • readUI16
    • readUI32
    • readUI64
    • readSizeT
WireWriter
  • Added the following methods:
    • writeVocab32
    • writeUI8
    • writeUI16
    • writeUI32
    • writeUI64
    • writeSizeT
  • Added addVocab32() overloads accepting 4 chars and string

sig

file
  • Added read support for JPEG files.
  • added read/write support for MP3 files.
  • Added the following methods:
    • yarp::sig::file::read_bytestream(Sound& data, const char* bytestream, size_t streamsize, std::string format)
utils
  • Added an optional parameter to depthRgbToPC to make the pointcloud unorganized and remove zero points.
Image
  • Added move() and swap() methods.
Sound
  • Added the following methods:
    • void amplifyChannel(size_t channel, double gain)
    • void amplify(double gain)
    • void findPeakInChannel(size_t channelId, size_t& sampleId, audio_sample& sampleValue) const
    • void findPeak(size_t& channelId, size_t& sampleId, audio_sample& sampleValue) const
    • void normalizeChannel(size_t channel)
    • void normalize()
utils
  • Added cropRect() helper function for cropping a rectangle area out of an image given two opposite vertices.

dev

  • Added the new WrapperSingle and WrapperMultiple helper classes, that inherit from both IWrapper and IMultipleWrapper but require to implement only one of these interfaces.
  • Added the template class IFrameGrabberOf<typename ImageType>. It is now possible to implement the same interface as for IFrameGrabberImage and IFrameGrabberImageRaw, but for different pixel types or for FlexImage.
  • Added the new datatypes generated by thrift:
    • yarp::dev::AudioRecorderStatus
    • yarp::dev::AudioPlayerStatus
  • Added the new class AudioPlayerDeviceBase, all playback device drivers now inherit from this class.
  • Added the new class AudioRecorerDeviceBase, all recording device drivers now inherit from this class.
IFrameGrabberImage
  • The getImageCrop method has now a working default implementation.
  • The IFrameGrabberImage interface is now an alias for IFrameGrabberOf<yarp::sig::ImageOf<yarp::sig::PixelRgb>>.
IFrameGrabberImageRaw
  • The getImageCrop method has now a working default implementation.
  • The IFrameGrabberImageRaw interface is now an alias for IFrameGrabberOf<yarp::sig::ImageOf<yarp::sig::PixelMono>>.
IAudioRender
  • Added the new methods:
    • bool setHWGain(double gain)
    • bool setSWGain(double gain)
IAudioGrabberSound
  • Added the new methods:
    • bool setHWGain(double gain)
    • bool setSWGain(double gain)
Lidar2DDeviceBase
  • The Lidar2DDeviceBase class, now implements yarp::dev::IPreciselyTimed.
  • All lidar devices must implement the method acquireDataFromHW() which is pure virtual in Lidar2DDeviceBase
  • Lidar devices can optionally call the method Lidar2DDeviceBase::updateLidarData, which calls acquireDataFromHW() and a few other utility functions (e.g. updateTimestamp(), etc.)
  • The run() method of the devices, which was previously responsible for the data collection, now just calls updateLidarData().
Nav2D::IMap2D
  • Added the new methods:
    • bool clearAllMapsTemporaryFlags()
    • bool clearMapTemporaryFlags(std::string map_name)
    • bool saveLocationsAndExtras(std::string locations_collection_file)
    • bool loadLocationsAndExtras(std::string locations_collection_file)
Nav2D::MapGrid2D
  • Added the new method:
    • void clearMapTemporaryFlags()
  • Added internal lossless compression using Zlib. The write() and read() methods handle the compression before sending data to the network.
  • Added method enable_map_compression_over_network() to enables/disables data compression over the network (default true). Compression is always disabled if Zlib library is not available.
  • Improved logic to convert ros map images to ros occupancy data and viceversa.
Nav2D::Map2DLocation
  • Added the new method
    • bool is_near_to(const Map2DLocation& other_loc, double linear_tolerance, double angular_tolerance) const

robotinterface

  • The robotinterface library is no longer considered experimental, files and classes have been moved accordingly.
  • robotinterface DTD version is now 3.1.
  • It is now possible to pass the device parameter to the attach action, without defining network or networks. For example:

.xml <device name="foo_name" type="foo_type"> <action phase="startup" level="5" type="attach"> <param name="device"> bar_name </param> </action> <action phase="shutdown" level="5" type="detach" /> </device>

XMLReader
  • The getRobotFromFile and getRobotFromString now accept a Searchable that is used to replace params with the attribute extern-name. The signatures are now: XMLReaderResult getRobotFromFile(const std::string& filename, const yarp::os::Searchable& config = yarp::os::Property()); XMLReaderResult getRobotFromString(const std::string& filename, const yarp::os::Searchable& config = yarp::os::Property());

Carriers

  • The unix_stream carrier is no longer considered experimental.

Port Monitors

  • There is now a new yarppm library (similar to yarpcar and yarpmod) that links all the portmonitors in static builds.
  • Added image_compression_ffmpeg port monitor to compress a video stream using the H264, H265, or MPEG2VIDEO codec.
  • Added sound_compression_mp3 port monitor to decompress a mp3 bytestream to yarp::sig::Sound. Encoding not supported yet.
  • Added depthimage_compression_zlib port monitor which uses the Zlib library to compress/decompress (lossless) depth images through the network.

Devices

AudioPlayerWrapper

  • Added RPC commands to control the volume via setHWGain() and setSWGain().
  • It now broadcasts its internal status on a xxx/status:o port

AudioRecorderWrapper

  • Added RPC commands to control the volume via setHWGain() and setSWGain().
  • It now broadcasts its internal status on a xxx/status:o port

fakeFrameGrabber

  • added RPC port, to change its mode at runtime. It is also possibile to load a new background image at runtime. Rpc command 'help' will display available commands.
  • Added --timestamp option to write the timestamp in the first bytes of the image. This was previously automatically enabled in line mode, but it can now be used in all modes.
  • Double buffering is now used to produce the image on a separate thread. This should improve performances when generating large images.
  • The getImage() method no longer blocks the caller. The --syncro option was added to restore the old behavior.
  • The topIsLow option and the set_topIsLow rpc command were added to produce images with bottom to top scanlines.
  • Added --noise options and set_noise RPC commands to add a a white noise to the generated image.
  • Added --snr option and set_snr RPC commands. to specify the signal noise ratio if noise is enabled.

fakeLaser

  • Added rpc port to dynamically create obstacles in the map. Use the rpc command 'help' to get additional information.
  • Improved the ray tracing algorithm: laser scans are now bound to the map size.
  • Added map_context parameter to load a test map from a specific context.

fakeMicrophone

  • It now generates a fixed tone sound.

fakeNavigation

  • Several improvements for testing purposes.

frameTransformServer

  • Added a new RPC command generate_view which generates via dot (graphviz) a pdf file, containing a diagram of the transforms tree.

map2DServer

  • Added enable_maps_compression <0/1> RPC command.

navigation2DClient

  • getNameOfCurrentTarget() logic moved from Navigation2DClient to navigation2DServer.

Tools

  • Added yarpdataplayer-console tool that works without without a graphic server.

yarp

  • The read subcommand now accepts the trim argument to reduce the number of characters printed for each message received.
  • Added the following new subcommands:
    • yarp latency-test: performs a latency test exchanging data between a server and a client node.
    • yarp repeat: repeats in an output port all data received in an input port. The command is useful to control stream flows on a wifi/mobile connection.
    • yarp stats: opens a temporary port to receive data from a remote port (at maximum speed). It also prints basic statistics about data trasferred on the instantiated connection.
    • yarp trafficgen: sends generated data over a yarp port. The tool allows to test the communication and the available bandwidth over the network.

yarpdatadumper

  • The following data outputs for the --type parameter are now supported:
    • bottle (default)
    • image
    • image_jpg
    • image_png
    • video
    • depth
    • depth_compressed

yarprobotinterface

  • Arguments taken from the command line are now handled and used to replace parameters marked with the attribute extern-name.

yarpidl_thrift

  • Thrift was updated to version 0.14.1.
  • Added support for uint8_t, uint16_t, uint32_t, uint64_t, size_t, float32_t and float64_t using annotated types. It is now possible to use these types in thrift by defining them using a typedef, for example: ``` typedef i32 ( yarp.type = "yarp::conf::vocab32t" ) vocab typedef i8 ( yarp.type = "std::uint8t" ) ui8 typedef i16 ( yarp.type = "std::uint16t" ) ui16 typedef i32 ( yarp.type = "std::uint32t" ) ui32 typedef i64 ( yarp.type = "std::uint64t" ) ui64 typedef i32 ( yarp.type = "sizet" ) sizet typedef double ( yarp.type = "yarp::conf::float32t" ) float32 typedef double ( yarp.type = "yarp::conf::float32_t" ) float64

struct TestAnnotatedTypes { 1: vocab avocab, 2: ui8 aui8, 3: ui16 aui16, 4: ui32 aui32, 5: ui64 aui64, 6: float32 afloat32, 7: float64 afloat64, 8: sizet asize; } * Types annotated with "yarp.type" are no longer serialized as nested. This improves the compatibility with existing services returning Bottle or other YARP types, and makes it possible to write a thrift file for existing protocols. On the other hand, this breaks compatibility with thrift services returning Bottles or other annotated types, generated before this commit. This is a breaking change, but should impact only a very limited number of cases, and it can be easily fixed by regenerating the files. * Added support for vocabs in structs (#2476). Vocabs can be defined in this way: cpp typedef i32 ( yarp.type = "yarp::conf::vocab32t" ) vocab

struct FooStruct { 1: vocab foo; } * Added "yarp.nested" annotation for struct fields When defined = "true", this serialize a struct as a bottle instead of as a flat structure. For example, given these 2 structs: cpp struct Foo { 1: double foo1; 2: double foo2; }

struct Bar { 1: double bar1; 2: Foo ( yarp.nested = "true" ); } The `Bar` struct will be serialized as `bar1 (foo1 foo2)`, instead of as a flat struct `bar1 foo1 foo2`. * It is now possible to specify a "const" qualifier to service methods using the `yarp.qualifier` annotation. For example, this code: service Foo { bool constmethod() (yarp.qualifier = "const"); } will generate a service `Foo` with this method: c++ bool constmethod() const ```

GUIs

yarpview

  • Added the --rightout <portname> option that enables intercepting the mouse right button click events:
    • Single click (sends the current cursor coordinates to the specified output port)
    • Press, drag, and release (sends the coordinates of the press point and of the release one to the specified output port)
  • Added Image/Intercept right click checkable menu item to enable/disable the right click interception (not available in minimal or compact mode or if the --rightout option was not enabled).

yarpdataplayer

  • It is now possible to reproduce depth and depth_compressed data types.
  • The yarpdataplayer tool was refactored, several bugs fixed, and new features added (#1144, #2140, #2151, #2400, #2401, #2442).

Bindings

  • Added support for std::vector<short int>.
  • Added support for yarp::sig::VectorOf<int>.
  • Added the following extensions to yarp::sig::Sound
    • sound2VecNonInterleaved()
    • vecNonInterleaved2Sound()
    • sound2VecInterleaved()
    • vecInterleaved2Sound()

New Experimental Features

EXPERIMENTAL means that the software is under development, provided with incomplete documentation and it may be modified/renamed/removed without any notice.

Carriers

  • Added new EXPERIMENTAL websocket carrier. It works only on the receiving side, and it works on an http request that starts with "GET /?ws" (for example 'http://127.0.0.1:10002/?ws' or 'ws://127.0.0.1:10002/?ws' if a read port is opened by yarp). The websocket, on the browser side, needs to communicate using the YARP protocol.

Devices

  • Added the following new EXPERIMENTAL devices:
    • RGBDFromRosTopic: it can be wrapped by RGBDSSensorWrapper to make RGBD data, collected by a ROS device, available on YARP via RGBDSensorClient.
    • map2DStorage: store navigation data, e.g MapGrid2D,Map2DLocation etc. It implements all the logic previously located inside device 'Map2DServer'.
    • audioFromFileDevice: wrapped by audioRecorderWrapper.
    • audioToFileDevice: wrapped by audioPlayerWrapper.
    • frameGrabberCropper: attaches to a frameGrabber and published part of the image
    • frameTransformStorage
    • frameTransformSetMultiplexer
    • frameTransformGetMultiplexer
  • Several new EXPERIMENTAL devices were added in order to implement the Network Wrapper Server/Client Architecture described in #2441. These devices do not implement internal logic, therefore they might need to be used together with a different device. This architecture and all these devices are to be considered experimental, and may be modified/renamed/removed at any time without any notice.
    • controlBoard_nws_ros: ROS NWS that can be used to replace controlboardwrapper2 (does not handle networks, use controlboardremapper for that). It requires that the yarp::dev::IAxisInfo is implemented in the device.
    • controlBoard_nws_yarp: YARP NWS that can be used to replace controlboardwrapper2 (does not handle networks, use controlboardremapper for that).
    • frameGrabber_nws_ros: ROS NWS that can be used to replace grabberDual (does not handle image split, use frameGrabberCropper for that)
    • frameGrabber_nws_yarp: YARP NWS that can be used to replace grabberDual (does not handle image split, use frameGrabberCropper for that)
    • frameGrabber_nwc_yarp: YARP NWC that can be used to replace remote_grabber
    • localization2D_nws_ros: ROS NWS for devices which implement the ILocalization2D interface, that can be used to replace localization2DServer.
    • localization2D_nws_yarp: YARP NWS for devices which implement the ILocalization2D interface, that can be used to replace localization2DServer.
    • map2D_nws_ros: ROS NWS for a map2DStorage device.
    • map2D_nws_yarp: YARP NWS for a map2DStorage device.
    • rangefinder2D_nws_ros: ROS NWS for devices exposing IRangefinder2D interface.
    • rangefinder2D_nws_yarp: YARP NWS for devices exposing IRangefinder2D interface.
    • rgbdSensor_nws_ros: ROS NWS to replace RGBDSensorWrapper.
    • rgbdSensor_nws_yarp: YARP NWS to replace RGBDSensorWrapper.
    • rgbdToPointCloudSensor_nws_ros: enables point cloud publication from yarp to ros. It converts RGBD data to point cloud and publishes it on a ros topic.
    • frameTransformGet_nws_ros
    • frameTransformGet_nws_yarp
    • frameTransformSet_nws_ros
    • frameTransformSet_nws_yarp All these interfaces have the following differences with their original wrappers:
    • All deprecated parameters were removed
    • Periods are in seconds, and not in milliseconds.
    • Parameters in nws_ros devices no longer have the "ROS_" prefix".
  • Added new EXPERIMENTAL devices frameTransformClient and frameTransformServer. These devices are mostly empty containers for multiple plugins that can be combined together through a yarprobotinterface xml file. Different configuration files can be used for different purposes, such as publishing/subscribing transforms on YARP, ROS, ROS2 etc. Please refer to the documentation for additional details. Old devices with frame transform management functionality are called transformServer and transformClient. These devices should be now considered deprecated and they must be not confused with the new devices included in this PR. A yarp page documentation has been added to show the different possible configurations.
  • The laserFromRosTopic is still considered EXPERIMENTAL, since it will be replaced by an appropriate NWC

Bindings

Python

  • Introduced unofficial support to install YARP with tools like pip. A new yarp-middleware package is now distributed in PyPI.

Bug Fixes

Libraries

sig

Image
  • The topIsLow flag is now properly handled, kept in sync with the internal IplImage, and forwarded through the network.
ImageFile
  • Fixed SavePNG() producing corrupted output files.

Carriers

portmonitor

  • The reply handler is now set correctly, it is therefore now possible to monitor RPC connections.

Devices

grabberDual

  • The topIsLow flag is no longer changed.

Devices

RGBDSensorClient

  • The device no longer crashes when no image was received yet (#2349).
  • The timestamp is now correct.

map2DServer

  • Fixed issue preventing correct file save/load operations of locations data.

GUIs

yarpdataplayer

  • Timestamp is now interpreted correctly, dealing with locale issues (#2558).
  • Fixed step command in RPC exhibiting odd behaviors (#2151).

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.4.0..v3.5.0):

477 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 201 Marco Randazzo <marco.randazzo@iit.it> 92 Stefano Bernagozzi <stefano.bernagozzi@iit.it> 62 Ettore Landini <ettore.landini@iit.it> 50 Giulia Martino <giulia.martino_@hotmail.it> 16 Bartek Łukawski <bwmn.peter@gmail.com> 13 Diego Ferigo <diego.ferigo@iit.it> 12 Silvio Traversaro <silvio.traversaro@iit.it> 10 Fabio Valla <valla.fabio@live.it> 8 Nicolò Genesio <nicolo.genesio@iit.it> 7 Valentina Vasco <valentina.vasco@iit.it> 5 Plinio Moreno <plinio@isr.tecnico.ulisboa.pt> 5 Ugo Pattacini <ugo.pattacini@iit.it> 4 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 2 Gianpaolo Bontempo <gianpaolo.bontempo@iit.it> 2 Johnny Willemsen <jwillemsen@remedy.nl> 2 Stefano Dafarra <stefano.dafarra@iit.it> 1 Aiko Dinale <aiko.dinale@iit.it> 1 Giuseppe L'Erario <giuseppe.lerario@iit.it> 1 Nicola Piga <nicola.piga@iit.it>

- C++
Published by drdanz almost 5 years ago

https://github.com/robotology/yarp - YARP 3.4.6

YARP 3.4.6 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

Build System

  • The yarpros tool is no longer compiled when YARP_COMPILE_EXECUTABLES is disabled. (#2598)

Libraries

sig

Image

  • Fixed compatibility with images with topIsLow==false sent by YARP 3.5 (#2612).

dev

DeviceResponder

  • Removed the debug messages flooding (#2630, #2631).

GUIs

yarpview

  • Fixed upside down image when topIsLow is false (Qt >= 5.3.2 only) (#2612).

Devices

localization2DClient

  • Implemented missing method getEstimatedOdometry().

navigation2DClient

  • Implemented missing method getEstimatedOdometry(),

localization2DServer

  • Implemented RPC.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.4.5..v3.4.6):

15 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 2 Marco Randazzo <marco.randazzo@iit.it> 1 Silvio Traversaro <silvio.traversaro@iit.it>

- C++
Published by drdanz almost 5 years ago

https://github.com/robotology/yarp - YARP 3.4.5

YARP 3.4.5 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

Libraries

sig

Image
  • Allocate the right amount of bytes for YUV422 images
  • Decode vocabs when printing

Devices

BatteryWrapper

  • Data is now published on the yarp port even if some of the methods belonging to IBattery interface are not implemented (returning false). The only mandatory method is getBatteryStatus().

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.4.4..v3.4.5):

6 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 1 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by drdanz about 5 years ago

https://github.com/robotology/yarp - YARP 3.4.4

YARP 3.4.4 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

Build System

  • Fixed use of CMAKE_INSTALL_PYTHON3DIR CMake variable to specify the installation path of Python bindings, as in previous versions the variable was defined but ignored (#2523).
  • Fixed the build of Python bindings on Windows (#2525, #2527).

Libraries

conf

  • Fixed float128_t where long double is 64 bit (#2510).

os

  • If in a yarp::os::NetworkClock a clock reset is detected, fill the gap between the waiter and the time published by the network clock port. A network clock reset is defined as a jump in the past of the time published by the network clock port. This fix avoids that all the threads that are waiting a yarp::os::NetworkClock::delay call on that network clock remain blocked when a time reset occurs (#800, #2494).
  • Fixed error in race condition during the scan of plugins in YarpPluginSelector, avoided concurrent access to variables (#2538).

Tools

yarplogger

  • Fixed crash when attempting to clear a selected log with its log tab opened (#2554).

Bindings

Python

  • Added example_callback.py, which showcases a BufferedPort with an attached callback handler for logging incoming bottles (#2555).

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.4.3..v3.4.4):

25 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 4 Bartek Łukawski <bwmn.peter@gmail.com> 4 Silvio Traversaro <silvio@traversaro.it> 3 Stefano Bernagozzi <stefano.bernagozzi@iit.it> 1 Ettore Landini <ettore.landini@iit.it> 1 Giuseppe L'Erario <giuseppe.lerario@iit.it> 1 Nicolò Genesio <nicolo.genesio@iit.it> 1 Silvio Traversaro <silvio.traversaro@iit.it>

- C++
Published by drdanz about 5 years ago

https://github.com/robotology/yarp - YARP 3.4.3

YARP 3.4.3 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Libraries

robotinterface

  • Fixed handling of attach action for IWrapper devices.

Devices

controlboardwrapper2

  • getTorque is no longer called twice.

fakeFrameGrabber

  • The rand mode was fixed.
  • The timestamp is now correct.
  • The image is no longer initialized when all the pixels are overwritten.

virtualAnalogWrapper

  • Fixed favor the use of parentheses with the keyword networks in the XML files. The old style is deprecated but still accepted. This is a fix in the sense that virtualAnalogWrapper was behaving differently from ControlBoardWrapper.

GUI

yarpmotorgui

  • Fixed colors on dark mode desktop (#2466).

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.4.2..v3.4.3):

30 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 1 Ugo Pattacini <ugo.pattacini@iit.it>

- C++
Published by drdanz over 5 years ago

https://github.com/robotology/yarp - YARP 3.4.2

YARP 3.4.2 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Build System

  • YCM is now searched when compiling bindings externally.
  • Fixed dependency on YARP_math for several devices (laserFromExternalPort, laserFromPointCloud, laserFromRosTopic).
  • rpLidar2 device is now disabled when building with Clang.
  • Fixed upowerBattery device in static builds.
  • Fixed include directories for PortAudio on Windows (#2387).
  • Fixed toggling the value of SKIP_ACE from ON to OFF
  • Dependencies for the INTERFACE libraries (YARPcv, YARPpcl) are now properly set (#2438).
  • PCL is now required to build the YARP_pcl library.
  • OpenCV is now required to build the YARP_cv library.

Libraries

os

LogComponent
  • Log components are now printed in colors when YARP_COLORED_OUTPUT is enabled.

NameSpace

  • Fix checkNetwork timeout variant not working as checkNetwork when NetworkBase::setLocalMode(true) is called.---

sig

PointCloudTypes
  • Fixed logging of RGBA values via toString() for types DataRGBA, DataXYZRGBA and DataXYZNormalRGBA.
utils
  • Fixed ROI bug in depthToPC(), values are now correctly clipped.

Devices

controlboardwrapper2

  • Fixed access to the timestamp not protected by mutex (#2396).
  • Deprecated old format of networks keyword in the XML files to favor the use of parentheses.

ffmpeg

  • Corrected a minor error in FfmpegGrabber.cpp that caused a segmentation fault when using a video with audio track as a source for the device.

realsense2

  • Avoid dereferencing nullptr on optional argument.

Tools

yarpmotorgui

  • Fixed UI file (slider options). Some text was truncated.

yarpmobilebasegui

  • Fixed gui buttons when the value of max linear/angular velocity is < 0

GUIs

yarpviz

  • Added a new menu voice View-> Render options. This checkable option labbelled Background grid allows to enable/disable the background grid.
  • Labels are now fully readable regardless of their length.

yarpbatterygui

  • The window can no longer be resized.
  • The window background can no longer be moved around.
  • The window no longer stays on top automatically. A new --keep-above switch is provided to restore this behavior.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.4.1..v3.4.2):

66 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 5 Bartek Łukawski <bwmn.peter@gmail.com> 3 Ettore Landini <ettore.landini@iit.it> 3 Silvio Traversaro <silvio.traversaro@iit.it> 3 Ugo Pattacini <ugo.pattacini@iit.it> 2 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by drdanz over 5 years ago

https://github.com/robotology/yarp - YARP 3.4.1

YARP 3.4.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

  • Fixed Ruby bindings with CMake 3.18

Bug Fixes

Build System

  • The license check is now disabled for non-git checkouts.
  • The check on the bindings folder in YARPConfig.cmake was removed.
  • User defined build flags are no longer overridden in subfolders.
  • The -f(debug|macro|file)-prefix-map compile options are no longer exported in the YARPConfig.cmake file.
  • Fixed build when the -fsanitize compile options is passed by the user.

Libraries

os

Stamp
  • Fixed the max count using std::numeric_limits.

sig

PointCloudUtils
  • Fixed yarp::sig::utils::depthRgbToPC for types without alpha channel (#1959).
  • Fixed bug in method utils::depthToPC() which was not properly decimating the pointcloud given in input.

Devices

FakeFrameGrabber

  • The ball test is now displayed in the center of the image instead of the right-bottom corner. The bug was affecting windows only.

multipleanalogsensorsserver

  • Fixed missing timestamp and and sequence number in messages streamed by measures:o port.

realsense2Tracking

  • Fixed missing timestamp for device realsense2Tracking
  • added option --timestamp yarp : yarp timestamp will be used
  • added option --timestamp realsense : realsense timestamp will be used
  • default value is yarp timestamp.

ovrheadset

  • Fixed a typo in TextureBuffer.cpp

Tools

yarpdatadumper

  • Fixed a regression that broke support for OpenCV 2.x.

yarpmanager

  • Fixed issue that disables side menubar buttons when changing tab (#2355).

yarprobotinterface

  • Fixed build on i386.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.4.0..v3.4.1): 43 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 7 Nicolò Genesio <nicolo.genesio@iit.it> 5 Marco Randazzo <marco.randazzo@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 2 Stefano Dafarra <stefano.dafarra@iit.it> 1 Silvio Traversaro <silvio.traversaro@iit.it>

- C++
Published by drdanz over 5 years ago

https://github.com/robotology/yarp - YARP 3.4.0

YARP 3.4.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

  • YCM 0.11 or later is now a hard dependency and must be installed on the system before installing YARP.
  • Python 2 is no longer supported.

Deprecation and Behaviour Changes

  • The scripts/WindowsPowerShell files are now in data/WindowsPowerShell.
  • The scripts/yarp_completion file is now in data/bash-completion/yarp.

Build System

yarp_prepare_plugin
  • INCLUDE must now be an existing file, either using a path relative to current directory, or an absolute path. Using a path relative to one of the include directories is deprecated.

os

  • The method yarp::os::getenv() is deprecated in favour of std::getenv()
yarp::os::ConnectionState
  • The yarp::os::ConnectionState::getLog() method was removed without deprecation, due to the changes to the logging system, that made it impossible to preserve this method.
yarp::os::NetworkBase
  • The yarp::os::NetworkBase::setVerbosity method is deprecated in favor of Log Components.
  • The yarp::os::NetworkBase::getEnvironment() method is deprecated in favour of yarp::conf::environment::getEnvironment()
  • The yarp::os::NetworkBase::setEnvironment() method is deprecated in favour of yarp::conf::environment::setEnvironment()
  • The yarp::os::NetworkBase::unsetEnvironment() method is deprecated in favour of yarp::conf::environment::unsetEnvironment()
yarp::os::Port
  • The yarp::os::Port::setVerbosity method is deprecated in favour of Log Components.
  • The yarp::os::Port::getVerbosity method is deprecated in favour of Log Components.
yarp::os::ResourceFinder
  • The yarp::os::ResourceFinder::setVerbose() method is deprecated in favour of Log Components.
  • The yarp::os::ResourceFinder::setQuiet() method is deprecated in favour of Log Components.
yarp::os::YarpPluginSettings
  • The yarp::os::YarpPluginSettings::setVerboseMode() method is deprecated in favour of Log Components.
yarp::os::Log
  • The yarp::os::Log::setLogCallback() method is deprecated in favour of setPrintCallback()

dev

  • The following classes were moved from the yarp::dev namespace to the yarp::dev::Nav2D namespace
    • yarp::dev::Nav2D::Map2DArea
    • yarp::dev::Nav2D::Map2DPath
    • yarp::dev::Nav2D::Map2DLocation
    • yarp::dev::Nav2D::MapGrid2D
    • yarp::dev::Nav2D::MapGrid2DInfo
  • yarp::dev::Nav2D::Map2DPath is now replacing std::vector<yarp::dev::Nav2D::Map2DLocation> in all APIs.
  • The following functions have been moved from yarp::dev::Nav2D::MapGrid2D into yarp::dev::Nav2D::MapGrid2DInfo:
    • yarp::dev::Nav2D::XYWorld yarp::dev::Nav2D::MapGrid2DInfo::cell2World(yarp::dev::Nav2D::XYCell cell) const;
    • yarp::dev::Nav2D::Map2DLocation yarp::dev::Nav2D::MapGrid2DInfo::toLocation(yarp::dev::Nav2D::XYCell cell) const;
    • yarp::dev::Nav2D::XYCell yarp::dev::Nav2D::MapGrid2DInfo::toXYCell(yarp::dev::Nav2D::Nav2D::Map2DLocation loc) const;
    • yarp::dev::Nav2D::XYCell yarp::dev::Nav2D::MapGrid2DInfo::world2Cell(yarp::dev::Nav2D::XYWorld world) const;
    • yarp::dev::Nav2D::Nav2D::Map2DLocation yarp::dev::Nav2D::MapGrid2DInfo::toLocation(yarp::dev::Nav2D::XYWorld cell) const;
    • yarp::dev::Nav2D::XYWorld yarp::dev::Nav2D::MapGrid2DInfo::toXYWorld(yarp::dev::Nav2D::Map2DLocation loc) const;
  • modified signature of the yarp::dev::Nav2D::INavigation2D::getAllNavigationWaypoints method.
  • The format of .map file loaded by yarp::dev::Nav2D::MapGrid2D has been changed. It can now include the parameters resolution <double> and orientation <bottle> to adjust the map reference frame.

Devices

  • The test_grabber device was renamed fakeFrameGrabber. The old name is kept for compatibility, but it will be deprecated and removed in a future release.
  • The test_motor was renamed fakeMotor. The old name is kept for compatibility, but it will be deprecated and removed in a future release.

Tools

yarp
  • The regression subcommand was removed.

New Features

Build System

  • The bash-completion file is now installed automatically (#1101).
  • It is now possible to build some of the examples in the main build using the YARP_COMPILE_EXAMPLES CMake Option
  • It is now possible to build some of the YARP examples as test using the YARP_ENABLE_EXAMPLES_AS_TESTS CMake Option
yarp_add_idl
  • It's now possible to pass options to the commands using CMake variables (for example YARP_ADD_IDL_THRIFT_INCLUDE_PREFIX and YARP_ADD_IDL_THRIFT_NO_NAMESPACE_PREFIX.
yarp_prepare_plugin
  • Including current directory (either explicitly, or using CMAKE_INCLUDE_CURRENT_DIR) is no longer required by the generated files.

Libraries

conf

  • Added yarp::conf::clamp. Will be replaced by std::clamp as soon as c++17 is required in YARP.
  • Added the yarp/conf/environment.h header.
  • Added the following functions:
    • yarp::conf::environment::getEnvironment()
    • yarp::conf::environment::setEnvironment()
    • yarp::conf::environment::unsetEnvironment()

os

  • Add yarp::os::gethostname() overload to return a std::string
yarp::os::NetworkBase
  • Added bool yarp::os::NetworkBase::isNetworkInitialized() method.
yarp::os::NetType
  • The following methods were added:
    • static std::string yarp::os::NetType::toString(yarp::conf::float32_t)
    • static std::string yarp::os::NetType::toString(yarp::conf::float64_t)
    • static yarp::conf::float32_t yarp::os::NetType::toFloat32(const std::string&)
    • static yarp::conf::float64_t yarp::os::NetType::toFloat64(const std::string&)
    • static yarp::conf::float32_t yarp::os::NetType::toFloat32(std::string&&)
    • static yarp::conf::float64_t yarp::os::NetType::toFloat64(std::string&&)
    • static std::string yarp::os::NetType::toHexString(long)
    • static std::string yarp::os::NetType::toHexString(unsigned int)
yarp::os::Time
  • Added bool yarp::os::Time::isClockInitialized() method.
yarp::os::Log
  • The yarp logging system was heavily refactored, please check out the documentation.
  • The name of the port used to forward the output no longer contains the full path, but only the executable name.
  • Added yarp::os::LogComponent to define log components:
    • A log component can be declared using the YARP_LOG_COMPONENT() macro (in a .cpp file) and eventually forward declared using YARP_DECLARE_LOG_COMPONENT().
    • It is possible to set custom printing and forwarding macros for each component, and it is possible to enable and disable specific levels for each component.
    • At the moment it is not yet possible to change the defaults set in the code, but this will be enabled in the future.
  • The output forwarded is now a property and contains several useful information including component and system/network time, file, line, function.
  • The logger is now able to detect if it is running in yarprun and eventually change the output format.
  • Logging is now protected by a mutex to avoid garbled output.
  • The YARP_DEBUG_LOG_ENABLE environment variable can be set to debug the log of the application.
  • When color is enabled, the loglevel can be represented by a single colored character by setting the YARP_COMPACT_OUTPUT environment variable to 1.
  • The limit of 1024 characters for the c-style yDebug() macro family was removed. A dynamic allocation is now used, but only when the size of the output exceeds this size.
  • Trace should no longer generate code when building in release mode. When building with -DYARP_NO_DEBUG_OUTPUT debug should not generate any code as well. See https://godbolt.org/z/hSAC56
  • Added the yCDebug macro family to pass a component to the logger (This macro is also available for all log levels, and assert).
  • Added the following new debug macro families limiting the log output (all these macros are available for all log levels, except for [FATAL], and in the component version):
    • yDebugOnce(): Printed only once in the execution of the program.
    • yDebugThreadOnce(): Printed at most once by every thread during the execution of the program.
    • yDebugThrottle(): Printed at most once every period seconds.
    • yDebugThreadThrottle(): Printed at most once by every thread every period seconds.
  • Added the yDebugExternalTime() macro family to pass a timestamp generated by an external source (This macros is also available for all log levels, in the component version, and in the limited version):
yarp::os::ManagedBytes
  • Added move semantics.
yarp::os::Portable
  • The first argument of yarp::os::Portable::copyPortable() is now const. The new signature is: bool yarp::os::Portable::copyPortable(const PortWriter& writer, PortReader& reader)
yarp::os::Port
  • It's now possible to try to fix any issues by entrusting a Superior Entity.

sig

yarp::sig::ImageOf
  • Added support to load a PNG file into a yarp::sig::ImageOf<yarp::sig::PixelRgb>
yarp::sig::VectorOf
  • Added const_iterator yarp::sig::VectorOf::begin() const and const_iterator yarp::sig::VectorOf::end() const in yarp::sig::VectorOf class.
  • Added move semantics.

math

  • Added yarp::math::Vec2D<size_t> datatype.

dev

  • Added yarp::dev::LaserScan2D datatype.
  • Added yarp::dev::MobileBaseVelocity datatype.
  • Added yarp::dev::OdometryData datatype.
  • Added yarp::dev::OdometryData6D datatype.
  • Added yarp::dev::IPositionSensors interface.
  • Added yarp::dev::Lidar2DDeviceBase class to use as a base class for all lidar devices.
  • Added yarp::dev::Nav2D::TrajectoryTypeEnum
  • Added the following methods to yarp::dev::Nav2D::ILocalization2D interface
    • yarp::dev::Nav2D::ILocalization2D::startLocalizationService();
    • yarp::dev::Nav2D::ILocalization2D::stopLocalizationService();
    • yarp::dev::Nav2D::ILocalization2D::getCurrentPosition(yarp::dev::Nav2D::Map2DLocation& loc, yarp::sig::Matrix& cov);
    • yarp::dev::Nav2D::ILocalization2D::setInitialPose(const yarp::dev::Nav2D::Map2DLocation& loc, const yarp::sig::Matrix& cov);
  • Added new class yarp::dev::Nav2D::MapGrid2DInfo which contains infos about the name, the resolution and the origin of the map (e.g. yarp::dev::Nav2D::MapGrid2DOrigin) etc.
  • Added new path-related methods to yarp::dev::Nav2D::IMap2D interface:
    • virtual bool yarp::dev::Nav2D::IMap2D::storePath(std::string path_name, Nav2D::Map2DPath path) = 0;
    • virtual bool yarp::dev::Nav2D::IMap2D::getPath(std::string path_name, Nav2D::Map2DPath& path) = 0;
    • virtual bool yarp::dev::Nav2D::IMap2D::getPathsList(std::vector<std::string>& paths) = 0;
    • virtual bool yarp::dev::Nav2D::IMap2D::deletePath(std::string path_name) = 0;
    • virtual bool yarp::dev::Nav2D::IMap2D::renamePath(std::string original_name, std::string new_name) = 0;
    • virtual bool yarp::dev::Nav2D::IMap2D::clearAllPaths() = 0;
  • Added method yarp::dev::Nav2D::ILocalization2D::getEstimatedOdometry() to the interface yarp::dev::Nav2D::ILocalization2D.
  • yarp::dev::Nav2D::MapGrid2DOrigin can now handle a generic orientation. Previously only the translational part was handled by methods world2Cell and cell2World
  • The terminator port now tries to use the default value for --name accepted by the device. For example yarpdev --device fakeFrameGrabber will open the port /grabber/quit instead of /fakeFrameGrabber/quit.

logger

  • Interpret the new message format containing extra info.

Carriers

  • Added depthimage2 portmonitor to transform a depth image (VOCAB_PIXEL_FLOAT format) into a rgb image, using a precomputed colormap.
  • Added segmentationimage portmonitor to transform a segmentation image (VOCAB_PIXEL_MONO or VOCAB_PIXEL_MONO16) into a rgb image, using a precomputed colormap.

Devices

  • Added laserFromExternalPort device, which is able to receive a LaserScan2D datatype from a YARP port, and expose it as a device driver through the IRangefinder2D interface.
  • Added laserFromPointCloud device, which receives a depth stream through an IRGBDSensor sensor a produces a laser compatible stream of data from the computed point cloud.
  • Added IMURosPublisher device. This wrapper connects to a device and publishes a ROS topic of type sensor_msgs::Imu.
  • Added MagneticFieldRosPublisher device. This wrapper connects to a device and publishes a ROS topic of type sensor_msgs::MagneticField.
  • Added PoseStampedRosPublisher device. This wrapper connects to a device and publishes a ROS topic of type geometry_msgs::PoseStamped.
  • Added TemperatureRosPublisher device. This wrapper connects to a device and publishes a ROS topic of type sensor_msgs::Temperature.
  • Added WrenchStampedRosPublisher device. This wrapper connects to a device and publishes a ROS topic of type geometry_msgs::WrenchStamped.
  • Added upowerBattery device to view the battery of a linux laptop in YARP using the yarp::dev::IBattery interface.
fakeBattery
  • Added a new port <name>/control/rpc:i to retrieve and change the values reported by the fake battery.
  • The battery is now charged or discharged depending on the sign of the current.
  • The default values for voltage and current are now more realistic.
  • It is now possible to change the starting values as device options.
fakeLaser
  • Added --use_constant option.
  • The device is now derived from yarp::dev::Lidar2DDeviceBase
laserFromDepth
  • The device is now derived from yarp::dev::Lidar2DDeviceBase
Localization2DServer
  • Added missing ROS initialization. It will now publish odometry data on ROS topic.
multipleAnalogSensorsMsgs
  • multipleAnalogSensorsSerializations.thrift have been extended to handle position sensors.
multipleanalogsensorsserver
  • Added handlers for yarp::dev::IPositionSensors interface.
  • Added support for wrapped subdevices, i.e. those explicitly instantiated via --subdevice option on initial device configuration. (#2154)
multipleanalogsensorsclient
  • Added handlers for yarp::dev::IPositionSensors interface.
multipleanalogsensorsremapper
  • Added handlers for yarp::dev::IPositionSensors interface.
  • Update MAS_NrOfSensorTypes. This avoids segfaults due to uninitialized yarp::dev::IPositionSensors interfaces.
ovrheadset
  • Port to the new rendering API and make it focus aware (SDK 1.19 is required).
  • Add P command to print current settings.
Rangefinder2DClient
  • Rangefinder2DClient now use yarp::dev::LaserScan2D datatype.
Rangefinder2DWrapper
  • Rangefinder2DWrapper now use yarp::dev::LaserScan2D datatype.
rpLidar2
  • The device is now derived from yarp::dev::Lidar2DDeviceBase
transformClient
  • Added support for identical frame transforms.
transformServer
  • Cleanup of --USER_TF option.

Tools

yarp
  • The --help, -h and --version arguments are now accepted.
  • Added the priority-qos subcommand that allows to set/get the packet priority value of both the source and the destination port.
  • Added the priority-sched subcommand that allows to set/get the thread priority and policy values of both the source and the destination port.
  • Added the env subcommand to print one or the full list of environment variables.
  • The qos subcommand is accepted as an alias to priority-qos.
  • The sched subcommand is accepted as an alias to priority-sched.
  • When logic fails, it's time to yarp pray. Watch out for palindrome mode.
yarprun
  • The name of the port used to forward the output no longer contains the full path, but only the executable name.
  • The following enviromnent variables are now set in the child processes:
    • YARP_IS_YARPRUN is set to 1 for all child processes
    • YARPRUN_IS_FORWARDING_LOG is set to 1 when yarprun is forwarding the log and to 0 otherwise

GUIs

  • Added new yarpmobilebasegui GUI which allows the user to control the mobile base of the robot via keyboard or mouse and sends yarp::dev::MobileBaseVelocity commands on a yarp port.
yarpmanager
  • Moved the builder, from the hidden place to a tab in the application view.
yarplaserscannergui
  • Multiple instances are now allowed with --local option.
  • Added --debug option.
yarpdataplayer
  • It's now possible to reproduce several ROS types, i.e.
    • sensor_msgs/LaserScan
    • nav_msgs/Odometry
    • tf/tfMessage
    • tf2_msgs/tfMessage
    • geometry_msgs/Pose
    • geometry_msgs/Pose2D
  • Added getSliderPercentage method to the rpc port. This method returns the progress percentage of the seek bar while playing a dataset. (#2148)
yarpview
  • Added a checkable menu item that, if checked, shows an additional line in the status bar that displays the color value of the pixel pointed by the mouse cursor. The string has the following format Pixel("x","y") = "hexstring" Where x and y are the coordinates of the pixel and hexstring is the hexadecimal (in the ARGB format) string representing the pixel color. The additional line on the status bar contains also a little rectangle that will turn the same color of the currently selected pixel.
yarplogger
  • The new info from yarp log (component, time, etc.) are now displayed (the columns that are not shown by default can be enabled from the Options menu).
  • Cleaned up interface, removed status bar and improved colors.

Bindings

  • Several previously inaccessible methods from motor interfaces are now correctly wrapped. This covers pretty much everything the pair remote_controlboard/controlboardwrapper2 wraps and implements, only excluding calibration interfaces. In addition, two more interfaces can be accessed through the PolyDriver idiom: IEncodersTimed and IMotor.

New Experimental Features

EXPERIMENTAL means that the software is under development, provided with incomplete documentation and it may be modified/renamed/removed without any notice.

Libraries

os

  • The following EXPERIMENTAL environment variables can be enabled to enable forwarding of some extra log information:
    • YARP_FORWARD_CODEINFO_ENABLE (file name, line number and function name)
    • YARP_FORWARD_HOSTNAME_ENABLE (hostname)
    • YARP_FORWARD_PROCESSINFO_ENABLE (command, arguments, pid and thread id)
    • YARP_FORWARD_BACKTRACE_ENABLE (stack trace) These environment variables could be removed in the future.

robotinterface

  • Created the new EXPERIMENTAL YARP_robotinterface library by refactoring as a library the logic of the yarprobotinterface tool, including support for attaching devices created by the library to external devices created in some other way.

Carriers

  • Added the new EXPERIMENTAL unix_stream carriers to communicate with a process on the same machine using a unix socket. It's possible to use the ack option (unix_stream+ack) in case you need flow control.

Devices

  • Added Realsense2WithIMU EXPERIMENTAL device. This is a driver for Realsense D435i.
  • Added Relasense2Tracking EXPERIMENTAL device. This is a driver for Realsense T265.
  • added laserFromRosTopic EXPERIMENTAL device. It exposes a lidar ROS topic (dataype sensor_msgs::LaserScan) on YARP, using the yarp::dev::IRangefinder2D interface.

Bug Fixes

Libraries

os

Port
  • Passing an invalid string when setting the QoS by DSCP no longer sets it to 0.

sig

Image
  • Fixed pixel type and the orientation settings when using the move constructor and the move assignment operator.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.3.0..v3.4.0): 470 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 75 Marco Randazzo <marco.randazzo@iit.it> 27 Nicolò Genesio <nicolo.genesio@iit.it> 18 Silvio Traversaro <silvio.traversaro@iit.it> 8 Ettore Landini <ettore.landini@iit.it> 7 Bartek Łukawski <bwmn.peter@gmail.com> 4 Prashanth Ramadoss <prashanth.ramadoss@iit.it> 3 Alexandre Gomes Pereira Antunes <alexandre.gomespereira@iit.it> 3 Giulio Romualdi <giulio.romualdi@iit.it> 2 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 1 Alessandro Roncone <alessandro.roncone@iit.it> 1 Paul Fitzpatrick <paulfitz@alum.mit.edu> 1 Ugo Pattacini <ugo.pattacini@iit.it> 1 Valentina Gaggero <valentina.gaggero@iit.it>

- C++
Published by drdanz almost 6 years ago

https://github.com/robotology/yarp - YARP 3.3.3

YARP 3.3.3 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

Build System

  • Bison and flex are no longer run when crosscompiling.

Libraries

os

Bottle
  • Fixed precision for floating point numbers, to ensure that they are read as the original floating point written.
  • Fixed toString and fromString when writing or reading infinity, negative infinity or nan.
  • Fixed fromString when reading a 64 bit integer.
WireReader
  • Fixed reading a Float32 from a Float64 (#2227). This is not a common use case, but it can happen when a Float32 is written on a file, and then read again into YARP (as a Float64), and then restored in the original type using copyPortable().
Timer
  • Fixed Timer in monothread mode taking 100% of the CPU.
  • Fixed Timers in separate threads not updating their settings.

dev

  • Fixed dependency from YARP_math that should be PUBLIC. A few headers include YARP_math headers.

Devices

batteryClient

  • Fixed methods returning int instead of double:
    • getVoltage()
    • getCurrent()
    • getCharge()
    • getTemperature()

batteryWraper

  • Fixed parameters accepted by subdevice not printed with --verbose.

Navigation2DClient

  • The method checkNearToLocation now correctly checks if two orientations are similar (below a certain threshold), also considering the critical points 0, 180, 360, -180, -180, etc.

controlboardwrapper2

  • Exposed missing yarp::dev::IMotor::setGearboxRatio method via RPC.

remote_controlboard

  • Implemented missing yarp::dev::IMotor::setGearboxRatio method.
  • Fixed group command yarp::dev::IInteractionMode::getInteractionModes.

fakeBattery

  • Fixed PeriodicThread using 100% CPU.

GUIs

yarpview

  • Now the "checked" state of the two checkable elements in the File menu of yarpview (i.e. "Save single image..." and "Save a set of images...") turns to false when the corresponding dialogs are closed.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.3.2..v3.3.3): 28 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 2 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 1 Ettore Landini <ettore.landini@iit.it> 1 Marco Randazzo <marco.randazzo@iit.it> 1 Silvio Traversaro <silvio.traversaro@iit.it>

- C++
Published by drdanz almost 6 years ago

https://github.com/robotology/yarp - YARP 3.3.2

YARP 3.3.2 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Tools

yarpdatadumper

  • Fixed generation of video when invoked with the command line option --type video

Devices

usbCamera

  • Fixed build with OpenCV 4

ovrheadset

  • Fixed race condition causing randomly frame drops.
  • Fixed behaviour of the CTRL button. Both CTRL buttons can now be pressed, only SHIFT will decide which eye offsets should be modified.
  • Fixed --no-logo option.
  • Fixed --userpose option.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.3.1..v3.3.2):

16 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 1 Ugo Pattacini <ugo.pattacini@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.0.4

YARP 2.0.4 (2006-07-05)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.0.4):

448 Paul Fitzpatrick <paulfitz@alum.mit.edu> 55 Lorenzo Natale <lorenzo.natale@iit.it> 34 YARP Developers <yarp0-devel@lists.sourceforge.net> 24 Giorgio Metta <giorgio.metta@iit.it> 1 Matteo Brunettini <matteo.brunettini@iit.it> 1 Michael Bucko <m.c.bucko@gmail.com>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.1.0

YARP 2.1.0 (2006-10-28)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.0.4...v2.1.0):

270 Paul Fitzpatrick <paulfitz@alum.mit.edu> 52 YARP Developers <yarp0-devel@lists.sourceforge.net> 34 Lorenzo Natale <lorenzo.natale@iit.it> 17 Giorgio Metta <giorgio.metta@iit.it> 6 Alexandre Bernardino <alex@isr.ist.utl.pt> 3 Michael Bucko <m.c.bucko@gmail.com> 2 Francesco Orabona <francesco@orabona.com> 1 Arjan Gijsberts <arjan.gijsberts@idiap.ch> 1 Matteo Brunettini <matteo.brunettini@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.1.3

YARP 2.1.3 (2007-02-22)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.1.0...v2.1.3):

307 Paul Fitzpatrick <paulfitz@alum.mit.edu> 21 Giorgio Metta <giorgio.metta@iit.it> 14 YARP Developers <yarp0-devel@lists.sourceforge.net> 12 Alexandre Bernardino <alex@isr.ist.utl.pt> 11 Alessandro Scalzo <alessandro.scalzo@iit.it> 9 Lorenzo Natale <lorenzo.natale@iit.it> 3 Claudio Castellini <claudio.castellini@dlr.de> 2 Francesco Nori <francesco.nori@iit.it> 2 Michael Bucko <m.c.bucko@gmail.com> 2 Naeem Assif Mirza <assif42@gmail.com>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.1.4

YARP 2.1.4 (2007-04-04)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.1.3...v2.1.4):

121 Paul Fitzpatrick <paulfitz@alum.mit.edu> 36 Lorenzo Natale <lorenzo.natale@iit.it> 12 Claudio Castellini <claudio.castellini@dlr.de> 11 YARP Developers <yarp0-devel@lists.sourceforge.net> 5 Giorgio Metta <giorgio.metta@iit.it> 3 Alessandro Scalzo <alessandro.scalzo@iit.it> 1 Francesco Nori <francesco.nori@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.1.5

YARP 2.1.5 (2007-06-04)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.1.4...v2.1.5):

59 Paul Fitzpatrick <paulfitz@alum.mit.edu> 23 Lorenzo Natale <lorenzo.natale@iit.it> 15 Alessandro Scalzo <alessandro.scalzo@iit.it> 10 YARP Developers <yarp0-devel@lists.sourceforge.net> 8 Alexandre Bernardino <alex@isr.ist.utl.pt> 7 Carlos Beltran-Gonzalez <carlos.beltran@iit.it> 4 Francesco Nori <francesco.nori@iit.it> 2 Jonas Ruesch <ruesch@ifi.uzh.ch>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.1.6

YARP 2.1.6 (2007-07-26)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.1.5...v2.1.6):

45 Paul Fitzpatrick <paulfitz@alum.mit.edu> 12 Alessandro Scalzo <alessandro.scalzo@iit.it> 12 YARP Developers <yarp0-devel@lists.sourceforge.net> 10 Alexandre Bernardino <alex@isr.ist.utl.pt> 6 Lorenzo Natale <lorenzo.natale@iit.it> 5 Carlos Beltran-Gonzalez <carlos.beltran@iit.it> 3 Francesco Nori <francesco.nori@iit.it> 3 Giorgio Metta <giorgio.metta@iit.it> 3 Jonas Ruesch <ruesch@ifi.uzh.ch>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.1.7

YARP 2.1.7 (2007-09-25)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.1.6...v2.1.7):

67 Paul Fitzpatrick <paulfitz@alum.mit.edu> 20 Giacomo Spigler <spiglerg@gmail.com> 4 Carlos Beltran-Gonzalez <carlos.beltran@iit.it> 3 Alexandre Bernardino <alex@isr.ist.utl.pt> 1 Alessandro Scalzo <alessandro.scalzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.1.8

YARP 2.1.8 (2007-11-20)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.1.7...v2.1.8):

62 Paul Fitzpatrick <paulfitz@alum.mit.edu> 9 Lorenzo Natale <lorenzo.natale@iit.it> 3 Giacomo Spigler <spiglerg@gmail.com> 2 Alessandro Scalzo <alessandro.scalzo@iit.it> 2 Arjan Gijsberts <arjan.gijsberts@idiap.ch> 1 YARP Developers <yarp0-devel@lists.sourceforge.net>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.1.9

YARP 2.1.9 (2008-17-03)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.1.8...v2.1.9):

225 Paul Fitzpatrick <paulfitz@alum.mit.edu> 41 Giacomo Spigler <spiglerg@gmail.com> 15 Lorenzo Natale <lorenzo.natale@iit.it> 6 YARP Developers <yarp0-devel@lists.sourceforge.net> 5 Alexandre Bernardino <alex@isr.ist.utl.pt> 4 Giorgio Metta <giorgio.metta@iit.it> 2 Alessandro Scalzo <alessandro.scalzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.2.0

YARP 2.2.0 (2008-04-09)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.1.9...v2.2.0):

43 Paul Fitzpatrick <paulfitz@alum.mit.edu> 14 YARP Developers <yarp0-devel@lists.sourceforge.net> 6 Alessandro Scalzo <alessandro.scalzo@iit.it> 2 Giacomo Spigler <spiglerg@gmail.com> 1 Arjan Gijsberts <arjan.gijsberts@idiap.ch> 1 Giorgio Metta <giorgio.metta@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.2.1

YARP 2.2.1 (2008-07-08)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.2.0...v2.2.1):

55 Paul Fitzpatrick <paulfitz@alum.mit.edu> 11 Lorenzo Natale <lorenzo.natale@iit.it> 7 YARP Developers <yarp0-devel@lists.sourceforge.net> 5 Giacomo Spigler <spiglerg@gmail.com> 3 Alessandro Scalzo <alessandro.scalzo@iit.it> 1 Giorgio Metta <giorgio.metta@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.2.2

YARP 2.2.2 (2008-11-20)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.2.1...v2.2.2):

102 Paul Fitzpatrick <paulfitz@alum.mit.edu> 35 YARP Developers <yarp0-devel@lists.sourceforge.net> 18 Lorenzo Natale <lorenzo.natale@iit.it> 9 Giacomo Spigler <spiglerg@gmail.com> 5 Alessandro Scalzo <alessandro.scalzo@iit.it> 2 Giorgio Metta <giorgio.metta@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.2.3

YARP 2.2.3 (2009-05-22)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.2.2...v2.2.3):

76 Paul Fitzpatrick <paulfitz@alum.mit.edu> 39 Lorenzo Natale <lorenzo.natale@iit.it> 25 YARP Developers <yarp0-devel@lists.sourceforge.net> 9 Alessandro Scalzo <alessandro.scalzo@iit.it> 6 Francesco Nori <francesco.nori@iit.it> 1 Giacomo Spigler <spiglerg@gmail.com> 1 Ugo Pattacini <ugo.pattacini@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.2.4

YARP 2.2.4 (2009-09-09)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.2.3...v2.2.4):

98 Paul Fitzpatrick <paulfitz@alum.mit.edu> 42 Lorenzo Natale <lorenzo.natale@iit.it> 18 Ugo Pattacini <ugo.pattacini@iit.it> 6 YARP Developers <yarp0-devel@lists.sourceforge.net> 4 Arjan Gijsberts <arjan.gijsberts@idiap.ch> 3 Francesco Nori <francesco.nori@iit.it> 2 Alessandro Scalzo <alessandro.scalzo@iit.it> 1 Giacomo Spigler <spiglerg@gmail.com> 1 Giorgio Metta <giorgio.metta@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.2.5

YARP 2.2.5 (2009-12-04)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.2.4...v2.2.5):

126 Paul Fitzpatrick <paulfitz@alum.mit.edu> 28 Lorenzo Natale <lorenzo.natale@iit.it> 8 Ugo Pattacini <ugo.pattacini@iit.it> 4 Arjan Gijsberts <arjan.gijsberts@idiap.ch> 1 Alessandro Scalzo <alessandro.scalzo@iit.it> 1 YARP Developers <yarp0-devel@lists.sourceforge.net>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.2.6

YARP 2.2.6 (2010-01-20)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.2.5...v2.2.6):

26 Lorenzo Natale <lorenzo.natale@iit.it> 9 Paul Fitzpatrick <paulfitz@alum.mit.edu> 3 Ugo Pattacini <ugo.pattacini@iit.it> 1 Arjan Gijsberts <arjan.gijsberts@idiap.ch>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.2.7

YARP 2.2.7 (2010-05-04) {#v227}

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.2.6...v2.2.7):

52 Paul Fitzpatrick <paulfitz@alum.mit.edu> 18 Alessandro Scalzo <alessandro.scalzo@iit.it> 17 Lorenzo Natale <lorenzo.natale@iit.it> 10 Ugo Pattacini <ugo.pattacini@iit.it> 2 Daniel Krieg <krieg@fias.uni-frankfurt.de> 1 Arjan Gijsberts <arjan.gijsberts@idiap.ch>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.0

YARP 2.3.0 (2010-07-01)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.2.7...v2.3.0):

221 Paul Fitzpatrick <paulfitz@alum.mit.edu> 23 Lorenzo Natale <lorenzo.natale@iit.it> 16 Alessandro Scalzo <alessandro.scalzo@iit.it> 11 Ugo Pattacini <ugo.pattacini@iit.it> 2 Giacomo Spigler <spiglerg@gmail.com> 1 Daniel Krieg <krieg@fias.uni-frankfurt.de> 1 Jonas Ruesch <ruesch@ifi.uzh.ch> 1 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.1

YARP 2.3.1 (2010-09-21)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.0...v2.3.1):

143 Paul Fitzpatrick <paulfitz@alum.mit.edu> 15 Lorenzo Natale <lorenzo.natale@iit.it> 12 Alessandro Scalzo <alessandro.scalzo@iit.it> 12 Marco Randazzo <marco.randazzo@iit.it> 3 Giacomo Spigler <spiglerg@gmail.com> 3 Giorgio Metta <giorgio.metta@iit.it> 3 Ugo Pattacini <ugo.pattacini@iit.it> 2 Arjan Gijsberts <arjan.gijsberts@idiap.ch> 2 Bruno Nery <brunonery@brunonery.com> 2 Daniel Krieg <krieg@fias.uni-frankfurt.de> 1 Ze Ji <z.ji@herts.ac.uk>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.2

YARP 2.3.2 (2010-11-29)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.1...v2.3.2):

28 Paul Fitzpatrick <paulfitz@alum.mit.edu> 17 Ugo Pattacini <ugo.pattacini@iit.it> 8 Lorenzo Natale <lorenzo.natale@iit.it> 7 Marco Randazzo <marco.randazzo@iit.it> 1 Alessandro Scalzo <alessandro.scalzo@iit.it> 1 Arjan Gijsberts <arjan.gijsberts@idiap.ch> 1 Daniel Krieg <krieg@fias.uni-frankfurt.de> 1 Serena Ivaldi <arwen.h@gmail.com>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.3

YARP 2.3.3 (2010-12-17)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.2...v2.3.3):

9 Paul Fitzpatrick <paulfitz@alum.mit.edu> 8 Lorenzo Natale <lorenzo.natale@iit.it> 5 Alessandro Scalzo <alessandro.scalzo@iit.it> 4 Ugo Pattacini <ugo.pattacini@iit.it> 3 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.4

YARP 2.3.4 (2011-05-27)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.3...v2.3.4):

125 Paul Fitzpatrick <paulfitz@alum.mit.edu> 30 Lorenzo Natale <lorenzo.natale@iit.it> 14 Ugo Pattacini <ugo.pattacini@iit.it> 10 Alessandro Scalzo <alessandro.scalzo@iit.it> 4 Daniel Krieg <krieg@fias.uni-frankfurt.de> 4 Marco Randazzo <marco.randazzo@iit.it> 3 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 1 Arjan Gijsberts <arjan.gijsberts@idiap.ch> 1 Francesco Nori <francesco.nori@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.5

YARP 2.3.5 (2011-06-24)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.4...v2.3.5):

17 Paul Fitzpatrick <paulfitz@alum.mit.edu> 5 Alessandro Scalzo <alessandro.scalzo@iit.it> 4 Lorenzo Natale <lorenzo.natale@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.6

YARP 2.3.6 (2011-07-11)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.5...v2.3.6):

16 Paul Fitzpatrick <paulfitz@alum.mit.edu> 9 Ugo Pattacini <ugo.pattacini@iit.it> 3 Lorenzo Natale <lorenzo.natale@iit.it> 1 Alessandro Scalzo <alessandro.scalzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.7

YARP 2.3.7 (2011-07-22)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.6...v2.3.7):

26 Paul Fitzpatrick <paulfitz@alum.mit.edu> 2 Lorenzo Natale <lorenzo.natale@iit.it> 2 Marco Randazzo <marco.randazzo@iit.it> 1 Alessandro Scalzo <alessandro.scalzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.8

YARP 2.3.8 (2011-07-25)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.7...v2.3.8):

15 Duarte Aragao <daragao@gmail.com> 14 Paul Fitzpatrick <paulfitz@alum.mit.edu> 2 Lorenzo Natale <lorenzo.natale@iit.it> 1 Marco Randazzo <marco.randazzo@iit.it> 1 Vadim Tikhanoff <vadim.tikhanoff@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.9

YARP 2.3.9 (2011-08-19)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.8...v2.3.9):

18 Duarte Aragao <daragao@gmail.com> 14 Paul Fitzpatrick <paulfitz@alum.mit.edu> 4 Daniel Krieg <krieg@fias.uni-frankfurt.de> 2 Ugo Pattacini <ugo.pattacini@iit.it> 1 Fabien Benureau <fabien.benureau@gmail.com> 1 Marco Randazzo <marco.randazzo@iit.it> 1 Vadim Tikhanoff <vadim.tikhanoff@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.10

YARP 2.3.10 (2011-08-19)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.9...v2.3.10):

2 Lorenzo Natale <lorenzo.natale@iit.it> 2 Paul Fitzpatrick <paulfitz@alum.mit.edu>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.14

YARP 2.3.14 (2011-12-13)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.12...v2.3.14):

70 Ali Paikan <ali.paikan@iit.it> 47 Paul Fitzpatrick <paulfitz@alum.mit.edu> 36 Lorenzo Natale <lorenzo.natale@iit.it> 7 Ugo Pattacini <ugo.pattacini@iit.it> 3 Alessandro Scalzo <alessandro.scalzo@iit.it> 2 Duarte Aragao <daragao@gmail.com> 2 Marco Randazzo <marco.randazzo@iit.it> 1 Andrea Del Prete <andrea.delprete@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.12

YARP 2.3.12 (2011-09-13)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.10...v2.3.12):

15 Paul Fitzpatrick <paulfitz@alum.mit.edu> 7 Andrea Del Prete <andrea.delprete@iit.it> 5 Ali Paikan <ali.paikan@iit.it> 5 Lorenzo Natale <lorenzo.natale@iit.it> 2 Ugo Pattacini <ugo.pattacini@iit.it> 1 Alessandro Scalzo <alessandro.scalzo@iit.it> 1 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.15

YARP 2.3.15 (2012-01-27)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.14...v2.3.15):

14 Paul Fitzpatrick <paulfitz@alum.mit.edu> 9 Lorenzo Natale <lorenzo.natale@iit.it> 8 Ali Paikan <ali.paikan@iit.it> 4 Andrea Del Prete <andrea.delprete@iit.it> 1 Alberto Cardellino <alberto.cardellino@iit.it> 1 Ze Ji <z.ji@herts.ac.uk>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.19

YARP 2.3.19 (2012-07-05)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.15...v2.3.19):

84 Paul Fitzpatrick <paulfitz@alum.mit.edu> 42 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 41 Ugo Pattacini <ugo.pattacini@iit.it> 20 Lorenzo Natale <lorenzo.natale@iit.it> 17 Ali Paikan <ali.paikan@iit.it> 8 Alessandro Scalzo <alessandro.scalzo@iit.it> 8 Andrea Del Prete <andrea.delprete@iit.it> 3 Elena Ceseracciu <elena.ceseracciu@iit.it> 2 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.20

YARP 2.3.20 (2012-11-23)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.19...v2.3.20):

148 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 74 Paul Fitzpatrick <paulfitz@alum.mit.edu> 31 Lorenzo Natale <lorenzo.natale@iit.it> 10 Ugo Pattacini <ugo.pattacini@iit.it> 7 Alessandro Scalzo <alessandro.scalzo@iit.it> 7 Elena Ceseracciu <elena.ceseracciu@iit.it> 6 Marco Randazzo <marco.randazzo@iit.it> 4 Ali Paikan <ali.paikan@iit.it> 4 Francesco Nori <francesco.nori@iit.it> 2 Duarte Aragao <daragao@gmail.com> 1 Alberto Cardellino <alberto.cardellino@iit.it> 1 Fabien Benureau <fabien.benureau@gmail.com> 1 Vadim Tikhanoff <vadim.tikhanoff@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.20.1

YARP 2.3.20.1 (2012-12-19)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.20...v2.3.20.1):

3 Daniele E. Domenichelli <daniele.domenichelli@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.21

YARP 2.3.21 (2013-07-08)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.20...v2.3.21):

308 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 137 Paul Fitzpatrick <paulfitz@alum.mit.edu> 70 Ali Paikan <ali.paikan@iit.it> 35 Elena Ceseracciu <elena.ceseracciu@iit.it> 14 Alberto Cardellino <alberto.cardellino@iit.it> 13 Matteo Brunettini <matteo.brunettini@iit.it> 12 Lorenzo Natale <lorenzo.natale@iit.it> 11 Alessandro Scalzo <alessandro.scalzo@iit.it> 11 Ugo Pattacini <ugo.pattacini@iit.it> 3 Marco Randazzo <marco.randazzo@iit.it> 1 Valentina Gaggero <valentina.gaggero@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.22

YARP 2.3.22 (2013-07-26)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.21...v2.3.22):

7 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 6 Paul Fitzpatrick <paulfitz@alum.mit.edu> 5 Alberto Cardellino <alberto.cardellino@iit.it> 2 Matteo Brunettini <matteo.brunettini@iit.it> 1 Elena Ceseracciu <elena.ceseracciu@iit.it> 1 Lorenzo Natale <lorenzo.natale@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.61

YARP 2.3.61 (2014-01-31)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.60...v2.3.61):

2 Matteo Brunettini <matteo.brunettini@iit.it> 1 Alberto Cardellino <alberto.cardellino@iit.it> 1 Elena Ceseracciu <elena.ceseracciu@iit.it> 1 Paul Fitzpatrick <paulfitz@alum.mit.edu> 1 YARP Developers <yarp0-devel@lists.sourceforge.net>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.60

YARP 2.3.60 (2014-01-29)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.22...v2.3.60):

187 Paul Fitzpatrick <paulfitz@alum.mit.edu> 124 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 93 Elena Ceseracciu <elena.ceseracciu@iit.it> 22 Ali Paikan <ali.paikan@iit.it> 22 Konstantinos Theofilis <kostas@ams.eng.osaka-u.ac.jp> 18 Marco Randazzo <marco.randazzo@iit.it> 13 Lorenzo Natale <lorenzo.natale@iit.it> 9 Alberto Cardellino <alberto.cardellino@iit.it> 9 Ugo Pattacini <ugo.pattacini@iit.it> 8 Alessandro Scalzo <alessandro.scalzo@iit.it> 3 Matteo Brunettini <matteo.brunettini@iit.it> 1 Enrico Mingo <enrico.mingo@iit.it> 1 YARP Developers <yarp0-devel@lists.sourceforge.net>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.62

YARP 2.3.62 (2014-02-19)

========================

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.61...v2.3.62):

23 Paul Fitzpatrick <paulfitz@alum.mit.edu> 3 Matteo Brunettini <matteo.brunettini@iit.it> 2 Elena Ceseracciu <elena.ceseracciu@iit.it> 1 Alberto Cardellino <alberto.cardellino@iit.it> 1 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 1 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 2.3.63

YARP 2.3.63 (2014-07-14)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.61...v2.3.62):

83 Paul Fitzpatrick <paulfitz@alum.mit.edu> 73 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 32 Alberto Cardellino <alberto.cardellino@iit.it> 13 Ali Paikan <ali.paikan@iit.it> 13 Lorenzo Natale <lorenzo.natale@iit.it> 13 Ugo Pattacini <ugo.pattacini@iit.it> 11 Marco Randazzo <marco.randazzo@iit.it> 10 Elena Ceseracciu <elena.ceseracciu@iit.it> 6 Konstantinos Theofilis <kostas@ams.eng.osaka-u.ac.jp> 5 Silvio Traversaro <silvio.traversaro@iit.it> 4 Francesco Romano <francesco.romano@iit.it> 4 Mirko Ferrati <mirko8787@gmail.com> 3 Alessio Rocchi <alessio.rocchi@iit.it> 3 Francesco Giovannini <francesco.giovannini@iit.it> 2 Alessandro Scalzo <alessandro.scalzo@iit.it> 1 Matteo Brunettini <matteo.brunettini@iit.it> 1 Plinio Moreno <plinio@isr.tecnico.ulisboa.pt> 1 Valentina Gaggero <valentina.gaggero@iit.it> 1 YARP Developers <yarp0-devel@lists.sourceforge.net>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 3.3.1

YARP 3.3.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Dependencies

  • OpenCV 4 is now supported.

Bug Fixes

Libraries

YARP_dev

  • Fixed missing header for deprecation warning macro.

Devices

grabberDual

  • Fixed the double open issue. (#2121)

Tools

yarpdataplayer

  • Fixed the part-port mismatch due to bad sorting. (#2173)
  • Fixed the clock drifting when the player was paused for long time. (#2139)
  • Fixed the rpc request play while it is already running. (#2144)

Bindings

Perl

  • The RPATH for installed perl bindings is now correct.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.3.0..v3.3.1):

16 Nicolò Genesio <nicolo.genesio@iit.it> 6 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 1 Bartek Łukawski <bwmn.peter@gmail.com>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 3.3.0

YARP 3.3.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Dependencies

  • CMake 3.12 or later is now required.
  • Optional dependency on YCM now requires version 0.11.0 or later.
  • C++14 is now required.
  • OpenCV 4 is now explicitly unsupported.
  • Visual Studio 2015 is no longer supported.

Build System

  • CMake config files are now installed in lib/cmake also on windows.
  • The OS component is deprecated in favour of os (lowercase).

Libraries

YARP_os

  • The YARP_OS was renamed YARP_os. Using the old name is still supported, but deprecated.
  • yAssert is now a proper assertion macro (removed when NDEBUG is defined, i.e. `Release builds). If the expression tested has side-effects, program behavior will be different depending on whether NDEBUG is defined. This may create Heisenbugs which go away when debugging is turned on.
  • All yarp::os::Mutex related classes and methods are now deprecated in favour of std::mutex:
    • Classes:
    • yarp::os::Mutex
    • yarp::os::RecursiveMutex
    • yarp::os::AbstractLockGuard
    • yarp::os::LockGuard
    • yarp::os::RecursiveLockGuard
    • Methods:
    • yarp::os::Contactable::setCallbackLock(yarp::os::Mutex*)
    • yarp::os::AbstractContactable::setCallbackLock(yarp::os::Mutex*)
    • yarp::os::Port::setCallbackLock(yarp::os::Mutex*)
    • yarp::os::Buffered::setCallbackLock(yarp::os::Mutex*)
    • yarp::os::Timer::Timer(..., yarp::os::Mutex*)
  • yarp::os::Network::getDirectorySeparator and yarp::os::Network::getPathSeparator are now deprecated in favour of yarp::conf::filesystem::preferred_separator and yarp::conf::filesystem::path_separatorrespectively.
  • yarp::os::Runnable is now deprecated.
  • yarp::os::RateThreadWrapper is now deprecated.
  • The yarp::os::Property constructor using 'hash_size' was deprecated (it was already unused since the internal structure was ported to use std::map).
  • yarp::os::MessageStack constructor now accepts the max number of thread as size_t instead of int.
  • yarp::os::MessageStack constructor is now explicit.
  • yarp::os::MessageStack copy and move constructors and operators are now explicitly deleted.

YARP_dev

  • All devices are now plugins. They are enabled by default, but can be disabled if required.
  • The <yarp/dev/GenericSensorInterfaces.h> include file is deprecated in favour of <yarp/dev/IGenericSensor.h>.
  • The <yarp/dev/PreciselyTimed.h> include file is deprecated in favour of <yarp/dev/IPreciselyTimed.h>.
  • The <yarp/dev/SerialInterfaces.h> include file is deprecated in favour of <yarp/dev/ISerialDevice.h>.
  • The <yarp/dev/Wrapper.h> include file is deprecated in favour of <yarp/dev/IWrapper.h> and <yarp/dev/IMultipleWrapper.h>.
  • yarp::dev::DataSource and yarp::dev::DataSource2 are now deprecated.
  • yarp::dev::DataWriter and yarp::dev::DataWriter2 are now deprecated

New Features

Build System

  • The yarp_idl_to_dir command now accepts the PLACEMENT option:
    • MERGED: headers and sources in <OUTPUT_DIR>/<namespace>
    • SEPARATE: headers in <OUTPUT_DIR>/include/<namespace> sources in <OUTPUT_DIR>/src/<namespace>
    • SEPARATE_EVEN: alias for SEPARATE
    • SEPARATE_ODD: headers in <OUTPUT_DIR>/include/<namespace> sources in <OUTPUT_DIR>/src For backwards compatibility the default value is SEPARATE_ODD.
  • After calling the yarp_add_idl method, the YARP_ADD_IDL_INCLUDE_DIR variable contains the include directory for using the header files

Libraries

YARP_conf

  • Added yarp::conf::filesystem utilities (robotology/yarp#1855).

YARP_os

  • Cleanup of the signature of the following methods of yarp::os::Network:
    • static bool connect(const std::string& src, const std::string& dest, const ContactStyle& style)
    • static bool connect(const std::string& src, const std::string& dest, const std::string& carrier = "", bool quiet = true)
    • static bool connect(const char* src, const char* dest, const char* carrier, bool quiet = true)
    • static bool disconnect(const std::string& src, const std::string& dest, bool quiet)
    • static bool disconnect(const std::string& src, const std::string& dest, const ContactStyle& style)
    • static bool disconnect(const std::string& src, const std::string& dest, const std::string& carrier = "", bool quiet = true)
    • static bool disconnect(const char* src, const char* dest, const char* carrier, bool quiet = true)
    • static bool isConnected(const std::string& src, const std::string& dest, bool quiet)
    • static bool isConnected(const std::string& src, const std::string& dest, const ContactStyle& style)
    • static bool isConnected(const std::string& src, const std::string& dest, const std::string& carrier = "", bool quiet = true)
    • static bool isConnected(const char* src, const char* dest, const char* carrier, bool quiet = true)
  • Added move constructor and assignment operator to yarp::os::Searchable.
  • Added move constructor and assignment operator to yarp::os::Bottle.
  • Added move constructor and assignment operator to yarp::os::Property.
  • Added constructors that accept std::mutex instead of yarp::os::Mutex to yarp::os::Timer.
  • The Log colors can now be enabled also on windows when supported (robotology/yarp#2076)
  • Added setCallbackLock overrides to yarp::os::Contactable, yarp::os::AbstractContactable, yarp::os::Port, yarp::os::BufferedPort to pass a std::mutex instead of a yarp::os::Mutex.

YARP_dev

  • Added new interface yarp::dev::IFrameTranformClientControl
  • yarp::dev::TransformClient implements the new interface yarp::dev::IFrameTranformClientControl.
  • The rpc port of the yarp::dev::TransformClient allows to reconnect to the server.
  • yarp::dev::TransformServer allows the use of wildcard to erase all the transforms between a specified source and * or between * and a specified destination.
  • The rpc port of the yarp::dev::TransformServer allows to delete a given transform.

YARP_run

  • The ENABLE_YARPRUN_LOG fixed and deprecated in favour of YARP_ENABLE_YARPRUN_LOG.

Tools

yarpidl_trift

  • yarpidl_thrift now places the source files according to the "separate" layout.

yarpdatadumper

  • Fixed creating directories whose name contains not allowed characters (e.g. :, *, ...).
  • It's now possible to dump PNG images.
  • The timestamp info are now provided within info.log.

GUIs

yarpdataplayer

  • info.log files containing timestamp info are now handled.

devices

multipleanalogsensorsclient

  • Added the option externalConnection(false by default). This option disables the automatic connect to the rpc:o and measures:o of the respective multipleanalogsensorsserver. This implies that with this configuration the metadata is missing, then the device lacks of some informations such as the sensor name, the frame name etc. On the other hand it allows to connect/disconnect the client to the port measures:o of the server after being opened, and to work also when the rpc:o port is missing (e.g with the yarpdataplayer).

realsense2

  • Deprecated the needAlignment parameter in favour of alignmentFrame. The default behaviour has been maintaned, if not specified alignmentFrame is RGB. The allowed values are RGB, Depth and None.

mjpeg

  • The MJPEG_AUTOCOMPRESS CMake option is deprecated in favour of YARP_MJPEG_AUTOCOMPRESS

mpi

  • The MPI_DEBUG_MSG CMake option is deprecated in favour of YARP_MPI_DEBUG_MSG.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.2.0..v3.3.0): 332 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 26 Nicolò Genesio <nicolo.genesio@iit.it> 7 Ugo Pattacini <ugo.pattacini@iit.it> 5 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 4 Marco Randazzo <marco.randazzo@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 1 Carlotta Sartore <carlotta.sartore@iit.it> 1 Giovanni Saponaro <gsaponaro@isr.tecnico.ulisboa.pt> 1 Giulio Romualdi <giulio.romualdi@gmail.com> 1 Nicola Piga <nicolapiga@gmail.com> 1 Silvio Traversaro <silvio.traversaro@iit.it> 1 Valentina Gaggero <valentina.gaggero@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 3.2.2

YARP 3.2.2 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

Build System

  • OpenCV 4 is not supported yet, and rejected by the build system.

Devices

ovrheadset

  • Added the hands_relative parameter (robotology/yarp#2106)

USBCameraDriverRaw

  • Do not try to build when missing dependencies

Tools

yarpdataplayer

  • Fixed speed control not working

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.2.1..v3.2.2):

7 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 3 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 1 Giulio Romualdi <giulio.romualdi@gmail.com> 1 Marco Randazzo <marco.randazzo@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 3.2.1

YARP 3.2.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

Carriers

mjpeg

  • Fixed mjpeg carrier using BGR images (#2060, #2061).

Devices

MultipleAnalogSensorsRemapper

  • Fixed getTemperatureSensorMeasure method (#2056, #2058).

Tools

yarpidl_thrift

  • Fixed deserialization for map types (#2054).

yarprun

  • Fixed remote commands execution getting stucks with no answer (#2091).

GUIs

yarpdataplayer

  • Fixed internal virtual timing in the yarpdataplayer as timestamps were not consistent (#2049, #2052).

yarpmanager

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.2.0..v3.2.1):

170 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 4 Nicolò Genesio <nicolo.genesio@iit.it> 2 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 1 Giovanni Saponaro <gsaponaro@isr.tecnico.ulisboa.pt> 1 Valentina Gaggero <valentina.gaggero@iit.it>

- C++
Published by drdanz over 6 years ago

https://github.com/robotology/yarp - YARP 3.2.0 (2019-06-27)

YARP 3.2.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Dependencies

  • Optional dependency on YCM now requires version 0.10.4 or later.
  • Optional dependency on RobotTestingFramework now requires version 2 or later.
  • Rplidar SDK updated to 1.9.0
  • Thrift updated to 0.12.0
  • QCustomPlot 2 is now supported.
  • Optional dependency on LibOVR now requires version 1.17 or later.

Bindings

  • Removed support for 'Chicken Scheme' and 'Allegro Common Lisp'.
  • Swig 4 is now supported.

Devices

  • The portaudio and the ServerSoundGrabber device drivers are deprecated.

New Features

Build System

  • .ini files for plugins configured with yarp_prepare_plugin can now be automatically generated by yarp_add_plugin and installed by passing the YARP_INI DESTINATION argument to yarp_install.
  • The CREATE_LIB_MATH CMake option was renamed YARP_COMPILE_libYARP_math.
  • The CREATE_GUIS CMake option was renamed YARP_COMPILE_GUIS.
  • All the CREATE_<UPPERCASE_EXECUTABLE> were renamed YARP_COMPILE_<lowercase-executable>
  • All the YARP_USE_<UPPERCASEPACKAGENAME> were renamed YARP_USE_<PackageName>
  • All the YARP_USE_SYSTEM_<UPPERCASEPACKAGENAME> were renamed YARP_USE_SYSTEM_<PackageName>
  • All the internal CMake variables related to packages now use the same case as the relative CMake module (i.e. YARP_HAS_OpenCV instead of YARP_HAS_OPENCV)
  • yarp_idl_to_dir signature changed, and now supports passing optional parameters: yarp_idl_to_dir(INPUT_FILES <file> [file] OUTPUT_DIR <dir> [SOURCES_VAR <var>] [HEADERS_VAR <var>] [INCLUDE_DIRS_VAR <var>] [THRIFT_INCLUDE_PREFIX] [THRIFT_NO_NAMESPACE_PREFIX] [THRIFT_NO_COPYRIGHT} [THRIFT_NO_EDITOR] [THRIFT_NO_DOC] [VERBOSE]) The old behaviour is still supported, but deprecated.
  • yarp_idl_to_dir always regenerates files if they are not available.
  • yarp_idl_to_dir No longer generates build targets.
  • Files returned by yarp_idl_to_dir are now relative to current directory.

Libraries

YARP_conf

  • The yarp/conf/options.h header file is deprecated.

YARP_OS

  • The following methods signatures were changed to accept const char instead of int as terminating character:
    • ConnectionReader::expectText()
    • ConnectionWriter::appendString()
    • InputStream::readLine()
  • Added YarpPluginSelector::checkPlugin() static method.
  • ConnectionWriter::appendString() is deprecated in favour of appendText().
  • ConnectionWriter::appendRawString() is deprecated in favour of appendString().
  • Added ConnectionReader::expectString().
  • Added the initiliizer_list constructor in yarp::os::Property.
  • Added the initiliizer_list constructor in yarp::os::Bottle.
  • yarp::os::NameSpace: All methods in the interface that take ContactStyle as parameter, are now passed by reference instead of by value.
    • ```diff
    • virtual bool connectPortToTopic(const Contact& src, const Contact& dest, ContactStyle style) = 0;
    • virtual bool connectPortToTopic(const Contact& src, const Contact& dest, const ContactStyle& style) = 0; ```
    • ```diff
    • virtual bool connectTopicToPort(const Contact& src, const Contact& dest, ContactStyle style) = 0;
    • virtual bool connectTopicToPort(const Contact& src, const Contact& dest, const ContactStyle& style) = 0; ```
    • ```diff
    • virtual bool disconnectPortFromTopic(const Contact& src, const Contact& dest, ContactStyle style) = 0;
    • virtual bool disconnectPortFromTopic(const Contact& src, const Contact& dest, const ContactStyle& style) = 0; ```
    • ```diff
    • virtual bool disconnectTopicFromPort(const Contact& src, const Contact& dest, ContactStyle style) = 0;
    • virtual bool disconnectTopicFromPort(const Contact& src, const Contact& dest, const ContactStyle& style) = 0; ```
    • ```diff
    • virtual bool connectPortToPortPersistently(const Contact& src, const Contact& dest, ContactStyle style) = 0;
    • virtual bool connectPortToPortPersistently(const Contact& src, const Contact& dest, const ContactStyle& style) = 0; ```
    • ```diff
    • virtual bool disconnectPortToPortPersistently(const Contact& src, const Contact& dest, ContactStyle style) = 0;
    • virtual bool disconnectPortToPortPersistently(const Contact& src, const Contact& dest, const ContactStyle& style) = 0; ```

YARP_sig

  • Added ImageUtils.h, an header containing the following image utilities:
    • utils::vertSplit
    • utils::horzSplit
    • utils::vertConcat
    • utils::horzConcat
  • yarp::sig::file Added support to write .png files

  • Added the following methods to VectorOf:

    • VectorOf(std::initializer_list)
    • begin(), end(), cbegin(), cend()
    • reserve(size_t)
    • capacity()
    • push_back(T&&)
    • emplaceback(Args...)
  • Deprecated VectorOf::getFirst() in favour of data() and begin(). Use either data() if you need the pointer to the first element, or begin() if you need the iterator.

  • Added yarp::sig::IntrinsicParams and yarp::sig::YarpDistortion emum.

  • Added two methods for computing a yarp::sig::PointCloud from depth images:

    • utils::depthToPC
    • utils::depthRgbToPC
  • Deprecated getIplImage and wrapIplImage in favour of the new utilities of YARP_cv.

  • Added move semantics in yarp::sig::Image.

  • The yarp::sig::Sound class was heavily refactored:

    • New data types:
    • Sound::audio_sample (short int)
    • Changed signatures:
    • ```diff
      • Sound(int bytesPerSample)
      • Sound(size_t bytesPerSample) ```
    • ```diff
      • int get(sizet sample, sizet channel) const
      • audiosample get(sizet sample, size_t channel) const ```
    • ```diff
      • void set(int value, sizet sample, sizet channel)
      • void set(audiosample value, sizet sample, size_t channel) ```
    • ```diff
      • void setSafe(int value, sizet sample, sizet channel)
      • void setSafe(audiosample value, sizet sample, size_t channel) ```
    • ```diff
      • size_t getFrequency() const
      • int getFrequency() const ```
    • ```diff
      • void setFrequency(size_t freq)
      • void setFrequency(int freq) ```
    • Removed methods:
    • unsigned char *getRawData() const
    • size_t getRawDataSize() const
    • Added methods:
    • bool operator==(const Sound& alt) const
    • bool clearChannel(size_t channel)
    • Sound extractChannelAsSound(size_t channel_id) const
    • std::vector<std::reference_wrapper<audio_sample>> getChannel(size_t channel_id)
    • bool replaceChannel(size_t id, Sound channel)
    • std::vector<std::reference_wrapper<audio_sample>> getInterleavedAudioRawData() const
    • std::vector<std::reference_wrapper<audio_sample>> getNonInterleavedAudioRawData() const
    • std::string toString() const
    • double getDuration() const

YARP_dev

  • yarp::dev::IMap2D::clear() method renamed to yarp::dev::IMap2D::clearAllMaps().
  • yarp::dev::INavigation2D derives from INavigation2DControlActions and INavigation2DTargetActions.
  • yarp::dev::INavigation2DControlActions. The following methods have been added: getAllNavigationWaypoints(std::vector<yarp::dev::Map2DLocation>& waypoints) getCurrentNavigationWaypoint(yarp::dev::Map2DLocation& curr_waypoint) getCurrentNavigationMap(yarp::dev::NavigationMapTypeEnum map_type, yarp::dev::MapGrid2D& map)
  • yarp::dev::INavigation2DTargetActions. The following method has been added: gotoTargetByRelativeLocation(double x, double y)
  • The following method now accepts a parameter (with default value = infinite for backward compatibility): yarp::dev::INavigation2DTargetActions::suspendNavigation(const double time_s = std::numeric_limits<double>::infinity())
  • yarp::dev::ILocalization2D added the new two following methods:
    • bool getLocalizationStatus(LocalizationStatusEnum& status)
    • bool getEstimatedPoses(std::vector<yarp::dev::Map2DLocation>& poses)
  • yarp::dev::ILocalization2D added the new type: LocalizationStatusEnum
  • yarp::dev::IBattery::getBatteryStatus() now uses Battery_status enum, instead of int.
  • yarp::dev::INavigation2D. Added method yarp::dev::INavigation2DControlActions::recomputeCurrentNavigationPath().
  • yarp::dev::INavigation2D. Added helper static methods:
    • yarp::dev::INavigation2DHelpers::statusToString()
    • yarp::dev::INavigation2DHelpers::stringToStatus()
  • yarp::dev::INavigation2D. Added method: yarp::dev::INavigation2D::getNameOfCurrentTarget() to the interface.
  • yarp::dev::INavigation2D. Method: yarp::dev::INavigation2D::gotoTargetByLocationName() now accepts area names.
  • yarp::dev::INavigation2D. Added class yarp::dev::Map2DArea.
  • yarp::dev::INavigation2D. Added methods getArea(), checkInsideArea() and checkNearToLocation().
  • yarp::dev::INavigation2DTargetActions. Added method applyVelocityCommand().
  • yarp::dev::Map2DServer. Changed locations.ini file format to support load/save of Map2DLocation and Map2DArea.
  • Updated AnalogWrapper to open multiple ros topics for wrenchStamped ros msg type.
  • Added const counterpart of yarp::dev::CanBuffer::getPointer().
  • yarp::dev::IMap2D Added method yarp::dev::IMap2D::renameLocation()
  • yarp::dev::IMap2D Added method yarp::dev::IMap2D::renameArea()
  • Added yarp::dev::CircularAudioBuffer and yarp::dev::AudioBufferSize classes.
  • IAudioRender:
    • Changed signatures:
    • ```diff
      • bool renderSound(yarp::sig::Sound& sound)
      • bool renderSound(const yarp::sig::Sound& sound) ```
    • Added methods:
    • bool getPlaybackAudioBufferMaxSize(yarp::dev::AudioBufferSize& size)
    • bool getPlaybackAudioBufferCurrentSize(yarp::dev::AudioBufferSize& size)
    • bool resetPlaybackAudioBuffer()
    • bool getRecordingAudioBufferMaxSize(yarp::dev::AudioBufferSize& size)
    • bool getRecordingAudioBufferCurrentSize(yarp::dev::AudioBufferSize& size)
    • bool resetRecordingAudioBuffer()
  • IAudioGrabberSound:
    • Changed signatures:
    • ```diff
      • bool getSound(yarp::sig::Sound& sound)
      • bool getSound(yarp::sig::Sound& sound, sizet minnumberofsamples, sizet maxnumberofsamples, double maxsamplestimeout_s) ```
    • Added methods:
    • bool getRecordingAudioBufferMaxSize(yarp::dev::AudioBufferSize& size)
    • bool getRecordingAudioBufferCurrentSize(yarp::dev::AudioBufferSize& size)
    • bool resetRecordingAudioBuffer()

YARP_cv

  • Added YARP_cv, a conversion library from YARP images to cv::Mat and viceversa.

Devices

  • New devices:
    • fakeBattery
    • navigation2DServer
    • localization2DServer
    • usbCamera (imported from the iCub repository)
    • fakeNavigation
    • fakeLocalizer
    • audioRecorderWrapper
    • portaudioRecorder
    • portaudioPlayer
    • audioPlayerWrapper
    • fakeSpeaker
    • fakeMicrophone
  • Add physFocalLength parameter for RGBD devices (check documentation for more details).

BatteryWrapper

  • Now handles correctly --subdevice option.

imuBosch_BNO055

  • Added MultipleAnalogSensor interface support.
  • Fixed conversion factor for gyro and magnetometer.
  • Fixed unit measure in ThreeAxis interface.

Navigation2DClient

  • Added handler for rpc string commands. By default the port is called <client_name>/user_commands/rpc.

fakeLaser

  • Added configuration parameters to set the range and the resolution of the device.

analogServer

  • Has learned to forward return codes to analogSensorClient (#1981).
  • Now forwards calibrateSensor(const yarp::sig::Vector& value) calls to wrapped subdevices.

ServerSoundGrabber

  • No longer implements IAudioGrabberSound.

ServerFrameGrabber

  • No longer implements audio interfaces.

RFModules

  • Added the possibility to compile RFModules as plugin and load them runtime in a single process context.

Tools

yarprobotinterface

  • YARP//DTD yarprobotinterface 3.0//EN is now the default parser for robot xml configuration files. yarprobotinterface will not run anymore deprecated DTD format v1.0

yarpidl_thrift

  • The thrift tool was refactored.
  • Fix list serialization for i8, i16 and i64 (#1962)
  • Structs can now be exported in dll APIs using the yarp.api.include and yarp.api.keyword annotations.
  • Portables serialized using appendExternalBlock (i.e. yarp::sig::Vector) can now be safely returned by thrift methods.
  • Files are now generating using namespace as subdirectory (this can be disabled using the nonamespaceprefix option.
  • Constants and typedefs are now properly generated in the namespace.

yarphear

  • Use portaudioPlayer instead of portaudio device.

GUIs

yarpmanager

  • Allow to specify an address for every host in the cluster-config.xml file. This allow to use host names that cannot be resolved automatically by the network.

yarpview

  • Added size (w,h) info for:
    • the image received on the yarp port
    • the image currently displayed in yarpview

Bug Fixes

Libraries

YARP_dev

  • ImplementPositionControl::checkMotionDone now correctly returns a single value as from API (#2027).

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.1.0..v3.2.0):

411 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 154 Nicolò Genesio <nicolo.genesio@iit.it> 76 Marco Randazzo <marco.randazzo@iit.it> 70 Alberto Cardellino <alberto.cardellino@iit.it> 19 Valentina Gaggero <valentina.gaggero@iit.it> 13 Silvio Traversaro <silvio.traversaro@iit.it> 11 Bartek Łukawski <bwmn.peter@gmail.com> 8 Damiano Enerli <damiano.enerli@iit.it> 7 Ugo Pattacini <ugo.pattacini@iit.it> 5 Yeshasvi Tirupachuri <yeshasvi.tirupachuri@iit.it> 4 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 4 Claudio Fantacci <claudio.fantacci@iit.it> 4 Stefano Dafarra <stefano.dafarra@iit.it> 3 Andrea Ruzzenenti <ruzzenenti.a@gmail.com> 3 Matteo Brunettini <matteo.brunettini@iit.it> 2 Arren Glover <arren.glover@iit.it> 2 Diego Ferigo <diego.ferigo@iit.it> 2 Nuno Guedelha <nuno.guedelha@iit.it> 2 Prashanth Ramadoss <prashanth.ramadoss@iit.it> 2 Tobias Fischer <t.fischer@imperial.ac.uk> 1 Austin Kothig <kothiga2112@gmail.com> 1 Emilio Benenati <emilio.benenati@iit.it> 1 Francesco Romano <francesco.romano@iit.it> 1 GiulioRomualdi <giulio.romualdi@gmail.com> 1 Jason Chevrie <jason.chevrie@iit.it> 1 Mohamed Babiker Mohamed Elobaid <mohamed.elobaid@iit.it> 1 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 1 YARP Developers <yarp0-devel@lists.sourceforge.net>

- C++
Published by mbrunettini almost 7 years ago

https://github.com/robotology/yarp - YARP 3.1.2 (2019-06-03)

YARP 3.1.2 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

CMake

  • Fixed issue in YarpPlugin when INTERNAL is enabled and dependencies are not available (#2024).

Libraries

YARP_dev

  • Fixed PolyDriver linking issues on Ubuntu 18.04.

Devices

realsense2

  • Correctly detect color sensor on D435i (#2010).

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.1.1..v3.1.2):

8 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 2 Alberto Cardellino <alberto.cardellino@iit.it> 1 Bartek Łukawski <bwmn.peter@gmail.com> 1 Emilio Benenati <emilio.benenati@iit.it>

- C++
Published by drdanz almost 7 years ago

https://github.com/robotology/yarp - YARP 3.1.1 (2019-04-18)

YARP 3.1.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

New Features

Build System

  • Added YARP_DISABLE_VERSION_SOURCE cmake variable to disable version source when building YARP. This is an useful option for developers, since it avoids rebuilding everything whenever the commit or the dirty state changes. Please disable this option when including YARP version in bugs reports.

Bug Fixes

CMake Modules

YarpInstallationHelpers

  • Changed / in \ path.d under Windows (#1513).

Libraries

YARP_OS

  • Fixed write() in BufferedPort after interrupting-resuming(#1834).
  • Fixed assertion when YARP_FORWARD_LOG_ENABLE=1 (#1851).
  • Fixed impl/PlatformSysStat.h installation.
  • Fixed Port from performing resume() operations if not interrupted(#1896).
  • Fixes missing initialization value for Network Clock port

YARP_dev

  • Fixed IControlLimits.h not being a self-sufficient header (#1845).
  • Added missing YARP_dev_API to IRobotDescription.
  • Made optional the view of IFrameGrabberControls in RGBDSensorWrapper (#1875).
  • Fixed header inclusion in ImplementControlLimits2.h.
  • Fixed interface pointer checks in ControlBoardWrapper.
  • Added timeout check in all data streamed by *\stateExt:o ports (#1833).

YARP_companion

  • Fixed api.h installation.

YARP_sig

  • Fixed element contruction when calling VectorOf<T>::push_back().
  • Fixed build when ZFP is installed.
  • Fixed possible buffer overrun in PointCloudTypes

Tools

yarpidl_thrift

  • Fixed serialisation / deserialisation of maps (#1802).

Bindings

  • Fixed usage of methods that take in input a yarp::sig::Vector in bindings (#1828).
  • Disabled extended analog sensor interfaces in C# to allow compilation of these bindings (#1830).
  • Added bindings for yarp::os::Wire and yarp::os::WireLink

GUIs

yarpdataplayer

  • Fixed memory leak when using cvLoad(...).

Devices

RemoteControlBoard

  • Added timeout parameter.

realsense2

  • Fixed set/getDepthAccuracy methods (#1877).

ffmpeg

  • Fixed compilation on debian testing (#1849).

imuBosch_BNO055

  • Fixed runtime linking issue.
  • Fixed shifted read from i2c.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.1.0..v3.1.1):

112 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 33 Nicolò Genesio <nicolo.genesio@iit.it> 8 Damiano Enerli <damiano.enerli@iit.it> 7 Alberto Cardellino <alberto.cardellino@iit.it> 6 Silvio Traversaro <silvio.traversaro@iit.it> 3 Bartek Łukawski <bwmn.peter@gmail.com> 3 Marco Randazzo <marco.randazzo@iit.it> 2 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 2 Arren Glover <arren.glover@iit.it> 2 Diego Ferigo <diego.ferigo@iit.it> 2 Nuno Guedelha <nuno.guedelha@iit.it> 2 Tobias Fischer <t.fischer@imperial.ac.uk> 2 Ugo Pattacini <ugo.pattacini@iit.it> 1 Claudio Fantacci <claudio.fantacci@iit.it> 1 Matteo Brunettini <matteo.brunettini@iit.it> 1 Mohamed Babiker Mohamed Elobaid <mohamed.elobaid@iit.it> 1 Valentina Gaggero <valentina.gaggero@iit.it>

- C++
Published by drdanz about 7 years ago

https://github.com/robotology/yarp - YARP 3.1.0 (2018-07-31)

YARP 3.1.0 (2018-07-31) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

New Features

Libraries

YARP_OS

  • Vocab is now a namespace, and yarp::os::createVocab replaces VOCAB1\2\3\4 that are now deprecated.

YARP_DEV

  • The following files have been renamed:
    • yarp/dev/ImplementControlLimits.h (from yarp/dev/IControlLimitsImpl.h)
    • yarp/dev/ImplementControlLimits2.h (from yarp/dev/IControlLimits2Impl.h)
    • yarp/dev/ImplementInteractionMode.h (from yarp/dev/IInteractionModeImpl.h)
    • yarp/dev/ImplementPidControl.h (from yarp/dev/IPidControlImpl.h)
    • yarp/dev/ImplementPositionControl.h (from yarp/dev/IPositionControlImpl.h)
    • yarp/dev/ImplementPositionControl2.h (from yarp/dev/IPositionControl2Impl.h)
    • yarp/dev/ImplementPositionDirect.h (from yarp/dev/IPositionDirectImpl.h)
    • yarp/dev/ImplementVelocityControl.h (from yarp/dev/IVelocityControlImpl.h)
    • yarp/dev/ImplementVelocityControl2.h (from yarp/dev/IVelocityControl2Impl.h)
    • yarp/dev/ImplementVirtualAnalogSensor.h (from yarp/dev/IVirtualAnalogSensorImpl.h)
  • The following classes have been refactored.
    • These classes are no more template classes:
    • ImplementControlCalibration
    • ImplementAmplifierControl
    • ImplementEncoders
    • Class definitions were moved from yarp/dev/ImplementControlBoardInterfaces.h to:
    • yarp/dev/ImplementControlCalibration.h
    • yarp/dev/ImplementAmplifierControl.h
    • yarp/dev/ImplementEncoders.h
    • File yarp/dev/ControlBoardInterfacesImpl-inl.h has been removed.
  • Class IControlCalibration refactored. The following methods were renamed:
    • done(int j) -> calibrationDone(int j)
    • doneRaw(int j) -> calibrationDoneRaw(int j)
    • calibrate() -> calibrateRobot()
  • Class IControlCalibrationRaw refactored. The following methods were renamed:
    • calibrateRaw(int, unsigned int, double, double, double) -> calibrateAxisWithParamsRaw(int, unsigned int, double, double, double)
    • calibrate(int, unsigned int, double, double, double) -> calibrateAxisWithParams(int, unsigned int, double, double, double)
  • The file yarp/dev/ControlBoardInterfaces.h has been split into multiple files:
    • yarp/dev/IAmplifierControl.h
    • yarp/dev/IAxisInfo.h
    • yarp/dev/IControlDebug.h
    • yarp/dev/IControlLimits.h

YARP_sig

  • Vector made typedef of VectorOf<double>(#1598).

Devices

imuBosch_BNO055

  • Added support for i2c.

yarptestgrabber

  • Added test [time] which draws a text timestamp directly on the image.

Tools

yarp

  • Added yarp name runners command to get a list of the ports offering yarprun utilities

Bindings

IInteractionMode interface bindings

  • Added bindings for the interface IInteractionMode. The change extends the yarp::dev::IInteractionMode and the yarp::dev::IImpedanceControl classes.

Multiple Analog Sensors interfaces bindings

  • Minor refactoring of main header MultipleAnalogSensorsInterfaces.h defining the interfaces: IThreeAxisGyroscopes, IThreeAxisLinearAccelerometers, IThreeAxisMagnetometers, IOrientationSensors, ITemperatureSensors, ISixAxisForceTorqueSensors, IContactLoadCellArrays, IEncoderArrays, ISkinPatches.
  • Extended these interfaces for wrapping the cast functions (PolyDriver*)->view(<sensor_interface*>).
  • For this purpose, defined and used a new macro CAST_POLYDRIVER_TO_INTERFACE.
  • extended the new interfaces for wrapping all other methods which Swig struggles to handle, using a new Swig macro defined in macrosForMultipleAnalogSensors.i
  • refactored the from/toMatlab() wrappers and extended them to the classes: std::vector<double>, std::vector<bool>, std::vector<int>, yarp::sig::Vector.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.0.0..v3.1.0):

100 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 69 Nicolò Genesio <nicolo.genesio@iit.it> 26 Damiano Enerli <damiano.enerli@iit.it> 17 Marco Randazzo <marco.randazzo@iit.it> 8 Nuno Guedelha <nuno.guedelha@iit.it> 4 Valentina Gaggero <valentina.gaggero@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 2 Emilio Cartoni <emilio.cartoni@yahoo.it> 2 Lorenzo Rapetti <lorenzo.rapetti@iit.it> 2 Matteo Brunettini <matteo.brunettini@iit.it> 2 Ugo Pattacini <ugo.pattacini@iit.it> 1 Alberto Cardellino <alberto.cardellino@iit.it> 1 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 1 Claudio Fantacci <claudio.fantacci@iit.it> 1 Mohamed Babiker Mohamed Elobaid <mohamed.elobaid@iit.it>

- C++
Published by mbrunettini almost 8 years ago

https://github.com/robotology/yarp - YARP 3.0.1 (2018-07-25)

YARP 3.0.1 (2018-07-25) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

  • Optional dependency on YCM now requires version 0.9.0 or later.
  • The idl_tools component is now required in order to use yarp_idl_to_dir and yarp_add_idl.

YARP_rosmsg

  • Removed all getTypeText() and typeText() methods, replaced by static constexpr const char* typeText variable.

New Features

  • Python and ruby bindings tests are now integrated with ctest

Libraries

YARP_rosmsg

  • Added static constexpr const char* typeName, static constexpr const char* typeChecksum and static constexpr const char* typeText variables to all generated classes.

Tools

yarprobotinterface

  • Added parser for yarprobotinterface .xml format 3.0

Bug Fixes

Build System

  • Fixed issue with vtk config files when looking for the pcl component.
  • Fixed java bindings.
  • Fixed static builds.
  • Added components for private libraries (needed for static builds)
  • Added components for yarpcar and yarpmod.
  • When using YARPMODULEPATH a deprecation warning is printed (YCM should be used instead).
  • Deprecation warnings when calling find_package(YARP) more than once are no longer printed.
  • Fix configuration when YARP_COMPILE_CARRIER_PLUGINS and YARP_COMPILE_DEVICE_PLUGINS is set to OFF.
  • When using FeatureSummary, find_package(YARP) adds the DESCRIPTION and URL properties.
  • When using FeatureSummary, find_package(YARP) no longer adds YCM to the optional dependencies.
  • Fixed behavior of OPTIONAL_COMPONENTS in find_package(YARP) calls when the REQUIRED option was passed on. Now, a YARP bundle will be considered not found if any of such components is missing.
  • Plugins not enabled due to missing dependencies are now shown in ccmake and cmake-gui together with a list of dependencies that are not satisfied.
  • Removed the NORECURSE argument to `yarpidltodirandyarpaddidl`.

Libraries

YARP_OS

  • Fixed SharedLibraryClass::getContent(). Now a const and a non const version are available.
  • Fixed SharedLibraryClassFactory::destroy(). Now it is const like create().
  • Added initialization of MultiNameSpace in Network::initMinimum.

YARP_dev

  • Fixed getCurrent/getCurrents. Now the stateExt port is used, and the methods are called through the iCurrentControl interface.
  • Fixed deprecation message placement for the constructor of IJoypadEventDriven. It was failing enabling c++14 compiling with gcc(#1747).
  • Fixed ImplementCurrentControl::getCurrentRanges(double*min, double *max): where conversion from Sensor to Ampere was missing.
  • Fixed ImplementCurrentControl::getCurrentRanges(j, double *min, double *max): where conversion from Sensor to Ampere was missing.
  • Fixed ImplementPositionControl::checkMotionDone(bool *flag) where axes conversion was missing.

YARP_math

  • Fixed a regression in the build system that prevented YARP from being compiled if Eigen3 was available.

YARP_pcl

  • Fixed missing isDense parmeter.

YARP_sig

  • Fixed negative vocab(#1749).

YARP_rosmsg

  • Fixed message_definition property for all classes.

Tools

yarpidl_rosmsg

  • Removed the --no-recurse option.
  • The message_definition property is now properly generated.

GUIs

yarpscope

  • Fixed double free during the closure. It has been introduced by #1685 (commit 02abf63).

Devices

rplidar2

  • Fixed compilation (#1689).

realsense2

  • Fixed deadlock on macOS(see IntelRealSense/librealsense:#1855). Actually to fix it also are needed these changes IntelRealSense/librealsense:#2022.

multipleanalogsensorsremapper

  • Fixed sensors name remapping in MultipleAnalogSensorsRemapper class.

batteryClient

  • Fixed plugin name.

batteryWrapper

  • Fixed plugin name.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.0.0..v3.0.1):

93 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 28 Nicolò Genesio <nicolo.genesio@iit.it> 24 Damiano Enerli <damiano.enerli@iit.it> 5 Marco Randazzo <marco.randazzo@iit.it> 3 Valentina Gaggero <valentina.gaggero@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 2 Lorenzo Rapetti <lorenzo.rapetti@iit.it> 2 Ugo Pattacini <ugo.pattacini@iit.it> 1 Alberto Cardellino <alberto.cardellino@iit.it> 1 Claudio Fantacci <claudio.fantacci@iit.it> 1 Mohamed Babiker Mohamed Elobaid <mohamed.elobaid@iit.it> 1 Nuno Guedelha <nuno.guedelha@iit.it>

- C++
Published by mbrunettini almost 8 years ago

https://github.com/robotology/yarp - YARP 3.0.0 (2018-06-11)

YARP 3.0.0 (2018-06-11) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

  • All YARP libraries can now be modified and distributed under the terms of the BSD-3-Clause license. See the accompanying LICENSE file for details.
  • Visual Studio 2013 is no longer supported.
  • CMake 3.5 or later is now required.
  • Optional dependency on YCM now requires version 0.8.0 or later.
  • All the functionalities deprecated before YARP 2.3.72 were removed.

Build System

  • The CREATE_DEVICE_LIBRARY_MODULES option was renamed YARP_COMPILE_DEVICE_PLUGINS and is now enabled by default.
  • The CREATE_OPTIONAL_CARRIERS option was renamed YARP_COMPILE_CARRIER_PLUGINS and is now enabled by default.
  • YARP now accepts the keyboard COMPONENTS in find_package(YARP) calls. The YARP_LIBRARIES variable contains only the libraries corresponding to the components requested in the last find_package(YARP) call. If no components are specified, the OS, sig, dev and math (only when enabled) components are searched.
  • The YARP_INCLUDE_DIRS variable is deprecated, as it is handled automatically by CMake targets.
  • The YARP_MATH_LIBRARY is deprecated. You can check for YARPmath using `findpackage(YARP COMPONENTS math)`

Libraries

YARP_conf

  • The YARP_WRAP_STL_STRING and YARP_WRAP_STL_STRING_INLINE are now always undefined, and they are now considered deprecated.

YARP_OS

  • The shmem carrier is no longer builtin inside YARP_OS and it is now a plugin.
  • The Run class was moved to the new library YARP_run
  • yarp::os::setprogname() is now deprecated.
  • yarp::os::getprogname() is now deprecated.
  • yarp::os::SystemInfo::getProcessInfo() now returns info for current process when called without arguments.
  • The methods yarp::os::Mutex::tryLock() and yarp::os::RecursiveMutex::tryLock() were deprecated in favour of try_lock().
  • ConstString is now deprecated in favour of std::string.
  • Replaced YARP_INT{8,16,32,64} with std::int{8,16,32,64}_t from cstdint
  • Use defines from cinttypes instead of YARP_INT64_FMT
  • Add yarp::conf::float{32,64,128}_t (128 only if supported)
  • Add yarp::conf::ssize_t
  • Deprecate YARP_INT{8,16,32,64} in favour of std::int{8,16,32,64}_t
  • Deprecate YARP_FLOAT{32,64} in favour of yarp::conf::float{32,64}_t
  • Deprecate YARP_INT64_FMT in favour of PRId64
  • Deprecate YARP_CONF_SSIZE_T in favour of yarp::conf::ssize_t
  • Add the following methods:
    • yarp::os::Bottle::addInt{8,16,32,64}()
    • yarp::os::Bottle::addFloat{32,64}()
    • yarp::os::Value::{is,as,make}Int{8,16,32,64}()
    • yarp::os::Value::{is,as,make}Float{32,64}()
    • yarp::os::ConnectionWriter::appendInt{8,16,32,64}()
    • yarp::os::ConnectionWriter::appendFloat{32,64}()
    • yarp::os::ConnectionReader::expectInt{8,16,32,64}()
    • yarp::os::ConnectionReader::expectFloat{32,64}()
    • BOTTLE_TAG_INT{8,16,32,64} (BOTTLE_TAG_INT32 = BOTTLE_TAG_INT)
    • BOTTLE_TAG_FLOAT{32,64} (BOTTLE_TAG_FLOAT64 = BOTTLE_TAG_DOUBLE)
  • The following methods are not deprecated due to the large codebase where they are used, but their usage in new code is discouraged, and it is forbidden inside YARP. Anyway, all these methods are now calling the corresponding Int32 and Float64 version, but are not architecture safe, since they still accept int and double.
    • yarp::os::Bottle::addInt()
    • yarp::os::Bottle::addDouble()
    • yarp::os::Value::isInt()
    • yarp::os::Value::isDouble()
    • yarp::os::Value::asInt()
    • yarp::os::Value::asDouble()
    • yarp::os::Value::makeInt()
    • yarp::os::Value::makeDouble()
    • yarp::os::ConnectionWriter::appendInt()
    • yarp::os::ConnectionWriter::appendDouble()
    • yarp::os::ConnectionReader::expectInt()
    • yarp::os::ConnectionReader::expectDouble()
    • BOTTLE_TAG_INT
    • BOTTLE_TAG_DOUBLE
  • Value constructors are now explicit.
  • Thread setOptions() and setDefaultStackSize() are now deprecated and no longer doing anything.
  • The YARP_STACK_SIZE environment variable is no longer used.
  • Portable::getType() became Portable::getType() const(#1617).
  • PortWriter::getWriteType() became PortWriter::getWriteType() const(#1621).
  • PortReader::getReadType() became PortReader::getReadType() const(#1616).
  • Companion has been moved to a dedicated library (#1509). As consequences:
    • Following functions has been moved from Companion to NetworkBase: disconnectInput, poll, sendMessage, wait (wait() has been splitted into two new functions waitConnection() and waitPort().
    • Companion::exists() has been removed unifying its code with NetworkBase::exists().
    • readString() function has been deprecated in NetworkBase.
  • RateThread has been deprecated in favour of the new class PeriodicThread. Note that RateThread used the period in msec(int), PeriodicThread requires the period in sec(double), so remember to consider a x1000 factor when migrate the code.
  • Several methods in public interfaces have a slightly different signature (see #1738 for details).
  • It is now possible to write a const Portable on a Port.
  • const Bytes and const ManagedBytes can no longer return non-const pointers to the underlying data.

YARP_dev

  • The serial device is no longer a plugin, but it is automatically built with YARP_dev.
  • The following devices are no longer built with YARP_dev and are now plugins:
    • ServerSoundGrabber
    • BatteryClient
    • BatteryWrapper
    • FrameTransformClient
    • FrameTransformServer
    • Localization2DClient
    • Map2DClient
    • Map2DServer
    • Navigation2DClient
    • Rangefinder2DClient
    • Rangefinder2DWrapper
  • The following headers were removed:
    • /yarp/dev/DeviceGroup.h
    • /yarp/dev/DevicePipe.h
    • /yarp/dev/IKinectDeviceDriver.h
    • /yarp/dev/IOpenNI2DeviceDriver.h
    • /yarp/dev/RemoteFrameGrabber.h
    • /yarp/dev/ServerFrameGrabber.h
    • /yarp/dev/ServerSerial.h
    • /yarp/dev/ServerSoundGrabber.h
    • /yarp/dev/TestMotor.h
    • /yarp/dev/RemoteFrameGrabberDC1394.h
  • A class of interfaces to wrap multiple analog sensors is now available in:
    • /yarp/dev/MultipleAnalogSensorsInterfaces.h
  • The devices multipleanalogsensorsserver, multipleanalogsensorsclient and multipleanalogsensorsremapper are available for exposing and accessing the multiple analog sensors over a network, and for combining multiple devices in a single device (remapper).
  • Major changes to IPidControlImpl.cpp to allow conversion of PID gains from metric to machine units.
  • Major changes to TorqueControlImpl to allow conversion of bemf, ktau parameters from metric to machine units.
  • Major changes to ControlBoardHelper classes, implementation is now contained in a separate .cpp file. Removed inline functions.
  • Added file PidEnums.h
  • Added missing method setNominalCurrentRaw() to IAmplifierControl interface.
  • Removed all control board interfaces methods e.g. setTorquePid(), setPositionMode() etc, marked as deprecated since 2.3.70
  • In ControlBoardWrapper functions for all joints invoke the equivalent function for all joints of motion control device. In the previous versions, that function call the equivalent function single-joint in a for-cicle, so the function for all joints in motion control devices have never been called. So please, check the implementation of function for all joints in your motion control device because now they will be invoked for the fisrt time.
  • The following classes have been deprecated:
    • ICalibrateControl2 in favour of ICalibrateControl.
    • ICalibrateControl2Raw in favour of ICalibrateControlRaw.
    • IFrameGrabberControl2 in favour of IFrameGrabberControl.
    • FrameGrabberControl2Impl in favour of FrameGrabberControlImpl
    • IControlLimits2 in favour of IControlLimits.
    • IControlLimits2Raw in favour of IControlLimitsRaw.
    • ImplementControlLimits2 in favour of ImplementControlLimits.
    • IControlMode2 in favour of IControlMode.
    • IControlMode2Raw in favour of IControlModeRaw.
    • ImplementControlMode2 in favour of ImplementControlMode.
    • IPositionControl2Raw in favour of IPositionControlRaw.
    • IPositionControl2 in favour of IPositionControl.
    • ImplementPositionControl2 in favour of ImplementPositionControl.
    • IVelocityControl2Raw in favour of IVelocityControlRaw.
    • IVelocityControl2 in favour of IVelocityControl.
    • ImplementVelocityControl2 in favour of ImplementVelocityControl.
  • IPositionDirectRaw::setPositionsRaw(const int, const int*, double*) became IPositionDirectRaw::setPositionsRaw(const int, const int*, const double*).
  • IPositionDirect::setPositions(const int, const int*, double*) became IPositionDirect::setPositions(const int, const int*, const double*)(#1351).
  • The file yarp/dev/ControlBoardInterfacesImpl.inl was renamed yarp/dev/ControlBoardInterfacesImpl-inl.h
  • Several methods in public interfaces have a slightly different signature (see #1738 for details).

YARP_sig

  • The file yarp/sig/IplImage.h is deprecated, use opencv headers instead.
  • Added the yarp::sig::PointCloud class. See the documentation for details.
  • if libjpeg is found, namespace yarp::sig::file implements a write method to save jpeg images.

YARP_manager

  • The following headers were removed:
    • /yarp/manager/ymm-dir.h

libyarpcxx

  • The libyarpcxx was removed.

YARP_math

  • added new utility methods to Quaternion class.
  • method toRotationMatrix() has been renamed to toRotationMatrix4x4() to avoid confusion with method toRotationMatrix3x3().
  • operators for yarp::math::<class>es have been moved from the yarp::math to the global namespace.
  • libYARP_math is now enabled by default if Eigen3 is found.

YARP_companion

  • new library created to isolate the old yarp::os::Companion.

Tools

yarpidl_thrift

  • Classes generated by yarpidl_thrift now transfer 8/16 bit integers using 8/16 bits instead of 32. This makes it incompatible with YARP 2.

Devices

  • The following devices are no longer available in YARP, they will be available in the yarp-deprecated-devices repository:
    • cuda
    • nvidia
    • stage
    • vfw
    • wxsdl
    • jrkerr
    • urbtc
    • kinect
    • openni2
    • PumaCalibrator
    • meiMotionControl
    • microphone
    • dimax_u2c

New Features

Build System

  • It is possible to have coloured output when running CMake, by setting the CLICOLOR_FORCE=1 environment variable. This is not enabled by default because it is not GUI friendly.

CMake Modules

YarpPlugin

  • Added OPTION, DEFAULT and DOC options to yarp_begin_plugin_library. If the option is disabled, all plugins in the bundle are automatically disabled.
  • Removed VERBOSE and YarpPlugin_VERBOSE options to yarp_prepare_plugin

Libraries

  • New auto-generated interface libraries for ros messages:
    • YARProsmsgstd_msgs
    • YARProsmsgactionlib_msgs
    • YARProsmsgdiagnostic_msgs
    • YARProsmsggeometry_msgs
    • YARProsmsgnav_msgs
    • YARProsmsgsensor_msgs
    • YARProsmsgshape_msgs
    • YARProsmsgstereo_msgs
    • YARProsmsgtrajectory_msgs
    • YARProsmsgvisualization_msgs
    • YARProsmsgtf
    • YARProsmsgtf2_msgs
    • YARP_rosmsg (includes all the other rosmsg libraries)

YARP_OS

  • yarp::os::Mutex and yarp::os::RecursiveMutex now implement the C++11 Mutex concept.
  • Added a Timer class to execute a static or member function in a separate thread after a period x, every y milliseconds, for z times or w seconds.
  • Improved performance of tcp and fasttcp carriers. TCPNODELAY and TCP_CORK has been added in the SocketTwoWayStream::open(), in SocketTwoWayStream::flush is disabled and then re-enabled.
  • Added ResourceFinder::setDefault() overloads for int32_t and float64_t.

YARP_sig

  • yarp::sig::file::[read|write](ImageOf<PixelFloat>&) services refactored to store data in binary formats.

Carriers

  • mjpeg carrier is now compatible also with mono images.

Tools

yarpidl_thrift

  • Ported to thrift 0.11.0.

yarpdatadumper

  • Added option --type image_jpg to save frames as jpeg images.

yarpidl_rosmsg

  • Fixed verbose output.
  • Added new --no-cache argument.
  • Added new --no-index argument.
  • Fixed generation when message files are in the msg folder.
  • Added new --no-recurse argument. This option can be enabled when using yarp_idl_to_dir and yarp_add_idl, using the NO_RECURSE argument.
  • Classes are now in the yarp::rosmsg namespace.
  • Files are now in the yarp/rosmsg subfolder.
  • _indexALL.txt files are generated only for the requested types.
  • Old style files are still generated if yarpidl_rosmsg is not built with YARP_NO_DEPRECATED enabled, but they are considered deprecated.
  • Only required included files are now included.
  • Updated YarpIDL to support the new file names in yarp_add_idl.

Devices

ControlBoardWrapper

  • Added error code in attaching subdevices.
  • Added realsense2 device.

Bindings

IMotorEncoders interface bindings

  • IMotorEncoders interface methods can be used to directly monitor the motor shaft position and speed or even to control the motor positions individually when estimating coupled motors friction parameters.
  • Added bindings for the interface IMotorEncoders. The change extends the yarp::dev::PolyDriver and the yarp::dev::IMotorEncoders classes.

Bug Fixes

Libraries

YARP_OS

  • Fixed race condition in yarp::os::Nodes.
  • An Int64 value no longer returns true when isInt() is called.

GUIs

  • Made yarpdataplayer able to deal with ImageOf<PixelFloat> also with OpenCV.
  • Fixed yarpdataplayer image overlapping.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.72..v3.0.0):

490 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 242 Nicolò Genesio <nicolo.genesio@iit.it> 28 Marco Randazzo <marco.randazzo@iit.it> 14 Juan G. Victores <jcgvicto@gmail.com> 13 Silvio Traversaro <silvio.traversaro@iit.it> 12 Alberto Cardellino <alberto.cardellino@iit.it> 12 Valentina Gaggero <valentina.gaggero@iit.it> 10 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 8 Damiano Enerli <damiano.enerli@iit.it> 8 Ugo Pattacini <ugo.pattacini@iit.it> 6 Nuno Guedelha <nuno.guedelha@iit.it> 4 Bartek Łukawski <bwmn.peter@gmail.com> 4 Lorenzo Rapetti <lorenzo.rapetti@iit.it> 4 Matteo Brunettini <matteo.brunettini@iit.it> 2 Claudio Fantacci <claudio.fantacci@iit.it> 2 Prashanth Ramadoss <prashanthramadoss@gmail.com> 2 Yeshasvi Tirupachuri <yeshasvitvs@gmail.com> 1 Bertrand Higy <bertrand.higy@iit.it> 1 Vadim Tikhanoff <vadim.tikhanoff@iit.it>

- C++
Published by mbrunettini almost 8 years ago

https://github.com/robotology/yarp - YARP 2.3.72.1 (2018-06-11)

YARP 2.3.72.1 (2018-06-11) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

Build System

  • Fixed build with CMake < 3.4

CMake Modules

  • Removed IMPORTED_GLOBAL property from YarpOSXUtilities.cmake.

Libraries

YARP_sig

  • Fixed bug in yarp::sig::Sound::operator+=

YARP_dev

  • ControlBoardWrapper now correctly passes on any monitoring to wrapped subdevices.
  • Subdevices wrapped by ControlBoardWrapper are now identified by their actual name by the monitor object, that is, their name will be displayed on the command line if yarpdev was called with --verbose. Previously, it used a generic "subdevice" identifier.
  • Added missing IFrameGrabberControl2 to RGBDSensorWrapper.
  • Fixed RGBDSensorWrapper compatibilty with frameGrabberGui2.
  • Fixed joint remapping in method getRefVelocity().
  • Fix VOCAB_CURRENT_REF_GROUP message parser in ControlBoardWrapper (#1734)

YARP_serversql

  • Added check if rossrv, tcpros and xmlrpc are installed when yarpserver is launched with --ros option. (#722)

YARP_OS

  • Added timeout parameter in TcpConnector::connect() to unify behaviour with the ACE_SOCK_Connector.

GUIs

yarpscope

  • Fixed bottle handling.

yarpmanager

  • Added checkNetwork before contacting the nameserver.(#1536)
  • Added the ping on yarprun nodes.
  • Fixed mismatch of port connections when not ordered by ID.(#964)
  • Fixed mismatch of resources when not ordered by ID

yarpmotorgui

  • Fixed compilation on macOS

yarplogger

  • Fixed compilation on macOS

Devices

ControlBoardRemapper

  • Fixed getEncoderAccelerations() method.

depthCamera

  • Fixed find OpenNI2 in CMakelists.txt.

AnalogWrapper

  • Fixed issue preventing publication of FT sensor data to ROS.

Bindings

  • Fixed out of source builds.
  • Added SWIG_PREPROCESSOR_SHOULD_SKIP_THIS to avoid the SWIG preprocessor from parsing VOCAB. Introduced SWIG-compliant working VOCAB definitions in yarp.i, with required checks on target language and SWIG version.
  • Removed related hacks required for compilation from YARP internals.
  • Added test_vocab.lua to catch regressions on VOCAB in the future.
  • Renamed test_string.lua to more representative test_port.lua, enabled it to run without the yarpserver, and integrate it in the test infrastructure.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.72..v2.3.72.1):

55 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 21 Nicolò Genesio <nicolo.genesio@iit.it> 14 Juan G. Victores <jcgvicto@gmail.com> 6 Alberto Cardellino <alberto.cardellino@iit.it> 5 Silvio Traversaro <silvio.traversaro@iit.it> 3 Damiano Enerli <damiano.enerli@iit.it> 3 Ugo Pattacini <ugo.pattacini@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 2 Claudio Fantacci <claudio.fantacci@iit.it> 2 Marco Randazzo <marco.randazzo@iit.it> 2 Matteo Brunettini <matteo.brunettini@iit.it> 2 Nuno Guedelha <nuno.guedelha@iit.it> 1 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 1 Lorenzo Rapetti <lorenzo.rapetti@iit.it> 1 Prashanth Ramadoss <prashanthramadoss@gmail.com>

- C++
Published by mbrunettini almost 8 years ago

https://github.com/robotology/yarp - YARP 2.3.72 (2018-02-12)

YARP 2.3.72 (2018-02-12) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

  • All the functionalities deprecated in YARP 2.3.65 and previous releases were removed.
  • C++11 is required also for using YARP, not just for compiling.
  • Optional dependency on YCM now requires version 0.6.0 or later.
  • Optional dependency on RTF now requires version 1.4.0 or later.
  • Dropped YARP1 support.
  • Changed how JAVA bindings are generated
  • yarp::sig::image::getIplImage() now can return a null pointer (instead of teminating with an assert) for not valid Ipl image formats
  • yarp::sig::image::setPixelCode() now set the pixelSize accordingly (which should not be set). Since yarp::sig::image::setPixelSize() also sets an arbitrary pixel code equal to negative itself (setPixelSize(3) will set the pixelCode to -3), it should be use only for image with custom formats not covered by a yarp pixelCode.

Libraries

YARP_OS

  • Clock refactoring: clock type can be initialized in the yarp::os::Network constructor or in the Network::init() function. This will take precedence over the environment variable. yarp::os::SystemRateThread class created as RateThread clone but runs using system clock only, independently from other settings. Any call to yarp::os::Time::now() or delay() before the object yarp::os::Network is initialized will abort the program in order to avoid undefined behaviour of uninitialized Time object
  • Contactable::open(void) was deprecated. Use open("...") instead.
  • The following methods in yarp::os::RateThread are now protected instead of public:
    • virtual bool threadInit();
    • virtual void threadRelease();
    • virtual void run() = 0;
    • virtual void beforeStart();
    • virtual void afterStart(bool success);
  • The following methods in yarp::os::PortReaderBufferBase are now deprecated:
    • void setAllowReuse(bool flag = true)
    • void release(yarp::os::PortReader* completed)
  • The methods yarp::os::Bottle::operator==() and yarp::os::Bottle::operator!=() are now const.

New Features

Libraries

YARP_OS

  • Added the property yarprun to ports opened through yarprun --server.
  • Added the property nameserver for the port opened through yarpserver.
  • The method yarp::os::Network::runNameServer() was removed.
  • Added possibility to enable and disable macOS AppNap (yarp/os/Os.h).
  • Added a few missing ConstString::assign overloads.
  • Added method yarp::os::carrier::createFace(), that returns the needed face of the carrier. This method is used in carriers::listen() and carriers::connect() in order to open new connection using the correct face.
  • The YARP_WRAP_STL_STRING option value is now by default OFF on non-MSVC platforms. This means that yarp::os::ConstString is now by default a typedef to std::string on these platforms.
  • Improve how parameters are given to the chosen carrier for a connection: all parameters given both on registration and on connect command are collected and made available in the connection initialization step.
  • Added support for register a contact with an associated carrier different from tcp. If the chosen carrier provides a custom yarp::os::Face implementation this becomes the handler of incoming connections. In any case the carrier becomes the default for future connections.

YARP_dev

  • Added a new interface for visual servoing: IVisualServoing.h.
  • yarp::dev::CanBuffer now supports a const version of operator[].
  • Methods of yarp::dev::IVirtualAnalogSensor renamed in order to avoid conflicts with similar methods of yarp::dev::IAnalogSensor.
  • FrameGrabber: add a way to get cropped image via RPC. Streaming of full images can be disabled.

YARP_serversql

  • Added a new Server class for using yarp server inside an applications. Both the yarp server application and the yarpserver rtf fixture use it.

Carriers

  • New H264 carrier. It let you to read and decoding a h264 stream published by Gstreamer server.

Devices

ovrheadset

  • Added hud element setted by the configuration file and connected diretly to image ports

Map2DServer

  • Several RPC commands were added and removed.
  • Added options ROS::enable_ros_subscriber and ROS::enable_ros_publisher.

laserHokuyo

  • Serial port configuration is now searched in the SERIALPORTCONFIGURATION configuration group.

GUIs

  • New yarpviz gui imported from https://github.com/robotology/yarpviz

yarpmanager

  • Imported the iCubCluster GUI from iCub (https://github.com/robotology/icub-main/tree/master/app/iCubCluster). It is available only on Unix.
  • Added file system watcher to reload the applications when the xml has been modified externally. The automatic reload can be disabled through a dedicated checkbox in "File" menu.
  • Added yarp name list and yarp clean actions after importing profiling capabilities of yarpviz.
  • Added modifiers column in the connection list for portmonitors.
  • Added the possibility to switch broker run-time, from LocalBroker to YarpBroker and viceversa.

RTF Plugins

  • yarpserver: created a RTF Fixture manager for running yarpserver as a fixture.

Bindings

Java

  • Completely refactored JAVA Bindings (#1372) Java sources and pre-compiled classes are no more generated during the build process (PREPARE_CLASS_FILES option has been removed too). Two .jar files are instead generated and installed:
    • <install_dir>/share/yarp/java/yarp.jar: contains all the YARP Java classes.
    • <install_dir>/share/yarp/java/yarp_matlab_java.jar: contains Java utilities for MATLAB. The JNI libraries to be loaded by the JAVA application is now called libyarp_java.jnilib and it is installed in <install_dir>/lib/jni/libyarp_java.jnilib.
  • Changed package of JAVA MATLAB Utilities: from global package to yarp.matlab

Bug Fixes

Libraries

YARP_OS

  • Added unprepare method to Publisher. See BufferedPort for documentation on how to use prepare and unprepare (#1425).
  • Optimized Stamp::read() and Stamp::write() for textMode.

YARP_sig

  • Fixed pixelSize information loss in yarp::sig::FlexImage:::read().

GUIs

yarpmanager

  • Fixed the check of the status of the Computers, now it verifies that the corresponding port has been opened through yarp run. Be aware that after these changes yarpmanager will not detect machines with yarp 2.3.70 and earlier.
  • Added scan among the available carriers when you click connect and disconnect, if the specified carrier is not available a proper error message will be written on log.
  • the column carrier in the connection list has been substituted with a combobox with the available carriers.

yarpdataplayer

  • Fixed yarpdataplayer going to idle because of AppNap on macOS (#1153)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.70..v2.3.72):

192 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 169 Nicolò Genesio <nicolo.genesio@iit.it> 166 Damiano Enerli <damiano.enerli@iit.it> 64 Alberto Cardellino <alberto.cardellino@iit.it> 49 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 35 Marco Randazzo <marco.randazzo@iit.it> 25 Francesco Romano <francesco.romano@iit.it> 22 Ali Paikan <ali.paikan@iit.it> 14 Claudio Fantacci <claudio.fantacci@iit.it> 13 Silvio Traversaro <silvio.traversaro@iit.it> 12 Valentina Gaggero <valentina.gaggero@iit.it> 7 YARP Developers <yarp0-devel@lists.sourceforge.net> 5 Bartek Łukawski <bwmn.peter@gmail.com> 5 Nuno Guedelha <nuno.guedelha@iit.it> 4 Ugo Pattacini <ugo.pattacini@iit.it> 3 David-Estevez <david.estevez.fdez@gmail.com> 3 Lorenzo Natale <lorenzo.natale@iit.it> 2 Juan G Victores <jcgvicto@gmail.com> 2 Matteo Brunettini <matteo.brunettini@iit.it> 1 Elena Rampone <elena.rampone18@gmail.com> 1 Giovanni Saponaro <gsaponaro@isr.ist.utl.pt> 1 Marco Monforte <marco.monforte@iit.it> 1 Massimiliano Iacono <massimiliano.iacono@iit.it>

- C++
Published by mbrunettini over 8 years ago

https://github.com/robotology/yarp - YARP 2.3.70.2 (2017-12-11)

YARP 2.3.70.2 (2017-12-11) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Libraries

YARP_OS

  • Unification of code in DGramTwoWayStream for the allocation of write and read buffers (#899).
  • Added extra checks in the port names in Network:metaConnect(), with dedicated error messages.

YARP_math

  • The RandScalar methods are now using C++11 mersenne_twister_engine instead of a custom engine.

Carriers

  • portmonitor, rossrv, tcpros, and xmlrpc carriers can now be enabled when SKIP_ACE is ON.

Build System

  • Added YARP_DISABLE_OSX_BUNDLES option to disable macOS bundles.

  • Added YARP_DISABLE_FAILING_TESTS option to disable tests known for randomly failing due to race conditions.

Bug Fixes

  • Fixed several warnings reported by Clang static analyzer.
  • Fixed several defects reported by Coverity.

Libraries

YARP_OS

  • Fixed truncation of double in Property::fromString().
  • Fixed append to wrong string in BufferedConnectionWriter.h.
  • Fixed yarp::os::ConstString::getline for MSVC (#1357).
  • Reverted flush() added in YARP v2.3.71.1 at the end of AbstractCarrier::writeYarpInt().

YARP_dev

  • Fixed RPC calls when connecting to right image port (split mode on)

Tools

  • Added the fallback port in yarpserver also if yarp is compiled without ACE, since we support mcast without ACE since v2.3.70.
  • Fixed yarpdev --list for Windows.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.70.1..v2.3.70.2):

144 Damiano Enerli <damiano.enerli@iit.it> 60 Nicolò Genesio <nicolo.genesio@iit.it> 39 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 9 Alberto Cardellino <alberto.cardellino@iit.it> 3 Silvio Traversaro <silvio.traversaro@iit.it> 1 Marco Monforte <marco.monforte@iit.it>

- C++
Published by drdanz over 8 years ago

https://github.com/robotology/yarp - YARP 2.3.70.1 (2017-09-21)

YARP 2.3.70.1 (2017-09-21) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Bug Fixes

CMake Modules

  • Full paths were never exported by yarp_configure_external_installation command. This has been fixed.

Libraries

YARP_OS

  • Fixed Route::swapNames() segfault in Windows and MacOS.
  • Fixed mcast without ACE on macOS
  • Fixed memory leak for inactive carriers
  • Fixed mcast, the connection now continue working also if you disconnect the first mcast connection.
  • Removed the inheritance from SocketTwoWayStream in LocalCarrierStream.
  • Fixed setConnectionQos() for local carrier.
  • Added flush() at the end of AbstractCarrier::writeYarpInt() to finalize the write.
  • Fixed memory leak in port authentication.
  • Fixed Buffer not null terminated in impl/SplitString.
  • Added the check for spaces in the port names in Network:metaConnect().

YARP_dev

  • IPWMControl and ICurrentControl interfaces are now correctly wrapped by the the ControlBoardRemapper.

YARP_manager

  • Removed using namespace directive from headers.

Devices

rplidar2

  • Fixed build on MSVC

GUIs

yarpview

  • Fixed coordinates of clicked point when yarpview window is resized.
  • Added Unix signal handler(SIGQUIT, SIGINT, SIGTERM, SIGHUP).

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.70..v2.3.70.1):

30 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 21 Nicolò Genesio <nicolo.genesio@iit.it> 3 Marco Randazzo <marco.randazzo@iit.it> 2 Bartek Łukawski <bwmn.peter@gmail.com> 1 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 1 Matteo Brunettini <matteo.brunettini@iit.it> 1 Nuno Guedelha <nuno.guedelha@iit.it> 1 Silvio Traversaro <silvio.traversaro@iit.it> 1 Ugo Pattacini <ugo.pattacini@iit.it>

- C++
Published by drdanz over 8 years ago

https://github.com/robotology/yarp - YARP 2.3.70 (2017-06-15)

YARP 2.3.70 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

System Configuration

  • The YARP_CONF environment variable has been deprecated for a long time (since April 2013) and it is no longer used. Since there was not a proper warning, the warning is printed now at runtime when the variable is set. See ResourceFinder::getConfigHome() documentation for informations about paths used by YARP to detect the configuration files. If you still need to use the YARP_CONF for some reason, you can use the YARP_CONFIG_HOME environment variable instead.

Build System

  • A compiler supporting C++11 is now required.
  • CMake 3.0 or newer is now required.
  • Optional dependency on YCM now requires version 0.4.0 (devel) or later.
  • Robot Testing Framework (RTF) 1.2.0 is now an optional dependency.

CMake Modules

  • YarpPlugin
    • The following commands, deprecated since YARP 2.3.21, were removed:
    • BEGIN_PLUGIN_LIBRARY
    • ADD_PLUGIN_NORMALIZED
    • PREPARE_PLUGIN
    • PREPARE_DEVICE
    • PREPARE_CARRIER
    • END_PLUGIN_LIBRARY
    • ADD_PLUGIN_LIBRARY_EXECUTABLE
    • YARP_ADD_PLUGIN_LIBRARY_EXECUTABLE
  • The YARP_HAS_NAME_LIB variable has been removed since YARP_name is always available, and is considered a private library.
  • All CMake targets now export the include directories required to build using that library. Using include_directories(${YARP_INCLUDE_DIRS}) should no longer be required.
  • YarpPlugin.cmake and YarpInstallationHelpers.cmake are now automatically included from YARPConfig.cmake, therefore all commands defined in these files are available after find_package(YARP). Including them explicitly is now considered deprecated. For the same reason, adding YARP_MODULE_PATH to the CMAKE_MODULE_PATH variable is considered deprecated. If you need some modules not available in CMake, please consider using YCM.

Libraries

  • A lot of refactoring was performed in order to improve c++11 usage and to simplify porting to other platforms without ACE

YARP_conf

  • Added the new YARP_conf header only library target. Formerly these files existed but they did not belong to any target.

YARP_OS

  • The i command is now enabled only in Debug and DebugFull builds.
  • The following commands have been marked as deprecated and will be removed in future version of YARP:
    • yarp::os::exit()
    • yarp::os::abort()
    • yarp::os::signal()
    • yarp::os::ResourceFinder::setContext(const char* contextName)

YARP_dev

  • Opening a device using a configuration of type (device (device (foo bar))) is now deprecated, use (device (foo bar)) instead.
  • Removed some old interfaces methods, deprecated since yarp 2.3.65. i.e: setPositionDirectMode(), setPositionMode(), setVelocityMode(), setOpenLoopMode(),setTorqueMode()`, etc.
  • Removed Interface IOpenLoopControl, deprecated since yarp 2.3.65.
  • Removed deprecated device ClientControlBoard and related tests.
  • Removed deprecated device ServerControlBoard and related tests.
  • Major changes to iPIDControl methods. Now they aren't bound anymore to Position Control. (#499) They accept a new parameter PidControlTypeEnum which defines the PID id on which the method will operate. For example setPid(const PidControlTypeEnum& pidtype, int j, const Pid &pid). Currently, pidtype can be one of the following types:
    • VOCAB_PIDTYPE_POSITION,
    • VOCAB_PIDTYPE_VELOCITY,
    • VOCAB_PIDTYPE_TORQUE,
    • VOCAB_PIDTYPE_CURRENT.
  • All pid-related methods from interfaces different from iPidControl have been deprecated. To provide backward-compatibility, old methods automatically call the new methods (e.g. setTorquePid(int j, const Pid &pid) calls setPid(VOCAB_PIDTYPE_TORQUE,int j,const PID &pid))
  • The following methods have been deprecated, use IControlMode2::setControlMode(int, VOCAB_CM_XXX) instead:
    • IControlMode::setPositionMode(int)
    • IControlMode::setVelocityMode(int)
    • IControlMode::setTorqueMode(int)
    • IControlMode::setImpedancePositionMode(int)
    • IControlMode::setImpedanceVelocityMode(int)
    • ...plus their IControlModeRaw counterparts

YARP_math

  • YARP_math can no longer be built using GSL. The CREATE_LIB_MATH_USING_GSL option was removed. Only Eigen is supported. FindGSL.cmake is no longer installed.

New Features

CMake Modules

  • YarpPlugin
    • Add QUIET/VERBOSE arguments and YarpPlugin_QUIET/VERBOSE variables.
  • YarpInstallationHelpers
    • A new command yarp_configure_plugins_installation has been introduced to simplify installation of YARP plugins when yarp_configure_external_installation is not invoked.

Libraries

  • New library libYARP_rtf to simplify the creation of unit tests using the Robot Testing Framework (RTF) and YARP. This is a slightly modified version of the RTFYARPutilities library in RTF 1.0. It can be enabled with the option YARP_COMPILE_RTF_ADDONS.

YARP_OS

  • The following methods were added to the yarp::os namespace:
    • char* yarp::os::getcwd(char *buf, size_t size)
    • int yarp::os::fork(void)
  • The following methods were added to the yarp::os::Publisher class:
    • virtual void onRead(T &datum)
    • void useCallback(TypedReaderCallback< T > &callback)
    • void useCallback()
    • void disableCallback()
  • The following methods were added to the yarp::os::Subscriber class:
    • void setStrict(bool strict = true)
  • The following overload method is added to the yarp::os::ResourceFinder class:
    • bool setDefaultContext(const yarp::os::ConstString& contextName)
  • Added clear() method to PID class.
  • The class yarp::os::Route was refactored:
    • The following methods were deprecated:
    • addFromName()
    • addToName()
    • addCarrierName()
    • addToContact()
    • The following methods were added:
    • setFromName()
    • setToName()
    • setCarrierName()
    • setToContact()
    • swapNames()

YARP_dev

  • Added getRgbResolution and getRgbSupportedConfigurations to the IRgbVisualParams interface.
  • Added the new yarp::dev::IJoypadController interface and the new JoypadControlClient and JoypadControlServer devices.
  • Added rpc port to dialogue with FrameTransformClient. The implemented commands are:
    • get_transform: print the transform from src to dst
    • list_frames: print all the available refence frames
    • list_ports: print all the opened ports for tranform broadcasting
    • publish_transform: opens a port to publish transform from src to dst
    • unpublish_transform: closes a previously opened port to publish a transform
    • unpublish_all: closes a all previously opened ports to publish a transform
  • iPIDControl class pulled out from ControlBoardInterfaces yarpdev headers and put in separated files. Reimplemented without templates.
  • Gaze control: added sync equivalent to lookAt-like methods in order to wait for reply.
  • Added iRobotDescription interface.
  • Added two new motion control interfaces: IPWMControl, ICurrentControl and related helpers for units conversions.
  • Added IMap2D interface.
  • Added yarp::dev::MapGrid2D data type.
  • Added IHapticDevice interface.

YARP_math

  • Added methods:
    • yarp::sig::Vector dcm2ypr(const yarp::sig::Matrix&)
    • yarp::sig::Matrix ypr2dcm(const yarp::sig::Vector&)
  • Added template class Vec2d<>. can be only instantiated as int or double.
  • Added operator*(quaternion, quaternion) overload for quaternion multiplication
  • Added normalize method in the quaternion class

Tools

yarpidl_rosmsg

  • All generated classes now implement the clear() method.

GUIs

yarplaserscannergui

  • Accept --help argument.

yarpview

  • Added --autosize and checkbox to force yarpview to resize whenever a frame of a different size is received.
  • Implemented dragvector function on yarpview. Left-click on the image and keep left button pressed: yarpview starts to draw a line. When the left button is released, the coordinates of the initial and the final point are sent to the 'out' yarp port.

yarpmotorgui:

  • Create an instance of RobotDescriptionClient to automatically get the names of robot parts.
  • New button "idle all parts".
  • New button "execute script1/2".
  • yarpmotorgui now enforces the correct "go to home" behaviour:
    • home is asked to the robot, and, as a consequence, the "Home" button will apply the robot home position as specified by the Calibrator, see this comment in QA#108
    • added possibility to specified custom positions in the configuration file. These positions can be executed by newly introduced "Custom positions" submenus. Syntax is described in the yarpmotorgui documentation. #1160
  • Added CurrentPid tab in yarpmotorgui.
  • Added new control mode widgets to handle current and pwm control modes.

yarpmanager

  • Handle also wait states upon shutting down the modules of an application (#1051).
  • Added local and environment variable parsing (#885, #1031).
  • Added --addcurrentdir option.

Carriers

  • New zfp portmonitor for compressing floating point arrays using the ZFP library (see http://computation.llnl.gov/projects/floating-point-compression).

Devices

  • Added new RobotDescriptionServer device to store devices info.
  • Added new RobotDescriptionClient device. User module can ask a list of registered devices using the iRobotDescription interface.
  • Added new device Map2DServer to store navigation maps.
  • Added new device Map2DClient. User module can perform operations on the stored maps using the iMap2D interface.
  • Added new SDLJoypad device.
  • Added new rpLidar2 device.
  • Added new fakeDepthCamera device.
  • Added new device ServerGrabber to handle one or two camera devices in function of the configuration.

AnalogWrapper

  • ROS param was changed from joint_names to jointNames like the controlBoardWrapper. The old name is deprecated.
  • Deprecated all the constructors except for the one without arguments.

controlboardwrapper

  • Reduced message size of of the stateExt:o port of nearly 30%.

TestFrameGrabber

  • The TestFrameGrabber was removed from libYARP_dev and it is now an optional plugin.

ovrheadset

  • Ported to the latest Oculus SDK. Compatibility with the old SDK was dropped. Supporting both the old and the new SDK is really not worth the effort. Therefore, since Linux and macOS are not supported by the latest SDK, only Windows is currently supported. If you need support on Linux or macOS you can checkout commit a05fec65e7bc67cceba5c59f26881e98590fccf7 from git history.
  • A few options (--multisample, --no-overdrive, --no-hqdistortion, and --no-timewarp) and the relative toggles were removed, since they can no longer be enabled/disabled from the SDK .
  • It can now display YARP logo in the bottom-right corner (disable with --no-logo from command line or toggle with [T] while running). This is useful to ensure that the device is working while waiting for the connection.
  • It can now display a crosshairs at the center of the scene (disable with --no-crosshairs from command line or toggle with [C] while running).
  • It can now be connected to a battery and display the status as an overlay at the top-right corner (disable with --no-battery from command line or toggle with [B] while running)

RemoteControlBoard

  • Dropped compatibility with ControlBoardWrapper2 devices that does not have the stateExt:o port. The state:o port in the wrapper is still available for encoder reading.
  • The protocol was changed and compatibility for devices using the old protocol was dropped.
  • added implementation of IPWMControl, ICurrentControl.
  • added control modes: VOCABCMCURRENT, VOCABCMPWM.
  • Added new values in the statExt : pwmDutycycle, current.
  • Removed deprecated value from statExt: PidOutput.

ServerFrameGrabber

  • ServerFrameGrabber now implements the interface yarp::dev::IRgbVisualParams for parsing rgb camera parameters.

TestFrameGrabber

  • Added new 'mode = size option to broadcast a simple video with variable frame size.
  • TestFrameGrabber now implements the interface yarp::dev::IRgbVisualParams for parsing rgb camera parameters.

RTF Plugins

  • The yarpmanager RTF Fixture Managers was imported from robotology/robot-testing, and allows one to start a fixture using yarpmanager. It can be enabled with the option YARP_COMPILE_RTF_ADDONS.
  • The yarpplugin RTF Fixture Managers was imported from robotology/icub-tests (Originally YarpPluginFixture), and allows one to check if a yarp plugin is available. It can be enabled with the option YARP_COMPILE_RTF_ADDONS.

Bindings

  • Add bindings for yarp/os/Log.h and yarp/os/LogStream.h. It allows the following: python import yarp logger = yarp.Log() logger.debug('See how cool this is')

Bug Fixes

Libraries

YARP_OS

  • Fixed mcast carrier without ACE.

YARP_dev

  • Fixed FrameTransformClient::getTransform() (#1184)
  • Fixed an on-closure segfault in FrameTransformClient (if running without the FrameTransformServer)
  • Added timeout check for ROS timed transforms in FrameTransformClient. Beware: we are currently using yarp time, not ros timestamps

Tools

yarprobotinterface

  • Print a warning when when parenthesis are not balanced and added protection against syntax errors (#832).
  • Added option all to attach to all yarprobotinterface devices (used by RobotDescriptionServer).

yarpidl_rosmsg

  • Fixed an issues when working with custom, nested ros messages.

GUIs

  • Replaced QT_DEVICE_PIXEL_RATIO with Qt::AA_EnableHighDpiScaling when supported by the installed Qt5 version. (#837, #1122, #1038, #1267)

yarpmotorgui

  • The number of parts is no longer hardcoded.
  • It is now possible to close the gui using CTRL+C.
  • Fixed issue preventing correct save operation of position sequences.

yarpmanager

  • Sub-folders are now automatically loaded by default.
  • Opening single application multiple times is no longer allowed (#1007).

Devices

laserFromDepth

  • Added horizontal flip to align angle direction.
  • Added distortion to simulate RGBD devices distance calculation method.

RGBDSensorWrapper

  • Fixed deadlock when closing device.
  • Fixed device failure not detected at startup.

imuBosch_BNO055

  • Fixed the sharing of data between the run() and read() methods.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.68..v2.3.70):

344 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 122 Nicolò Genesio <nicolo.genesio@iit.it> 98 Marco Randazzo <marco.randazzo@iit.it> 74 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 40 Alberto Cardellino <alberto.cardellino@iit.it> 19 Silvio Traversaro <silvio.traversaro@iit.it> 15 Ali Paikan <ali.paikan@iit.it> 14 Francesco Romano <francesco.romano@iit.it> 10 Bartek Łukawski <bwmn.peter@gmail.com> 9 Claudio Fantacci <claudio.fantacci@iit.it> 8 Matteo Brunettini <matteo.brunettini@iit.it> 7 Ugo Pattacini <ugo.pattacini@iit.it> 6 Diego Ferigo <diego.ferigo@iit.it> 5 Lorenzo Natale <lorenzo.natale@iit.it> 5 Massimo Regoli <massimo.regoli@iit.it> 4 Andrea Ruzzenenti <Andrea Ruzzenenti> 4 Juan G Victores <jcgvicto@gmail.com> 3 Aiko Dinale <aiko.dinale@iit.it> 3 Tobias Fischer <t.fischer@imperial.ac.uk> 2 Andrea Ruzzenenti <andrea.ruzzenenti.iit.it> 2 Bertrand Higy <bertrand.higy@iit.it> 2 Valentina Gaggero <valentina.gaggero@iit.it> 1 Alessandro Scalzo <alessandro.scalzo@iit.it> 1 Giovanni Saponaro <gsaponaro@isr.ist.utl.pt> 1 Giulia Vezzani <giulia.vezzani@iit.it> 1 Vítor Galvão <info@vitorgalvao.com> 1 Zero King <l2dy@icloud.com>

- C++
Published by mbrunettini almost 9 years ago

https://github.com/robotology/yarp - YARP 2.3.68.1 (2017-06-15)

YARP 2.3.68.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Build System

  • YARP_gsl was removed from the YARP_LIBRARIES CMake variable where it was erroneously added. If you are using that library you might need to add YARP::YARP_gsl to the list of libraries linked by your target.

  • The CREATE_SHARED_LIBRARY option is deprecated in favour of the standard BUILD_SHARED_LIBS.

  • Plugins are now added to FeatureSummary if available.

  • Fixed symbol visibility logic. Not exported symbols are now always hidden. The YARP_EXPERIMENTAL_FILTER_API option can be used to hide also symbols from the impl libraries (it will not build at the moment).

Devices

depthCamera

  • Spelling of the length-related parameters was fixed. You might have to fix your configuration files.

New Features

Build System

  • Builds from git repositories will now contain the git commit and dirty state in the version number (For example 2.3.68+98-20161222.4+git3942468+dirty (2.3.68+98)). YARP_VERSION_MAJOR, YARP_VERSION_MINOR, YARP_VERSION_PATCH and YARP_VERSION_TWEAK meanings hasn't changed. YARP_VERSION_STRING was removed since it was never used.

Devices

  • Added new laserFromDepth device.

Bug Fixes

Build System

  • Fixed YARP_CLEAN_API build with GCC 6.1 or later (that uses c++14 by default) by forcing -std=c++98 (#978).
  • Fixed YARP_EXPERIMENTAL_CXX11 on MSVC 12 2013.
  • The YARP_ABORT_ON_WARNING and YARP_FATAL_ERRORS options were restored.
  • Added workaround for FindCUDA bug when crosscompiling. See https://gitlab.kitware.com/cmake/cmake/issues/16509.

CMake Modules

  • Fixed issues in yarp_add_idl command when generating files using paths containing ..
  • Fixed issues in yarp_idl_to_dir command when generating files on paths containing white spaces.

Libraries

YARP_OS

  • Fixed typo preventing successful compilation on linux/mac with C++11 enabled.
  • yarp::os::idl::BareStyle<T> and yarp::os::idl::BareStyle<T> are no longer erroneously marked as YARP_OS_API.
  • Fixed memory leak in yarp::os::Contact when SKIP_ACE is enabled.
  • Fixed Windows 2000 detection in SystemInfo.
  • Fixed security issue related to the buffer size in yInfo(), yDebug(), etc. functions.
  • Maximum string size in yInfo(), yDebug(), etc. functions was increased to 1024 characters.
  • Fixed commands yarp name get /port accepts and yarp name get /port offers.
  • Fixed deadlock during a device closure after calling a prepare of a closed port.
  • Fixed reply to yarp::os::Node::Helper::getBusInfo if no connections available, now it returns an empty list.

YARP_sig

  • Ensure that after yarp::sig::VectorOf::resize(), the constructor operator for the new objects is called.
  • Added missing YARPsigAPI to yarp::sig::file::soundStreamReader.

YARP_dev

  • Added warning when loading a plugin with a wrong library parameter (#975).
  • Fixed the comunication of mirroring and intrinsic parameter through sender and parser in IVisualParamsImpl.
  • Fixed ControlBoardRemapper not returning an error on malformed axesNames.
  • IControlLimits2Raw now inherits publicly from IControlLimitsRaw.
  • Fixed missing include of yarp/dev/api.h in IEncoders.h (#1127)
  • Fixed missing include of yarp/os/Vocab.h in IControlMode.h (#1199)
  • Fixed FrameTransformClient::waitForTransform() (#1183)
  • Fixed memory leak in ControlBoardWrapper.
  • Fixed memory leak in Rangefinder2DClient.
  • Fixed wrong ROS message in ControlBoardWrapper if ROS = only.

YARP_math

  • Fix resizing of output matrices in SVD (#1062, #1066).

Private libraries

YARP_manager

  • Fixed typo in setEnvironemnt, now setEnvironment

Tools

yarprobotinterface

  • Devices are now closed in the reverse order as they are created.

yarpidl_rosmsg

  • Fixed an out-of-bounds error if an array contained in a ros message has size == 0
  • Fixed segfault when publishing a ros message including a null vector

yarpdataplayer

  • Fixed memory leak.

GUIs

yarpview

  • Fixed RPATH.

yarpscope

  • Fixed RPATH.

yarpmanager

  • Removed extra ';' from enviornment variables and port prefix (#980, #982).
  • Fixed saveAs action(#755).
  • Added warning in case of creation of a new file(application) that already exists.
  • Fixed double tab open of the same application.
  • Added key shortcuts for the actions.
  • Removed automatically applications, modules and resources that no longer exist on disk when double click on them or click edit.
  • Fixed the addition to the tree of multiple applications pointing to the same xml file.
  • Fixed refresh button, before ignored every text entry changed int the application tab.
  • Added automatic refresh on the application tab open.
  • Added automatic application tab open when you load an application from disk.
  • Disabled the select all after pressing run all, stop all, refresh all and kill all actions.
  • Added run/stop/kill/connect/disconnect all and run/stop/kill/connect/disconnect selected

yarplaserscannergui

  • Fixed close button not closing the gui (#720).
  • Fixed laser orientation to have x axis pointing towards N and y axis towards W (as in ROS)

yarpbatterygui

  • Fixed memory leak in closing.

Carriers

  • Fixed issue in tcpros carrier causing a severe slowdown of yarp::os::Publisher when multiple ros clients are connected to the same topic.

Devices

  • Fixed rangeFinder2DClient and getLaserMeasurement() function of various hardware devices: laserangleof_view was not computed correctly.
  • Fixed bugs in AnalogWrapper: start() return value is checked (important for avoiding address conflict), all the ports needed are opened only once and not multiple times, fixed memory leaks.

fakeMotionControl

  • Fixed error in open function.
  • Better param check.

depthCamera

  • Added missing distortion model params.
  • Implemented camInfo messages for ros interoperation.
  • Fixed parsing file error.
  • Cleanup and improved documentation.
  • Fixed segmentation fault on device shutdown.
  • Fixed segmentation fault when passing an incorrect configuration.
  • Fixed resolution from config.

fakeLaser

  • Improved fakeLaser test to display x and y axis.

rangeFinder2DWrapper

  • Added internal subdevice spawn and attach.
  • Fixed parameter name in error message.

rpLidar

  • Allow to set negative maxangle & minangle, allowing a virtual rotation of the sensor zero (#1019).

Bindings

  • RPATH is now correctly set for 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 v2.3.68..v2.3.68.1):

145 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 44 Nicolò Genesio <nicolo.genesio@iit.it> 15 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 13 Alberto Cardellino <alberto.cardellino@iit.it> 12 Marco Randazzo <marco.randazzo@iit.it> 9 Francesco Romano <francesco.romano@iit.it> 6 Matteo Brunettini <matteo.brunettini@iit.it> 6 Silvio Traversaro <silvio.traversaro@iit.it> 5 Lorenzo Natale <lorenzo.natale@iit.it> 4 Bartek Łukawski <bwmn.peter@gmail.com> 3 Aiko Dinale <aiko.dinale@iit.it> 2 Ali Paikan <ali.paikan@iit.it> 2 Bertrand Higy <bertrand.higy@iit.it> 2 Juan G Victores <jcgvicto@gmail.com> 1 Giovanni Saponaro <gsaponaro@isr.ist.utl.pt> 1 Tobias Fischer <t.fischer@imperial.ac.uk> 1 Ugo Pattacini <ugo.pattacini@iit.it> 1 Vítor Galvão <info@vitorgalvao.com> 1 Zero King <l2dy@icloud.com>

- C++
Published by mbrunettini almost 9 years ago

https://github.com/robotology/yarp - YARP 2.3.68

YARP 2.3.68 (2016-11-28) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Dependencies

  • Readline library is no longer used and was replaced with the NetBSD Editline library (libedit-dev on debian/ubuntu).
  • YCM 0.2.2 is now an optional dependency.

YARP_OS

  • The yarp::os::Contact class was widely refactored:
    • The add() methods are now deprecated. The new set() methods should be used instead.
    • The by*(), invalid() and empty() factory methods are now deprecated. The class constructors should be used instead (a few new constructors were added to allow this).
    • The byConfig() method is now deprecated. fromConfig() should be used instead.
    • The Contact::toURI() method now accepts an includeCarrier parameter (true by default) to simplify the generation of the URI without the carrier. Moreover the string returned always end with a / character.
    • ROS integration was heavily improved and it is now possible to register one Publisher and one Subscriber on the same Node using the same topic, and to use tools like roswtf and rqt. If you are using YARP with ROS, upgrading is strongly recommended.
    • Added ConnectionReader::setParentConnectionReader method. This method should be used by Carriers that reimplement modifyIncomingData and that return a ConnectionReader that is not the same as the one in input.
  • PortCore now uses the "new" version of the protocol for signalling to suppress the reply. This was expected since YARP 2.1.2, but it was never applied. Both versions of the protocol are accepted in input, unless YARP_NO_DEPRECATED is enabled, in this case YARP it is not compatible with previous releases since only the new version is recognized.
  • It is now possible to get and set parameters to portmonitors directly attached to a port.

YARP_sig

  • Important: we removed methods for interoperability with the GNU Scientific Library (GSL). The reason for this was to avoid licensing problems generated by the inclusion of a structure defined by GSL. Methods for interoperability have been implemented in a new library libYARP_gsl (see below). In details:
    • We removed yarp::sig::Matrix::getGslMatrix()
    • We removed yarp::sig::Vector::getGslVector()

YARP_dev

  • New depth camera stack, device driver interface and wrapper. The old interfaces and devices will be deprecated in the next release, when all the features will be ported to the new stack.

YARP_gsl

  • This library contains methods for interoperability with the GNU Scientific Library. Notice that this library is released as GPL (and not LGPL) because it uses a structure defined by GSL.
    • Checkout yarp::gsl::GslMatrix and yarp::gsl::GslVector

YARP_math

  • libYARPmath can be compiled with GSL or Eigen (via CMake flag `CREATELIBMATHUSING_GSL`). Important: the use of GSL and this flag will be removed in the next release of YARP.
    • When compiled with GSL libYARPmath uses libYARPgsl internally. A small performance hit could affect methods that use GSL.
    • When compiled without GSL libYARP_math uses Eigen.
  • The option to link Atlas library has been broken for a while, and therefore it was removed. On debian/ubuntu it is still possible to use the atlas library by installing the libatlas-base-dev package, and use update-alternatives to configure the alternatives for libblas.so, libblas.so.3, liblapack.so, and liblapack.so.3

CMake Modules

  • All deprecated CMake modules have been removed.
  • All GTK2 CMake modules have been removed and are no longer installed in ${YARP_MODULE_PATH}. They can still be found in YCM.
  • The FindReadline module has been removed.
  • The FindAtlas module has been removed.
  • The YarpPlugin module and the relative templates received several improvements and fixes:
    • yarp_prepare_plugin no longer include any directory or namespace. As a consecuence, it might be necessary to fix the TYPE for plugins adding the full namespace to the class name, and to add the current directory to CMake include directories.
    • yarp_prepare_carrier and yarp_prepare_device are deprecated in favour of yarp_prepare_plugin.
    • The new TEMPLATE and TEMPLATE_DIR accepted by yarp_prepare_plugin can be used to specify a file name and a directory for the template that will be configured and added to the plugin. If a template is not specified, a file yarp_plugin_<CATEGORY>.cpp.in is searched in current directory, in CMake module path, and in YARP cmake modules directory. If still it cannot be found, but the PARENT_TYPE argument, containing the name of the parent class for the plugin, was specified, then a default template is generated in current binary directory. This should simplify the creation of new types of plugins. Please note that static plugins will not work with the default template.
    • The CODE and WRAPPER arguments for the yarp_prepare_plugin command are deprecated, the new EXTRA_CONFIG argument should be used instead. Each variable in the form KEY=VALUE passed to the EXTRA_CONFIG argument is changed to YARPPLUG_<KEY> and used when the template is configured. For example EXTRA_CONFIG WRAPPER=foo generates the YARPPLUG_WRAPPER variable that is then replaced in the yarp_plugin_device.cpp.in.
    • The DEFAULT argument for the yarp_prepare_plugin can be used to specify whether the plugin should be enabled by default or not (default = OFF).
    • The ADVANCED option for the yarp_prepare_plugin can be used to specify that the generated CMake variable should be marked as advanced (default = OFF).
    • The INTERNAL option for the yarp_prepare_plugin can be used to specify that the generated CMake variable should be marked as internal (and therefore not displayed in CMake gui). This also implies DEFAULT=ON unless explicitly specified.
    • The DOC argument for the yarp_prepare_plugin can be used to specify a documentation line for the generated CMake variable.
    • The OPTION argument for the yarp_prepare_plugin can be used to rename the generated CMake option.
    • The DEPENDS argument for the yarp_prepare_plugin can be used to specify a list of dependencies that should be satisfied in order to enable the plugin. If these dependencies are not available, the plugin is disabled, and the generated CMake option is not shown on CMake.
  • All CMake modules from YCM, CMake, and private are now deprecated, and are installed only if YARP_NO_DEPRECATED is OFF. Projects that require these files should depend on YCM instead.

Tools

  • yarpserver2 and yarpserver3 have been deprecated for a long time, and replaced by yarpserver, therefore they have been removed. Please update your scripts

GUIs

  • All GTK2 GUIs have a Qt5 replacement and have been deprecated since YARP 2.3.65, therefore they have been removed.
  • yarpmanager++ and yarpbuilder no longer exists, yarpmanager now includes all the builder functionality.

Devices

  • The microphone device is deprecated in favour of portaudio (#891).
  • The new depthCamera camera driver implements the IRGBD and FrameGrabberControl2 interfaces, and works with the devices supported by openni2.

Bug Fixes

YARP_OS

  • Fixed some cases of connections leaving a streaming connection pending.
  • Support dynamic plugins when YARP is built without ACE.
  • Fixed several possible race conditions in yarp::os::Thread.
  • getBusInfo ROS command was implemented.
  • getMasterUri ROS command was implemented.
  • getPid ROS command was fixed and now returns just one integer instead of a vector.
  • The right caller_id is returned by PortCore for publisherUpdate and requestTopic ROS commands.
  • The right caller_id is returned by the tcpros carrier.
  • yarp::os::Node now handles correctly multiple publishers and subscribers on the same topic. The limit on YARP is that only one publisher and one subscriber can be registered on the same node using the same topic.
  • The Carriers class was moved outside of the impl namespace (#402).
  • Fixed crash on prop get command from admin rpc port (#969).

Carriers

  • Fixed portmonitor and bayer carriers not handling envelope correctly when attached on the receiving side (#729, #782, #909).

Devices

  • RemoteControlBoard
    • Fixed race condition.
  • ControlBoardWrapper
    • Fixed bug in setRemoteVariable`
    • Fixed value not initialized in CheckMotionDone
  • fakeMotionControl
    • controlboardwrapper2 is now used as default wrapper instead of controlboard and is no longer erroneously reported as deprecated.

GUIs

  • yarpmanager
    • Fixed yarpmanager cannot display and disconnect mjpeg connections (#595).
  • yarplogger
    • Fixed segfault when the logger receives a malformed log message.

New Features

YARP_OS

  • Improved PortCore list [in|out] commands They also return now:
    • (connectionless 1) when the connection is connectionless (i.e. udp).
    • (push 0) when the connection is not push (i.e. mjpeg).
  • Improved Portcore [prop] [get] $portname command. It also returns now some more information about the port in this form: (port ((is_input [0|1]) (is_output [0|1]) (is_rpc [0|1]) (type "[type]")))
  • Improved compiler detection and added header containing macros to check if a specific feature is available.
  • Added method yarp::os::Thread::yield() that reschedules the execution of current thread, allowing other threads to run.
  • Added method yarp::os::Contactable::resetReporter() to remove the PortReport set by setReporter().

YARP_math

  • Added the yarp::math::FrameTransform class.

YARP_dev

  • Added the yarp::dev::IDepthSensor and yarp::dev::IRGBDSensor interfaces.
  • Added the `yarp::dev::IFrameTransform.h interface.
  • Added the transformServer and transformClient devices.

Carriers

  • Added depthimage portmonitor plugin.

Devices

  • The ControlBoardRemapper and RemoteControlBoardRemapper devices were introduced that is a state-less and thread-less YARP device that takes axes belonging to several controlboards and expose them as a unique controlboard device.
  • The RGBDSensorClient and RGBDSensorWrapper devices were added.
  • Rangefinder2DWrapper: use timetamp from device driver.
  • The fakeAnalogSensor has been introduced to easily test and as a reference for new analogSensor devices. It has only one channel sending timestamp as data.

GUIs

  • yarpmanager
    • Use service tag from module description to add as input/output service port.
    • It's now possible to set environment variables within application xml file.
  • yarpmotorgui
    • Command "Save all joints" from main menu now open a single dialog box (#912) and propagates file name to all parts.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.68..v2.3.68):

430 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 49 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 47 Marco Randazzo <marco.randazzo@iit.it> 44 Alberto Cardellino <Alberto.Cardellino@iit.it> 41 Silvio Traversaro <silvio.traversaro@iit.it> 34 Tobias Fischer <t.fischer@imperial.ac.uk> 16 Francesco Romano <francesco.romano@iit.it> 13 Claudio Fantacci <claudio.fantacci@iit.it> 12 Alberto Cardellino <alberto.cardellino@iit.it> 10 Lorenzo Natale <lorenzo.natale@iit.it> 10 Matteo Brunettini <matteo.brunettini@iit.it> 9 Ugo Pattacini <ugo.pattacini@iit.it> 8 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 7 Alexandros Paraschos <paraschos@ias.tu-darmstadt.de> 6 Ali Paikan <ali.paikan@iit.it> 3 Giovanni Saponaro <gsaponaro@isr.ist.utl.pt> 1 Claudia Latella <claudia.latella.86@gmail.com> 1 Gabriele Nava <gabriele.nava@mail.polimi.it> 1 Plinio Moreno <plinio@isr.tecnico.ulisboa.pt> 1 Valentina Gaggero <valentina.gaggero@iit.it> 1 YARP Developers <yarp0-devel@lists.sourceforge.net>

- C++
Published by mbrunettini over 9 years ago

https://github.com/robotology/yarp - YARP 2.3.66.2

YARP 2.3.66.2 (2016-11-28) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

Bug Fixes

YARP_OS

  • Fixed join() return values of threads when C++11 compilation is activated.
  • Fixed segmentation fault while closing YARP modules. (#942)

YARP_dev

  • Added missing YARP_dev_API to ControlBoard interfaces.
  • Fixed segfault in ControlBoardWrapper2 for multiJoints functions

GUIs

  • yarpdataplayer
    • Dataset with one entry can now be played. (#936)
    • Resetting sendstrict upon new dataset. (#941)
  • yarplogger
    • Open logs by drag'n'drop. (#934)

Devices

  • serial
    • Print error when the device cannot be opened.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.66.1..v2.3.66.2):

12 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 4 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 3 Claudio Fantacci <claudio.fantacci@iit.it> 2 Matteo Brunettini <matteo.brunettini@iit.it> 1 Alberto Cardellino <Alberto.Cardellino@iit.it> 1 Alberto Cardellino <alberto.cardellino@iit.it> 1 Alexandros Paraschos <paraschos@ias.tu-darmstadt.de> 1 Gabriele Nava <gabriele.nava@mail.polimi.it> 1 Giovanni Saponaro <gsaponaro@isr.ist.utl.pt> 1 Marco Randazzo <marco.randazzo@iit.it> 1 Silvio Traversaro <silvio.traversaro@iit.it>

- C++
Published by mbrunettini over 9 years ago

https://github.com/robotology/yarp - YARP 2.3.66.1

YARP 2.3.66.1 (2016-10-20) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

YARP_dev

  • The analogServer device (implemented in yarp::dev::AnalogWrapper has removed the support for the deviceId parameter, that has been deprecated since 2014. Invalid configuration files of the form:

robotName icub deviceId left_arm

can be updated with the valid:

name /icub/left_arm/analog:o - The controlboardwrapper2 device (implemented in yarp::dev::ControlBoardWrapper has removed the supported for the threadrate parameter, that has been deprecated since 2014. Invalid configuration files of the form threadrate 10 can be update with the valid form period 10.

Bug Fixes

YARP_OS

  • Fixed PlatformThread for macOS, no ACE, no c++11.
  • Fixed memory leak in SharedLibrary.
  • Fixed memory leak in Property::fromArgs.
  • Use reentrant version of get_host_addr in NameConfig and SocketTwoWayStream (fixes a few possible race conditions).
  • Fixed memory leak in NameConfig::getHostName with SKIP_ACE enabled.
  • Fixed "Conditional jump or move depends on uninitialised value" issues reported by valgrind --memcheck in SocketTwoWayStream with SKIP_ACE enabled.
  • Added implementation of SystemInfo for macOS.
  • Fixed bug in yarprun currently occuring only on macOS, but potentially on other platforms (#633)
  • yarp plugin command now works with SKIP_ACE enabled.
  • Fixed UDP and MCAST on macOS (#637)
  • Fixed SIGPIPE when closing input port before output ports.

YARP_DEV

  • Fixed yarp::dev::BatteryClient::getBatteryTemperature().
  • Fixed memory leak in ImplementTorqueControl.
  • Export some important classes that were erroneously not exported in the ABI.
  • Fixed memory leak in PolyDriver.
  • ControlBoardWrapper: Added checks for testing if joint number is out of bound.

Modules

  • Rangefinder2DWrapper: angle_increment is now obtained from the hardware device.
  • laserHokuyo: added parameters maxangle and minangle.
  • imuBosch_BNO055: fixed use of char (a signed type) for the byte buffer that was corrupting positive measures when converting from 2 bytes to a single 16 bit value.
  • fakeMotionControl: Fix memory leak.
  • portaudio: fix bug in number of samples recorded, changed default values to have the device more responsive.

Tools

  • yarpdatadumperAppGenerator.py is now installed as yarpdatadumperAppGenerator on non Windows platforms.

GUIs

  • yarpview:
    • Fixed .app bundle on macOS.
    • QT_DEVICE_PIXEL_RATIO is now set to "auto" to support 4k displays.
  • yarpscope:
    • Fixed .app bundle on macOS.
    • Fixed help for --min and --max arguments.
    • Fixed reading minval and maxval from xml.
  • yarpmotorgui:
    • Max number of joints was fixed to 16. Now memory is dynamically allocated.
    • Fixed issue preventing sequence tab to acquire encoder positions on double click, if the control mode of the selected joint is not POSITION.
    • Fixed bug preventing correct copy-and-paste action
    • Fixed issue preventing a GO action from being executed if timing is less than zero.
    • Allow copying single lines to clipboard from sequence tab.
    • QT_DEVICE_PIXEL_RATIO is now set to "auto" to support 4k displays.
    • Added box to display openloop output.
  • yarpdataplayer
    • QT_DEVICE_PIXEL_RATIO is now set to "auto" to support 4k displays.
    • Fixed error when opening readonly files.
    • Fixed variable sample rate data playing too fast.
  • yarplogger:
    • The date is now taken into account.
    • Copying to clipboard preserves new lines.
    • New icon-set is displayed in the "filter" section when a log is disabled.
    • Double-clicking on the table to make each line of the logger to adjusts the row height to display all of its contents. Added context menu entry.
    • New lines at the end of log messages are now removed.
    • The log is now displayed using a fixed size font.

IDLs

  • The script executed by RosTypeSearch::fetchFromRos now supports the creation of .msg files in a non-existing directory.

Bindings

  • Properly define TypedReaderCallbackSound (Fixes TypedReaderCallbackImageMono redefinition).

Build System

  • YarpPlugin.cmake no longer redefines the FIND_PACKAGE CMake command.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.66..v2.3.66.1):

153 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 15 Francesco Romano <francesco.romano@iit.it> 11 Marco Randazzo <marco.randazzo@iit.it> 9 Silvio Traversaro <silvio.traversaro@iit.it> 9 Tobias Fischer <t.fischer@imperial.ac.uk> 6 Alexandros Paraschos <paraschos@ias.tu-darmstadt.de> 6 Matteo Brunettini <matteo.brunettini@iit.it> 5 Alberto Cardellino <alberto.cardellino@iit.it> 2 Andrea Ruzzenenti <andrea.ruzzenenti@iit.it> 2 Daniele E. Domenichelli <ddomenichelli@drdanz.it> 2 Giovanni Saponaro <gsaponaro@isr.ist.utl.pt> 2 Lorenzo Natale <lorenzo.natale@iit.it> 2 Ugo Pattacini <ugo.pattacini@iit.it> 2 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 1 Claudia Latella <claudia.latella.86@gmail.com> 1 Claudio Fantacci <claudio.fantacci@iit.it> 1 Plinio Moreno <plinio@isr.tecnico.ulisboa.pt> 1 Valentina Gaggero <valentina.gaggero@iit.it>

- C++
Published by mbrunettini over 9 years ago

https://github.com/robotology/yarp - YARP 2.3.66

YARP 2.3.66 (2016-06-01) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here.

Important Changes

YARP_dev

  • The yarp::dev::IDepthSensor, yarp::dev::IRGBDSensor interfaces and the RGBDSensorClient and RGBDSensorWrapper devices, that were erroneously introduced were removed.

Bug Fixes

CMake Modules

  • StandardFindModule: Fix INTERFACE_COMPILE_DEFINITIONS and INTERFACE_COMPILE_OPTIONS properties.

YARP_dev

  • Add missing YARP_dev_API export symbol to StubImplPositionDirectRaw
  • Fixed errors on ROS topic message, in particular:
    • measurement unit for linear joints.
    • timeStamps for joint message. This fixes issue on ROS TF while using simulator.
  • RemoteFrameGrabber: moved template explicit instantiation into .cpp to avoid duplicating symbols.

Modules

  • Critical bugfix for laserHokuyo

GUIs

  • yarpmanager++: fixed crashes on deleting connection after changing prefix (#761)
  • yarpmanager++: fixed connections do not update when prefix is changed (#751)
  • yarpmanager++: fixed icon on Mac OSX (#758)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.65..v2.3.66):

18 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 3 Alberto Cardellino <alberto.cardellino@iit.it> 3 Silvio Traversaro <silvio.traversaro@iit.it> 2 Matteo Brunettini <matteo.brunettini@iit.it> 1 Claudio Fantacci <claudio.fantacci@iit.it> 1 Davide Perrone <dperrone@aitek.it> 1 Lorenzo Natale <lorenzo.natale@iit.it> 1 Marco Randazzo <marco.randazzo@iit.it> 1 Ugo Pattacini <ugo.pattacini@iit.it>

- C++
Published by mbrunettini almost 10 years ago

https://github.com/robotology/yarp - YARP 2.3.65

YARP 2.3.65 (2016-05-13) Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found here

Important Changes

  • YARP is now automatically installed with the RPATH enabled. This can be disabled by setting the CMAKE_SKIP_RPATH or CMAKE_SKIP_INSTALL_RPATH variables.
  • The portmonitor can now be built without LUA and uses YARP plugins system of having to locate the shared libraries manually.
  • The yarp::dev::IDepthSensor, yarp::dev::IRGBDSensor interfaces and the RGBDSensorClient and RGBDSensorWrapper devices were erroneously introduced as a "stable", but they are still under development and therefore are not to be used, and will be removed in the next tweak release (v2.3.65.1). They will be probably re-introduced in the next stable release series (v2.3.68).

Bug Fixes

YARP_OS

  • Fixed memory leaks when building with c++11.
  • Fixed yarp::os::Thread::getKey() method for c++11.
  • Fixed race condition in yarp::os::Thread::getKey().

New Features

YARP_OS

  • ResourceFinder::configure(argc,argv,bool) accepts a third optional parameter to keep/skip the first command line argument

yarprobotinterface

The robotInterface tool in robotology/icub-main was imported in YARP with a few non compatible changes: - robotInterface was renamed yarprobotinterface to follow the convention with yarp executables - The RPC port opened is now //yarprobotinterface - The default .ini file name is now yarprobotinterface.ini - The DTD line for XML files is now

xml <!DOCTYPE [...] PUBLIC "-//YARP//DTD yarprobotinterface 1.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV1.0.dtd">

yarpmanager++

A new yarpmanager++ tool which merges the functionalities of the yarpmanager and yarpbuilder was added.

Deprecated Features

YARP_OS

  • yarp::os::Module is now deprecated in favour of yarp::os::RFModule.
  • YARP_ASSERT is now deprecated in favour of yAssert.

YARP_dev

  • The following YARP methods have been deprecated:
    • iPositionControl::setPositionMode()
    • iVelocityControl::setVelocityMode()
    • iTorqueControl::setTorqueMode()
    • iOpenLoopControl::setOpenLoopMode()

Devices

  • controlboard and clientcontrolboard devices are now deprecated in favour of controlboardwrapper2 and remote_controlboard.

Tools

  • yarpserver2 and yarpserver3 are now considered deprecated and will be removed in the next release.

GUIs

  • All guis based on GTK2 are now considered deprecated and will be removed in the next release.

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.64..v2.3.65):

480 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 92 Alberto Cardellino <alberto.cardellino@iit.it> 81 Marco Randazzo <marco.randazzo@iit.it> 57 Ali Paikan <ali.paikan@iit.it> 48 Ugo Pattacini <ugo.pattacini@iit.it> 44 Lorenzo Natale <lorenzo.natale@iit.it> 24 Francesco Romano <francesco.romano@iit.it> 24 Silvio Traversaro <silvio.traversaro@iit.it> 17 Matteo Brunettini <matteo.brunettini@iit.it> 15 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 5 Giulia Vezzani <giulia.vezzani@iit.it> 4 Alessandro Roncone <alessandro.roncone@iit.it> 4 Elena Ceseracciu <elena.ceseracciu@iit.it> 4 Konstantinos Theofilis <kostas@ams.eng.osaka-u.ac.jp> 3 Davide Perrone <dperrone@aitek.it> 3 YARP Developers <yarp0-devel@lists.sourceforge.net> 2 Claudio Fantacci <claudio.fantacci@iit.it> 2 Davide Pollarolo <davide.pollarolo@iit.it> 2 Francesco Nori <francesco.nori@iit.it> 1 Alessio Rocchi <alessio.rocchi@iit.it> 1 Davide Tome <davide.tome@iit.it> 1 Francesca Stramandinoli <francesca.stramandinoli@iit.it> 1 Gabriele Nava <gabriele.nava@mail.polimi.it> 1 Valentina Gaggero <valentina.gaggero@iit.it>

- C++
Published by mbrunettini about 10 years ago

https://github.com/robotology/yarp - YARP 2.3.64

YARP 2.3.64 (2015-06-15)

Contributors

This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v2.3.61...v2.3.62):

417 Daniele E. Domenichelli <daniele.domenichelli@iit.it> 235 Paul Fitzpatrick <paulfitz@alum.mit.edu> 192 Marco Randazzo <marco.randazzo@iit.it> 122 Ugo Pattacini <ugo.pattacini@iit.it> 112 Alberto Cardellino <alberto.cardellino@iit.it> 55 Davide Perrone <dperrone@aitek.it> 52 Alessandro Roncone <alessandro.roncone@iit.it> 50 Lorenzo Natale <lorenzo.natale@iit.it> 47 Ali Paikan <ali.paikan@iit.it> 34 Vadim Tikhanoff <vadim.tikhanoff@iit.it> 14 Konstantinos Theofilis <kostas@ams.eng.osaka-u.ac.jp> 13 Francesco Romano <francesco.romano@iit.it> 13 Silvio Traversaro <silvio.traversaro@iit.it> 8 Alessandro Scalzo <alessandro.scalzo@iit.it> 7 Elena Ceseracciu <elena.ceseracciu@iit.it> 7 Matteo Brunettini <matteo.brunettini@iit.it> 3 Francesco Nori <francesco.nori@iit.it> 3 YARP Developers <yarp0-devel@lists.sourceforge.net> 2 Giorgio Metta <giorgio.metta@iit.it> 2 Holger Friedrich <holgerf@vsi.cs.uni-frankfurt.de> 1 Carlo Ciliberto <carlo.ciliberto@iit.it> 1 Giovanni Saponaro <gsaponaro@isr.ist.utl.pt> 1 Juan G. Victores <jcgvicto@gmail.com> 1 Matej Hoffmann <matej.hoffmann@iit.it> 1 Pedro Vicente <pedrovicente07@gmail.com>

- C++
Published by mbrunettini almost 11 years ago