Я пишу программу в ROS, которая должна выполнять определенные вычисления после каждой функции обратного вызова. Моя функция обратного вызова в основном подписывается на тему и устанавливает значение переменной, которая используется для выполнения определенного вычисления. Тема, на которую я подписываюсь, имеет частоту 30 Гц. Итак, у меня есть цикл while в моей программе, который работает со скоростью 30 Гц. Петля несколько похожа на следующий код:Есть ли способ сделать ros :: spinOnce() вызов определенного числа обратных вызовов из очереди обратного вызова?
while (ros::ok())
{
ros::spinOnce(); //this should set a certain variable "a"
perform_computation(); //this performs computation on the variable "a"
looprate.sleep(); //this runs at 30 Hz
}