Skip to content

DDS Router does not work with ROS 2 Kilted. #540

@Tuntenfisch

Description

@Tuntenfisch

Hey, I recently switched from ROS 2 Humble to ROS 2 Kilted and noticed that my topics are no longer forwarded between ROS domains. Below example results in an invalid topic type hash which I think is at least part of the reason why nothing is received:

sfg-agent@sfg-experimental-area:/workspace$ ros2 topic info -v /global/chatter 
Type: std_msgs/msg/String

Publisher count: 1

Node name: _CREATED_BY_BARE_DDS_APP_
Node namespace: _CREATED_BY_BARE_DDS_APP_
Topic type: std_msgs/msg/String
Topic type hash: INVALID
Endpoint type: PUBLISHER
GID: 01.0f.06.27.fe.00.ea.d1.00.00.00.00.00.00.4d.03
QoS profile:
  Reliability: RELIABLE
  History (Depth): KEEP_LAST (1)
  Durability: VOLATILE
  Lifespan: Infinite
  Deadline: 0 nanoseconds
  Liveliness: AUTOMATIC
  Liveliness lease duration: Infinite

Subscription count: 1

Node name: listener
Node namespace: /
Topic type: std_msgs/msg/String
Topic type hash: RIHS01_df668c740482bbd48fb39d76a70dfd4bd59db1288021743503259e948f6b1a18
Endpoint type: SUBSCRIPTION
GID: 01.0f.06.27.bf.15.d5.19.00.00.00.00.00.00.13.04
QoS profile:
  Reliability: RELIABLE
  History (Depth): KEEP_LAST (10)
  Durability: VOLATILE
  Lifespan: Infinite
  Deadline: Infinite
  Liveliness: AUTOMATIC
  Liveliness lease duration: Infinite

Example

  • Router config:
    version: v5.0
    
    allowlist:
    name: rt/tf
      - name: rt/tf_static
      - name: rt/global/*
      - name: rq/global/*
      - name: rr/global/*
    
    participants:
      - name: local
        kind: simple
        domain: 35
    
      - name: global
        kind: simple
        domain: 23
    
    specs:
      discovery-trigger: reader
      remove-unused-entities: true
    
  • First ROS stack:
    sfg-agent@sfg-go2-01:/workspace$ export ROS_DOMAIN_ID=23
    sfg-agent@sfg-go2-01:/workspace$ ros2 run demo_nodes_cpp talker --ros-args -r /chatter:=/global/chatter
    [INFO] [1780939032.036083875] [talker]: Publishing: 'Hello World: 1'
    [INFO] [1780939033.036028389] [talker]: Publishing: 'Hello World: 2'
    [INFO] [1780939034.036030537] [talker]: Publishing: 'Hello World: 3'
    
  • Second ROS stack:
    sfg-agent@sfg-experimental-area:/workspace$ export ROS_DOMAIN_ID=35
    sfg-agent@sfg-experimental-area:/workspace$ ros2 run demo_nodes_cpp listener --ros-args -r /chatter:=/global/chatter
    

The second stack never receives anything and running ´ros2 topic info -v /global/chatter` yields the above output with the invalid hash. So while the topic is forward, it doesn't appear to correctly forward all information required by ROS 2 Kilted to accept messages from it. I'm using DDS Router v3.5.1. If both are using the same ROS domain, communication works fine. Any help would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions