Превысьте обнаружение с развернутыми узлами ROS

Можно включить превышенное обнаружение для развернутого узла ROS. Чтобы развернуть узел ROS от Simulink®, смотрите, Генерируют Автономный Узел ROS от Simulink®.

Переполнение происходит, когда развернутая модель Simulink все еще обрабатывает последний шаг, но следующий шаг требуют.

Когда вы включаете превышенное обнаружение, развернутый узел ROS уведомляет пользователя через ROS_ERROR логгирование механизма (см., что ROS Регистрирует). Ошибка выводится к командной строке консоли ROS. Включить превышенное обнаружение на времени ROS:

  1. Под вкладкой Modeling выберите Model Settings для своей модели.

  2. Под Hardware Implementation, набор Hardware board к Robot Operating System (ROS).

  3. Под Hardware board settings> Operating system/scheduler settings> Operating system options, выберите Detect task overruns.

После включения Detect task overruns можно восстановить и развернуть модель. При запуске узла ROS модель ожидает в течение времени ROS, которое будет опубликовано. Когда переполнение обнаруживается, ошибка выводится к командной строке консоли ROS, записала в файле журнала и опубликовала через /rosout. Типичная ошибка:

[ERROR [1518780859.389633256, 214281.990000000]: !!! Overrun 1 !!!

Модель продолжает выполняться, когда предыдущий шаг заканчивается и ожидает следующего временного шага.

Когда условие переполнения происходит, можно откорректировать его с помощью одного из следующих подходов:

  • Упростите модель

  • Увеличьте шаги расчета для модели и блоков в ней. Например, измените параметр Sample time во всех ваших блоках источника данных из 0.1 к 0.2.

Смотрите также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте