나는 각 콜백 함수 후에 특정 계산을 수행해야하는 ROS 프로그램을 작성 중이다. 내 콜백 함수는 기본적으로 주제를 구독하고 특정 계산을 수행하는 데 사용되는 변수의 값을 설정합니다. 구독하고자하는 주제에는 30Hz의 주파수가 있습니다. 그래서, 30 Hz의 속도로 실행되는 내 프로그램에서 while 루프가 있습니다. 루프는 다음 코드와 다소 비슷하다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
}