How to check if global ROS node is already running in MATLAB?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Rahul Bhadani
el 24 de Feb. de 2016
Comentada: Thomas Stubbs
el 27 de En. de 2023
Hi, I am using Robotics Toolbox to interface MATLAB and ROS. Before doing rosinit('http://192.68.0.43:11311') i want to check whether a Global Ros Node corresponding to it is running. What are the steps to accomplish that?
0 comentarios
Respuesta aceptada
Marcelino Almeida
el 22 de Mzo. de 2017
Editada: Marcelino Almeida
el 22 de Mzo. de 2017
I know it has been a long time, but I decided to post an answer here in case other people might be wondering how to do this.
Although there isn't much documentation on this, and this might not exist in future versions of the Robotics Toolbox, I've been able to check for node running through the following call:
robotics.ros.internal.Global.isNodeActive
The command above returns 1 if active, 0 if inactive.
2 comentarios
Alen Alempijevic
el 22 de Sept. de 2020
This is a great hack, but access to the variable robotics.ros.internal.Global seems to be removed in 2019b. You can wrap the command in a try catch
try
rosinit
catch ME
fprintf(2,'%s\n',ME.message);
end
Thomas Stubbs
el 27 de En. de 2023
I was able to do the Marcelino's solution in 2022b with a slight change:
ros.internal.Global.isNodeActive
Más respuestas (0)
Ver también
Categorías
Más información sobre Network Connection and Exploration en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!