# Robotics Kinematics Lesson 2

Notes for ME5421

## Denavit-Hartenberg Representation

- two rules to limit 6 DOF to 4 variables representation

- z-axis is the axis of motion (Link i moves around or along z-axis of frame i-1)
- x-axis is the common normal of z-axis of frame i-1 and frame i

### Four parameters

The four parameters are the four elementary motions:

- $\theta_i$: bring $x_{i-1} // x_i$, around $z_{i-1}$
- $r_i$: bring $x_{i-1} = x_i$, along $z_{i-1}$
- $d_i$: bring origin $O_{i-1} = O_i$, along $x_i$
- $\alpha_i$: bring $z_{i-1} = z_i$, around $x_i$

For each joint, only one parameter is variable.

- Rotational joint: $\theta_i$
- Translational joint: $r_i$ These are called the **joint variables $q_i$**

### Forward Kinematic Problem

know joint, find hand

**Given**: {q_i}, {DH parameters};
**Find**: End-effector position
$P_E$ and orientation $R_E$

- Assign Frame
- Identify joint variables and link kinematic parameters
- Define like transformation matrices. $^{i-1}T_i = A_i$
- $^{i-1}T_i = Rot(z, \theta_i) Trans(0,0,r_i) Trans(d_i,0,0) Rot(x, \alpha_i)$
- $A_i(q_i) = {}^{i-1}T_i = \begin{bmatrix} cos\theta_i & - sin\theta_i cos\alpha_i & sin\theta_i sin\alpha_i & d_i cos\theta_i \\ sin\theta_i & cos\theta_i cos\alpha_i & -cos\theta_i sin\alpha_i & d_i sin\theta_i \\ 0 & sin \alpha_i & cos\alpha_i & r_i \\ 0 & 0 & 0 & 1 \end{bmatrix}$

- Compute $^{0}T_N(q_1q_2...q_N) = A_1A_2...A_n$

### Inverse Kinematic Problem

know hand, find how to move joints

**Given**: {DH parameters}, P_E, R_E;
**Find**: {q_i}

*ISSUE*: the solution is not unique or may not exist

- Existence
- $P_E$ must be within the workspace
- Dexterous workspace: the position and orientation can be fully controlled
- but sometimes dexterous workspace can mean the workspace we are interested in, which might not be the full position and orientation

- is P is in Dexterous workspace, then there is a solution

### Solution for Inverse Kinematic Problem

Given: $$ ^{0}T_N = \begin{bmatrix} n_x & o_x & a_x & p_x \\ n_y & o_y & a_y & p_y \\ n_z & o_z & a_z & p_z \\ 0 & 0 & 0 & 1 \end{bmatrix} A_i = \begin{bmatrix} c\theta_i & -c \alpha_i s \theta_i & s \alpha_i s \theta_i & d_i c \theta_i \\ s\theta_i & c \alpha_i c \theta_i & -s \alpha_i c \theta_i & d_i s \theta_i \\ 0 & s \alpha_i & c \alpha_i & r_i \\ 0 & 0 & 0 & 1 \end{bmatrix} $$ Find: $\mathbf{q} = q_1, q_2, ..., q_N$ We know that: $^{0}T_N = A_1A_2...A_N$ and $LHS(i,j) = RHS(i,j)$#### Approach 1: General Solution

$$ A_1^{-1} {}^0T_N = A_2A_3...A_N = {}^1T_N $$ And examine the LHS and RHS, to look for constant elements in $^1T_N$. And $q_1$ can be solved. And we can do this recursively to solve for all $q_i$.

*Note that there is no algorithmic approach that is 100% effective. And we need geometric intuition.*

#### Special Cases: DECOUPLED ROBOT GEOMETRIES

- Robots with any 3 joints are TRANSLATIONAL
- Robots with any 3 rotational joints axes co-intersecting at a common point. i.e. their
*Z*-axis intersect at a common point.

These can reduce system to a lower order subsystem (i.e. 3rd order) for which closed form solutions are guaranteed.

**Example Case 1**: Cartesian Robot

So, we decoupled the problem into two subsystems, with orientaion decoupled.

**Example Case 2**: PUMA Robot

We decoupled position this time.