Выполните цикл в фиксированной частоте
rateControl
объект позволяет вам запустить цикл в фиксированной частоте. Это также собирает статистические данные о синхронизации итераций цикла. Использование waitfor
в цикле, чтобы приостановить выполнение кода до следующего временного шага. Цикл управляет каждым DesiredPeriod
секунды, если прилагаемый код не занимает больше времени, чтобы действовать. Объект использует OverrunAction
свойство определить, как это обрабатывает более длительные времена операции цикла. Настройка по умолчанию, 'slip'
, сразу выполняет цикл если LastPeriod
больше DesiredPeriod
. Используя 'drop'
вызывает waitfor
метод, чтобы ожидать до следующего кратного DesiredPeriod
достигнут, чтобы выполнить следующий цикл.
Совет
Разрешение планирования вашей операционной системы и уровень другого системного действия могут влиять на точность выполнения уровня. В результате точная синхронизация уровня ограничивается 100 Гц для выполнения MATLAB® код. Чтобы улучшать скорости производительности и выполнения, используйте генерацию кода.
создает объект, который работает циклами с с фиксированной процентной ставкой на основе вашего системного времени и непосредственно устанавливает rateObj
= rateControl(desiredRate
)DesireRate
свойство.
waitfor | Приостановите выполнение кода, чтобы достигнуть желаемого уровня выполнения |
statistics | Статистика прошлых периодов выполнения |
reset | Сбросьте Rate объект |
rosrate
(ROS Toolbox) | waitfor
| statistics
| reset