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

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

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

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

  1. Откройте Model Configuration Parameters для своей модели.

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

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

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

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

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

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

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

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

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

|

Похожие темы