Releases: 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 fromYarpOSXUtilities.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 ifyarpdev
was called with--verbose
.
Previously, it used a generic "subdevice" identifier. - Added missing
IFrameGrabberControl2
toRGBDSensorWrapper
. - Fixed
RGBDSensorWrapper
compatibilty withframeGrabberGui2
. - Fixed joint remapping in method
getRefVelocity()
. - Fix
VOCAB_CURRENT_REF_GROUP
message parser in ControlBoardWrapper (#1734)
YARP_serversql
- Added check if
rossrv
,tcpros
andxmlrpc
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
parsingVOCAB
. Introduced SWIG-compliant workingVOCAB
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 onVOCAB
in the future. - Renamed
test_string.lua
to more representativetest_port.lua
, enabled it to
run without theyarpserver
, 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>
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 formatsyarp::sig::image::setPixelCode()
now set the pixelSize accordingly (which
should not be set).
Sinceyarp::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 theNetwork::init()
function.
This will take precedence over the environment variable.
yarp::os::SystemRateThread
class created asRateThread
clone but runs
using system clock only, independently from other settings.
Any call toyarp::os::Time::now()
ordelay()
before the object
yarp::os::Network
is initialized will abort the program in order to avoid
undefined behaviour of uninitializedTime
object Contactable::open(void)
was deprecated. Useopen("...")
instead.- The following methods in
yarp::os::RateThread
are nowprotected
instead
ofpublic
: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 incarriers::listen()
andcarriers::connect()
in order
to open new connection using the correct face. - The
YARP_WRAP_STL_STRING
option value is now by defaultOFF
on non-MSVC
platforms. This means thatyarp::os::ConstString
is now by default a typedef
tostd::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 customyarp::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 aconst
version ofoperator[]
.- Methods of
yarp::dev::IVirtualAnalogSensor
renamed in order to avoid
conflicts with similar methods ofyarp::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
andROS::enable_ros_publisher
.
laserHokuyo
- Serial port configuration is now searched in the SERIAL_PORT_CONFIGURATION
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
andyarp clean
actions after importing
profiling capabilities ofyarpviz
. - 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 toPublisher
. SeeBufferedPort
for documentation
on how to useprepare
andunprepare
(#1425). - Optimized
Stamp::read()
andStamp::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 throughyarp run
. Be aware that after
these changesyarpmanager
will not detect machines withyarp 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>
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++11mersenne_twister_engine
instead
of a custom engine.
Carriers
portmonitor
,rossrv
,tcpros
, andxmlrpc
carriers can now be enabled
whenSKIP_ACE
isON
.
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 ifyarp
is compiled without ACE, since we support mcast without
ACE sincev2.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>
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
inLocalCarrierStream
. - Fixed setConnectionQos() for local carrier.
- Added
flush()
at the end ofAbstractCarrier::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>
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 theYARP_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 following commands, deprecated since YARP 2.3.21, were removed:
- The
YARP_HAS_NAME_LIB
variable has been removed sinceYARP_name
is always
available, and is considered a private library. - All CMake targets now export the include directories required to build using
that library. Usinginclude_directories(${YARP_INCLUDE_DIRS})
should no
longer be required. YarpPlugin.cmake
andYarpInstallationHelpers.cmake
are now automatically
included fromYARPConfig.cmake
, therefore all commands defined in these
files are available afterfind_package(YARP)
. Including them explicitly is
now considered deprecated. For the same reason, addingYARP_MODULE_PATH
to
theCMAKE_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 inDebug
andDebugFull
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. TheCREATE_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.
- A new command
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 optionYARP_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()
- The following methods were deprecated:
YARP_dev
- Added
getRgbResolution
andgetRgbSupportedConfigurations
to the
IRgbVisualParams
interface. - Added the new
yarp::dev::IJoypadController
interface and the new
JoypadControlClient
andJoypadControlServer
devices. - Added rpc port to dialogue with FrameTransformClient.
The implemented commands are:get_transform
: print the transform from src to dstlist_frames
: print all the available refence frameslist_ports
: print all the opened ports for tranform broadcastingpublish_transform
: opens a port to publish transform from src to dstunpublish_transform
: closes a previously opened port to publish a
transformunpublish_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 theCalibrator
, 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 theyarpmotorgui
documentation.
#1160
- home is asked to the robot, and, as a consequence, the "Home" button will
- 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
- New
zfp
portmonitor for compressing floating ...
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 theYARP_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
theimpl
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
andYARP_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
andYARP_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>
andyarp::os::idl::BareStyle<T>
are no longer
erroneously marked asYARP_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
andyarp 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
inIEncoders.h
(#1127) - Fixed missing include of
yarp/os/Vocab.h
inIControlMode.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
Private libraries
YARP_manager
- Fixed typo in
setEnvironemnt
, nowsetEnvironment
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
andgetLaserMeasurement()
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>
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
onePublisher
and oneSubscriber
on the sameNode
using the same
topic, and to use tools likeroswtf
andrqt
.
If you are using YARP with ROS, upgrading is strongly recommended. - Added
ConnectionReader::setParentConnectionReader
method. This method
should be used byCarriers
that reimplementmodifyIncomingData
and that
return a ConnectionReader that is not the same as the one in input.
- The add_() methods are now deprecated. The new set_() methods should be used
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.
- When compiled with GSL libYARP_math uses libYARP_gsl internally. A small
- 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 thelibatlas-base-dev
package, and useupdate-alternatives
to
configure the alternatives forlibblas.so
,libblas.so.3
,liblapack.so
,
andliblapack.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 theTYPE
for plugins adding
the full namespace to the class name, and to add the current directory to
CMake include directories.yarp_prepare_carrier
andyarp_prepare_device
are deprecated in favour
ofyarp_prepare_plugin
.- The new
TEMPLATE
andTEMPLATE_DIR
accepted byyarp_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 fileyarp_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 thePARENT_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
andWRAPPER
arguments for theyarp_prepare_plugin
command are
deprecated, the newEXTRA_CONFIG
argument should be used instead.
Each variable in the formKEY=VALUE
passed to theEXTRA_CONFIG
argument
is changed toYARPPLUG_<KEY>
and used when the template is configured.
For exampleEXTRA_CONFIG WRAPPER=foo
generates theYARPPLUG_WRAPPER
variable that is then replaced in theyarp_plugin_device.cpp.in
. - The
DEFAULT
argument for theyarp_prepare_plugin
can be used to specify
whether the plugin should be enabled by default or not (default = OFF). - The
ADVANCED
option for theyarp_prepare_plugin
can be used to specify
that the generated CMake variable should be marked as advanced
(default = OFF). - The
INTERNAL
option for theyarp_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 impliesDEFAULT=ON
unless
explicitly specified. - The
DOC
argument for theyarp_prepare_plugin
can be used to specify a
documentation line for the generated CMake variable. - The
OPTION
argument for theyarp_prepare_plugin
can be used to rename
the generated CMake option. - The
DEPENDS
argument for theyarp_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 ifYARP_NO_DEPRECATED
isOFF
. Projects that require these
files should depend on YCM instead.
Tools
yarpserver2
andyarpserver3
have been deprecated for a long time, and
replaced byyarpserver
, 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++
andyarpbuilder
no longer exists,yarpmanager
now includes
all the builder functionality.
Devices
- The
microphone
device is deprecated in favour ofportaudio
(#891). - The new
depthCamera
camera driver implements theIRGBD
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
forpublisherUpdate
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).
- Fixed yarpmanager cannot display and disconnect mjpeg connections
- 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 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
toControlBoard
interfaces. - Fixed segfault in
ControlBoardWrapper2
for multiJoints functions
GUIs
yarpdataplayer
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>
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 inyarp::dev::AnalogWrapper
has
removed the support for thedeviceId
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 formthreadrate 10
can be update with the
valid formperiod 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
inNameConfig
and
SocketTwoWayStream
(fixes a few possible race conditions). - Fixed memory leak in
NameConfig::getHostName
withSKIP_ACE
enabled. - Fixed "Conditional jump or move depends on uninitialised value" issues
reported byvalgrind --memcheck
inSocketTwoWayStream
withSKIP_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 withSKIP_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 max_angle and min_angle.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 theFIND_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>
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
andRGBDSensorWrapper
devices, that were erroneously
introduced were removed.
Bug Fixes
CMake Modules
StandardFindModule
: FixINTERFACE_COMPILE_DEFINITIONS
and
INTERFACE_COMPILE_OPTIONS
properties.
YARP_dev
- Add missing
YARP_dev_API
export symbol toStubImplPositionDirectRaw
- 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>