Выполните цикл в фиксированной частоте
Объект 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 |