Можно разрешить выполнение развернутого узла ROS на основе времени, опубликованного в /clock тема в сети ROS. Сведения о развертывании узла ROS из Simulink ® см. в разделе Создание автономного узла ROS из Simulink ®.
При включении степпинга модели времени ROS развернутый узел ROS выполняется, когда опубликованное время ROS кратно базовой скорости модели. Для включения степпинга модели на основе времени ROS:
На вкладке Приложения в разделе Системы управления щелкните Операционная система робота (ROS).
В открывшемся диалоговом окне ROS выберите Robot Operating System (ROS) из раскрывающегося списка Сеть ROS. Откроется вкладка ROS на панели инструментов, на которой отображается указанная сеть ROS в разделе Connect.
В разделе Подготовка (Prepare) на вкладке АФК (ROS) щелкните Настройки оборудования (Hardware Settings), чтобы открыть диалоговое окно параметров конфигурации модели. В разделе Target Hardware resources > ROS time выберите Enable ROS time model stepping.
Чтобы указать раздел для публикации уведомления при выполнении модели, установите флажок Включить уведомление после шага (Enable notification after step) и используйте раздел Уведомление (Notification) (по умолчанию: /step_notify). Подпишитесь на раздел, чтобы получать сообщение при каждой публикации времени ROS. Узел ROS публикует std_msgs/String тип сообщения со строкой, содержащей '+' или '-' и имя модели (+rostime_test, например). A '+' указывает, что модель была ступенчатой. A '-' указывает, что опубликованное время ROS не было кратным базовой скорости модели.
После включения степпинга модели и задания раздела уведомлений можно заново построить и развернуть модель. При запуске узла ROS модель ожидает публикации времени ROS.
Можно также включить обнаружение переполнения, если выполнение модели все еще обрабатывается, когда следующий шаг инициируется временем ROS. Дополнительные сведения см. в разделе Обнаружение переполнения с развернутыми узлами ROS.