If talking out of the code, I'd take Robo as a control point. For example, if left foot steps forward, the right arm moves forward too, to balance the body weight. But under the arm itself, if certain angle is reached, it stops, and I will leave it to Robo::Arm handle by itself.
Back to the code, I've updated to my post. Any advise for me? Thx!