Hmm I’ll try to track down this bug! The +1/-1 seems like a workaround but it shouldn’t normally operate that way.
My latest commit’s intended behavior is for a positive timeout to timeout if no command is issued, and a negative timeout to timeout if no change happens.
I also did some interfacing with the joint_trajectory_controller with my Luxo robot:
which isn’t quite well documented but there is some code in there I’ll take a look at this again.