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