News
Robotics Service Bus: Timesync tool has been merged into rsb-tools-cpp (4 comments)
The RSB timesync tool, which synchronizes events from several scopes based on their timestamps, has been merged into the cpp tools section of this redmine project. The existing sub-project will be removed soon. Documentation that could be found there has been merged into the RSB manual available at http://docs.cor-lab.org.
Robotics Service Bus: Switched repository to git (2 comments)
We replaced the Robotics Service Bus Subversion repostiory with multiple git repositories, approximately one for each subproject. Subproject URL are constructed according to following scheme:
https://code.cor-lab.org/git/rsb.git.SUBPROJECT
where
SUBPROJECT
is the name of the subproject. For example https://code.cor-lab.org/git/rsb.git.tools-cpp
for the rsb-tools-cpp
subproject.
We kept the Subversion repository under the same URL. However, this repository is now read-only.
All repostories can be browsed in the "Repository" tab of the project.
Robotics Systems Commons: Switched repository to git (5 comments)
- one for RSC itself (https://code.cor-lab.org/git/rsc.git)
- and one for the log4cxx adapter (https://code.cor-lab.org/git/rsc.git.log4cxx-adapter)
We kept the Subversion repository under the same URL. However, this repository is now read-only.
All three repostories can be browsed in the "Repository" tab of the project.
Robotics Service Bus: RSB 0.6 Released
Overview¶
We are happy to announce the release of version 0.6 of RSB. The development activities in this cycle focused on- tool improvements
- better packaging and deployment
- extended documentation
In the process, about 40 issues have been created and subsequently resolved.
This RSB release is available in the following forms:- Source archives
- Pre-compiled self-installing archives or executable binaries
- Debian packages for different Ubuntu Linux versions
- RSB
- RSBag
- rsb-gstreamer
- See https://code.cor-lab.org/projects for a complete list of sub-projects
- RSB clients using the 0.6 version of RSB cannot generally communicate with clients using a previous RSB version.
- Log files recorded with the 0.6 version of RSBag cannot be processed with older RSBag versions. The opposite direction works, though.
The following paragraphs describe the changes in more detail. An overview regarding the current state of the different implementations is available in the wiki.
For an even more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.de/projects/rsb/versions/25
General¶
- All core components have been relicensed to LGPLv3, see #370
- Sub-projects have been cleaned up, see #806
- Manuals have been created:
- http://docs.cor-lab.org/rsb-manual/0.6/html
- http://docs.cor-lab.org/rsbag-manual/0.6/html, see #781
- For a list of all documentation, see http://docs.cor-lab.org/
- RSB programs now process
/etc/rsb.conf
if such a file exists, see #850
RSB Tools¶
- The C++ logger now has a "monitor mode" , see #815
- The C++ logger can now print event collections, see #736
- The Common Lisp logger adjusts its display to the width of the containing terminal
- The Common Lisp logger can now print event collections, see #737
RSBag Tools¶
- All tools can now read log files written by older tool versions, see #735
- A simplistic Elan backend has been added, see #780
- The RSBag distribution now includes some export-scripts which can be used with bag-cat (or the
logger
) bag-cat
now supports the same output styles as the logger, see #733, #758- bag-record can now store IDL, in the
format
field of TIDELog files, see #867 - bag-play and
bag-cat
now support time-based playback ranges via--start-time
and--end-time
, see #932
Robotics Systems Types: RST 1.0 Released
IMPORTANT: This release is outdated and the versioning scheme used here has been replaced. Do not use this release!
We are happy to announce the release of version 1.0 of RST. This is the initial release. It provides
- Two sets of data types:
- The types in source:branches/1.0/rst/proto/stable/ have matured over a few months, should be documented and are expected to not change much in the future
- The types in source:branches/1.0/rst/proto/sandbox/ are experimental, partially undocumented and subject to change without warning
- A set of converters for common types in source:branches/1.0/converter-repository
- Work in progress: an initial manual draft in the directory source:branches/1.0/manual
(The generated HTML version can be accessed via the documentation server)
NemoMath: NemoMath 0.2 released
- Many new built-in Mappings, e.g.
- Filters that allow temporal smoothing
- Norm/Metric function
- Mappings now have support for algebraic inversion (within certain limits), e.g.
Mapping<double,double> func = arg<double>() * 2.0 - 1.0; Mapping<double,double> inverseFunc = func.inverse();
- A new data type TimeSeries, which allows to represent and handle temporal aspects of data
TimeSeries<double,RealVector> series; series.append(1.5, RealVector(1.0, 1.0)); series.append(2.5, RealVector(3.0, 1.0)); series.insert(2.1, RealVector(2.0, 2.0)); TimeSeries<double,RealVector> transformed = series.values.map( RealMatrix({{0,2},{1,0}}) * arg<RealVector>() );
- All container types (MathVector,Matrix,TimeSeries) provide STL-compliant iterators:
RealVector v(1.0, 3.0, 2.0); std::reverse( v.begin(), v.end());
- The MacOS/clang platform is now supported
Robotics Service Bus: RSB 0.5 Released (1 comment)
Overview¶
We are happy to announce the release of version 0.5 of RSB. The development activities in this cycle focused primarily on API improvements and the integration of causal vectors. Moreover, complete compatibility for MSVC 2010 is now ensured and MacOS compatibility has been improved. In the process, about 60 issues have been created and subsequently resolved.
This RSB release is available in the following forms:- Source archives
- Pre-compiled self-installing archives
- Debian packages for different Ubuntu Linux versions
As always, bugs, feature requests and enhancement proposals can be reported in the issue tracker
Please note that- RSB clients using the 0.5 version of RSB cannot generally communicate with clients using a previous RSB version.
- The Spread transport is no longer active by default (see below).
- The API is in some parts not backwards-compatible.
The following paragraphs describe the changes in more detail. An overview regarding the current state of the different implementations is available in the wiki.
For an even more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/projects/rsb/versions/21
General¶
- A tutorial is now included in the RSB source tree: source:/branches/0.5/tutorials
- Several introductory talks are now included in the RSB source tree: source:/branches/0.5/talks
- RSB-related build jobs on the continuous integration sever have been reorganized
- Simple benchmarking tools are available in the RSB Benchmarking project
- The
#rsb
IRC channel on the freenode network can now be used for additional support and discussion - Installation instructions have been improved
Network Protocol and Configuration¶
- Causal vectors have been added to the network protocol. They allow to tag which events caused another event.
- The default transport configuration has been changed:
- The inprocess transport is now enabled by default
- The Spread transport is now disabled by default and has to be enabled explicitly when network communication is desired. This can e.g. be done by adding the user config file
~/.config/rsb.conf
with these lines:[transport.spread] enabled = 1 [transport.inprocess] enabled = 0
Tools¶
- The C++ logger now displays causal vectors
- The Common Lisp logger now displays causal vectors
- The Common Lisp logger now displays configurable statistics
- The Common Lisp logger now allows configuring the columns in the "compact" formatting style
- A tool for performing RPCs from the commandline has been added
C++¶
- Support for causal vectors has been added
- The client API for creation and configuration of participants and events has been simplified
- Convenience functions for participant creation without the factory have been added
Suggested by: Robert Haschke OriginFilter
has been added- Compilation time has been reduced
Suggested by: Matthias Rolf - A name-clash with a Qt macro has been resolved
Reported by: Matthias Rolf - Event dispatching now allows multiple threading strategies
- Performance Improvements
- Caching of Spread group names
- <-comparison of
EventId
s
Java¶
- Support for causal vectors has been added
OriginFilter
has been added
Python¶
- Support for causal vectors has been added
OriginFilter
has been added
Common Lisp¶
- Support for causal vectors has been added
Robotics Systems Commons: RSC 0.5 Released (8 comments)
Version 0.5 of the RSC library has been released. The most important changes in this release are:
- Extension of the TaskExecutor interface to allow delayed scheduling (This caused an incompatible API change)
CheckLSBTypes
macro to extract Ubuntu-specific information using CMake- Improved CPack support
- Compatibility fixes for Microsoft Visual Studio 2010
NemoMath: NemoMath 0.1 released
NemoMath is a math-library for robotics and learning... so why don't you just use Eigen 2???
The answer is twofold:
1.: NemoMath takes care of shared ownership issues in robotics/learning applications and systems.¶
Use Eigen (or similar Libs) in something more complex than one method of spaghetti code and you need to think about two questions:- Who is responsible for deleting an object?
- Who is allowed to modify an object (mutability) and when is a copy necessary?
The first thing that people usually come up with are smart-pointers like boost::shared_ptr
. It solves the problem when to delete an object. But, it makes the mutability-issue even worse, since it is not transparent to const-correctness. There is always a danger that some other objects holds a smart pointer on your vector and modifies it. Also, you lose a lot of the original API convenience, such as mathematical operators, which are not directly usable through a smart-pointer.
- Highly efficient intrusive-counters on internal data-objects. Passing a
nemo::MathVector
is almost as efficient as passing a plain C-pointer. - Copy-on-write on all Vector and Matrix objects. You can pass them without expensive copying been performed. Once a write-operation takes place, the library takes care of a copy.
Due to these two features, working with nemo::MathVector
and nemo::Matrix
feels like using simple objects, with which you can do "value-based" programming.
Yet it avoids all the typical overhead. See source:/tags/nemomath-0.1.0/nemomath/examples/ExampleVector.cpp
2.: NemoMath goes far beyond linear algebra.¶
Ultra-flexible Functor API- Define your own Mappings and combine them flexibly: source:/tags/nemomath-0.1.0/nemomath/examples/ExampleMapping.cpp
- Or just use the operators to express things simply and elegantly: source:/tags/nemomath-0.1.0/nemomath/examples/ExampleMappingArithmetics.cpp
- Allows flexible interaction with functor objects: source:/tags/nemomath-0.1.0/nemomath/examples/ExampleCollections.cpp
- These data-structures will be STL-compliant in the next version of NemoMath
Robotics Service Bus: RSB 0.4 Released
Overview¶
We are happy to announce the release of the 0.4 version of RSB. The development activities in this cycle focused primarily on extending and optimizing the wire format and improving the usability of and support for protocol buffer message objects as event payloads. In the process, more than 30 issues have been created and subsequently resolved.
- Downloadable source archives of this version are available in the Files section of this Redmine
- pre-compiled archives of RSB can be found as artifacts on our continuous integration server
- As always, bugs, feature requests and enhancement proposals can be reported in the issue tracker
Please note that RSB clients using the 0.4 version of RSB cannot communicate with clients using a previous RSB version.
The following paragraphs describe the changes in more detail.
For an even more detailed list of fixed bugs, added features and other enhancements, see https://code.cor-lab.org/projects/rsb/versions/17
Network Protocol for Spread-based Communication¶
- Removed Event Ids
The eagerly computed, mandatory unique id field of events is now lazily computed from a static id and a sequence number. Events can be transmitted without computing the id. This change saves 12 bytes in each notification sent over the wire.
Thanks: Stefan Herbrechtsmeier - Removed Version Field in Notifications
Incompatible wire format versions can now be detected by means of a trick which does not incur any runtime overhead in space or time. This enabled removal of theNotification.version
field, saving four bytes in each notification sent over the wire. - Method Field
The method field of events is now fully specified and used in request/reply communication.
C++¶
- Request/Reply Communication
In addition to blocking request/reply invocation, a future-based asynchronous interface is now available. - Efficiency Improvements
Several performance problems related to scope and event construction have been fixed.Thanks: Matthias Rolf, Arne Nordmann
Java¶
- Request/Reply Communication
Request/reply communication with blocking and asynchronous invocation modes has been implemented. - Converter Selection and Protocol Buffer Converter
A converter registration and selection mechanism and a generic converter for protocol buffer data holder classes have been added.
Python¶
- Request/Reply Communication
Request/reply communication with blocking and asynchronous invocation modes has been implemented. - Protocol Buffer Converter
A converter for protocol buffer data holder classes has been added.
Common Lisp¶
- Request/Reply Communication
Request/reply communication with blocking and asynchronous invocation modes has been implemented.
« Previous 1 ... 4 5 6 7 Next » (51-60/67)
Also available in: Atom