ROS initiate in MATLAB

2 次查看(过去 30 天)
Hey guys,
I'm trying to play with ROS interface to MATLAB. I tried the communication between MATLAB and an external ROS master (another computer) and let matlab playing as a node. It works perfectly but the system has a certain amout of delay. According to the description of rosinit in the MATLAB support, it could initalize a local ros master by simply using rosinit without any address. But this doesn't works for me and here are the errors MATLAB showing me.
And a command window jump out showing this:
Does anyone have any idea what's going on? Or is there any prerequsite for running ROS using MATLAB besides python?
  4 个评论
Jagadeesh Konakalla
Jagadeesh Konakalla 2021-11-26
Hi Zihui,
The tasklist program of windows is present in the folder C:\WINDOWS\system32. This path is missing from your windows PATH environement variable. Can you please add C:\WINDOWS\system32 to windows PATH enviornement variable and then restart the MATLAB. It should work.
Thanks,
Jagadeesh K.
zihui lang
zihui lang 2021-11-27
Jagadeesh,
It works! Really appriciate your help!

请先登录,再进行评论。

采纳的回答

Jagadeesh Konakalla
Jagadeesh Konakalla 2021-11-29
Good to know that your problem solved.
For others who run into similar issue, the solution is to add C:\WINDOWS\system32 to windows PATH enviornement variable and then restart the MATLAB.
  2 个评论
zihui lang
zihui lang 2021-11-29
Jagadeesh,
A similar problem shows up and probably related to the previous one. When I'm using "rosinit" without a IP address, it could start the rosmaster in MATLAB and creat a ros global node.
But when I'm using "rosnode list" to check the global nodes, it failed and returning me: Could not retrieve the system state of the ROS master.
And when I'm calling "rosshutdown", it also can't shutdown the roscore service. Error messages are:
>> rosshutdown
Shutting down global node /matlab_global_node_24304 with NodeURI http://DESKTOP-DK9K3V6:50081/
Shutting down ROS master on http://10.228.242.93:11311.
Warning: Error shutting down the ROS master.
> In ros/Core/stop (line 238)
In ros/Core/delete (line 141)
In ros.internal.Global.coreInstance/clearCore (line 243)
In ros.internal/Global/coreInstance (line 228)
In ros.internal/Global/core (line 43)
In rosshutdown (line 23)
I believe it is a problem that the rosmaster wasn't actually being initialized in MATLAB. Is there anyway to fix it?
Best,
Zihui
Jagadeesh Konakalla
Hi Zihui,
It is not very clear about the issue that you are facing with rosnode list.
As per the roshsutdown warning, i guess that rosmaster window is closed.
The rosinit command launches a Windows command window. Please do not close the window. You need to keep the window open. The rosshutdown command closes this window automatically.
Please provide more details on the issue that you are facing with rosnode list if you not accidentally closed the window.
Thanks,
Jagadeesh K.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Publishers and Subscribers 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by