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