@mbrunettini mbrunettini released this Jul 31, 2018 · 5 commits to master since this release

Assets 2

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.

yarp_test_grabber

  • 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>

@mbrunettini mbrunettini released this Jul 25, 2018 · 143 commits to master since this release

Assets 10

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 YARP_MODULE_PATH 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 NO_RECURSE argument to yarp_idl_to_dir and yarp_add_idl.

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>

@mbrunettini mbrunettini released this Jun 11, 2018 · 339 commits to master since this release

Assets 2

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 YARP_math using find_package(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:
    • YARP_rosmsg_std_msgs
    • YARP_rosmsg_actionlib_msgs
    • YARP_rosmsg_diagnostic_msgs
    • YARP_rosmsg_geometry_msgs
    • YARP_rosmsg_nav_msgs
    • YARP_rosmsg_sensor_msgs
    • YARP_rosmsg_shape_msgs
    • YARP_rosmsg_stereo_msgs
    • YARP_rosmsg_trajectory_msgs
    • YARP_rosmsg_visualization_msgs
    • YARP_rosmsg_tf
    • YARP_rosmsg_tf2_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 fast_tcp carriers. TCP_NODELAY 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>

@mbrunettini mbrunettini released this Jun 11, 2018 · 1219 commits to master since this release

Assets 2

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>

@mbrunettini mbrunettini released this Feb 12, 2018 · 1364 commits to master since this release

Assets 14

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 SERIAL_PORT_CONFIGURATION
    configuration group.

GUIs

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>

@drdanz drdanz released this Dec 11, 2017 · 2012 commits to master since this release

Assets 3

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>

@drdanz drdanz released this Sep 21, 2017 · 2305 commits to master since this release

Assets 3

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>

@mbrunettini mbrunettini released this Jun 22, 2017 · 2384 commits to master since this release

Assets 18

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 RTF_YARP_utilities
    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 --add_current_dir option.

Carriers

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: VOCAB_CM_CURRENT, VOCAB_CM_PWM.
  • 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:
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>

@mbrunettini mbrunettini released this Jun 15, 2017 · 3136 commits to master since this release

Assets 3

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 YARP_sig_API 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: laser_angle_of_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 max_angle & min_angle, 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>

@mbrunettini mbrunettini released this Nov 28, 2016 · 3462 commits to master since this release

Assets 15

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

  • libYARP_math can be compiled with GSL or Eigen (via CMake flag
    CREATE_LIB_MATH_USING_GSL). Important: the use of GSL and this flag will be
    removed in the next release of YARP.
    • When compiled with GSL libYARP_math uses libYARP_gsl 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 <yarp/conf/compiler.h> 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>