Skip to main content
Contents8 / 11 ▾
Chapter VIII

Manipulation & Kinematics

Kinematic analysis of 6-DOF manipulators requires Lie Group representations, singularity-robust numerical IK solvers, and passivity-based latency control.

8.1

How do you solve forward and inverse kinematics for a 6-DOF arm in real time?

rating — possible

Forward Kinematics (FK) computes end-effector pose $\mathbf{T}_{b,e} \in SE(3)$ given joint angles $\mathbf{\theta} \in \mathbb{R}^6$ using the **Product of Exponentials (PoE)** formulation over Lie Algebra $se(3)$:

$$\mathbf{T}(\mathbf{\theta}) = e^{[\mathbf{S}_1]\theta_1} e^{[\mathbf{S}_2]\theta_2} \dots e^{[\mathbf{S}_6]\theta_6} \mathbf{M}$$

where $\mathbf{S}_i$ are joint screw axes and $\mathbf{M} \in SE(3)$ is the home configuration pose. Inverse Kinematics (IK) computes $\mathbf{\theta}$ given target pose $\mathbf{T}_{\text{target}}$. Analytical solvers (IKFast) solve closed-form polynomial roots in $<2\mu\text{s}$ for arms with spherical wrists. For numerical IK, compute joint velocity updates $\mathbf{\dot{\theta}}$ via the Manipulator Jacobian $\mathbf{J}(\mathbf{\theta}) \in \mathbb{R}^{6 \times 6}$ ($\mathbf{\dot{x}} = \mathbf{J}(\mathbf{\theta})\mathbf{\dot{\theta}}$).

8.2

How do you handle kinematic singularities during teleoperation?

rating — possible

At a kinematic singularity, $\det(\mathbf{J}(\mathbf{\theta})) = 0$, causing pseudo-inverse $\mathbf{J}^+ = \mathbf{J}^T (\mathbf{J}\mathbf{J}^T)^{-1}$ entries to approach infinity ($\mathbf{\dot{\theta}} \to \infty$). To prevent wild joint motor spikes, implement **Damped Least Squares (DLS / Levenberg-Marquardt)** inverse kinematics:

$$\mathbf{J}^* = \mathbf{J}^T \left( \mathbf{J}\mathbf{J}^T + \lambda^2 \mathbf{I} \right)^{-1}$$

where $\lambda$ is an adaptive damping factor adjusted based on the smallest singular value $\sigma_{\min}$ of $\mathbf{J}$:

$$\lambda^2 = \begin{cases} 0, & \text{if } \sigma_{\min} \ge \epsilon \\ \left(1 - \left(\frac{\sigma_{\min}}{\epsilon}\right)^2\right) \lambda_{\max}^2, & \text{if } \sigma_{\min} < \epsilon \end{cases}$$
8.3

How do you implement force feedback in teleoperation, accounting for latency?

rating — possible

Communication latency $T_{\text{delay}} > 20\text{ms}$ introduces positive phase shift into bilateral haptic feedback loops, causing energy growth and violent physical instability. To guarantee stability, implement **Wave Variable Transformation (Passivity Control)**:

$$\text{Master Wave Transmit: } u_m(t) = \frac{1}{\sqrt{2b}} \left( F_m(t) + b v_m(t) \right)$$ $$\text{Slave Wave Receive: } v_s(t) = \frac{1}{\sqrt{2b}} \left( F_s(t) - b v_s(t) \right)$$

where $b$ is the characteristic wave impedance. Wave variables encode force and velocity signals into passive energy flows, guaranteeing passivity ($\int_0^t P(\tau) d\tau \ge 0$) under arbitrary constant transmission delays.