ros2node() freezes execution

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 个评论

I further noticed that this only happens for the default domain ID '0'. Migrating all my external nodes to any other domain is a possible workaround for now.
Hi Hendrik,
Please let me know which version of MATLAB that you are using. As per your response, looks like node creation is working on other Domain Ids.
Is the node creation failing outside the MATLAB too on your machine with Domain Id as 0 ?
Can you run the following command in the MATLAB command line and share the generated rossupport.txt file to debug further ?
ros.internal.generateSupportFile
Thanks,
Jagadeesh K
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
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.

请先登录,再进行评论。

 采纳的回答

Jagadeesh Konakalla
Jagadeesh Konakalla 2022-10-12

0 个投票

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.

更多回答(0 个)

类别

产品

版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by