Overview: Cybernetic Manipulation & Prosthetic Kinematics
Upper-limb amputation represents a profound biomechanical and neurological disruption, severing the natural musculoskeletal linkages through which individuals interact with physical environments. Modern cybernetic prostheses seek to restore lost functionality through high-fidelity electromechanical articulation governed by multi-axis microcontrollers. Unlike conventional body-powered Bowden-cable prostheses—which rely on gross body movements to actuate a single mechanical terminal device—advanced motorized prosthetic limbs integrate independent modular actuators across the shoulder, elbow, wrist, and multi-digit end-effectors.
This interactive educational laboratory provides an analytical simulation of a 4-Degree-of-Freedom (4-DOF) anthropomorphic prosthetic manipulator. The system models the forward and inverse kinematics, joint torque distribution, and terminal grip mechanics characteristic of modern bionic upper-limb replacements. Within this framework, students and researchers can examine how sequential planar rotational transformations synthesize complex spatial trajectories, how joint configurations influence workspace reachability, and how closed-loop control dynamics govern end-effector precision.
In clinical bionics, controlling multi-DOF prostheses requires decoding user motor intent from residual neuromuscular signals. Through techniques such as Targeted Muscle Reinnervation (TMR) and surface electromyographic (sEMG) pattern recognition, physiological neural signals are mapped onto kinematic actuation targets. This simulator demonstrates the physical and computational layer of that pipeline: translating continuous Cartesian spatial goals into joint rotational commands via Cyclic Coordinate Descent (CCD) inverse kinematics while monitoring manipulability, singular configurations, and grip force generation.
Technical Details & Mathematical Formulations
The mechanical topology of the prosthetic limb is modeled as an open kinematic chain of rigid links connected via revolute joints. Let the link lengths be denoted as $L_0 = 120\text{ mm}$ (upper arm / humerus segment), $L_1 = 100\text{ mm}$ (forearm / radial-ulnar segment), and $L_2 = 70\text{ mm}$ (wrist to terminal palm center). The base origin is fixed at coordinate $\mathbf{p}_0 = (x_0, y_0)^T$.
Forward Kinematics & Transformation Matrices
The spatial location of each successive joint is computed through sequential trigonometric forward kinematic transformations relative to the base mounting angle $\psi$. Defining the cumulative joint orientation angles as:
$$\alpha_0 = \theta_0 + \psi$$
$$\alpha_1 = \alpha_0 + \theta_1 = \theta_0 + \psi + \theta_1$$
$$\alpha_2 = \alpha_1 + \theta_2 = \theta_0 + \psi + \theta_1 + \theta_2$$
The Cartesian position vectors for the elbow ($\mathbf{p}_1$), wrist ($\mathbf{p}_2$), and terminal end-effector ($\mathbf{p}_3 = \mathbf{p}_e$) are calculated systematically:
$$\mathbf{p}_1 = \begin{bmatrix} x_1 \\ y_1 \end{bmatrix} = \mathbf{p}_0 + \begin{bmatrix} L_0 \cos(\alpha_0) \\ -L_0 \sin(\alpha_0) \end{bmatrix}$$
$$\mathbf{p}_2 = \begin{bmatrix} x_2 \\ y_2 \end{bmatrix} = \mathbf{p}_1 + \begin{bmatrix} L_1 \cos(\alpha_1) \\ -L_1 \sin(\alpha_1) \end{bmatrix}$$
$$\mathbf{p}_3 = \begin{bmatrix} x_e \\ y_e \end{bmatrix} = \mathbf{p}_2 + \begin{bmatrix} L_2 \cos(\alpha_2) \\ -L_2 \sin(\alpha_2) \end{bmatrix}$$
Cyclic Coordinate Descent (CCD) Inverse Kinematics
When reaching towards an arbitrary Cartesian coordinate $\mathbf{p}_{\text{target}} = (x_t, y_t)^T$, the simulation executes an iterative Cyclic Coordinate Descent (CCD) optimization solver. For each joint $i$ starting from the distal wrist back to the proximal shoulder, the algorithm calculates the rotation angle $\Delta \phi_i$ required to align the vector from joint $i$ to the current end-effector $\mathbf{v}_e = \mathbf{p}_e - \mathbf{p}_i$ with the vector from joint $i$ to the target $\mathbf{v}_t = \mathbf{p}_{\text{target}} - \mathbf{p}_i$:
$$\Delta \phi_i = \text{atan2}(v_{t,y}, v_{t,x}) - \text{atan2}(v_{e,y}, v_{e,x})$$
$$\theta_i \leftarrow \text{clamp}\left(\theta_i + \gamma \Delta \phi_i, \theta_i^{\min}, \theta_i^{\max}\right)$$
Here, $\gamma \in (0, 1]$ represents a convergence relaxation factor that ensures smooth, physically stable trajectory convergence without numerical divergence near kinematic singularities.
Differential Kinematics & The Analytical Jacobian
The relationship between instantaneous joint angular velocities $\boldsymbol{\dot{\theta}} = [\dot{\theta}_0, \dot{\theta}_1, \dot{\theta}_2]^T$ and Cartesian linear end-effector velocity $\mathbf{\dot{p}}_e = [\dot{x}_e, \dot{y}_e]^T$ is governed by the $2 \times 3$ analytical Jacobian matrix $\mathbf{J}(\boldsymbol{\theta})$:
$$\mathbf{\dot{p}}_e = \mathbf{J}(\boldsymbol{\theta}) \boldsymbol{\dot{\theta}}$$
$$\mathbf{J}(\boldsymbol{\theta}) = \begin{bmatrix}
-L_0\sin\alpha_0 - L_1\sin\alpha_1 - L_2\sin\alpha_2 & -L_1\sin\alpha_1 - L_2\sin\alpha_2 & -L_2\sin\alpha_2 \\
-L_0\cos\alpha_0 - L_1\cos\alpha_1 - L_2\cos\alpha_2 & -L_1\cos\alpha_1 - L_2\cos\alpha_2 & -L_2\cos\alpha_2
\end{bmatrix}$$
The scalar degree of kinematic dexterity and distance from singular configurations is evaluated via Yoshikawa's Manipulability Measure $w(\boldsymbol{\theta})$:
$$w(\boldsymbol{\theta}) = \sqrt{\det\left(\mathbf{J}(\boldsymbol{\theta}) \mathbf{J}^T(\boldsymbol{\theta})\right)}$$
When the arm fully extends along a linear boundary ($\theta_1 = 0^\circ, \theta_2 = 0^\circ$), the rows of the Jacobian become linearly dependent, driving $w(\boldsymbol{\theta}) \to 0$. In this singular boundary state, the prosthetic limb cannot generate radial velocity regardless of joint torque expenditure.
Terminal Gripper Dynamics & Clamping Force
The terminal end-effector incorporates a motorized dual-jaw adaptive prehension mechanism. The angular displacement of the curved finger jaws is parameterized by the closure ratio $G \in [0, 100]\%$. Clamping force $F_{\text{grip}}$ is modeled as a progressive function of electromechanical motor stall torque and actuator transmission ratio:
$$F_{\text{grip}} = \left(\frac{G}{100}\right) \cdot F_{\max}, \quad \text{where } F_{\max} = 120\text{ N}$$
Static shoulder reaction torque $\tau_0$ resulting from gravitational moment arms and link segment masses ($m_0, m_1, m_2$) is continuously approximated via static equilibrium:
$$\tau_0 = g_{\text{gravity}} \sum_{i=0}^{2} m_i r_{ci} \cos(\alpha_i)$$