A (partial) list of bug fixed and issues resolved in this release can be found here.
scripts/WindowsPowerShell
files are now in data/WindowsPowerShell
.scripts/yarp_completion
file is now in data/bash-completion/yarp
.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.yarp::os::getenv()
is deprecated in favour of std::getenv()
yarp::os::ConnectionState
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
yarp::os::NetworkBase::setVerbosity
method is deprecated in favor of Log Components.yarp::os::NetworkBase::getEnvironment()
method is deprecated in favour of yarp::conf::environment::getEnvironment()
yarp::os::NetworkBase::setEnvironment()
method is deprecated in favour of yarp::conf::environment::setEnvironment()
yarp::os::NetworkBase::unsetEnvironment()
method is deprecated in favour of yarp::conf::environment::unsetEnvironment()
yarp::os::Port
yarp::os::Port::setVerbosity
method is deprecated in favour of Log Components.yarp::os::Port::getVerbosity
method is deprecated in favour of Log Components.yarp::os::ResourceFinder
yarp::os::ResourceFinder::setVerbose()
method is deprecated in favour of Log Components.yarp::os::ResourceFinder::setQuiet()
method is deprecated in favour of Log Components.yarp::os::YarpPluginSettings
yarp::os::YarpPluginSettings::setVerboseMode()
method is deprecated in favour of Log Components.yarp::os::Log
yarp::os::Log::setLogCallback()
method is deprecated in favour of setPrintCallback()
yarp::dev
namespace to the yarp::dev::Nav2D
namespace
yarp::dev::Nav2D::Map2DPath
is now replacing std::vector<yarp::dev::Nav2D::Map2DLocation>
in all APIs.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 been changed. It can now include the parameters resolution <double>
and orientation <bottle>
to adjust the map reference frame.test_grabber
device was renamed fakeFrameGrabber
. The old name is kept for compatibility, but it will be deprecated and removed in a future release.test_motor
was renamed fakeMotor
. The old name is kept for compatibility, but it will be deprecated and removed in a future release.yarp
regression
subcommand was removed.bash-completion
file is now installed automatically (#1101).YARP_COMPILE_EXAMPLES
CMake OptionYARP_ENABLE_EXAMPLES_AS_TESTS
CMake Optionyarp_add_idl
YARP_ADD_IDL_THRIFT_INCLUDE_PREFIX
and YARP_ADD_IDL_THRIFT_NO_NAMESPACE_PREFIX
.yarp_prepare_plugin
CMAKE_INCLUDE_CURRENT_DIR
) is no longer required by the generated files.yarp::conf::clamp
. Will be replaced by std::clamp
as soon as c++17 is required in YARP.yarp/conf/environment.h
header.yarp::os::gethostname()
overload to return a std::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
yarp::os::LogComponent
to define log components:YARP_LOG_COMPONENT()
macro (in a .cpp
file) and eventually forward declared using YARP_DECLARE_LOG_COMPONENT()
.YARP_DEBUG_LOG_ENABLE
environment variable can be set to debug the log of the application.YARP_COMPACT_OUTPUT
environment variable to 1
.yDebug()
macro family was removed. A dynamic allocation is now used, but only when the size of the output exceeds this size.-DYARP_NO_DEBUG_OUTPUT
debug should not generate any code as well. See https://godbolt.org/z/hSAC56yCDebug
macro family to pass a component to the logger (This macro is also available for all log levels, and assert).[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.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
yarp::os::Portable
yarp::os::Portable::copyPortable()
is now const
. The new signature is: yarp::os::Port
yarp::sig::ImageOf
yarp::sig::ImageOf<yarp::sig::PixelRgb>
yarp::sig::VectorOf
const_iterator yarp::sig::VectorOf::begin() const
and const_iterator yarp::sig::VectorOf::end() const
in yarp::sig::VectorOf
class.yarp::math::Vec2D<size_t>
datatype.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 about the 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()
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
--name
accepted by the device. For example yarpdev --device fakeFrameGrabber
will open the port /grabber/quit
instead of /fakeFrameGrabber/quit
.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
or VOCAB_PIXEL_MONO16
) into a rgb image, using a precomputed colormap.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.laserFromPointCloud
device, which receives a depth stream through an IRGBDSensor
sensor a produces a laser compatible stream of data from the computed point cloud.IMURosPublisher
device. This wrapper connects to a device and publishes a ROS topic of type sensor_msgs::Imu
.MagneticFieldRosPublisher
device. This wrapper connects to a device and publishes a ROS topic of type sensor_msgs::MagneticField
.PoseStampedRosPublisher
device. This wrapper connects to a device and publishes a ROS topic of type geometry_msgs::PoseStamped
.TemperatureRosPublisher
device. This wrapper connects to a device and publishes a ROS topic of type sensor_msgs::Temperature
.WrenchStampedRosPublisher
device. This wrapper connects to a device and publishes a ROS topic of type geometry_msgs::WrenchStamped
.upowerBattery
device to view the battery of a linux laptop in YARP using the yarp::dev::IBattery
interface.fakeBattery
<name>/control/rpc:i
to retrieve and change the values reported by the fake battery.fakeLaser
--use_constant
option.yarp::dev::Lidar2DDeviceBase
laserFromDepth
yarp::dev::Lidar2DDeviceBase
Localization2DServer
multipleAnalogSensorsMsgs
multipleAnalogSensorsSerializations.thrift
have been extended to handle position 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 uninitialized yarp::dev::IPositionSensors
interfaces.ovrheadset
P
command to print current settings.Rangefinder2DClient
Rangefinder2DClient
now use yarp::dev::LaserScan2D
datatype.Rangefinder2DWrapper
Rangefinder2DWrapper
now use yarp::dev::LaserScan2D
datatype.rpLidar2
yarp::dev::Lidar2DDeviceBase
transformClient
transformServer
--USER_TF
option.yarp
--help
, -h
and --version
arguments are now accepted.priority-qos
subcommand that allows to set/get the packet priority value of both the source and the destination port.priority-sched
subcommand that allows to set/get the thread priority and policy values of both the source and the destination port.env
subcommand to print one or the full list of environment variables.qos
subcommand is accepted as an alias to priority-qos
.sched
subcommand is accepted as an alias to priority-sched
.yarp pray
. Watch out for palindrome mode.yarprun
YARP_IS_YARPRUN
is set to 1
for all child processesYARPRUN_IS_FORWARDING_LOG
is set to 1
when yarprun is forwarding the log and to 0
otherwiseyarpmobilebasegui
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
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
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
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
Options
menu).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
.EXPERIMENTAL means that the software is under development, provided with incomplete documentation and it may be modified/renamed/removed without any notice.
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.YARP_robotinterface
library by refactoring as a library the logic of the yarprobotinterface
tool, including support for attaching devices created by the library to external devices created in some other way.unix_stream
carriers to communicate with a process on the same machine using a unix socket. It's possible to use the ack
option (unix_stream+ack
) in case you need flow control.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.Port
Image
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
):