isNodeRunning

Определите, запускаются ли ROS или узел ROS 2

Описание

пример

running = isNodeRunning(device,modelName) определяет, работают ли ROS или узел ROS 2, сопоставленный с заданной моделью Simulink®, на заданном rosdevice или ros2device, device.

Примеры

свернуть все

Свяжите с удаленным устройством ROS и запустите узел ROS. Запустите ядро ROS так, чтобы узлы ROS могли связаться через сеть ROS. Можно запустить и остановить ядро ROS или узел и проверять их состояние с помощью rosdevice объект.

Создайте связь с устройством ROS. Задайте адрес, имя пользователя и пароль вашего определенного устройства ROS. Устройство уже содержит доступные узлы ROS, которые могут быть запущены с помощью runNode.

ipaddress = '192.168.203.129';
d = rosdevice(ipaddress,'user','password');
d.ROSFolder = '/opt/ros/indigo';
d.CatkinWorkspace = '~/catkin_ws_test'
d = 
  rosdevice with properties:

      DeviceAddress: '192.168.203.129'
           Username: 'user'
          ROSFolder: '/opt/ros/indigo'
    CatkinWorkspace: '~/catkin_ws_test'
     AvailableNodes: {'robotcontroller'  'robotcontroller2'}

Запустите ядро ROS. Соедините MATLAB® с ведущим устройством ROS использование rosinit. Это ядро позволяет вам запустить узлы ROS на своем устройстве ROS.

runCore(d)
rosinit(d.DeviceAddress,11311)
Initializing global node /matlab_global_node_84497 with NodeURI http://192.168.203.1:56034/

Проверяйте доступные узлы ROS на соединенном устройстве ROS. Эти перечисленные узлы были сгенерированы из моделей Simulink® после процесса в Начало работы с ROS в примере Simulink®.

d.AvailableNodes
ans = 1×2 cell
    {'robotcontroller'}    {'robotcontroller2'}

Запустите узел ROS и задайте имя узла. Проверяйте, запускается ли узел.

runNode(d,'RobotController')
running = isNodeRunning(d,'RobotController')
running = logical
   1

Остановите узел ROS. Отключитесь от сети ROS. Остановите ядро ROS.

stopNode(d,'RobotController')
rosshutdown
Shutting down global node /matlab_global_node_84497 with NodeURI http://192.168.203.1:56034/
stopCore(d)

Входные параметры

свернуть все

ROS или устройство ROS 2 в виде rosdevice или ros2device объект, соответственно.

Имя развернутой модели Simulink в виде вектора символов. Если имя модели не допустимо, функция возвращает false.

Выходные аргументы

свернуть все

Состояние того, запускаются ли ROS или узел ROS 2, возвратилось как true или false.

Введенный в R2019b