Kinematics and linkage design