Arms Won't Move

I feel slightly terrified if your code runs inside while(1) loop, because it will create very unmanageble count of threads when you press buttons. Please, do not do that.

Then CollectPosition thread may hang waiting for rotateTo() to finish.

Please, call rotateTo() with last argument (waitForCompletion) set to false for non-blocking functionality.