/rtt_ros2_integration

Orocos ROS 2 integration libraries and tools

Primary LanguageC++Apache License 2.0Apache-2.0

Orocos RTT / ROS Integration Packages

Build Status

Introduction

This repository contains ROS 2 packages necessary for building Orocos Real-Time Toolkit (RTT) libraries, plugins, and components to communicate with ROS 2 nodes and to integrate with higher-level ROS concepts.

Packages

The packages in this repository provide:

  • rtt_ros2 CMake helpers, scripts and launch files to find and use Orocos RTT and OCL in an ament_cmake package and an RTT service plugin to find and import those packages into Orocos.

  • rtt_ros2_idl Generate RTT typekits from ROS 2 message and service definitions specified in the ROS interface definition language (IDL).

  • rtt_ros2_node Instantiate a per-process or per-component ROS 2 node from within an Orocos deployment.

  • rtt_ros2_topics Connect Orocos ports to ROS 2 topics for real-time safe inter-process communication.

  • rtt_ros2_services Provide ROS 2 services that call Orocos operations or connect Orocos operation callers to ROS services provided by other nodes.

  • rtt_ros2_interfaces provides a convenience macro that generates typekits and Orocos plugins for a given ROS 2 interface package, using all of the packages above.

    To a generate a typekit, run the command

    ros2 run rtt_ros2_interfaces create_typekit_package [PACKAGE]
    

    Where package is the package containing the messages or services.

  • rtt_ros2_params Provides ROS 2 parameters interface to manipulate parameters as in ROS 2 parameters and load/store them from/to Orocos properties.

Contributing

Any contribution to this repository is appreciated, whether they are new features, bug fixes, improved documentation or just questions. However, it is recommended to first discuss the change you wish to make via a GitHub issue.

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Acknowledgement

Many thanks to all previous contributors to this repository.

It is the successor of rtt_ros_integration for ROS 1, and many ideas and some code snippets have been taken from contributions made by the following people over the years:

  • Peter Soetens
  • Ruben Smits
  • Jonathan Bohren
  • Johannes Meyer
  • Antoine Hoarau
  • ...and others.

This work has been funded with support from

Houston Mechatronics Logo

Houston Mechatronics

and

rosin_logo

Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components.
More information: rosin-project.eu

eu_flag

This project has received funding from the European Union’s Horizon 2020
research and innovation programme under grant agreement no. 732287.