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