Skip to content

Interface DLS2 (FastDDS) with ROS2 without integration service #242

Description

@MMarcus95

3 main steps to connect FastDDS to ROS2

  1. generate .idl from .msg file:
    rosidl translate --to idl -o . package_name message_name.msg

  2. generate fastdds message using the -typeros2 option (-cs is used to allow case-sentitive names):
    fastddsgen -replace -cs -typeros2 message_name.idl

  3. create a fastdd reader/writer connected to a topic with name rt/ros2_topic_name

NB: a reader/writer could be configured to interface with ROS2, e.g. with environment variable. This means that the rt/ is automatically added before the topic name

STEPS [est. time 10d]

  • Install ROS2 and fastdds in the same docker image (waiting to generate image from github, to start from Ubuntu 24.04)
  • Put .idl files into a separate repo
  • Put messages in format module <package_name> {module msg{ ...}} [est.time 4d]
    • Since needs to change wrapper.stg, and it is poorly mantainable, thinking on removing wrapper (see #14)
  • Make usage of ROS2 optional: add/remove "rt" to topics and generate message with ros2 extension
  • Create a ROS2 package for the standard messages: automatic generation of ROS2 package while compiling with make
  • Provide example on how to generate .idl files from .msg ones
  • Provide set of .idl files for .msg standard messages (?) (generated while compiling with make)
  • Enable usage of service
  • Enable usage of action

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions