When running a loop in roseus_smach, I noticed that the loop rate becomes faster than the initially specified 10Hz after executing (send *ri* :angle-vector) in one of the nodes.
(setq sm (instance state-machine :init))
...
(ros::rate 10)
(do-until-key
(ros::spin-once)
(ros::sleep)
(send sm :execute userdata :step -1))
I found that this is because the wait-for-result method of the controller-action-client overwrites the rate to 100Hz as seen here:
I was able to resolve the issue by manually resetting the rate after the angle-vector call.