ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Hello,
I did a similar setup for RTI Connext Micro. It should follow the same steps:
You need to configure the same partition name (https://community.rti.com/static/documentation/connext-dds/5.2.3/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/Content/UsersManual/PARTITION_QosPolicy.htm). Which should be set in the QoS.
You need to update the .idl to have the same fields as in your messages in ROS2. The types are almost identical (uint32 versus uint32_t... for CPP).
Once you have generated the code:
GENERATOR=$(BASE)/rtiddsgen/scripts/rtiddsgen -language C++ $(IDL_PREFIX).idl
You can update the QoS by creating your own profile https://community.rti.com/examples/using-qos-profiles You will have to register the correct topic name using the function create_topic (the parameter you gave once you created the node:
publisher_ = this->create_publisher<std_msgs::msg::String>("topic");
In this case "topic")
And update the type_name. In my case I was using the typename "std_msgs::msg::dds_::String_" as I was using https://github.com/ros2/common_interfaces/tree/master/std_msgs/msg/String.msg (register_type function)
If you want to get the typename, topic, QoS, you can have a look at the mangled name in the RWM package of Connext or use the tools provided by RTI Launcher.
As I was working on RTI Connext Micro, those steps are probably different (hopefully similar) but maybe it can help you.
2 | No.2 Revision |
Hello,
I did a similar setup for RTI Connext Micro. It should follow the same steps:
You need to configure the same partition name (https://community.rti.com/static/documentation/connext-dds/5.2.3/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/Content/UsersManual/PARTITION_QosPolicy.htm). Which should be set in the QoS.
You need to update the .idl to have the same fields as in your messages in ROS2. The types are almost identical (uint32 versus uint32_t... for CPP).
Once you have generated the code:
GENERATOR=$(BASE)/rtiddsgen/scripts/rtiddsgen -language C++ $(IDL_PREFIX).idl
You can update the QoS by creating your own profile https://community.rti.com/examples/using-qos-profiles You will have to register the correct topic name using the function create_topic (the parameter you gave once you created the node:
publisher_ = this->create_publisher<std_msgs::msg::String>("topic");
In this case "topic")
And update the type_name. In my case I was using the typename "std_msgs::msg::dds_::String_" as I was using https://github.com/ros2/common_interfaces/tree/master/std_msgs/msg/String.msg (register_type function)function)
You can have a look at the mangled name in the RWM package of Connext.
If you want to get the typename, topic, QoS, you can have a look at the mangled name in the RWM package of Connext or use the tools provided by RTI Launcher.
As I was working on RTI Connext Micro, those steps are probably different (hopefully similar) but maybe it can help you.