Dual quaternion-based inverse kinematics of the general spatial 7R mechanism