0% found this document useful (0 votes)
8 views26 pages

Robotics Module3 Study Guide

This document covers advanced topics in robotic engineering, specifically focusing on Inverse Kinematics (IK), Jacobian, and Trajectory Planning. It explains the concepts of inverse kinematics, including methods for solving IK problems, the distinction between reachable and dexterous workspaces, and the implications of singularities in robotic motion. Additionally, it details the process of achieving desired end-effector positions and orientations for 6-DOF robots, as well as strategies for avoiding singularities during operation.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views26 pages

Robotics Module3 Study Guide

This document covers advanced topics in robotic engineering, specifically focusing on Inverse Kinematics (IK), Jacobian, and Trajectory Planning. It explains the concepts of inverse kinematics, including methods for solving IK problems, the distinction between reachable and dexterous workspaces, and the implications of singularities in robotic motion. Additionally, it details the process of achieving desired end-effector positions and orientations for 6-DOF robots, as well as strategies for avoiding singularities during operation.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

ROBOTIC ENGINEERING

MODULE - III
Inverse Kinematics, Jacobian & Trajectory Planning

Topics Covered:
Inverse Kinematics | Inverse Orientation | Inverse Location | Singularities
Jacobian Matrix | Trajectory Planning | Joint & Task Space Interpolation | User-Specified Tasks

Comprehensive Study Guide for Semester Exam


1. INVERSE KINEMATICS (IK)

1.1 What is Inverse Kinematics?


Inverse Kinematics (IK) is the process of computing the joint variable values (joint angles for revolute
joints, displacements for prismatic joints) that are required to place the robot's end effector at a desired
position and orientation in Cartesian space.
IK is the reverse problem of Forward Kinematics (FK):
FK: Given q = [q1, q2, ..., qn] → Find end-effector pose T
IK: Given desired pose T → Find q = [q1, q2, ..., qn]
Why IK is harder than FK:
• FK always has a unique answer; IK may have MULTIPLE solutions, ONE solution, or NO
solution
• FK is simply matrix multiplication; IK requires solving nonlinear transcendental equations
• IK solutions may be outside the physical joint limits of the robot
• For robots with more DOF than workspace dimension, infinite solutions may exist

1.2 Number of IK Solutions


The number of IK solutions depends on the robot configuration and the desired pose:
No solution: The desired pose is outside the robot's reachable workspace — robot cannot physically
reach there
Unique solution: Exactly one set of joint angles satisfies the desired pose
Two solutions: Common in planar 2-link robots — 'elbow-up' and 'elbow-down' configurations
Infinite solutions: Redundant robots (DOF > 6) or at singularity configurations
Up to 16 solutions: A 6-DOF general manipulator can have up to 16 distinct IK solutions
📌 KEY POINT: For a 6-DOF robot, there can be up to 16 configurations that all place the end
effector at the same pose. The robot controller must select the BEST solution based on joint
limits, shortest path, avoiding obstacles, etc.

1.3 Methods of Solving Inverse Kinematics


A. Closed-Form (Analytical) Methods
Derive algebraic equations and solve them mathematically to get exact solutions.
• Algebraic Method: Use geometric equations and algebra to isolate joint variables
• Geometric Method: Use trigonometry and geometric relationships (triangles, projections)
• Pieper's Method: Works when 3 consecutive joint axes intersect at a point (applies to many 6-
DOF robots like PUMA)
Advantages: Fast computation, exact solutions, all solutions can be found
Disadvantages: Difficult/impossible for general kinematic structures, requires special robot geometry
Applicable when: Robot has special geometry (spherical wrist, parallel axes, intersecting axes)

B. Numerical (Iterative) Methods


Start with an initial guess and iteratively refine until the solution converges.
• Newton-Raphson Method: Uses Jacobian to iteratively solve nonlinear equations
• Jacobian Transpose Method: Simple update: q_new = q + J^T * e (e = error)
• Jacobian Pseudo-Inverse Method: q_new = q + J^+ * e (J^+ = pseudo-inverse of Jacobian)
• Gradient Descent / Cyclic Coordinate Descent (CCD): Used in animation and games
Advantages: Works for any robot structure, no closed form needed
Disadvantages: May not converge, depends on initial guess, computationally expensive, may find only
one solution

1.4 The Workspace: Reachable and Dexterous


Reachable Workspace: The set of all points that the end effector can reach with AT LEAST ONE
orientation
Dexterous Workspace: The set of all points that the end effector can reach with ALL possible
orientations

KEY POINT: Dexterous workspace ⊆ Reachable workspace. A point may be in the reachable
workspace but not the dexterous workspace.
2. INVERSE LOCATION (Inverse Position Kinematics)

2.1 Problem Definition


Inverse location refers to finding the joint values that achieve a desired END-EFFECTOR POSITION (x,
y, z) — the translational part of the full IK problem. This gives the first 3 joint variables of most 6-DOF
robots (shoulder + elbow configuration).
For a 6-DOF robot, the IK problem is decoupled:
• Inverse Location: Solve for q1, q2, q3 to position the WRIST CENTER at the correct location
• Inverse Orientation: Solve for q4, q5, q6 to achieve the correct orientation at the wrist

2.2 Inverse Kinematics of a 2-Link Planar Robot


This is the simplest and most fundamental IK problem. Given desired end-effector position (px, py), find
joint angles θ1 and θ2.

Given:
px = L1·cos(θ1) + L2·cos(θ1 + θ2)
py = L1·sin(θ1) + L2·sin(θ1 + θ2)

Step 1: Find θ2 using the cosine rule


Square and add the two FK equations:
px² + py² = L1² + L2² + 2·L1·L2·cos(θ2)
cos(θ2) = (px² + py² - L1² - L2²) / (2·L1·L2)
sin(θ2) = ±√(1 - cos²(θ2))
θ2 = atan2(sin(θ2), cos(θ2))
The ± sign gives TWO solutions: elbow-up (+) and elbow-down (-).

Step 2: Find θ1
Let: k1 = L1 + L2·cos(θ2), k2 = L2·sin(θ2)
r = √(k1² + k2²), γ = atan2(k2, k1)
θ1 = atan2(py, px) - atan2(k2, k1)
= atan2(py, px) - γ
📌 KEY POINT: The two IK solutions (elbow-up, elbow-down) correspond to θ2 = +arccos(...)
and θ2 = -arccos(...). Both are valid — robot controller picks based on joint limits or current
configuration.

2.3 Numerical Example: 2-Link IK


Problem: Robot with L1 = 2m, L2 = 1.5m. Desired position px = 2.5m, py = 1.5m. Find θ1 and θ2.
Step 1: cos(θ2) = (2.5² + 1.5² - 2² - 1.5²) / (2 × 2 × 1.5)
= (6.25 + 2.25 - 4 - 2.25) / 6 = 2.25 / 6 = 0.375
θ2 = ±arccos(0.375) = ±67.98° ≈ ±68°
Step 2 (Solution 1, elbow-up, θ2 = +68°):
sin(68°) = 0.927, cos(68°) = 0.375
k1 = 2 + 1.5×0.375 = 2.5625, k2 = 1.5×0.927 = 1.3905
θ1 = atan2(1.5, 2.5) - atan2(1.3905, 2.5625) = 30.96° - 28.5° =
2.46°
Step 2 (Solution 2, elbow-down, θ2 = -68°):
k1 = 2 + 1.5×0.375 = 2.5625, k2 = 1.5×(-0.927) = -1.3905
θ1 = atan2(1.5, 2.5) - atan2(-1.3905, 2.5625) = 30.96° + 28.5° =
59.46°

2.4 Inverse Location for 6-DOF Robot: Wrist Center Method


For a 6-DOF robot with a SPHERICAL WRIST (last 3 joint axes intersect at a point), the IK problem
decouples:
• The first 3 joints (shoulder + elbow) position the WRIST CENTER
• The last 3 wrist joints (roll-pitch-roll) control the ORIENTATION
Step 1: Compute wrist center position from desired end-effector pose T:
p_wc = p_ee - d6 · R · [0, 0, 1]^T
Where d6 is the distance from wrist to end effector, p_ee is desired end-effector position, R is the
desired end-effector orientation.
Step 2: Solve for q1, q2, q3 to place wrist center at p_wc (geometric/trigonometric solution)
Step 3: Solve for q4, q5, q6 using inverse orientation (see Section 3)
3. INVERSE ORIENTATION

3.1 Problem Definition


Inverse orientation refers to finding the joint values (typically wrist joint angles q4, q5, q6) that achieve a
desired END-EFFECTOR ORIENTATION — the rotational part of the full IK problem.
For a 6-DOF robot with a spherical wrist (ZYZ or ZXZ wrist):
• After solving inverse location (q1, q2, q3), the wrist center is correctly positioned
• The rotation from base to wrist (R_0^3) is now known from q1, q2, q3
• Need to find q4, q5, q6 such that R_0^3 × R_3^6 = R_desired
R_3^6 = (R_0^3)^T × R_desired = R_0^3^(-1) × R_desired

3.2 Euler Angle Approach for Wrist Orientation


Most robot wrists are designed with ZYZ or ZXZ Euler angle kinematics. The three wrist angles (q4, q5,
q6) correspond directly to Euler angles.
Given R = R_3^6 (3x3 matrix with elements r_ij), extract ZYZ Euler angles:
θ5 = atan2( sqrt(r13² + r23²), r33 )
θ4 = atan2( r23/sin(θ5), r13/sin(θ5) )
θ6 = atan2( r32/sin(θ5), -r31/sin(θ5) )
Two solutions exist corresponding to θ5 > 0 and θ5 < 0 (wrist flipped).

3.3 Inverse Orientation: RPY Wrist


Some robots use RPY (roll-pitch-roll) for the wrist. Given R = R_3^6:
θ4 (Roll at base of wrist) = atan2(r23, r13)
θ5 (Pitch) = atan2(-r33, sqrt(r13²+r23²))
θ6 (Roll at end of wrist) = atan2(r32, r31) [if applicable]

3.4 Degenerate Case: Wrist Singularity


When θ5 = 0 (wrist is straight), the wrist axes 4 and 6 become aligned (parallel) and only the SUM θ4 +
θ6 can be determined. This is a SINGULARITY. Any split between θ4 and θ6 that satisfies the sum is a
valid solution.
📌 KEY POINT: In practice: at wrist singularity (θ5=0), set θ4 = current value and compute θ6
= (sum) - θ4. This avoids sudden jumps.

3.5 Complete IK Solution Summary for 6-DOF Robot


Step What to Solve Joint Variables Method
1 Compute wrist center — p_wc = p_ee - d6·R·z
position from desired pose
2 Inverse location: position q1, q2, q3 Geometric / Algebraic
the wrist center
3 Compute R_0^3 from — Forward kinematics of first 3 joints
q1,q2,q3
4 Compute required wrist — R_3^6 = (R_0^3)^T × R_desired
rotation R_3^6
5 Inverse orientation: find q4, q5, q6 ZYZ Euler angle extraction
wrist angles
6 Check joint limits, select All joints Optimization / constraints
best solution
4. SINGULARITIES

4.1 What is a Singularity?


A singularity (or singular configuration) is a robot pose where the robot LOSES one or more degrees of
freedom — it becomes unable to move in certain directions, or an infinitesimally small end-effector
velocity requires infinitely large joint velocities. Mathematically, singularities occur when the Jacobian
matrix loses rank (becomes rank-deficient).
Singularity occurs when: det(J) = 0 (Jacobian determinant =
zero)
At a singularity:
• Robot cannot move in certain Cartesian directions
• Inverse kinematics has infinite solutions or no solution
• Very small end-effector motions require very large (theoretically infinite) joint velocities
• Fine Cartesian motion control is impossible
• The manipulability measure (sqrt(det(J·J^T))) drops to zero

4.2 Types of Singularities


A. Workspace Boundary Singularity (Arm Fully Extended or Retracted)
Occurs when the robot arm is fully extended or fully folded back on itself — the end effector is at the
boundary (or near the boundary) of the workspace.
• Example: 2-link arm fully extended (θ2 = 0°) or fully folded (θ2 = 180°)
• The end effector cannot move radially outward (in the case of full extension)
• Easy to detect and avoid by keeping joints away from 0° and 180°

B. Interior Singularity (Arm Alignment)


Occurs when two or more joint axes become aligned (parallel or coincident) inside the workspace, even
when the robot is not at its boundary.
• Example: For PUMA robot, when joint 5 = 0° (wrist singularity — joints 4 and 6 become coaxial)
• Also called 'wrist singularity' or 'shoulder singularity' depending on location
• Harder to avoid as it can occur mid-motion

C. Shoulder Singularity
Occurs when the wrist center lies directly above (on) the axis of joint 1 (the base rotation axis). Joint 1
becomes undefined because any rotation of joint 1 keeps the wrist center in place.
Condition: px² + py² = 0 (wrist center on Z0 axis)

D. Elbow Singularity
Occurs when the elbow joint (joint 3) is at 0° or 180° — arm is fully extended or retracted.
Condition: θ3 = 0° or θ3 = 180°

E. Wrist Singularity
Occurs when the wrist pitch joint (joint 5) = 0° — joints 4 and 6 become coaxial.
Condition: θ5 = 0° (for ZYZ wrist)

4.3 Singularity Analysis Using Jacobian


The Jacobian J is a 6×n matrix (for a 6-DOF robot, 6×6). Singularities occur when:
det(J) = 0 OR rank(J) < 6
For a general 6-DOF robot, the singularity condition is:
det(J) = det(J_position) × det(J_orientation) = 0
The robot is at a singularity if ANY one of the sub-determinants is zero.

4.4 Effects and Consequences of Singularities


Effect Description Practical Consequence
Loss of DOF Robot cannot move in some Task becomes impossible at that
Cartesian direction configuration
Infinite joint Finite end-effector speed needs Joint motors saturate, loss of control
velocities infinite joint speed
Multiple IK Infinite solutions at singularity Unpredictable robot behavior
solutions
Jacobian non- J^-1 does not exist (det=0) Velocity IK and control algorithms
invertible fail
Path deviation Robot may take unexpected large Dangerous motion, possible
joint motions collision

4.5 Avoiding and Handling Singularities


• Path Planning: Plan trajectories that do not pass through or near singular configurations
• Damped Least Squares (DLS): Replace J^-1 with (J^T·J + λ²I)^-1·J^T to avoid division by zero
near singularities (λ is a damping factor)
• Singularity Avoidance: Add penalty terms in optimization to avoid singular configurations
• Joint Limit Avoidance: Keep joints away from limits where singularities occur
• Workspace Restriction: Operate the robot only in a subset of workspace away from boundaries
💡 TIP: The damped least squares (DLS) IK method is the most practical solution for handling
singularities in real robot controllers. It trades accuracy for stability near singularities.
5. THE JACOBIAN MATRIX

5.1 What is the Jacobian?


The Jacobian matrix J is a fundamental tool in robotics that relates JOINT VELOCITIES to END-
EFFECTOR VELOCITIES (both linear and angular). It is the matrix of partial derivatives of the forward
kinematics function with respect to joint variables.
v_ee = J(q) × q_dot
Where:
• v_ee = [vx, vy, vz, ωx, ωy, ωz]^T — 6×1 end-effector velocity (linear + angular)
• q_dot = [q1_dot, q2_dot, ..., qn_dot]^T — n×1 vector of joint velocities
• J(q) = 6×n Jacobian matrix (depends on current joint configuration q)

5.2 Jacobian Matrix Structure


The Jacobian is a 6×n matrix split into two parts:
J = [ J_v ] = [ J_v1 J_v2 ... J_vn ] (linear velocity
part — top 3 rows)
[ J_w ] [ J_w1 J_w2 ... J_wn ] (angular velocity
part — bottom 3 rows)
For an n-DOF robot:
• J_v is 3×n — maps joint velocities to linear (translational) velocity of end effector
• J_ω is 3×n — maps joint velocities to angular (rotational) velocity of end effector

5.3 Computing Jacobian Columns


Each column of the Jacobian corresponds to one joint. The formula depends on joint type:

For a Revolute Joint i:


J_vi = z_(i-1) × (p_n - p_(i-1))
J_ωi = z_(i-1)
Where z_(i-1) is the unit vector along joint i's rotation axis (z-axis of frame i-1), p_n is the end-effector
position, p_(i-1) is the position of joint i.

For a Prismatic Joint i:


J_vi = z_(i-1)
J_ωi = 0 (prismatic joint contributes no angular velocity)

5.4 Jacobian for a 2-Link Planar Robot


For a 2-link planar robot with link lengths L1, L2 and joint angles θ1, θ2:
End-effector position:
px = L1·cosθ1 + L2·cos(θ1+θ2)
py = L1·sinθ1 + L2·sin(θ1+θ2)
The Jacobian (2×2 for planar, considering only linear velocity in x,y):
J = | ∂px/∂θ1 ∂px/∂θ2 |
| ∂py/∂θ1 ∂py/∂θ2 |
= | -L1·sinθ1 - L2·sin(θ1+θ2) -L2·sin(θ1+θ2) |
| L1·cosθ1 + L2·cos(θ1+θ2) L2·cos(θ1+θ2) |
The full 3×2 Jacobian (including angular velocity in z):
J_full = | -L1·s1 - L2·s12 -L2·s12 |
| L1·c1 + L2·c12 L2·c12 |
| 1 1 |
Where s1 = sin(θ1), s12 = sin(θ1+θ2), c1 = cos(θ1), c12 = cos(θ1+θ2)

5.5 Uses of the Jacobian


A. Velocity Kinematics (Forward)
v_ee = J × q_dot
Given joint velocities, find end-effector velocity.

B. Inverse Velocity Kinematics


q_dot = J^-1 × v_ee (if J is square and non-singular)
q_dot = J^+ × v_ee (pseudo-inverse, for non-square or near-
singular J)
Given desired end-effector velocity, find required joint velocities.

C. Force / Torque Relationship


τ = J^T × F
Where τ is the joint torque vector, F = [fx, fy, fz, mx, my, mz]^T is the end-effector force/moment. The
TRANSPOSE of the Jacobian maps end-effector forces to joint torques.

D. Singularity Detection
Singularity: det(J) = 0
When det(J) = 0, the Jacobian is rank-deficient and the robot is in a singular configuration.

E. Manipulability Measure
w = sqrt( det(J × J^T) )
A scalar measure of how far the robot is from singularity. w = 0 at singularity. Maximum w is the most
dexterous configuration.

5.6 Jacobian Pseudo-Inverse


For a non-square Jacobian (redundant robot, n > 6) or at/near singularities, we use the pseudo-inverse:
J^+ = J^T × (J × J^T)^-1 (for overdetermined, 6×n with n<6,
i.e. n<6)
J^+ = (J^T × J)^-1 × J^T (for underdetermined, 6×n with n>6,
redundant)
For redundant robots (n > 6), the general solution is:
q_dot = J^+ × v + (I - J^+ × J) × z
Where the second term (null-space component) does not affect end-effector motion but can be used for
secondary objectives like joint limit avoidance.

5.7 Numerical Example: Jacobian and Velocity


Example: 2-link planar robot, L1=2m, L2=1.5m, θ1=30°, θ2=45°. Joint velocities: θ1_dot=0.1 rad/s,
θ2_dot=0.05 rad/s. Find end-effector velocity.
Step 1: Compute Jacobian elements:
s1 = sin30° = 0.5, c1 = cos30° = 0.866
s12 = sin75° = 0.966, c12 = cos75° = 0.259
J11 = -2×0.5 - 1.5×0.966 = -1.0 - 1.449 = -2.449
J12 = -1.5×0.966 = -1.449
J21 = 2×0.866 + 1.5×0.259 = 1.732 + 0.388 = 2.120
J22 = 1.5×0.259 = 0.388
Step 2: v_ee = J × q_dot:
vx = J11×0.1 + J12×0.05 = -2.449×0.1 + (-1.449)×0.05 = -0.245 -
0.072 = -0.317 m/s
vy = J21×0.1 + J22×0.05 = 2.120×0.1 + 0.388×0.05 = 0.212 +
0.019 = 0.231 m/s
6. TRAJECTORY PLANNING

6.1 What is Trajectory Planning?


Trajectory planning is the process of computing a smooth, time-parameterized path for the robot from a
start configuration to a goal configuration. It specifies not only the positions (path) but also velocities
and accelerations at every point in time.
Key distinctions:
Path: A geometric curve in space — position only, no time information. (WHERE the robot goes)
Trajectory: A path with time parameterization — includes velocity, acceleration profiles. (WHERE and
WHEN)
Requirements for a good trajectory:
• Smooth motion: continuous velocities and accelerations (no sudden jerks)
• Respect joint limits: positions, velocities, accelerations within hardware limits
• Efficient: minimize travel time or energy
• Collision-free: avoid obstacles in the environment
• Predictable: well-defined, repeatable motion for automation tasks

6.2 Types of Trajectory Planning


Type Space Description Applications
Joint Space Joint space (q) Specify start/end in joint General
Interpolation angles; interpolate joint manipulation, joint-
variables over time to-joint motion
Task Space Cartesian space Specify start/end as Welding, painting,
Interpolation (x,y,z) Cartesian poses; precision assembly
interpolate in task space
Via-Point Either Pass through intermediate Complex paths with
Trajectory waypoints; smooth through multiple stops
them
Spline Trajectory Either Use polynomial splines for Animation, CAM
smooth multi-segment machining
paths
7. JOINT SPACE INTERPOLATION

7.1 Concept
In joint space interpolation (also called joint interpolated motion or PTP — Point-To-Point motion), the
trajectory is computed in the robot's JOINT SPACE. The start and end poses are specified as Cartesian
poses, converted to joint angles using IK, and then each joint angle is independently interpolated from
its start value to its end value using a smooth function of time.
Steps:
• Step 1: Convert start pose and end pose to joint angles using inverse kinematics
• Step 2: For each joint, compute a smooth polynomial function θ_i(t) from θ_i_start to θ_i_end
• Step 3: Scale all joint motions so all joints start and finish simultaneously
• Step 4: Execute trajectory; compute IK not needed during execution

7.2 Linear (LSPB) Trajectory — Trapezoidal Velocity Profile


The Linear Segments with Parabolic Blends (LSPB) profile is the most common joint space trajectory. It
has:
• A LINEAR (constant velocity) segment in the middle
• A PARABOLIC (constant acceleration) blend at the start
• A PARABOLIC (constant deceleration) blend at the end
This gives a trapezoidal velocity profile — hence the name 'trapezoidal velocity profile'.

Phases of LSPB:
Phase 1 (Acceleration, 0 ≤ t ≤ tb): θ(t) = θ0 + 0.5·ẍ·t²
Phase 2 (Constant velocity, tb ≤ t ≤ tf-tb): θ(t) = θ0 + ẍ·tb·(t - tb/2)
Phase 3 (Deceleration, tf-tb ≤ t ≤ tf): θ(t) = θf - 0.5·ẍ·(tf-t)²
Where tb is the blend time, tf is the total motion time, ẍ is the constant acceleration.

Velocity profile equations:


Phase 1: θ_dot(t) = ẍ·t (linearly increasing)
Phase 2: θ_dot(t) = ẍ·tb (=constant v) (constant velocity)
Phase 3: θ_dot(t) = ẍ·(tf-t) (linearly decreasing)

Constraints:
Peak velocity: v_max = ẍ·tb
Total displacement: Δθ = θf - θ0 = v_max·(tf - tb)
Blend time: tb = tf/2 - √(tf²/4 - Δθ/ẍ) [when ẍ is given]
📌 KEY POINT: LSPB advantage: Smooth velocity changes (no infinite jerk). LSPB
disadvantage: The robot is NOT at constant speed for the entire motion, only during the
middle segment.
7.3 Cubic Polynomial Trajectory
A cubic polynomial trajectory satisfies 4 boundary conditions: initial position, initial velocity, final
position, final velocity. It gives smooth motion with controlled endpoint velocities.

Cubic Polynomial Form:


θ(t) = a0 + a1·t + a2·t² + a3·t³
θ_dot(t) = a1 + 2·a2·t + 3·a3·t²
θ_ddot(t) = 2·a2 + 6·a3·t

Boundary Conditions (t=0 to t=tf):


θ(0) = θ0 → a0 = θ0
θ(tf) = θf → a0 + a1·tf + a2·tf² + a3·tf³ = θf
θ_dot(0) = v0 → a1 = v0
θ_dot(tf) = vf → a1 + 2·a2·tf + 3·a3·tf² = vf

Solving for coefficients (with v0 = vf = 0):


a0 = θ0
a1 = 0
a2 = 3·(θf - θ0) / tf²
a3 = -2·(θf - θ0) / tf³
The resulting trajectory has zero velocity at start and end, and smooth parabolic acceleration.

7.4 Quintic (Fifth-Order) Polynomial Trajectory


A 5th-order polynomial satisfies 6 boundary conditions: position, velocity, AND acceleration at both
endpoints. This gives smoother acceleration profiles (no jerk discontinuity).
θ(t) = a0 + a1·t + a2·t² + a3·t³ + a4·t⁴ + a5·t⁵
Boundary conditions (with v0=vf=0, acc0=accf=0):
a0 = θ0, a1 = 0, a2 = 0
a3 = 10·(θf-θ0) / tf³
a4 = -15·(θf-θ0) / tf⁴
a5 = 6·(θf-θ0) / tf⁵

7.5 Comparison of Joint Space Trajectory Methods


Method Order Controlled Parameters Smoothness Best Use Case
Linear 1st Position only Poor (velocity Not recommended
discontinuity) alone
LSPB 1st+2n Position, velocity Good (trapezoidal Simple PTP motion
d velocity)
Cubic 3rd Position + velocity at Good General robot
endpoints motion
Quintic 5th Position + velocity + Excellent High-speed
acceleration precision motion
Spline Variabl Multiple via-points Excellent Complex multi-point
e paths

7.6 Multi-Segment Trajectory (Via Points)


When the robot must pass through intermediate via-points (waypoints), the trajectory is divided into
segments. At each via-point, smoothness conditions are applied.
• Natural via-points: Robot passes through exact position but velocity is computed for
smoothness
• Pseudo via-points: Robot does NOT stop at via-point — smooth blending between segments
• Stop at via-points: Robot stops at each point (velocity = 0), then starts new segment

7.7 Numerical Example: Cubic Polynomial


Problem: A joint must move from θ0 = 10° to θf = 70° in 2 seconds with zero initial and final velocity.
a0 = 10°
a1 = 0
a2 = 3×(70-10)/4 = 3×60/4 = 45
a3 = -2×(70-10)/8 = -120/8 = -15
θ(t) = 10 + 45t² - 15t³ (degrees)
θ_dot(t) = 90t - 45t² (degrees/sec)
θ(1) = 10 + 45(1) - 15(1) = 10 + 45 - 15 = 40° (midpoint)
θ_dot(1) = 90(1) - 45(1) = 45°/sec (peak velocity at midpoint)
8. TASK SPACE INTERPOLATION

8.1 Concept
In task space interpolation (also called Cartesian space interpolation or Cartesian motion), the
trajectory is computed directly in CARTESIAN SPACE (x, y, z, and orientation). The end effector
follows a geometrically specified path in the workspace, and the required joint angles are computed at
each time step using inverse kinematics.
Steps:
• Step 1: Define the desired path of the end effector in Cartesian space (line, arc, spline)
• Step 2: Parameterize the path with time (add velocity profile)
• Step 3: At each time step, compute required end-effector pose from the trajectory
• Step 4: Apply inverse kinematics to convert Cartesian pose to joint angles
• Step 5: Send joint commands to the robot controller

8.2 Linear Cartesian Motion (Straight Line)


The end effector moves in a straight line from start position ps to end position pe in Cartesian space:
p(s) = (1-s)·ps + s·pe where s ∈ [0, 1]
The parameter s is varied as a function of time t using a velocity profile (cubic, trapezoidal, etc.):
s(t) = a0 + a1·t + a2·t² + a3·t³ (cubic parameterization)
The linear velocity of the end effector:
v(t) = (pe - ps) · ds/dt
📌 KEY POINT: In straight-line Cartesian motion, all points along the path are interpolated
linearly, so the end effector physically moves in a straight line — unlike joint space
interpolation where the path in Cartesian space may be curved.

8.3 Orientation Interpolation in Task Space


Interpolating orientation is more complex than position because rotation matrices cannot be simply
added. Three approaches:

A. Euler Angle Interpolation


Interpolate the three Euler angles linearly:
α(t) = α_start + s(t)·(α_end - α_start)
β(t) = β_start + s(t)·(β_end - β_start)
γ(t) = γ_start + s(t)·(γ_end - γ_start)
Simple but can produce non-smooth paths in orientation space. May pass through gimbal lock.

B. Quaternion Slerp (Spherical Linear Interpolation)


Quaternions are a 4-component representation of orientation with NO singularities. SLERP gives the
shortest arc in rotation space:
q(t) = q_start · (q_start^-1 · q_end)^t = slerp(q_start,
q_end, t)
SLERP: q(t) = sin((1-t)·Ω)/sin(Ω) · q0 + sin(t·Ω)/sin(Ω) · q1
Where Ω = arccos(q0·q1) is the angular distance between orientations. SLERP gives the SHORTEST
rotation path with constant angular velocity.
• This is the preferred method in modern robot controllers
• Used in ROS (Robot Operating System) and all major robot brands

C. Rotation Matrix Interpolation (via Angle-Axis)


Convert start and end rotations to angle-axis representation, interpolate the angle, then convert back.

8.4 Circular (Arc) Interpolation


The end effector follows a circular arc specified by three points (start, via, end) or by a center, radius,
and sweep angle.
p(θ) = p_center + R·[cos(θ_start + s·θ_sweep), sin(θ_start +
s·θ_sweep), 0]^T
Circular interpolation is important for:
• Arc welding (following circular weld seams)
• Machining circular features
• Gluing and sealing along curves

8.5 Advantages and Disadvantages of Task Space vs Joint Space


Feature Joint Space Interpolation Task Space Interpolation
Path shape Curved/unpredictable in Cartesian Straight line or exact geometric
space path
Computation Simple — no IK during execution Requires IK at every time step
(expensive)
Singularity risk Low — stays in joint space Higher — IK may fail near
singularities
Obstacle Poor — path shape unknown in Good — exact path is known
avoidance Cartesian
Welding/painting Not ideal — path not straight Ideal — precise Cartesian path
Speed Fast execution Slower due to real-time IK
Joint limits Easy to check Must check after IK conversion
Typical use General pick-and-place Welding, painting, machining
9. EXECUTING USER-SPECIFIED TASKS

9.1 Motion Types in Industrial Robots


A. Point-to-Point (PTP) Motion
The robot moves from one joint configuration to another. The path in Cartesian space is NOT controlled
— only the endpoints matter. Uses joint space interpolation.
• Also called: MOVEJ, joint motion, joint-to-joint
• Fastest motion type — robot takes the most efficient joint path
• Use when: exact path between points does NOT matter
• Applications: Pick and place, machine loading, spot welding
• Examples in robot languages: MOVEJ [90, 0, 90, 0, 90, 0] in KUKA, MoveJ in ROS

B. Linear (LIN) Motion


The end effector moves in a straight line in Cartesian space from start to end. Uses task space
interpolation.
• Also called: MOVEL, Cartesian linear motion, linear interpolation
• End effector follows exact straight-line path
• Use when: exact Cartesian path matters (approach to workpiece, tool along surface)
• Applications: Arc welding, assembly, gluing, sealant application
• Examples: MOVEL [x, y, z, rx, ry, rz] in KUKA, MoveL in ABB/RAPID

C. Circular (CIRC) Motion


The end effector follows a circular arc defined by start, auxiliary (via), and end points.
• Also called: MOVEC, circular interpolation
• Three points needed: start, intermediate (to define arc curvature), end
• Applications: Arc welding of circular seams, circular machining paths
• Examples: MOVEC in KUKA, MoveC in ABB RAPID

D. Spline Motion
The end effector follows a smooth spline curve through multiple via-points. Available in modern robot
controllers.
• Applications: Complex sealing paths, spray painting of curved surfaces, 3D printing-like paths
• Examples: KUKA SPLINE command, B-Spline paths in advanced controllers

9.2 Motion Control Parameters


Speed (velocity): Can be specified as joint speed (°/s) or Cartesian speed (mm/s). E.g., v = 500 mm/s
Acceleration: Rate of velocity change. High acceleration = fast but jerky. Low = smooth.
Zone / Blending: Controls how the robot transitions between two consecutive moves. Large zone =
smooth but imprecise corner; zero zone = robot stops at each point.
Payload: Weight of the workpiece — affects maximum speed and dynamic accuracy
TCP (Tool Center Point): The active tool tip point. All positions are measured relative to TCP.
9.3 Trajectory Execution Pipeline
The complete pipeline from user specification to robot motion:
• Step 1 — Task Specification: User or programmer defines waypoints, speeds, and motion type
(PTP/LIN/CIRC)
• Step 2 — Path Planning: Compute the geometric path (straight line, arc, joint space curve)
• Step 3 — Trajectory Generation: Add time parameterization using velocity profiles (cubic, LSPB)
• Step 4 — Inverse Kinematics: For Cartesian trajectories, compute joint angles at each time step
• Step 5 — Joint Trajectory Filtering: Smooth out any discontinuities, check joint limits
• Step 6 — Joint Control: Send position/velocity commands to each joint servo controller
• Step 7 — Feedback & Correction: Encoder feedback closes the control loop for accuracy

9.4 Online vs Offline Programming


Teach Pendant (Online Programming): Operator physically jogs the robot to each position and
records it. Simple but time-consuming. Used for simple tasks.
Offline Programming (OLP): Program the robot in a simulation environment without stopping
production. Used for complex tasks, CAD-to-path programming. Examples: [Link], ABB
RobotStudio, RoboDK
Sensor-Guided Motion: Robot uses real-time sensor data (vision, force/torque, laser) to modify
trajectory on the fly. Used in adaptive welding, bin picking, assembly with tolerances

9.5 Real-Time Path Modification


In many applications, the trajectory must be modified in real time based on sensor feedback:
• Force control: Robot adjusts position based on measured contact force (assembly insertion,
polishing)
• Vision guidance: Robot adjusts path based on camera-detected object position (bin picking)
• Seam tracking: In welding, a sensor tracks the actual seam and adjusts the weld path
• Compliant motion: Robot yields to external forces in certain directions (surface following)

9.6 Robot Programming Languages — Motion Commands


Manufactur Language PTP Command LIN Command Example
er
KUKA KRL (KUKA PTP {A1 90, A2 -90} LIN {X 500, Y 200, Z PTP HOME
Robot 300}
Language)
ABB RAPID MoveJ p1, v500, MoveL p2, v200, MoveJ
z10, tool0 fine, tool0 pHome,
vmax, z50,
tGripper
Fanuc Karel / TP J P[1] 50% CNT50 L P[2] 100mm/sec J P[HOME]
CNT10 100% FINE
Universal URScript / movej([0,0,0,0,0,0], movel(p[0.3,0.2,0.1], movej(joint_a
Robots Polyscope a=1.2) a=1.2) ngles, v=0.5)
Yaskawa Inform MOVJ VJ=80% MOVL V=100 MOVJ
C00000
10. COMPLETE FORMULA SUMMARY — MODULE III

10.1 Inverse Kinematics (2-Link Planar)


cos(θ2) = (px² + py² - L1² - L2²) / (2·L1·L2)
θ2 = atan2(±√(1-cos²θ2), cos(θ2))
k1 = L1 + L2·cosθ2, k2 = L2·sinθ2
θ1 = atan2(py, px) - atan2(k2, k1)

10.2 Wrist Center


p_wc = p_ee - d6 · R · [0, 0, 1]^T

10.3 Inverse Orientation (ZYZ)


θ5 = atan2(√(r13²+r23²), r33)
θ4 = atan2(r23/sinθ5, r13/sinθ5)
θ6 = atan2(r32/sinθ5, -r31/sinθ5)

10.4 Jacobian
Revolute joint i: J_vi = z_(i-1) × (p_n - p_(i-1)), J_ωi =
z_(i-1)
Prismatic joint i: J_vi = z_(i-1), J_ωi = 0
v_ee = J · q_dot τ = J^T · F
Singularity: det(J) = 0 Manipulability: w = √det(J·J^T)
DLS: q_dot = (J^T·J + λ²I)^-1 · J^T · v_ee

10.5 2-Link Planar Jacobian


J = |-L1s1-L2s12 -L2s12|
| L1c1+L2c12 L2c12|

10.6 Trajectory Planning


Cubic: θ(t) = a0 + a1t + a2t² + a3t³
(v0=vf=0): a0=θ0, a1=0, a2=3Δθ/tf², a3=-2Δθ/tf³ (Δθ=θf-θ0)
Quintic: a3=10Δθ/tf³, a4=-15Δθ/tf⁴, a5=6Δθ/tf⁵
LSPB: v_peak = Δθ/(tf - tb), tb = tf - Δθ/v_max
Cartesian linear: p(s) = (1-s)·ps + s·pe, s ∈ [0,1]
QUESTION BANK — MODULE III
Inverse Kinematics, Jacobian & Trajectory Planning — Exam Prep

SECTION A: 2 MARKS QUESTIONS


(Short answer — 3 to 5 lines, or formula + brief explanation)
Q1. Define inverse kinematics. How is it different from forward kinematics? [2 Marks]
Q2. How many IK solutions can a 6-DOF robot have for a given pose? [2 Marks]
Q3. What is meant by 'elbow-up' and 'elbow-down' configurations? [2 Marks]
Q4. Define singularity in a robotic manipulator. [2 Marks]
Q5. What is a wrist singularity? When does it occur? [2 Marks]
Q6. Define the Jacobian matrix. What does it relate? [2 Marks]
Q7. Write the Jacobian column formula for a revolute joint. [2 Marks]
Q8. What happens to inverse kinematics at a singularity? [2 Marks]
Q9. What is manipulability? Write its formula. [2 Marks]
Q10. Distinguish between 'path' and 'trajectory' in robot motion planning. [2 Marks]
Q11. What is joint space interpolation? [2 Marks]
Q12. What is task space (Cartesian) interpolation? [2 Marks]
Q13. Write the cubic polynomial trajectory equation. What are its boundary conditions? [2 Marks]
Q14. What is LSPB? Describe its velocity profile. [2 Marks]
Q15. Define Point-to-Point (PTP) motion. [2 Marks]
Q16. What is the difference between PTP and LIN motion in robot programming? [2 Marks]
Q17. What is the 'reachable workspace' and 'dexterous workspace'? [2 Marks]
Q18. Write the formula for the force-torque relationship using the Jacobian. [2 Marks]
Q19. What is the Jacobian pseudo-inverse and when is it used? [2 Marks]
Q20. What is a shoulder singularity? State the condition for it. [2 Marks]
Q21. What is the SLERP method used for in trajectory planning? [2 Marks]
Q22. What is the numerical method for IK using the Jacobian? [2 Marks]
Q23. State the formula for the cubic polynomial coefficients a2 and a3 when v0 = vf = 0. [2 Marks]
Q24. What is 'blending' or 'zone' in robot motion programming? [2 Marks]
Q25. Name two advantages of task space interpolation over joint space interpolation. [2 Marks]

SECTION B: 7 MARKS QUESTIONS


(Medium answer — derivations, examples, and comparisons)
Q1. Derive the inverse kinematics solution for a 2-link planar robot. Show both elbow-up and elbow-
down solutions. [7 Marks]
Q2. Explain closed-form and numerical methods for solving inverse kinematics. State advantages and
disadvantages of each. [7 Marks]
Q3. Explain the concept of singularities in robot manipulators. Classify them (workspace boundary,
interior, shoulder, elbow, wrist) with conditions. [7 Marks]
Q4. Derive the Jacobian matrix for a 2-link planar robot. Show both velocity and force-torque
relationships. [7 Marks]
Q5. Explain the Jacobian matrix: structure, computation for revolute and prismatic joints, and its uses in
velocity kinematics, singularity detection, and manipulability. [7 Marks]
Q6. Derive the cubic polynomial trajectory equation. Solve for coefficients when θ0=20°, θf=80°, tf=3s,
v0=vf=0. [7 Marks]
Q7. Explain LSPB (trapezoidal velocity profile) trajectory planning with equations for all three phases.
Derive the blend time formula. [7 Marks]
Q8. Compare joint space interpolation and task space interpolation in terms of path shape,
computation, singularity risk, and applications. [7 Marks]
Q9. Explain trajectory planning for a robot using via-points. Discuss how smoothness is achieved at
intermediate waypoints. [7 Marks]
Q10. Explain PTP, LIN, and CIRC motion types in industrial robots. Give the robot programming
commands for at least two robot manufacturers. [7 Marks]
Q11. Derive the inverse orientation for a 6-DOF robot with ZYZ spherical wrist. Give the Euler angle
extraction formulas. [7 Marks]
Q12. Explain the wrist center method for decoupling the IK problem of a 6-DOF robot into inverse
location and inverse orientation. [7 Marks]
Q13. A 2-link robot has L1=1.5m, L2=1m. Find IK for target position (1.8m, 1.2m). Give both solutions.
[7 Marks]
Q14. Explain Damped Least Squares (DLS) method for handling singularities in robot control. Why is it
preferred over simple Jacobian inverse? [7 Marks]
Q15. Explain quintic polynomial trajectory. Why is it preferred over cubic polynomial in high-speed
precise applications? [7 Marks]

SECTION C: 14 MARKS QUESTIONS


(Long answer — full derivations, analysis, numerical examples, and comparisons)
Q1. Explain inverse kinematics in complete detail: (a) Definition and comparison with FK (b) Number of
solutions (c) Closed-form methods including algebraic and geometric approaches (d) Numerical
methods — Newton-Raphson and Jacobian-based (e) Workspace concepts (f) Numerical example for
2-link robot with both solutions. [14 Marks]
Q2. Derive the complete inverse kinematics for a 2-link planar robot. Include: (a) Problem setup with FK
equations (b) Derivation of θ2 using cosine rule (c) Derivation of θ1 (d) Both elbow-up and elbow-down
solutions (e) Condition for no solution (f) Numerical example with L1=2m, L2=1.5m, target=(2.5m,
1.0m). [14 Marks]
Q3. Explain singularities in robotic manipulators in complete detail: (a) Mathematical definition using
Jacobian (b) Types: workspace boundary, shoulder, elbow, wrist singularities with conditions (c) Effects
and consequences (d) Methods to detect singularities (e) Methods to avoid and handle them including
DLS (f) Example with PUMA 560. [14 Marks]
Q4. Explain the Jacobian matrix comprehensively: (a) Definition and physical meaning (b) Mathematical
formulation (c) Column computation for revolute and prismatic joints (d) Full derivation for 2-link planar
robot (e) Uses: velocity FK, velocity IK, force-torque, singularity, manipulability (f) Pseudo-inverse and
null space (g) Numerical example. [14 Marks]
Q5. Explain trajectory planning methods in joint space in full detail: (a) Concept and steps of joint space
interpolation (b) Cubic polynomial: derivation, coefficients, solution with v0=vf=0 (c) Quintic polynomial:
why needed, coefficients (d) LSPB: phases, velocity profile, equations (e) Multi-segment via-point
trajectories (f) Comparison table of methods (g) Full numerical example for cubic trajectory. [14 Marks]
Q6. Explain task space interpolation comprehensively: (a) Concept and steps (b) Cartesian linear path
interpolation with velocity profile (c) Orientation interpolation: Euler angle method and SLERP with
quaternions (d) Circular arc interpolation (e) Advantages and disadvantages vs joint space (f)
Applications in welding, painting, assembly (g) Numerical example for linear interpolation. [14 Marks]
Q7. Write a comprehensive essay on trajectory planning and execution in industrial robots: (a) Motion
types: PTP, LIN, CIRC, SPLINE (b) Joint space vs Cartesian space interpolation (c) Velocity profiles:
trapezoidal and polynomial (d) Motion parameters: speed, acceleration, blending zone (e) Robot
programming commands for KUKA, ABB, Fanuc (f) Execution pipeline from task specification to joint
control (g) Online vs offline programming. [14 Marks]
Q8. Explain the complete inverse kinematics solution for a 6-DOF robot with spherical wrist: (a)
Concept of kinematic decoupling (b) Computing wrist center from desired end-effector pose (c) Inverse
location: solving q1, q2, q3 geometrically (d) Computing R_3^6 from forward kinematics and desired
pose (e) Inverse orientation: extracting q4, q5, q6 using ZYZ Euler angles (f) Handling wrist singularity
(g) Selecting best solution from multiple IK solutions. [14 Marks]
Q9. Derive and explain the Jacobian matrix for a 3-DOF robot arm. Then: (a) Show how to compute
end-effector velocity from joint velocities (b) Show how to compute joint torques from end-effector
forces (c) Analyze singularities using det(J) = 0 (d) Compute manipulability measure (e) Derive the
pseudo-inverse for velocity IK (f) Full numerical example. [14 Marks]
Q10. Compare and contrast joint space and task space trajectory planning under all aspects: (a)
Fundamental concept and approach (b) Path predictability in Cartesian space (c) Computation
requirements (d) Singularity handling (e) Obstacle avoidance capability (f) Joint limit management (g)
Accuracy and precision (h) Speed of execution (i) Applications where each is preferred (j) Hybrid
approaches used in industry. [14 Marks]

IMPORTANT POINTS TO REMEMBER


• IK may have 0, 1, 2, or up to 16 solutions — FK ALWAYS has exactly 1 solution
• 2-link planar IK: cos(θ2) = (px²+py²-L1²-L2²)/(2L1L2), then θ1 from atan2 formula
• θ2 = +atan2(...) → elbow-up; θ2 = -atan2(...) → elbow-down
• Singularity: det(J) = 0 → robot loses DOF, joint speeds → infinity
• Shoulder singularity: px²+py² = 0 | Elbow: θ3=0° or 180° | Wrist: θ5=0°
• Jacobian revolute column: [z×(pn-pi-1); z] | Prismatic: [z; 0]
• Force-torque: τ = J^T × F (transpose, NOT inverse!)
• Manipulability w = √det(J·J^T) = 0 at singularity
• Cubic poly (v0=vf=0): a2 = 3Δθ/tf², a3 = -2Δθ/tf³
• Quintic poly: a3=10Δθ/tf³, a4=-15Δθ/tf⁴, a5=6Δθ/tf⁵
• LSPB: trapezoidal velocity profile — accelerate, constant speed, decelerate
• PTP = joint space, fastest; LIN = Cartesian straight line, controlled path; CIRC = arc
• Task space interpolation requires IK at every timestep — computationally expensive
• SLERP = best method for interpolating orientation (uses quaternions, no singularity)
• DLS (damped least squares) = best method for IK near singularities

ALL THE BEST FOR YOUR EXAM!


Master the 2-link IK derivation and Jacobian — they appear in EVERY exam!

You might also like