• Join/Login
  • Business Software
  • Open Source Software
  • For Vendors
  • Blog
  • About
  • More
    • Articles
    • Create
    • SourceForge Podcast
    • Site Documentation
    • Subscribe to our Newsletter
    • Support Request
SourceForge logo
For Vendors Help Create Join Login
SourceForge logo
Business Software
Open Source Software
SourceForge Podcast
Resources
  • Articles
  • Case Studies
  • Blog
Menu
  • Help
  • Create
  • Join
  • Login
  • Home
  • Browse
  • roslink
  • Wiki

roslink Wiki

Accelerate the integration of legacy systems with ROS

Status: Alpha
Brought to you by: fabiodl
  • Summary
  • Files
  • Reviews
  • Support
  • Wiki
  • Tickets
Menu ▾ ▴
  • Wiki Home
  • Browse Pages
  • Browse Labels
  • Formatting Help

Installation

Fabio DallaLibera

ROSLink consists of two components:

  • helium, the code to be used in legacy projects
  • roslink, a set of API to perform the marshalling between the data types used in the legacy code and the ROS types, e.g. for declaring that std::string should be mapped to std_msgs::String

Download each component from

https://sourceforge.net/projects/roslink/files/

Compilation of ROSlink

As an initial phase, compile both components on your ROS machine:

  • extract the zip files in your ros workspace (e.g. ~./ros_workspace), and enter your workspace directory
  • $ cd helium
  • $ cmake .
  • $ make
  • $ cd ../roslink
  • $ cmake .
  • $ make

helium needs to be compiled on the legacy system as well. Either:

  • compile all the cpp files of the directory src together as a library, and then link your code against it

or

  • compile all the cpp files of the directory src together with your code

Procedure differs depending on your OS / compiler.

  • vs.zip provides a Visual Studio Express 2010.
  • Makefile.qnx inside helium.zip provides a minimal Makefile for QNX
  • Makfile.mingw inside helium.zip provides a minimal Makefile for MinGW

Tests

ROSLink comes with some examples programs.
Before running the tests, you need to launch lmaster , which is the ROSLink equivalent of roscore:

  • $ rosrun helium lmaster

Each test consists in three programs: a legacy program, a ROS node used to link the legacy code with ROS, and a ROS node used for testing (e.g. a subscriber if the legacy program is a publisher)
You can test the following cases (using different terminals / terminal tabs for each command)

  1. A legacy publisher, and a ROS subscriber
    • $ rosrun roslink lPublisher
    • $ rosrun roslink mPublisher
    • $ rosrun roslink rSubscriber
  2. A legacy subscriber, and a ROS publisher
    • $ rosrun roslink lSubscriber
    • $ rosrun roslink mSubscriber
    • $ rosrun roslink rPublisher
  3. A legacy server, and a ROS client
    • $ rosrun roslink lServer
    • $ rosrun roslink mServer
    • $ rosrun roslink rClient 4 5
  4. A legacy client, and a ROS server
    • $ rosrun roslink rServer
    • $ rosrun roslink mClient
    • $ rosrun roslink lClient 4 5

Please then see the code of these examples, located in the examples folder of roslink
The examples closely parallel the ROS tutorials ( see topics
and services
)


Related

Wiki: Home

SourceForge
  • Create a Project
  • Open Source Software
  • Business Software
  • Top Downloaded Projects
Company
  • About
  • Team
  • SourceForge Headquarters
    1320 Columbia Street Suite 310
    San Diego, CA 92101
    +1 (858) 422-6466
Resources
  • Support
  • Site Documentation
  • Site Status
  • SourceForge Reviews
SourceForge logo
© 2026 Slashdot Media. All Rights Reserved.
Terms Privacy Opt Out Advertise
MongoDB Logo MongoDB