ROS2 Simulink Toolbox not publishing

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!

 Respuesta aceptada

Cam Salzberger
Cam Salzberger el 25 de Oct. de 2020
Editada: Cam Salzberger el 25 de Mayo de 2021

1 voto

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 comentarios

Natasha Nakashima
Natasha Nakashima el 4 de Nov. de 2020
Hello Cam, thank you very much for your answer! Unfortunatelly, changing to Dashing distro is not an option for your project. But I am going to test the workaround you have mentioned. We already have a solution that is working for us with a real-time UDP connection, but it is much more complex than using only toolbox in Matlab.
N/A
N/A el 3 de Mzo. de 2021
Will MATLAB 2021a change that, i.e. use/be compatible with ROS 2 Foxy or newer?
Cam Salzberger
Cam Salzberger el 3 de Mzo. de 2021
As R2021a pre-release is available, I can comment that it still uses Dashing as the back-end, which maintains its incompatibility with Foxy. I cannot comment on when ROS Toolbox will have a back-end update to a newer version of ROS, but it is on our radar.
Cam Salzberger
Cam Salzberger el 23 de Abr. de 2021
I have updated my answer with an additional workaround - using the Cyclone DDS RMW implementation on Foxy. It has worked for bidirectional communication with MATLAB for basic tests, though we haven't fully qualified it, and can't guarantee full functionality.
Daniel Lofaro
Daniel Lofaro el 9 de Jul. de 2021
Dashing is EOL as of May 2021, can you (Mathworks) please fix the ROS2 toolbox to work with Foxy (which is EOL in 2023).
Cam Salzberger
Cam Salzberger el 12 de Jul. de 2021
We are looking into updating the version of ROS 2 we use on the back-end for a future release of MATLAB.
Harun Teper
Harun Teper el 15 de Jul. de 2021
I followed the instructions to install Cyclone DDS with Foxy and when following the "Get Started with ROS2" and "Connect to a ROS2 Network" guides I still didn't see the other nodes that were running on my system.
I am using ROS2 Foxy on Ubuntu 20.04 and MATLAB on Ubuntu on the same machine.
Do I need to specify anything else, so that the nodes are discovered?
Also there is a 2021b pre-release. Does that one support the foxy distribution?
Cam Salzberger
Cam Salzberger el 19 de Jul. de 2021
Hello Harun,
R2021b is still supporting Dashing. We are working on Foxy back-end support for a future release.
See this answer for additional troubleshooting steps for connectivity.
-Cam
Srushti Prakash Bobade
Srushti Prakash Bobade el 21 de Sept. de 2021
Hi Cam,
How long will take before we get the back-end support for Foxy?
Cam Salzberger
Cam Salzberger el 22 de Sept. de 2021
From my post earlier: "I cannot comment on when ROS Toolbox will have a back-end update to a newer version of ROS, but it is on our radar."
Please be patient.
Eduard Rius
Eduard Rius el 15 de Nov. de 2021
Is there already any expected date to support ROS2 Foxy communication? I've tried these workarounds to connect to publish to some ros2 nodes and is not working. Although, I am able to subscribe to nodes, does it makes sense?
Cam Salzberger
Cam Salzberger el 21 de En. de 2022
Editada: Cam Salzberger el 21 de En. de 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 el 25 de Feb. de 2022
Editada: Shipeng Liu el 25 de Feb. de 2022
thanks, this problem blocks me whole day.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 7 de Oct. de 2020

Editada:

el 25 de Feb. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by