ros2node() freezes execution

8 views (last 30 days)
Hello,
I'm trying to implement and run a ROS2 node in Matlab.
Yesterday, when I first used the Matlab ROS Toolbox, everything worked seamlessly.
Today, after a reboot of my device (Windows 10, 21H2), the simple node creation command
node = ros2node("name");
causes the execution to freeze infinitely until I manually kill the process libmwros2server.
Running and connecting any other ROS2 nodes outside of Matlab is working without any trouble.
I don't receive any errors or any feedback at all. I've tried rebooting my device multiple times and reinstalled Matlab with all toolboxes but without success.
I would appreciate any help on this one.
  4 Comments
Hendrik Steidl
Hendrik Steidl on 13 Apr 2022
Hi Jagadeesh,
thanks for your reply. You can find the output rossupport.txt in the attachments.
For external nodes (i tried it with both Python and C++ nodes), the Domain ID 0 works.
Kind regards, Hendrik
Kenneth De Leener
Kenneth De Leener on 10 Jun 2022
Hi everyone,
I ran into the same issue, attached rossupport.txt.
Some additional info:
  • If I run a ros2 command like ros2 node list, followed by the creation of a ros2node, the ROS daemon locks up
  • If you first run ros2node, it works fine, after the creation of a second node, it locks up again.
Thank you Hendrik for the work around, this was crucial for our project.

Sign in to comment.

Accepted Answer

Jagadeesh Konakalla
Jagadeesh Konakalla on 12 Oct 2022
It is observed that with FastDDS as RMW middlwware, the domain ID 0 does not work on few machines. The workaround for now is to use the Domain ID other that 0 or use change the RMW middlwware to other middleware.
Please see the following link on how to switch to different middlwares in MATLAB/Simulink.
Thanks,
Jagadeesh K.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!