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