Coping with joint velocity limits in first-order inverse kinematics algorithms: Analysis and real-time implementation