Можно позволить развернутому узлу ROS выполниться на основе времени, опубликованного на /clock
тема в сети ROS. Чтобы развернуть узел ROS от Simulink®, смотрите, Генерируют Автономный Узел ROS от Simulink®.
Когда вы включаете продвижение модели времени ROS, развернутый узел ROS выполняется, когда опубликованное время ROS является кратным базовой ставке модели. Включить модель, продвигающуюся на основе времени ROS:
Под вкладкой Modeling нажмите Model Settings для своей модели.
Под Hardware Implementation, набор Hardware board к Robot Operating System (ROS)
.
Под 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.