Можно позволить развернутому узлу ROS выполниться на основе времени, опубликованного по теме /clock
в сети ROS. Чтобы развернуть узел ROS от Simulink®, смотрите, Генерируют Автономный Узел ROS от Simulink®.
Когда вы включаете продвижение модели времени ROS, развернутый узел ROS выполняется, когда опубликованное время ROS является кратным базовой ставке модели. Включить модель, продвигающуюся на основе времени ROS:
Откройте Model Configuration Parameters для своей модели.
Под 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
). Подпишитесь на тему, чтобы получить сообщение каждый раз, когда время ROS публикуется. Узел ROS публикует тип сообщения std_msgs/String
со строкой, содержащей '+'
или '-'
и имя модели (+rostime_test
, например). '+'
указывает, что модель была продвинута. '-'
указывает опубликованное время ROS, не было кратное базовой ставке модели.
После продвижения модели, дающей возможность выбора и установки темы уведомления, можно восстановить и развернуть модель. При запуске узла ROS модель ожидает в течение времени ROS, которое будет опубликовано.
Можно также включить превышенное обнаружение, если образцовое выполнение все еще обрабатывает, когда следующий шаг инициирован временем ROS. Для получения дополнительной информации смотрите Обнаружение Переполнения с Развернутыми Узлами ROS.