ROS2 Simulink Toolbox not publishing

24 views (last 30 days)
Hi,
I am creating a simple example of publish/subscribe using the ROS2 Simulink toolbox to test connecting to a ROS2 Network. I have two computers on the same subnet mask: an Ubuntu 20.04 running ROS2 Foxy and a Windows 10 running the Matlab 2020b ROS Toolbox.
I can publish from my Ubuntu and view the message in Simulink, but when I use Simulink to publish something, I receive nothing on my Ubuntu computer.
I receive no error during the execution. And also, I have configured the ROS_DOMAIN_ID on both machines.
Would anyone have any idea for a possible workaround for this problem?
Thanks!

Accepted Answer

Cam Salzberger
Cam Salzberger on 25 Oct 2020
Edited: Cam Salzberger on 25 May 2021
Hello Natasha,
Changes to the way communication through ROS 2 is done in Foxy that results in it being incompatible with earlier releases of ROS by default. This occurs in standard ROS 2 installations as well (outside of MATLAB). R2020b is using ROS 2 Dashing and the default DDS implementation of Fast-RTPS, so it is also affected by this issue. Here are some workarounds:
Use Dashing
The easiest solution would be to install Dashing on Ubuntu, if that is possible for your use of ROS 2.
Use Cyclone DDS with Foxy
Another workaround would be to switch the Foxy installation to use the Cyclone DDS implementation that comes packages with the Foxy binary installation. See these instructions on how to install Cyclone DDS, if required, and these instructions on how to specify the RMW implementation to use.
Change Profiles XML for RTI Connext DDS with Foxy
In the Foxy release note, there is a similar incompatibility noted, specific to the RTI Connext back-end. There is a workaround suggested in that note.
-Cam
  13 Comments
Cam Salzberger
Cam Salzberger on 21 Jan 2022
Edited: Cam Salzberger on 21 Jan 2022
ROS 2 Foxy is supported by R2022a, along with ROS Noetic. If your license enables you to do so, you can download the prerelease and try it out now.
Please note that both ROS and ROS 2 in R2022a will require Python 3.9 for custom message generation, codegen deployment, and ROS Master creation (in ROS 1). See the release notes for details on other changes.
-Cam
Shipeng Liu
Shipeng Liu on 25 Feb 2022
Edited: Shipeng Liu on 25 Feb 2022
thanks, this problem blocks me whole day.

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!