Можно включить обнаружение переполнения для развернутого узла ROS. Сведения о развертывании узла ROS из Simulink ® см. в разделе Создание автономного узла ROS из Simulink ®.
Переполнение происходит, когда развернутая модель Simulink все еще обрабатывает последний шаг, но запрашивается следующий шаг.
При включении обнаружения переполнения развернутый узел ROS уведомляет пользователя через ROS_ERROR механизм регистрации (см. ROS Logging). Ошибка выводится в командную строку консоли ROS. Чтобы включить обнаружение переполнения во время ROS:
На вкладке Приложения в разделе Системы управления щелкните Операционная система робота (ROS).
В открывшемся диалоговом окне ROS выберите Robot Operating System (ROS) из раскрывающегося списка Сеть ROS. Откроется вкладка ROS на панели инструментов, на которой отображается указанная сеть ROS в разделе Connect.
В разделе Подготовка (Prepare) на вкладке АФК (ROS) щелкните Настройки оборудования (Hardware Settings), чтобы открыть диалоговое окно параметров конфигурации модели. В разделе Параметры платы оборудования > Параметры операционной системы/планировщика > Параметры операционной системы выберите Обнаружение переполнения задач.
После включения функции обнаружения переполнения задач можно заново построить и развернуть модель. При запуске узла ROS модель ожидает публикации времени ROS. При обнаружении переполнения ошибка выводится в командную строку консоли ROS, записывается в файл журнала и публикуется через /rosout. Типичная ошибка:
[ERROR [1518780859.389633256, 214281.990000000]: !!! Overrun 1 !!!
Модель продолжает выполнение после завершения предыдущего шага и ожидает следующего временного шага.
Когда возникает условие переполнения, его можно исправить с помощью одного из следующих подходов:
Упрощение модели
Увеличьте время выборки для модели и блоков в ней. Например, измените параметр Sample time во всех блоках источника данных с 0.1 кому 0.2.