ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Updates on Orocos ROS 1 and 2 integration

Dear community members,

We are happy to announce that we are making a big push forward on Orocos, made possible with the support of the European Union’s Horizon 2020 ROSIN project (www.rosin-project.eu) and Houston Mechatronics (https://www.houstonmechatronics.com/).

The Orocos project came to live almost 20 years ago with the goal to develop a framework for real-time safe interaction between individual software components in a robotics system, and to establish a library of ready-to-use components. The Orocos Real-Time Toolkit (RTT) and Component Library (OCL) is still actively developed and used by research groups and companies to realize their projects. Other projects were added to the Orocos ecosystem, like the Bayesian Filtering Library (BFL) and the Kinematics and Dynamics Library (KDL).

The main objective is to provide a high quality integration of ROS 1 and ROS 2 with Orocos that can be used out of the box by robotics companies developing real-time robotic systems.

The technical objectives are

  • to upgrade the ROS 1 integration with Orocos for smooth interoperation between the core ROS tooling and functionality, and
  • to provide the integration of ROS 2 with Orocos in order to communicate data between both frameworks in a real-time safe way.

Moreover we intend to provide this integration as open-source software freely available to the community, to document the software following the best practices established in the ROS community, and provide examples and tutorials on its use.

Development is already ongoing. A short overview on the status:

  • Finalizing the release of the Orocos Toolchain 2.10 into active ROS 1 and ROS 2 distributions (orocos-toolchain/orocos_toolchain#18)

  • Orocos - ROS 1 integration recent updates (rtt_ros_integration)

    • Generalized support for ROS service calls using real-time safe Orocos operation callers and providing ROS services that execute as Orocos operations in a real-time context, e.g. by adapting std_srvs/Empty or custom user-types to the signature of the respective operation
    • There are many ideas on how to improve and the existing rtt_ros_integration packages and integrate Orocos application with ROS deployments more smoothly. Most new work will be taken up over summer.
  • We are about to conclude the new Orocos - ROS 2 integration which can be found here: https://github.com/orocos/rtt_ros2_integration

    • RTT typekit generation from ROS 2 interface packages (messages, services and actions)
    • native ROS 2 transport to connect ports to ROS 2 publishers and subscribers (rtt_ros2_topics)
    • bridge ROS 2 services to RTT operations (rtt_ros2_services)
    • read/write ROS 2 parameters from an RTT service (rtt_ros2_params)
    • Unit test coverage for core functionality
    • Setup and integration with continuous integration tools (ROS-I CI)
  • After the first functional ROS 2 integration is ready and if time allows us, we would like to address some more advanced topics, for example to

    • adapt the RTT port API for better integration with ROS intra-process publishing, loaned messages and custom allocators,
    • refactor the Orocos package build system based on pkg-config to better integrate with modern CMake and build systems used by the ROS community, like catkin and ament
  • Documentation, quality and community management

    • Reinstated (+ will renew) the orocos.org website and documentation
    • Orocos documentation generated from Markdown documents, maintained in the source repositories
    • We’re collecting all existing documentation, examples and tutorials. We would be more than happy to have you involved to plug the holes!

We are looking forward to your involvement!

Shortly we will be sending more details on how we see the community portal and the technical work, followed by a questionnaire to collect your input and requirements. For now, please use this ROS Discourse topic for questions, comments, or just to express your interest in the topic.

For the technical work, we will use the issue tracker of the GitHub repositories linked above to detail the plans and to discuss.

Stay tuned for more updates!

Best regards,
Johannes and the Intermodalics/Orocos team

14 Likes

Really looking forward to this.

In my opinion OROCOS has always been an awesome project to use stand-alone but also a valuable companion to ROS.

It’s great your work in this FTP will allow users of ROS 2 to benefit from the same symbiosis :robot:

(to avoid seeming partial to this FTP in the ROSin contect: I’ve abstained from voting when this FTP was evaluated by the evaluation committee, the decision to grant this proposal was taken without me)

3 Likes

This is excellent news. I’m glad that this project is moving forward and I’ll be happy to contribute !

1 Like

Dear community members,

As promised a follow up email with our proposal on future Orocos documentation and community portal. We’re happy to hear your suggestions:

New landing page (www.orocos.org)

  • Goals: main landing page, low maintenance
  • Content:
    • General information, announcements of new releases etc.
    • No wiki, forum etc.
    • Link to documentation and source repositories
    • Link to mailing list
    • Link to legacy wiki
  • Comparable example: ros.org

Documentation (docs.orocos.org)

Community interaction

  • Goals: active and engaged community, easy maintenance and management
  • Content: get in contact, ask questions and give answers, ideation
  • Location/tool: Options we are considering and for which we would like your feedback:
    • Continue to use the existing mailing lists hosted on ls.kuleuven.be, with forwardings from orocos-users@orocos.org and orocos-dev@orocos.org? The backend was replaced a few years ago and since then it was not possible to subscribe anymore. That has been fixed now. The current solution still has some drawbacks:

      • Mailing lists are kind of “old fashioned”. We also did not find a way yet to set up a subscription form on the new landing page.
      • It is easily spammed and requires moderation.
      • The archives as-is are not very user friendly, hence are rarely searched or visited.
      • It is unlikely that we can revive the forum on the new landing page, which was connected to the mailing lists as a kind of archive.

      Alternative suggestions are welcome.

    • We ask OSRF to make a category for Orocos on ROS Discourse? This could serve as an alternative to the mailing list.

      • Any objection against this? However, we are not sure how big the overlap of ROS and Orocos communities currently is.
      • For proposing OSRF to create a new category, we would need some people who express interest in participating and leading discussions in the category.
    • Use the issue tracker of a dedicated GitHub repository (e.g. https://github.com/orocos/community) for general questions and announcements, next to the issue boards for individual subprojects. Interested people can start watching the repository to receive email notifications on any new topic and watch/unwatch per issue.

In summary:

Best regards,
Johannes

Dear @johannesmeyer
thanks for all the efforts;

Regarding the site; yes it is better to have a clean and lean website; with pointers to relevant, well organised, resources.
Given the quantity of the material already present, I do not know if the structure of the read-the-docs is sufficient, it looks to me a long document divided into chapters, so a good way for a presenting a single log document, not a collection of documents; I understand that the git managing is very appealing, though.

Regarding the type of documentation: if you want to make it attractive, there is the need for some new documents; I noticed this while preparing a seminar for ATLAS (if interested the slides are here.
In case someone is interested, I am open to reviewing them for the new site, or write down some text.

Regarding the communication, I am old-fashioned, like the mailing lists, but I think that a solution that is searchable and can generate emails if a question with a given tag is asked is probably the best.
I never used ROS discourse before, but I suppose that is possible to target received alert to communication regarding only OROCOS, right? in addition is probably going to boost visibility and convert some ROS user.

Cheers, Gianni.