[ROStoolbox]How can I exchange messages between Matlab node and Desktop node?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi there!
I want to know how can i exchange messages between Matlab node and Desktop node.
This is what I want to make.
I'm using Ubuntu 20.04LTS, Matlab2022a, ROS2 foxy
The left of picture is internal ROS2 node. The right of picture is Matlab node
The left one is Publisher. It publishes message with Topic using std_msg/msg/String.
To subscribe message from left one, I need to make subscriber node from Matlab.
The subscriber node is ready. The commands "ros2 node list" and "ros2 topic list -t" are work correctly.
But when I try to get message with matlab function "receive( )", they give me an error message.
Error using ros2subscriber/receive
Subscriber did not receive any messages and timed out.
So, I checked type of message. And i found that
The left node uses std_msg/msg/String for publish (used ROS2)
The right node uses std_msg/String for subscribe (used ROS1).
Should I use ROS BRIDGE to get message from internal node?
Thank you for reading and I needs good answer : <
댓글 수: 2
Cam Salzberger
2022년 5월 18일
Also, Hyounjun,
When you say "The right node uses std_msg/String for subscribe (used ROS1)", I believe you're just referring to the message type being similar to ROS 1 in the way that it doesn't specify "msg" in the middle between package and name. That was basically mainained that way for legacy reasons, both for similarity to ROS 1 and because the original implementations of ROS 2 also used that notation. It's still a ROS 2 node/subscriber if you use ros2node/ros2subscriber to create it.
-Cam
채택된 답변
Cam Salzberger
2022년 5월 18일
이동: Remo Pillat
2023년 3월 2일
Hello Hyounjun,
I commented extensively on a similar question here. Can you take a look at that and try the steps I suggested to see where the problem is.
-Cam
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Specialized Messages에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!