Выполните цикл на фиксированной частоте
The rosrate объект использует rateControl (Robotics System Toolbox) суперкласс, чтобы наследовать большинство его свойств и методов. Главное различие в том, что rateControl использует узел ROS в качестве источника информации о времени. Поэтому он может использовать симуляцию ROS или стенки тактовое время (см. IsSimulationTime свойство).
Если rosinit создает мастер ROS в MATLAB®глобальный узел использует стенку тактового сигнала.
Область эффективности rosrate объект и способность поддерживать DesiredRate значение зависит от публикации информации о часах в ROS.
Совет
Разрешение планирования вашей операционной системы и уровень другой системной активности могут повлиять на точность выполнения скорости. В результате точная синхронизация скорости ограничивается 100 Гц для выполнения кода MATLAB. Чтобы улучшить эффективность и скорость выполнения, используйте генерацию кода.
создает rate = rosrate(desiredRate)Rate объект, который позволяет вам выполнять цикл с фиксированной частотой, DesiredRate. Источник времени связан с источником времени глобального узла ROS, который требует, чтобы вы подключили MATLAB к сети ROS с помощью rosinit.
создает rate = ros.Rate(node,desiredRate)Rate объект, который управляет циклами с фиксированной скоростью на основе источника времени, связанного с указанным узлом ROS, node.
waitfor | Приостановите выполнение кода, чтобы достичь желаемой скорости выполнения |
statistics | Статистика прошлых периодов выполнения |
reset | Сброс Rate объект |