Research Institute for Cognition and Robotics

Universität BielefeldCoR-Lab

Planet CoR-Lab

Relative RPath Settings with CMake

semipol - Thu, 16/02/2012 - 15:05

The run-time search path (rpath) defines paths to search for dynamic libraries when executing a program. It is a mechanism on Linux parallel to the LD_LIBRARY_PATH environment variable, which is another hint to find dynamic libraries.

Usually, it is a good idea to make software which you built relocatable. This means that created binaries can be moved around and they still work after the location change. This includes the ability to still find the correct versions of dynamic libraries. One simple way to achieve this is by setting the rpath relative to the current location of the binary. In CMake this can be achieved like this:

# for all binaries created in a CMake project: SET(CMAKE_INSTALL_RPATH "\$ORIGIN/../lib:\$ORIGIN/") # for certain targets SET_TARGET_PROPERTIES(target 1 target2 ... PROPERTIES INSTALL_RPATH "\$ORIGIN/../lib:\$ORIGIN/")

Please note that the backslash is required.

Categories: Planet CoR-Lab

Robotics Systems Types - RST 1.0 Released

CoR-Lab Open Source Collaboration Platform - Thu, 09/02/2012 - 19:29

We are happy to announce the release of version 1.0 of RST. This is the initial release. It provides

Categories: Planet CoR-Lab

Intelligente-Systeme-Spitzencluster „it`s owl“ hat gewonnen

botzeit - Fri, 20/01/2012 - 00:08
Seit heute steht fest: Der Spitzencluster „Intelligente Technische Systeme“ aus Ostwestfalen-Lippe hat den Spitzencluster-Wettbewerb gewonnen. Damit werden für die kommenden Jahre 40 Millionen Euro für 45 Forschungsprojekte für einen „Innovationssprung von der Mechanik zu Intelligenten Technischen Systemen“.
Categories: Planet CoR-Lab

NemoMath - NemoMath 0.2 released

CoR-Lab Open Source Collaboration Platform - Thu, 22/12/2011 - 14:19
Most important updates:
  • 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
Categories: Planet CoR-Lab

NemoMath - NemoMath 0.2 released

CoR-Lab Open Source Collaboration Platform - Thu, 22/12/2011 - 14:19
Most important updates:
  • 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
Categories: Planet CoR-Lab

Robotics Service Bus - RSB 0.5 Released

CoR-Lab Open Source Collaboration Platform - Wed, 26/10/2011 - 18:15
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
These can be downloaded from the 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.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 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
Categories: Planet CoR-Lab

Robotics Service Bus - RSB 0.5 Released

CoR-Lab Open Source Collaboration Platform - Wed, 26/10/2011 - 18:15
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
These can be downloaded from the 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.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 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
Categories: Planet CoR-Lab

Robotics Systems Commons - RSC 0.5 Released

CoR-Lab Open Source Collaboration Platform - Wed, 26/10/2011 - 17:34

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
Categories: Planet CoR-Lab

Robotics Systems Commons - RSC 0.5 Released

CoR-Lab Open Source Collaboration Platform - Wed, 26/10/2011 - 17:34

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
Categories: Planet CoR-Lab