Inverse kinematics is the process of finding the joint variables that move a robot end-effector to a desired position and orientation. Students need this reference because IK problems connect geometry, algebra, trigonometry, matrices, and physical robot limits. A cheat sheet helps organize the main formulas, solution methods, and warnings used in robotics classes and projects.
Key Facts
- Forward kinematics maps joint variables to pose using x = f(q), where q is the vector of joint variables and x is the end-effector pose.
- Inverse kinematics solves q = f^-1(x_desired), but a robot may have zero, one, or many valid joint solutions for the same pose.
- For a planar 2-link arm, r^2 = x^2 + y^2 and cos(theta2) = (r^2 - L1^2 - L2^2) / (2 L1 L2).
- For a planar 2-link arm, theta1 = atan2(y, x) - atan2(L2 sin(theta2), L1 + L2 cos(theta2)).
- A target is unreachable if its distance from the base is greater than L1 + L2 or less than abs(L1 - L2) for a 2-link planar arm.
- The Jacobian relates joint velocity to end-effector velocity using x_dot = J(q) q_dot.
- A singularity occurs when det(J) = 0 for a square Jacobian, meaning the robot loses at least one direction of controllable motion.
- Numerical IK often updates joints with q_new = q_old + alpha J_pinv e, where e is pose error, J_pinv is the pseudoinverse, and alpha is a step size.
Vocabulary
- Inverse kinematics
- The method of calculating joint variables needed to place a robot end-effector at a desired pose.
- Forward kinematics
- The method of calculating the end-effector pose from known joint variables and robot geometry.
- End-effector
- The tool, gripper, sensor, or final link of a robot that interacts with the environment.
- Pose
- The combination of position and orientation that describes where an object is and how it is rotated.
- Jacobian
- A matrix that relates small changes or velocities in joint variables to changes or velocities of the end-effector.
- Singularity
- A robot configuration where motion control becomes limited because the Jacobian loses rank.
Common Mistakes to Avoid
- Using degrees when a calculator or program expects radians, which gives incorrect sine, cosine, and atan2 values.
- Assuming every target has one IK solution, which is wrong because many robot arms can reach the same pose with elbow-up, elbow-down, or other configurations.
- Ignoring reach limits, which is wrong because the equations may produce invalid values such as cos(theta2) greater than 1 or less than -1.
- Forgetting joint limits, which is wrong because a mathematical solution may require a joint angle the real robot cannot physically reach.
- Treating a singularity as just a small error, which is wrong because the robot may lose control in a direction or require very large joint speeds.
Practice Questions
- 1 A planar robot arm has L1 = 4 cm and L2 = 3 cm. Can it reach a target at x = 6 cm, y = 0 cm? Explain using the reach limits.
- 2 For a 2-link planar arm with L1 = 5 cm, L2 = 5 cm, x = 6 cm, and y = 8 cm, compute r and decide whether the target is reachable.
- 3 For a 2-link planar arm with L1 = 3 m, L2 = 2 m, x = 4 m, and y = 1 m, calculate cos(theta2) using cos(theta2) = (x^2 + y^2 - L1^2 - L2^2) / (2 L1 L2).
- 4 Why can inverse kinematics have multiple valid answers for the same end-effector pose, and why must a robot controller choose carefully among them?