isNodeRunning

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

Синтаксис

running = isNodeRunning(device,modelName)

Описание

пример

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

Примеры

свернуть все

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

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

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

  rosdevice with properties:

      DeviceAddress: '192.168.203.129'
           Username: 'user'
          ROSFolder: '/opt/ros/hydro'
    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_12272 with NodeURI http://192.168.203.1:61068/

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

d.AvailableNodes
ans =

  1×2 cell array

    {'robotcontroller'}    {'robotcontroller2'}

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

runNode(d,'robotcontroller')
running = isNodeRunning(d,'robotcontroller')
running =

  logical

   1

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

stopNode(d,'robotcontroller')
rosshutdown
stopCore(d)
Shutting down global node /matlab_global_node_12272 with NodeURI http://192.168.203.1:61068/

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

свернуть все

Устройство ROS, заданное как объект rosdevice.

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

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

свернуть все

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

Введенный в R2017b