Publishing ConnextStaticSerializedData type object through RTI Connector

2 posts / 0 new
Last post
Offline
Last seen: 3 years 9 months ago
Joined: 07/02/2020
Posts: 5
Publishing ConnextStaticSerializedData type object through RTI Connector

I am interfacing `ROS2` with native `RTI DDS Connector` for python where I am publishing messages in RTI connector and subscribing in ROS2.

I am trying to publish a ConnextStaticSerializedData type message, but encountered an issue where transport info do not match:

 

PRESParticipant_checkTransportInfoMatching:Warning: the message_size_max, 65536, for udpv6, of the remote participant (rviz2), does not match the message_size_max, 65487, of the local participant (MyPubParticipant). Will lose RTPS packets with size > 65487
NDDS_Transport_UDP_create_sendresource_srEA:send ping failed
PRESParticipant_checkTransportInfoMatching:Warning: the message_size_max, 65536, for udpv6, of the remote participant (robot_state_publisher), does not match the message_size_max, 65487, of the local participant (MyPubParticipant). Will lose RTPS packets with size > 65487

Here is the Qos profile used:

 

<dds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://community.rti.com/schema/5.3.1/rti_dds_profiles.xsd"
     version="5.3.1">
    <!-- Qos Library -->
    <qos_library name="QosLibrary">
        <qos_profile name="DefaultProfile"
                     is_default_qos="true">
     <datawriter_qos>
  <property>
                    <value>
                        <element>
                             <name>dds.data_writer.history.memory_manager.fast_pool.pool_buffer_max_size</name>
                        <value>0</value>
                        </element>
                    </value>
                </property>
             <history>
                 <kind>KEEP_LAST_HISTORY_QOS</kind>
                 <depth>1000</depth>
              </history>
             <reliability>
                 <kind>RELIABLE_RELIABILITY_QOS</kind>
              </reliability>
             <durability>
                 <kind>VOLATILE_DURABILITY_QOS</kind>
             </durability>
           </datawriter_qos>
            <participant_qos>
  <transport_builtin>
                    <mask>UDPV6 |UDPV4 | SHMEM</mask>
                </transport_builtin>
  <property>
   <value>
   <element>
   <name>dds.transport.UDPv6.builtin.parent.message_size_max</name>
   <value>65536</value>
   </element>
   </value>
  </property>
            </participant_qos>
        </qos_profile>
    </qos_library>
    <!-- types -->
    <types>
       <struct name= "ConnextStaticSerializedData">
         <member name="key_hash" type="octet" arrayDimensions="16" key="true"/>
         <member name="serialized_key" type="octet" sequenceMaxLength="2147483647"/>
  <member name="serialized_data" type="octet" sequenceMaxLength="2147483647"/>
       </struct>
    </types>
    <!-- Domain Library -->
    <domain_library name="MyDomainLibrary">
        <domain name="MyDomain" domain_id="30">
            <register_type name="geometry_msgs::msg::dds_::Twist_" type_ref="ConnextStaticSerializedData" />
            <topic name="rt/cmd_vel" register_type_ref="geometry_msgs::msg::dds_::Twist_"/>
        </domain>
    </domain_library>
    <!-- Participant library -->
    <domain_participant_library name="MyParticipantLibrary">
        <domain_participant name="MyPubParticipant" domain_ref="MyDomainLibrary::MyDomain">
            <publisher name="MyPublisher">
                <data_writer name="MySquareWriter" topic_ref="rt/cmd_vel" />
            </publisher>
        </domain_participant>
        <!-- We use separate participants because we run the writer and the reader
            on different applications, and wouldn't want to create the reader
            in writer.py, or the writer in reader.py -->
        <domain_participant name="MySubParticipant" domain_ref="MyDomainLibrary::MyDomain">
            <subscriber name="MySubscriber">
                <data_reader name="MySquareReader" topic_ref="rt/cmd_vel" />
            </subscriber>
        </domain_participant>
    </domain_participant_library>
</dds>

 
 
Even after setting dds.transport.UDPv6.builtin.parent.message_size_max for the local participant to 65536, I still face the same error. Is there anyway to resolve this?

 

Offline
Last seen: 1 month 4 days ago
Joined: 11/14/2017
Posts: 29