Module 03: Kinematics Fundamentals
Introduction
Kinematics describes the geometry of motion without considering forces. For humanoid robots, kinematics answers: "Given joint angles, where is the hand?" (forward kinematics) and "What joint angles place the hand here?" (inverse kinematics).
Section 1: Coordinate Transformations
1.1 Rotation Matrices
Rotation Matrix: A 3×3 orthogonal matrix with determinant +1 that transforms vectors between coordinate frames.
Properties:
- Columns are orthonormal
1.2 Homogeneous Transformations
Section 2: Forward Kinematics
2.1 DH Parameters
Denavit-Hartenberg (DH) Parameters: A standard convention using four parameters (, , , ) to describe the relationship between consecutive links.
def dh_transform(a, alpha, d, theta):
"""Compute DH transformation matrix."""
ct, st = np.cos(theta), np.sin(theta)
ca, sa = np.cos(alpha), np.sin(alpha)
return np.array([
[ct, -st*ca, st*sa, a*ct],
[st, ct*ca, -ct*sa, a*st],
[0, sa, ca, d],
[0, 0, 0, 1]
])
2.2 Chain Multiplication
The end-effector pose is computed by chaining transforms:
Section 3: Inverse Kinematics
3.1 Analytical Solutions
For simple kinematic chains, closed-form solutions exist using geometric relationships.
3.2 Numerical Methods
For complex robots, iterative methods are required:
def inverse_kinematics_jacobian(robot, target_pose, q_init, max_iter=100):
"""Solve IK using Jacobian pseudo-inverse."""
q = q_init.copy()
for _ in range(max_iter):
current_pose = robot.forward_kinematics(q)
error = pose_error(target_pose, current_pose)
```python
```python
if np.linalg.norm(error) < 1e-6:
break
J = robot.jacobian(q)
dq = np.linalg.pinv(J) @ error
q += dq
return q
Inverse kinematics may have multiple solutions, no solutions (unreachable targets), or infinite solutions (redundant manipulators).
Section 4: Jacobians and Singularities
4.1 Velocity Kinematics
4.2 Singularities
When , the robot is in a singular configuration where certain directions of motion are impossible.
Summary
Key takeaways:
- Forward kinematics maps joint angles to end-effector pose
- DH parameters provide a systematic parameterization
- Inverse kinematics finds joint angles for desired poses
- The Jacobian relates joint and Cartesian velocities
Key Concepts
- Forward Kinematics: Computing end-effector pose from joint angles
- Inverse Kinematics: Computing joint angles from desired pose
- Jacobian: Matrix relating joint and task space velocities
- Singularity: Configuration where Jacobian loses rank
Further Reading
- Murray, R., Li, Z., & Sastry, S. (1994). "A Mathematical Introduction to Robotic Manipulation"
- Spong, M., Hutchinson, S., & Vidyasagar, M. (2020). "Robot Modeling and Control"