以下のように、rospyを使うとtimer割り込みを簡単に行うことができます.
timer_callback.py
import rospy
def callback(msg):
print("callback")
rospy.init_node('timer_callback')
rospy.Timer(rospy.Duration(1), callback) # 1秒お気にタイマー割り込み, 0.1秒おきに実行したい場合は rospy.Duration(0.1) のように書く
r = rospy.Rate(3)
while not rospy.is_shutdown():
print("loop")
r.sleep()
結果
$ python timer_callback.py
loop
loop
loop
callbackloop
loop
loop
loop
callback
loop
loop
loop
callback
loop
loop
loop
callback