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

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

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

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

  1. На вкладке Apps, под Control Systems, нажимают Robot Operating System (ROS).

  2. В диалоговом окне Robot Operating System (ROS), которое открывается, выберите Robot Operating System (ROS) от выпадающего ROS Network. Это открывает вкладку ROS в панели инструментов, которая показывает заданную Сеть ROS в разделе Connect.

  3. В разделе Prepare под вкладкой ROS нажмите Hardware Settings, чтобы открыть диалоговое окно параметров конфигурации модели. Под 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.

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

|

Похожие темы