You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A (partial) list of bug fixed and issues resolved in this release can be found here.
Important Changes
YCM 0.11 or later is now a hard
dependency and must be installed on the system before installing YARP.
Python 2 is no longer supported.
Deprecation and Behaviour Changes
The scripts/WindowsPowerShell files are now in data/WindowsPowerShell.
The scripts/yarp_completion file is now in data/bash-completion/yarp.
Build System
yarp_prepare_plugin
INCLUDE must now be an existing file, either using a path relative to
current directory, or an absolute path. Using a path relative to one of the
include directories is deprecated.
os
The method yarp::os::getenv() is deprecated in favour of std::getenv()
yarp::os::ConnectionState
The yarp::os::ConnectionState::getLog() method was removed without
deprecation, due to the changes to the logging system, that made it impossible
to preserve this method.
yarp::os::NetworkBase
The yarp::os::NetworkBase::setVerbosity method is deprecated in favor of Log
Components.
The yarp::os::NetworkBase::getEnvironment() method is deprecated in favour
of yarp::conf::environment::getEnvironment()
The yarp::os::NetworkBase::setEnvironment() method is deprecated in favour
of yarp::conf::environment::setEnvironment()
The yarp::os::NetworkBase::unsetEnvironment() method is deprecated in favour
of yarp::conf::environment::unsetEnvironment()
yarp::os::Port
The yarp::os::Port::setVerbosity method is deprecated in favour of Log
Components.
The yarp::os::Port::getVerbosity method is deprecated in favour of Log
Components.
yarp::os::ResourceFinder
The yarp::os::ResourceFinder::setVerbose() method is deprecated in favour of
Log Components.
The yarp::os::ResourceFinder::setQuiet() method is deprecated in favour of
Log Components.
yarp::os::YarpPluginSettings
The yarp::os::YarpPluginSettings::setVerboseMode() method is deprecated in
favour of Log Components.
yarp::os::Log
The yarp::os::Log::setLogCallback() method is deprecated in favour of setPrintCallback()
dev
The following classes were moved from the yarp::dev namespace to the yarp::dev::Nav2D namespace
yarp::dev::Nav2D::Map2DArea
yarp::dev::Nav2D::Map2DPath
yarp::dev::Nav2D::Map2DLocation
yarp::dev::Nav2D::MapGrid2D
yarp::dev::Nav2D::MapGrid2DInfo
yarp::dev::Nav2D::Map2DPath is now replacing std::vector<yarp::dev::Nav2D::Map2DLocation> in all
APIs.
The following functions have been moved from yarp::dev::Nav2D::MapGrid2D
into yarp::dev::Nav2D::MapGrid2DInfo:
modified signature of the yarp::dev::Nav2D::INavigation2D::getAllNavigationWaypoints method.
The format of .map file loaded by yarp::dev::Nav2D::MapGrid2D has been
changed. It can now include the parameters resolution <double> and orientation <bottle> to adjust the map reference frame.
Devices
The test_grabber device was renamed fakeFrameGrabber.
The old name is kept for compatibility, but it will be deprecated and removed
in a future release.
The test_motor was renamed fakeMotor.
The old name is kept for compatibility, but it will be deprecated and removed
in a future release.
Tools
yarp
The regression subcommand was removed.
New Features
Build System
The bash-completion file is now installed automatically (#1101).
It is now possible to build some of the examples in the main build using the YARP_COMPILE_EXAMPLES CMake Option
It is now possible to build some of the YARP examples as test using the YARP_ENABLE_EXAMPLES_AS_TESTS CMake Option
yarp_add_idl
It's now possible to pass options to the commands using CMake variables (for
example YARP_ADD_IDL_THRIFT_INCLUDE_PREFIX and YARP_ADD_IDL_THRIFT_NO_NAMESPACE_PREFIX.
yarp_prepare_plugin
Including current directory (either explicitly, or using CMAKE_INCLUDE_CURRENT_DIR) is no longer required by the generated files.
Libraries
conf
Added yarp::conf::clamp. Will be replaced by std::clamp as soon as c++17
is required in YARP.
Added the yarp/conf/environment.h header.
Added the following functions:
yarp::conf::environment::getEnvironment()
yarp::conf::environment::setEnvironment()
yarp::conf::environment::unsetEnvironment()
os
Add yarp::os::gethostname() overload to return a std::string
The yarp logging system was heavily refactored, please check out the
[documentation](\ref yarp_logging).
The name of the port used to forward the output no longer contains the full
path, but only the executable name.
Added yarp::os::LogComponent to define log components:
A log component can be declared using the YARP_LOG_COMPONENT() macro (in
a .cpp file) and eventually forward declared using YARP_DECLARE_LOG_COMPONENT().
It is possible to set custom printing and forwarding macros for each
component, and it is possible to enable and disable specific levels for each
component.
At the moment it is not yet possible to change the defaults set in the code,
but this will be enabled in the future.
The output forwarded is now a property and contains several useful
information including component and system/network time, file, line,
function.
The logger is now able to detect if it is running in yarprun and
eventually change the output format.
Logging is now protected by a mutex to avoid garbled output.
The YARP_DEBUG_LOG_ENABLE environment variable can be set to debug
the log of the application.
When color is enabled, the loglevel can be represented by a single colored
character by setting the YARP_COMPACT_OUTPUT environment variable to 1.
The limit of 1024 characters for the c-style yDebug() macro family was
removed. A dynamic allocation is now used, but only when the size of the
output exceeds this size.
Trace should no longer generate code when building in release mode.
When building with -DYARP_NO_DEBUG_OUTPUT debug should not generate any code
as well. See https://godbolt.org/z/hSAC56
Added the yCDebug macro family to pass a component to the logger (This
macro is also available for all log levels, and assert).
Added the following new debug macro families limiting the log output (all
these macros are available for all log levels, except for [FATAL], and in
the component version):
yDebugOnce(): Printed only once in the execution of the program.
yDebugThreadOnce(): Printed at most once by every thread during the
execution of the program.
yDebugThrottle(): Printed at most once every period seconds.
yDebugThreadThrottle(): Printed at most once by every thread every period
seconds.
Added the yDebugExternalTime() macro family to pass a timestamp generated by
an external source (This macros is also available for all log levels, in the component version, and in the limited version):
yarp::os::ManagedBytes
Added move semantics.
yarp::os::Portable
The first argument of yarp::os::Portable::copyPortable() is now const.
The new signature is:
Added new class yarp::dev::Nav2D::MapGrid2DInfo which contains infos about
the name, the resolution and the origin of the map (e.g. yarp::dev::Nav2D::MapGrid2DOrigin) etc.
Added new path-related methods to yarp::dev::Nav2D::IMap2D interface:
Added method yarp::dev::Nav2D::ILocalization2D::getEstimatedOdometry() to
the interface yarp::dev::Nav2D::ILocalization2D.
yarp::dev::Nav2D::MapGrid2DOrigin can now handle a generic orientation.
Previously only the translational part was handled by methods world2Cell and cell2World
The terminator port now tries to use the default value for --name accepted
by the device.
For example yarpdev --device fakeFrameGrabber will open the port /grabber/quit instead of /fakeFrameGrabber/quit.
logger
Interpret the new message format containing extra info.
Carriers
Added depthimage2 portmonitor to transform a depth image
(VOCAB_PIXEL_FLOAT format) into a rgb image, using a precomputed colormap.
Added segmentationimage portmonitor to transform a segmentation image
(VOCAB_PIXEL_MONO or VOCAB_PIXEL_MONO16) into a rgb image, using a
precomputed colormap.
Devices
Added laserFromExternalPort device, which is able to receive a LaserScan2D
datatype from a YARP port, and expose it as a device driver through the IRangefinder2D interface.
Added laserFromPointCloud device, which receives a depth stream through an IRGBDSensor sensor a produces a laser compatible stream of data from the
computed point cloud.
Added IMURosPublisher device. This wrapper connects to a device and
publishes a ROS topic of type sensor_msgs::Imu.
Added MagneticFieldRosPublisher device. This wrapper connects to a device and
publishes a ROS topic of type sensor_msgs::MagneticField.
Added PoseStampedRosPublisher device. This wrapper connects to a device and
publishes a ROS topic of type geometry_msgs::PoseStamped.
Added TemperatureRosPublisher device. This wrapper connects to a device and
publishes a ROS topic of type sensor_msgs::Temperature.
Added WrenchStampedRosPublisher device. This wrapper connects to a device and
publishes a ROS topic of type geometry_msgs::WrenchStamped.
Added upowerBattery device to view the battery
of a linux laptop in YARP using the yarp::dev::IBattery interface.
fakeBattery
Added a new port <name>/control/rpc:i to retrieve and change the values
reported by the fake battery.
The battery is now charged or discharged depending on the sign of the current.
The default values for voltage and current are now more realistic.
It is now possible to change the starting values as device options.
fakeLaser
Added --use_constant option.
The device is now derived from yarp::dev::Lidar2DDeviceBase
laserFromDepth
The device is now derived from yarp::dev::Lidar2DDeviceBase
Localization2DServer
Added missing ROS initialization. It will now publish odometry data on ROS
topic.
multipleAnalogSensorsMsgs
multipleAnalogSensorsSerializations.thrift have been extended to handle
position sensors.
multipleanalogsensorsserver
Added handlers for yarp::dev::IPositionSensors interface.
Added support for wrapped subdevices, i.e. those explicitly instantiated via --subdevice option on initial device configuration. (#2154)
multipleanalogsensorsclient
Added handlers for yarp::dev::IPositionSensors interface.
multipleanalogsensorsremapper
Added handlers for yarp::dev::IPositionSensors interface.
Update MAS_NrOfSensorTypes. This avoids segfaults due to uninitialized yarp::dev::IPositionSensors interfaces.
ovrheadset
Port to the new rendering API and make it focus aware (SDK 1.19 is required).
Add P command to print current settings.
Rangefinder2DClient
Rangefinder2DClient now use yarp::dev::LaserScan2D datatype.
Rangefinder2DWrapper
Rangefinder2DWrapper now use yarp::dev::LaserScan2D datatype.
rpLidar2
The device is now derived from yarp::dev::Lidar2DDeviceBase
transformClient
Added support for identical frame transforms.
transformServer
Cleanup of --USER_TF option.
Tools
yarp
The --help, -h and --version arguments are now accepted.
Added the priority-qos subcommand that allows to set/get the packet priority
value of both the source and the destination port.
Added the priority-sched subcommand that allows to set/get the thread
priority and policy values of both the source and the destination port.
Added the env subcommand to print one or the full list of environment
variables.
The qos subcommand is accepted as an alias to priority-qos.
The sched subcommand is accepted as an alias to priority-sched.
When logic fails, it's time to yarp pray. Watch out for palindrome mode.
yarprun
The name of the port used to forward the output no longer contains the full
path, but only the executable name.
The following enviromnent variables are now set in the child processes:
YARP_IS_YARPRUN is set to 1 for all child processes
YARPRUN_IS_FORWARDING_LOG is set to 1 when yarprun is forwarding the
log and to 0 otherwise
GUIs
Added new yarpmobilebasegui GUI which allows the user to control the
mobile base of the robot via keyboard or mouse and sends yarp::dev::MobileBaseVelocity commands on a yarp port.
yarpmanager
Moved the builder, from the hidden place to a tab in the application view.
yarplaserscannergui
Multiple instances are now allowed with --local option.
Added --debug option.
yarpdataplayer
It's now possible to reproduce several ROS types, i.e.
sensor_msgs/LaserScan
nav_msgs/Odometry
tf/tfMessage
tf2_msgs/tfMessage
geometry_msgs/Pose
geometry_msgs/Pose2D
Added getSliderPercentage method to the rpc port.
This method returns the progress percentage of the seek bar while playing a
dataset. (#2148)
yarpview
Added a checkable menu item that, if checked, shows an additional line in the status bar that displays the color value of the pixel pointed by the mouse
cursor.
The string has the following format
Pixel("x","y") = "hexstring"
Where x and y are the coordinates of the pixel and hexstring is the
hexadecimal (in the ARGB format) string representing the pixel color.
The additional line on the status bar contains also a little rectangle that
will turn the same color of the currently selected pixel.
yarplogger
The new info from yarp log (component, time, etc.) are now displayed (the
columns that are not shown by default can be enabled from the Options menu).
Cleaned up interface, removed status bar and improved colors.
Bindings
Several previously inaccessible methods from motor interfaces are now
correctly wrapped.
This covers pretty much everything the pair remote_controlboard/controlboardwrapper2 wraps and implements, only
excluding calibration interfaces.
In addition, two more interfaces can be accessed through the PolyDriver
idiom: IEncodersTimed and IMotor.
New Experimental Features
EXPERIMENTAL means that the software is under development, provided with
incomplete documentation and it may be modified/renamed/removed without any
notice.
Libraries
os
The following EXPERIMENTAL environment variables can be enabled to enable
forwarding of some extra log information:
YARP_FORWARD_CODEINFO_ENABLE (file name, line number and function name)
YARP_FORWARD_HOSTNAME_ENABLE (hostname)
YARP_FORWARD_PROCESSINFO_ENABLE (command, arguments, pid and thread id)
YARP_FORWARD_BACKTRACE_ENABLE (stack trace)
These environment variables could be removed in the future.
robotinterface
Created the new EXPERIMENTALYARP_robotinterface library by refactoring
as a library the logic of the yarprobotinterface tool, including support for
attaching devices created by the library to external devices created in some
other way.
Carriers
Added the new EXPERIMENTALunix_stream carriers to communicate with a
process on the same machine using a unix socket.
It's possible to use the ack option (unix_stream+ack) in case you need
flow control.
Devices
Added Realsense2WithIMUEXPERIMENTAL device.
This is a driver for Realsense D435i.
Added Relasense2TrackingEXPERIMENTAL device.
This is a driver for Realsense T265.
added laserFromRosTopicEXPERIMENTAL device.
It exposes a lidar ROS topic (dataype sensor_msgs::LaserScan) on YARP,
using the yarp::dev::IRangefinder2D interface.
Bug Fixes
Libraries
os
Port
Passing an invalid string when setting the QoS by DSCP no longer sets it to 0.
sig
Image
Fixed pixel type and the orientation settings when using the move constructor
and the move assignment operator.
Contributors
This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.3.0..v3.4.0):
This discussion was converted from issue #424 on December 12, 2020 12:43.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
YARP 3.4.0 was released today and is now available for download at: https://github.com/robotology/yarp/releases/.
A (partial) list of bug fixed and issues resolved in this release can be found
here.
Important Changes
dependency and must be installed on the system before installing YARP.
Deprecation and Behaviour Changes
scripts/WindowsPowerShell
files are now indata/WindowsPowerShell
.scripts/yarp_completion
file is now indata/bash-completion/yarp
.Build System
yarp_prepare_plugin
INCLUDE
must now be an existing file, either using a path relative tocurrent directory, or an absolute path. Using a path relative to one of the
include directories is deprecated.
os
yarp::os::getenv()
is deprecated in favour ofstd::getenv()
yarp::os::ConnectionState
yarp::os::ConnectionState::getLog()
method was removed withoutdeprecation, due to the changes to the logging system, that made it impossible
to preserve this method.
yarp::os::NetworkBase
yarp::os::NetworkBase::setVerbosity
method is deprecated in favor of LogComponents.
yarp::os::NetworkBase::getEnvironment()
method is deprecated in favourof
yarp::conf::environment::getEnvironment()
yarp::os::NetworkBase::setEnvironment()
method is deprecated in favourof
yarp::conf::environment::setEnvironment()
yarp::os::NetworkBase::unsetEnvironment()
method is deprecated in favourof
yarp::conf::environment::unsetEnvironment()
yarp::os::Port
yarp::os::Port::setVerbosity
method is deprecated in favour of LogComponents.
yarp::os::Port::getVerbosity
method is deprecated in favour of LogComponents.
yarp::os::ResourceFinder
yarp::os::ResourceFinder::setVerbose()
method is deprecated in favour ofLog Components.
yarp::os::ResourceFinder::setQuiet()
method is deprecated in favour ofLog Components.
yarp::os::YarpPluginSettings
yarp::os::YarpPluginSettings::setVerboseMode()
method is deprecated infavour of Log Components.
yarp::os::Log
yarp::os::Log::setLogCallback()
method is deprecated in favour ofsetPrintCallback()
dev
yarp::dev
namespace to theyarp::dev::Nav2D
namespaceyarp::dev::Nav2D::Map2DArea
yarp::dev::Nav2D::Map2DPath
yarp::dev::Nav2D::Map2DLocation
yarp::dev::Nav2D::MapGrid2D
yarp::dev::Nav2D::MapGrid2DInfo
yarp::dev::Nav2D::Map2DPath
is now replacingstd::vector<yarp::dev::Nav2D::Map2DLocation>
in allAPIs.
yarp::dev::Nav2D::MapGrid2D
into
yarp::dev::Nav2D::MapGrid2DInfo
:yarp::dev::Nav2D::XYWorld yarp::dev::Nav2D::MapGrid2DInfo::cell2World(yarp::dev::Nav2D::XYCell cell) const;
yarp::dev::Nav2D::Map2DLocation yarp::dev::Nav2D::MapGrid2DInfo::toLocation(yarp::dev::Nav2D::XYCell cell) const;
yarp::dev::Nav2D::XYCell yarp::dev::Nav2D::MapGrid2DInfo::toXYCell(yarp::dev::Nav2D::Nav2D::Map2DLocation loc) const;
yarp::dev::Nav2D::XYCell yarp::dev::Nav2D::MapGrid2DInfo::world2Cell(yarp::dev::Nav2D::XYWorld world) const;
yarp::dev::Nav2D::Nav2D::Map2DLocation yarp::dev::Nav2D::MapGrid2DInfo::toLocation(yarp::dev::Nav2D::XYWorld cell) const;
yarp::dev::Nav2D::XYWorld yarp::dev::Nav2D::MapGrid2DInfo::toXYWorld(yarp::dev::Nav2D::Map2DLocation loc) const;
yarp::dev::Nav2D::INavigation2D::getAllNavigationWaypoints
method.yarp::dev::Nav2D::MapGrid2D
has beenchanged. It can now include the parameters
resolution <double>
andorientation <bottle>
to adjust the map reference frame.Devices
test_grabber
device was renamedfakeFrameGrabber
.The old name is kept for compatibility, but it will be deprecated and removed
in a future release.
test_motor
was renamedfakeMotor
.The old name is kept for compatibility, but it will be deprecated and removed
in a future release.
Tools
yarp
regression
subcommand was removed.New Features
Build System
bash-completion
file is now installed automatically (#1101).YARP_COMPILE_EXAMPLES
CMake OptionYARP_ENABLE_EXAMPLES_AS_TESTS
CMake Optionyarp_add_idl
example
YARP_ADD_IDL_THRIFT_INCLUDE_PREFIX
andYARP_ADD_IDL_THRIFT_NO_NAMESPACE_PREFIX
.yarp_prepare_plugin
CMAKE_INCLUDE_CURRENT_DIR
) is no longer required by the generated files.Libraries
conf
yarp::conf::clamp
. Will be replaced bystd::clamp
as soon as c++17is required in YARP.
yarp/conf/environment.h
header.yarp::conf::environment::getEnvironment()
yarp::conf::environment::setEnvironment()
yarp::conf::environment::unsetEnvironment()
os
yarp::os::gethostname()
overload to return astd::string
yarp::os::NetworkBase
bool yarp::os::NetworkBase::isNetworkInitialized()
method.yarp::os::NetType
static std::string yarp::os::NetType::toString(yarp::conf::float32_t)
static std::string yarp::os::NetType::toString(yarp::conf::float64_t)
static yarp::conf::float32_t yarp::os::NetType::toFloat32(const std::string&)
static yarp::conf::float64_t yarp::os::NetType::toFloat64(const std::string&)
static yarp::conf::float32_t yarp::os::NetType::toFloat32(std::string&&)
static yarp::conf::float64_t yarp::os::NetType::toFloat64(std::string&&)
static std::string yarp::os::NetType::toHexString(long)
static std::string yarp::os::NetType::toHexString(unsigned int)
yarp::os::Time
bool yarp::os::Time::isClockInitialized()
method.yarp::os::Log
[documentation](\ref yarp_logging).
path, but only the executable name.
yarp::os::LogComponent
to define log components:YARP_LOG_COMPONENT()
macro (ina
.cpp
file) and eventually forward declared usingYARP_DECLARE_LOG_COMPONENT()
.component, and it is possible to enable and disable specific levels for each
component.
but this will be enabled in the future.
information including component and system/network time, file, line,
function.
eventually change the output format.
YARP_DEBUG_LOG_ENABLE
environment variable can be set to debugthe log of the application.
character by setting the
YARP_COMPACT_OUTPUT
environment variable to1
.yDebug()
macro family wasremoved. A dynamic allocation is now used, but only when the size of the
output exceeds this size.
When building with
-DYARP_NO_DEBUG_OUTPUT
debug should not generate any codeas well. See https://godbolt.org/z/hSAC56
yCDebug
macro family to pass a component to the logger (Thismacro is also available for all log levels, and assert).
these macros are available for all log levels, except for
[FATAL]
, and inthe component version):
yDebugOnce()
: Printed only once in the execution of the program.yDebugThreadOnce()
: Printed at most once by every thread during theexecution of the program.
yDebugThrottle()
: Printed at most once everyperiod
seconds.yDebugThreadThrottle()
: Printed at most once by every thread everyperiod
seconds.
yDebugExternalTime()
macro family to pass a timestamp generated byan external source (This macros is also available for all log levels, in the
component version, and in the limited version):
yarp::os::ManagedBytes
yarp::os::Portable
yarp::os::Portable::copyPortable()
is nowconst
.The new signature is:
yarp::os::Port
sig
yarp::sig::ImageOf
yarp::sig::ImageOf<yarp::sig::PixelRgb>
yarp::sig::VectorOf
const_iterator yarp::sig::VectorOf::begin() const
andconst_iterator yarp::sig::VectorOf::end() const
inyarp::sig::VectorOf
class.
math
yarp::math::Vec2D<size_t>
datatype.dev
yarp::dev::LaserScan2D
datatype.yarp::dev::MobileBaseVelocity
datatype.yarp::dev::OdometryData
datatype.yarp::dev::OdometryData6D
datatype.yarp::dev::IPositionSensors
interface.yarp::dev::Lidar2DDeviceBase
class to use as a base class for all lidar devices.yarp::dev::Nav2D::TrajectoryTypeEnum
yarp::dev::Nav2D::ILocalization2D
interfaceyarp::dev::Nav2D::ILocalization2D::startLocalizationService();
yarp::dev::Nav2D::ILocalization2D::stopLocalizationService();
yarp::dev::Nav2D::ILocalization2D::getCurrentPosition(yarp::dev::Nav2D::Map2DLocation& loc, yarp::sig::Matrix& cov);
yarp::dev::Nav2D::ILocalization2D::setInitialPose(const yarp::dev::Nav2D::Map2DLocation& loc, const yarp::sig::Matrix& cov);
yarp::dev::Nav2D::MapGrid2DInfo
which contains infos aboutthe name, the resolution and the origin of the map (e.g.
yarp::dev::Nav2D::MapGrid2DOrigin
) etc.yarp::dev::Nav2D::IMap2D
interface:virtual bool yarp::dev::Nav2D::IMap2D::storePath(std::string path_name, Nav2D::Map2DPath path) = 0;
virtual bool yarp::dev::Nav2D::IMap2D::getPath(std::string path_name, Nav2D::Map2DPath& path) = 0;
virtual bool yarp::dev::Nav2D::IMap2D::getPathsList(std::vector<std::string>& paths) = 0;
virtual bool yarp::dev::Nav2D::IMap2D::deletePath(std::string path_name) = 0;
virtual bool yarp::dev::Nav2D::IMap2D::renamePath(std::string original_name, std::string new_name) = 0;
virtual bool yarp::dev::Nav2D::IMap2D::clearAllPaths() = 0;
yarp::dev::Nav2D::ILocalization2D::getEstimatedOdometry()
tothe interface
yarp::dev::Nav2D::ILocalization2D
.yarp::dev::Nav2D::MapGrid2DOrigin
can now handle a generic orientation.Previously only the translational part was handled by methods
world2Cell
andcell2World
--name
acceptedby the device.
For example
yarpdev --device fakeFrameGrabber
will open the port/grabber/quit
instead of/fakeFrameGrabber/quit
.logger
Carriers
depthimage2
portmonitor to transform a depth image(
VOCAB_PIXEL_FLOAT
format) into a rgb image, using a precomputed colormap.segmentationimage
portmonitor to transform a segmentation image(
VOCAB_PIXEL_MONO
orVOCAB_PIXEL_MONO16
) into a rgb image, using aprecomputed colormap.
Devices
laserFromExternalPort
device, which is able to receive aLaserScan2D
datatype from a YARP port, and expose it as a device driver through the
IRangefinder2D
interface.laserFromPointCloud
device, which receives a depth stream through anIRGBDSensor
sensor a produces a laser compatible stream of data from thecomputed point cloud.
IMURosPublisher
device. This wrapper connects to a device andpublishes a ROS topic of type
sensor_msgs::Imu
.MagneticFieldRosPublisher
device. This wrapper connects to a device andpublishes a ROS topic of type
sensor_msgs::MagneticField
.PoseStampedRosPublisher
device. This wrapper connects to a device andpublishes a ROS topic of type
geometry_msgs::PoseStamped
.TemperatureRosPublisher
device. This wrapper connects to a device andpublishes a ROS topic of type
sensor_msgs::Temperature
.WrenchStampedRosPublisher
device. This wrapper connects to a device andpublishes a ROS topic of type
geometry_msgs::WrenchStamped
.upowerBattery
device to view the batteryof a linux laptop in YARP using the
yarp::dev::IBattery
interface.fakeBattery
<name>/control/rpc:i
to retrieve and change the valuesreported by the fake battery.
fakeLaser
--use_constant
option.yarp::dev::Lidar2DDeviceBase
laserFromDepth
yarp::dev::Lidar2DDeviceBase
Localization2DServer
topic.
multipleAnalogSensorsMsgs
multipleAnalogSensorsSerializations.thrift
have been extended to handleposition sensors.
multipleanalogsensorsserver
yarp::dev::IPositionSensors
interface.--subdevice
option on initial device configuration. (#2154)multipleanalogsensorsclient
yarp::dev::IPositionSensors
interface.multipleanalogsensorsremapper
yarp::dev::IPositionSensors
interface.MAS_NrOfSensorTypes
. This avoids segfaults due to uninitializedyarp::dev::IPositionSensors
interfaces.ovrheadset
P
command to print current settings.Rangefinder2DClient
Rangefinder2DClient
now useyarp::dev::LaserScan2D
datatype.Rangefinder2DWrapper
Rangefinder2DWrapper
now useyarp::dev::LaserScan2D
datatype.rpLidar2
yarp::dev::Lidar2DDeviceBase
transformClient
transformServer
--USER_TF
option.Tools
yarp
--help
,-h
and--version
arguments are now accepted.priority-qos
subcommand that allows to set/get the packet priorityvalue of both the source and the destination port.
priority-sched
subcommand that allows to set/get the threadpriority and policy values of both the source and the destination port.
env
subcommand to print one or the full list of environmentvariables.
qos
subcommand is accepted as an alias topriority-qos
.sched
subcommand is accepted as an alias topriority-sched
.yarp pray
. Watch out for palindrome mode.yarprun
path, but only the executable name.
YARP_IS_YARPRUN
is set to1
for all child processesYARPRUN_IS_FORWARDING_LOG
is set to1
when yarprun is forwarding thelog and to
0
otherwiseGUIs
yarpmobilebasegui
GUI which allows the user to control themobile base of the robot via keyboard or mouse and sends
yarp::dev::MobileBaseVelocity
commands on a yarp port.yarpmanager
yarplaserscannergui
--local
option.--debug
option.yarpdataplayer
sensor_msgs/LaserScan
nav_msgs/Odometry
tf/tfMessage
tf2_msgs/tfMessage
geometry_msgs/Pose
geometry_msgs/Pose2D
getSliderPercentage
method to the rpc port.This method returns the progress percentage of the seek bar while playing a
dataset. (#2148)
yarpview
status bar
that displays the color value of the pixel pointed by the mousecursor.
The string has the following format
x
andy
are the coordinates of the pixel andhexstring
is thehexadecimal (in the ARGB format) string representing the pixel color.
The additional line on the
status bar
contains also a little rectangle thatwill turn the same color of the currently selected pixel.
yarplogger
columns that are not shown by default can be enabled from the
Options
menu).Bindings
correctly wrapped.
This covers pretty much everything the pair
remote_controlboard
/controlboardwrapper2
wraps and implements, onlyexcluding calibration interfaces.
In addition, two more interfaces can be accessed through the
PolyDriver
idiom:
IEncodersTimed
andIMotor
.New Experimental Features
EXPERIMENTAL means that the software is under development, provided with
incomplete documentation and it may be modified/renamed/removed without any
notice.
Libraries
os
forwarding of some extra log information:
YARP_FORWARD_CODEINFO_ENABLE
(file name, line number and function name)YARP_FORWARD_HOSTNAME_ENABLE
(hostname)YARP_FORWARD_PROCESSINFO_ENABLE
(command, arguments, pid and thread id)YARP_FORWARD_BACKTRACE_ENABLE
(stack trace)These environment variables could be removed in the future.
robotinterface
YARP_robotinterface
library by refactoringas a library the logic of the
yarprobotinterface
tool, including support forattaching devices created by the library to external devices created in some
other way.
Carriers
unix_stream
carriers to communicate with aprocess on the same machine using a unix socket.
It's possible to use the
ack
option (unix_stream+ack
) in case you needflow control.
Devices
Realsense2WithIMU
EXPERIMENTAL device.This is a driver for Realsense D435i.
Relasense2Tracking
EXPERIMENTAL device.This is a driver for Realsense T265.
laserFromRosTopic
EXPERIMENTAL device.It exposes a lidar ROS topic (dataype
sensor_msgs::LaserScan
) on YARP,using the
yarp::dev::IRangefinder2D
interface.Bug Fixes
Libraries
os
Port
sig
Image
and the move assignment operator.
Contributors
This is a list of people that contributed to this release (generated from the
git history using
git shortlog -ens --no-merges v3.3.0..v3.4.0
):Beta Was this translation helpful? Give feedback.
All reactions