Research on humanoid robots has attracted worldwide attention from both academia and industry as one of the most active and challenging branches of robotics. The ankle joint is a critical part of the lower limb of a humanoid robot, since it must provide sufficient load-carrying capacity, high stiffness, and accurate motion while being lightweight and biomimetic. In this dissertation, I focus on a novel three-branch spherical parallel bionic ankle joint mechanism with a central spherical joint, denoted as UP+R+S, which possesses two degrees of freedom (DOF). This mechanism was designed to mimic the human ankle in terms of skeletal morphology, kinematic function, balanced stiffness, and load-bearing capability. The main contributions of my work are the kinematic modeling, static stiffness analysis, dynamic modeling with simplification, and numerical simulation of this novel mechanism.

1. Introduction and Motivation
Humanoid robots are designed to operate in human-centered environments, performing tasks that require human-like locomotion and manipulation. The ankle joint is essential for stable walking, running, and balancing. Traditional ankle mechanisms in humanoid robots often use two serially connected revolute joints, which are simple to control but suffer from low stiffness, poor load capacity, and non-biomimetic appearance. In contrast, parallel mechanisms offer inherent advantages such as high stiffness-to-weight ratio, high accuracy, and compactness. These features make parallel mechanisms promising candidates for bionic joints in humanoid robots.
In this research, I propose a new bionic ankle joint mechanism for humanoid robots named UP+R+S. The mechanism consists of two active branches (a curved arc branch and a sliding-rod branch) and a passive central spherical-joint branch. The central branch is introduced to unload forces, mimic the ankle bone structure, and increase the translational stiffness. The curved arc branch corresponds to the lateral muscle group of the human ankle, while the sliding-rod branch corresponds to the Achilles tendon group. Combined, they realize dorsiflexion/plantarflexion and inversion/eversion motions, exactly matching the functional ranges of the human ankle. In this dissertation, I systematically analyze the kinematics, stiffness, and dynamics of this mechanism.
2. Mechanism Description and Mobility Analysis
The UP+R+S mechanism is shown schematically in my work with a fixed platform (leg rod), a moving platform (foot plate), a curved arc link, an upper rod, a lower rod, a slider, and a central ball joint. The center of the ball joint coincides with the spherical center of the mechanism. The slider is driven by a linear actuator along the vertical direction, and the curved arc link is driven by a gear motor. The moving platform is connected to the curved arc link by two revolute joints whose axes pass through the spherical center. The lower rod is connected to the moving platform by a universal joint, and the upper rod is connected to the slider by another universal joint. The upper and lower rods are connected by a revolute joint along the rod direction.
Using screw theory, the twist system of the central leg (spherical joint) is
$$\begin{aligned} \mathbf{\$}_{11} &= (1,0,0;\,0,0,0) \\ \mathbf{\$}_{12} &= (0,1,0;\,0,0,0) \\ \mathbf{\$}_{13} &= (0,0,1;\,0,0,0) \end{aligned}$$
which yields three constraint forces that restrict all translations of the moving platform. The curved arc branch provides a constraint moment about the vertical axis, while the sliding-rod branch imposes no constraints. Thus the mechanism has two degrees of freedom. The modified Kutzbach–Grübler formula gives
$$M = 6(n-g-1) + \sum_{i=1}^{g} f_i + \nu – \zeta = 6(6-7-1)+11+3-0 = 2$$
where \(n=6\) is the number of links, \(g=7\) is the number of joints, \(f_i\) is the DOF of the \(i\)-th joint, \(\nu=3\) is the number of redundant constraints, and \(\zeta=0\) is the number of local DOF. Therefore, the mechanism has exactly two rotational DOF, which correspond to the inversion/eversion and dorsiflexion/plantarflexion of the human ankle.
3. Kinematic Analysis
3.1 Coordinate Frames and Rotation Matrix
As shown in my research, a fixed coordinate frame \(OXYZ\) is attached to the base with the \(Z\)-axis vertical and the \(X\)-axis aligned with the input axis of the curved arc. A moving frame \(O x_1 y_1 z_1\) is attached to the moving platform. The orientation of the moving platform is described by two angles \(\theta_x\) (about the body \(x_1\)-axis) and \(\theta_y\) (about the body \(y_1\)-axis). The rotation matrix of the moving platform relative to the base is
$$ \mathbf{R}_1^0 = \mathrm{Rot}(x_1,\theta_x)\mathrm{Rot}(y_1,\theta_y) = \begin{pmatrix} \cos\theta_y & 0 & \sin\theta_y \\ \sin\theta_x \sin\theta_y & \cos\theta_x & -\sin\theta_x \cos\theta_y \\ -\cos\theta_x \sin\theta_y & \sin\theta_x & \cos\theta_x \cos\theta_y \end{pmatrix} $$
where I use the convention \(c_x = \cos\theta_x\), \(s_x = \sin\theta_x\), etc.
3.2 Inverse Kinematics Solution
The inverse kinematics problem is to determine the input variables (the slider displacement \(l\) and the curved arc rotation angle \(\alpha\)) given the output angles \(\theta_x\) and \(\theta_y\). Using the closed-loop vector method and the geometric constraint that the distance between two spherical centers remains constant, I derived the inverse kinematics as
$$ \alpha = \theta_x $$
$$ l = L – \sqrt{ r^2(\sin\theta_x\sin\theta_y)^2 + (r\cos\theta_x – r_2)^2 + (L + r\cos\theta_y \sin\theta_x)^2 } $$
Here, \(r\) is the radius of the moving platform, \(r_2\) is the offset of the slider axis from the \(Z\)-axis, and \(L\) is the fixed length of the upper/lower rod. This expression is compact and shows that the mechanism is partially decoupled: the curved arc angle \(\alpha\) directly equals \(\theta_x\).
3.3 Forward Kinematics Solution
The forward kinematics problem is to determine the moving platform orientation from the inputs \(l\) and \(\alpha\). Since \(\alpha = \theta_x\), we immediately have \(\theta_x = \alpha\). The other angle \(\theta_y\) is obtained by solving the loop-closure equation:
$$ \theta_y = \arcsin\!\left(\frac{A}{r}\right) – \arctan\!\left(\frac{r}{B}\right) $$
where
$$ A = \sqrt{ \frac{r^2 l^2 + 2rlL + r^2 L^2}{L^2} }, \quad B = (l+L)\cos\alpha $$
This explicit solution is computationally efficient, which is beneficial for real-time control of humanoid robots.
3.4 Joint Angles of the Branches
In the sliding-rod branch, the universal joint angles \(u_1\), \(u_2\), and the revolute joint angle \(u_3\) are derived using Euler-angle transformations. The results are:
$$ u_1 = \arctan \frac{ r \sin\theta_x \sin\theta_y }{ r \cos\theta_x \sin\theta_y + l + L } $$
$$ u_2 = \arcsin \frac{ r – r \cos\theta_y }{ L } $$
$$ u_3 = \arctan \frac{ -\sin\theta_y \sin(\theta_x – u_1) }{ \sin u_2 \cos\theta_y \sin(\theta_x – u_1) – \cos u_2 \sin\theta_y } $$
These joint-angle expressions are used later for velocity and dynamic analyses.
3.5 Jacobian Matrix
Differentiating the inverse kinematics equation with respect to time yields the velocity mapping:
$$ \mathbf{A} \dot{\boldsymbol{\theta}} = \mathbf{B} \dot{\mathbf{q}} $$
where \(\boldsymbol{\theta} = [\theta_x, \theta_y]^T\) is the output velocity vector and \(\dot{\mathbf{q}} = [\dot{\alpha}, \dot{l}]^T\) is the input velocity vector. The coefficient matrices are
$$ \mathbf{A} = \begin{pmatrix} 1 & 0 \\ -(l+L)\sin\theta_x \sin\theta_y – r\sin\theta_y & (l+L)\cos\theta_x \cos\theta_y + r\sin\theta_y \end{pmatrix} $$
$$ \mathbf{B} = \begin{pmatrix} 1 & 0 \\ 0 & -\cos\theta_y \end{pmatrix} $$
where the second row of \(\mathbf{A}\) comes from differentiating the loop constraint. The Jacobian matrix is then defined as
$$ \mathbf{J} = \mathbf{A}^{-1} \mathbf{B} $$
so that \(\dot{\boldsymbol{\theta}} = \mathbf{J} \dot{\mathbf{q}}\). This Jacobian is used for singularity analysis, stiffness modeling, and dynamic control.
3.6 Velocity Analysis of the Moving Platform and Links
For each moving component, I computed the linear velocity of its center of mass and its angular velocity in terms of the generalized velocities \(\dot{\theta}_x\) and \(\dot{\theta}_y\). The moving platform center \(C_1\) has position vector \(\mathbf{r}_{C1}\) given by
$$ \mathbf{r}_{C1} = \mathbf{R}_1^0 \mathbf{r}_{c1} $$
where \(\mathbf{r}_{c1}\) is the center-of-mass coordinate in the moving frame. Differentiating this gives
$$ \mathbf{v}_{C1} = \mathbf{A}_1 \dot{\boldsymbol{\theta}} $$
with \(\mathbf{A}_1\) being a \(3 \times 2\) matrix. The angular velocity of the moving platform is
$$ \boldsymbol{\omega}_1 = \begin{pmatrix} \dot{\theta}_x \\ \dot{\theta}_y \cos\theta_x \\ \dot{\theta}_y \sin\theta_x \end{pmatrix} $$
This can be written as \(\boldsymbol{\omega}_1 = \mathbf{E}_1 \dot{\boldsymbol{\theta}}\), where
$$ \mathbf{E}_1 = \begin{pmatrix} 1 & 0 \\ 0 & \cos\theta_x \\ 0 & \sin\theta_x \end{pmatrix} $$
Similarly, for the curved arc link, the angular velocity is
$$ \boldsymbol{\omega}_2 = \begin{pmatrix} \dot{\theta}_x \\ 0 \\ 0 \end{pmatrix} $$
The slider moves purely along the \(Z\)-axis, so its linear velocity is \(v_3 = \dot{l}\), which can be expressed using the Jacobian. The upper and lower rods have more complicated angular velocities that involve time derivatives of \(u_1, u_2, u_3\). In my work, I derived the full expressions using Euler-angle transformations and the chain rule. These velocity expressions are the foundation for computing kinetic energy in the Lagrangian dynamic model.
3.7 Numerical Example Using Human Gait Data
To validate the kinematics of the bionic ankle mechanism, I captured the human ankle motion during normal walking using an Xsens MVN inertial motion capture system. The measured discrete data were fitted with Fourier series to obtain the reference angular trajectories:
$$ \theta_x(t) = -0.044 – 0.1\cos(5.3t) + 0.004\sin(5.3t) – 0.02\cos(10.6t) + 0.066\sin(10.6t) $$
$$ \theta_y(t) = 0.035 – 0.058\cos(5.3t) – 0.073\sin(5.3t) – 0.1\cos(10.6t) – 0.009\sin(10.6t) $$
where \(t\) is time in seconds. These functions were used as the desired trajectory of the moving platform. The inverse kinematics was then evaluated numerically, and the resulting slider displacement and curved arc angle were consistent with the expected ranges. This demonstrates that the proposed UP+R+S mechanism can reproduce the ankle motion of a humanoid robot while maintaining a biomimetic gait.
The computed linear and angular velocities of all moving links are listed in the following table for one representative time instant (\(t = 0.5\) s).
| Component | \(\mathbf{v}_x\) (m/s) | \(\mathbf{v}_y\) (m/s) | \(\mathbf{v}_z\) (m/s) | \(\boldsymbol{\omega}_x\) (rad/s) | \(\boldsymbol{\omega}_y\) (rad/s) | \(\boldsymbol{\omega}_z\) (rad/s) |
|---|---|---|---|---|---|---|
| Moving platform | -0.032 | 0.015 | 0.028 | 0.54 | 0.31 | -0.08 |
| Curved arc | 0 | -0.018 | 0.012 | 0.54 | 0 | 0 |
| Slider | 0 | 0 | -0.045 | — | — | — |
| Upper rod | 0.005 | -0.021 | -0.045 | 0.09 | -0.12 | -0.03 |
| Lower rod | -0.006 | 0.019 | -0.045 | 0.08 | 0.11 | -0.06 |
4. Static Stiffness Analysis
4.1 Modeling Approach
For a humanoid robot ankle, high stiffness is essential to support body weight and maintain positioning accuracy. I performed a static stiffness analysis of the UP+R+S mechanism based on the principle of small deformation superposition. The key idea is to establish the relationship between the external load (force \(\mathbf{F}\) and moment \(\mathbf{M}\)) applied to the moving platform and the resulting translational deformation \(\boldsymbol{\Delta}\) and rotational deformation \(\boldsymbol{\delta}\) at the spherical center.
I first disassembled the mechanism into individual links and wrote the static equilibrium equations for the moving platform, the curved arc link, the slider, and the rod constraining forces. Because the mechanism has 28 unknown force/moment components but only 20 independent equilibrium equations, it is a statically indeterminate system of degree 8. Therefore, I developed 8 compatibility equations based on the deformation continuity of the branches.
4.2 Deformation of Branches
The curved arc link is modeled as a curved beam. Under the action of forces and moments at the moving-platform joints, the deformation includes bending and torsion. The deformation at the end points is expressed as
$$ \boldsymbol{\Delta}_{1i} = \nu_{1i} \mathbf{v}_2 + \nu_{2i} \mathbf{w}_2, \quad \boldsymbol{\delta}_{1i} = \theta_{1i} \mathbf{u}_2 + \theta_{2i} \mathbf{w}_2 \quad (i=1,2) $$
The upper and lower rods are treated as axially loaded bars. Their axial elongations are:
$$ \Delta_{21} = \frac{R_{22} l_1}{E A_1}, \quad \Delta_{22} = \frac{R_{22} l_2}{E A_2} $$
where \(R_{22}\) is the axial force, \(l_i\) are rod lengths, \(A_i\) are cross-sectional areas, and \(E\) is Young’s modulus. In addition, the rods rotate as rigid bodies due to the moving platform’s angular deformation, leading to complementary displacements.
The central spherical-joint branch (leg rod) is fixed at the base and loaded at the spherical center. Its deformation is modeled as a cantilever beam with a spherical joint at the loaded end. Only translational deformation is transmitted to the moving platform because the spherical joint releases rotations.
4.3 Compliance and Stiffness Matrices
By solving the equilibrium and compatibility equations simultaneously, I obtained the linear mapping
$$ \begin{pmatrix} \boldsymbol{\Delta}_{01} \\ \boldsymbol{\delta}_{01} \end{pmatrix} = \mathbf{G} \begin{pmatrix} \mathbf{F} \\ \mathbf{M} \end{pmatrix} $$
where \(\mathbf{G}\) is the \(6 \times 6\) compliance matrix. The stiffness matrix is its inverse:
$$ \mathbf{k} = \mathbf{G}^{-1} $$
In my dissertation, I derived explicit expressions for the compliance matrix in terms of material properties, geometric sizes, and instantaneous posture angles \(\theta_x\) and \(\theta_y\). The matrix elements are quite lengthy; here I present the structure:
$$ \mathbf{G} = \begin{pmatrix} \mathbf{G}_{11} & \mathbf{G}_{12} \\ \mathbf{G}_{21} & \mathbf{G}_{22} \end{pmatrix} $$
where \(\mathbf{G}_{11}\) maps forces to translations, \(\mathbf{G}_{12}\) maps moments to translations, \(\mathbf{G}_{21}\) maps forces to rotations, and \(\mathbf{G}_{22}\) maps moments to rotations. For the UP+R+S mechanism, because of the central spherical joint, the coupling terms have particular symmetry properties.
4.4 Principal Stiffness Values
To evaluate the stiffness performance in a posture-independent way, I used an orthogonal transformation method. The stiffness matrix \(\mathbf{k}\) is generally non-diagonal, but it can be diagonalized by an orthogonal matrix \(\mathbf{P}\) formed from its eigenvectors:
$$ \mathbf{k}’ = \mathbf{P}^{-1} \mathbf{k} \mathbf{P} = \mathrm{diag}(k’_{11}, k’_{22}, k’_{33}, k’_{44}, k’_{55}, k’_{66}) $$
The diagonal entries are the principal stiffness values in the corresponding principal directions \(\boldsymbol{\beta}_i\) (\(i=1,\dots,6\)). The results for three representative postures are presented in Table 2.
| Posture \((\theta_x,\theta_y)\) | \(k’_{11}\) (N/m) | \(k’_{22}\) (N/m) | \(k’_{33}\) (N/m) | \(k’_{44}\) (N/rad) | \(k’_{55}\) (N/rad) | \(k’_{66}\) (N/rad) |
|---|---|---|---|---|---|---|
| \((\pi/12, \pi/12)\) | \(7.8997\times10^{14}\) | \(2.3722\times10^{14}\) | \(1.7485\times10^{8}\) | \(3.1830\times10^{5}\) | \(9.5238\times10^{3}\) | \(3.0379\times10^{5}\) |
| \((\pi/6, \pi/6)\) | \(2.2116\times10^{14}\) | \(8.1502\times10^{13}\) | \(1.7275\times10^{8}\) | \(1.3576\times10^{5}\) | \(9.5238\times10^{3}\) | \(5.5086\times10^{5}\) |
| \((\pi/3, \pi/3)\) | \(1.4079\times10^{14}\) | \(1.1481\times10^{14}\) | \(1.7167\times10^{8}\) | \(3.9446\times10^{4}\) | \(9.5238\times10^{3}\) | \(1.3456\times10^{6}\) |
From Table 2, I observed that the translational stiffness values (first three diagonal elements) are extremely high, while the rotational stiffness values are comparatively lower. This indicates that the central spherical joint branch effectively carries the external force and greatly enhances the translational stiffness, which is critical for supporting the weight of a humanoid robot.
4.5 Comparison with the Prototype UP+R
I compared the stiffness of the proposed UP+R+S mechanism with that of the original UP+R spherical parallel prototype without the central limb. Under the same external load of 600 N, the maximum linear deformation of UP+R was about 0.7 mm and the maximum angular deformation was about 0.01 rad. For the new UP+R+S mechanism, the corresponding values were only 0.0006 mm and \(1.2 \times 10^{-4}\) rad. Therefore, the central spherical branch reduces the deformation by orders of magnitude and also makes the stiffness more uniform. This is a major improvement for the ankle of a humanoid robot, where both high load capacity and precise motion are required.
5. Dynamic Modeling and Simplification
5.1 Dynamic Modeling Based on the Lagrangian Formalism
For real-time control of humanoid robots, an accurate and computationally efficient dynamic model is essential. I derived the inverse dynamics of the UP+R+S mechanism using the Lagrange formulation, which is well suited for parallel mechanisms because it avoids the explicit calculation of all constraint forces.
The total kinetic energy \(T\) of the system is the sum of the kinetic energies of the moving platform, the curved arc link, the slider, the upper rod, and the lower rod:
$$ T = T_1 + T_2 + T_3 + T_4 + T_5 $$
Each term has the form
$$ T_i = \frac{1}{2} m_i \mathbf{v}_{Ci}^T \mathbf{v}_{Ci} + \frac{1}{2} \boldsymbol{\omega}_i^T \mathbf{I}_{Ci} \boldsymbol{\omega}_i $$
where \(m_i\) is mass, \(\mathbf{v}_{Ci}\) is the center-of-mass velocity, \(\boldsymbol{\omega}_i\) is the angular velocity, and \(\mathbf{I}_{Ci}\) is the inertia tensor about the center of mass. The inertia tensors are expressed in the base frame using the appropriate rotation matrices.
The potential energy \(U\) includes gravitational terms:
$$ U = \sum_i U_i = \sum_i m_i g z_{Ci} $$
where \(z_{Ci}\) is the height of the center of mass of link \(i\). The Lagrangian is
$$ \mathcal{L} = T – U $$
Applying Lagrange’s equations:
$$ \frac{d}{dt}\frac{\partial \mathcal{L}}{\partial \dot{q}_i} – \frac{\partial \mathcal{L}}{\partial q_i} = Q_i $$
where \(q_i\) are the generalized coordinates (here \(q_1 = \theta_x\), \(q_2 = \theta_y\)) and \(Q_i\) are the generalized forces. The relationship between the actuator forces \(\boldsymbol{\tau} = [\tau_\alpha, \tau_l]^T\) and the generalized forces is given by the principle of virtual work:
$$ \boldsymbol{\tau}^T \dot{\mathbf{q}} = \mathbf{Q}^T \dot{\boldsymbol{\theta}} $$
Using the Jacobian, I obtained the inverse dynamic model in compact matrix form:
$$ \boldsymbol{\tau} = \mathbf{J}^{-T} \left[ \mathbf{M}(\boldsymbol{\theta}) \ddot{\boldsymbol{\theta}} + \mathbf{C}(\boldsymbol{\theta},\dot{\boldsymbol{\theta}}) \dot{\boldsymbol{\theta}} + \mathbf{G}(\boldsymbol{\theta}) \right] $$
where \(\mathbf{M}(\boldsymbol{\theta})\) is the symmetric mass matrix, \(\mathbf{C}(\boldsymbol{\theta},\dot{\boldsymbol{\theta}})\) contains Coriolis and centrifugal terms, and \(\mathbf{G}(\boldsymbol{\theta})\) is the gravitational term.
5.2 Simplified Dynamic Control Model
The exact dynamic model involves complicated expressions, especially for the upper and lower rods, because they involve intermediate joint angles \(u_1,u_2,u_3\). To achieve fast computation for real-time control, I proposed a simplification based on trigonometric approximations. In the whole workspace (\(|\theta_x|, |\theta_y| \le 25^\circ\)), the angles \(u_1\) and \(u_2\) are small (maximum about 0.15 rad), so I used \(\sin u_i \approx u_i\), \(\cos u_i \approx 1\). This leads to simplified expressions for \(u_1\) and \(u_2\):
$$ u_{s1} \approx \frac{r \sin\theta_x \sin\theta_y}{L}, \quad u_{s2} \approx \frac{r(1-\cos\theta_y)}{L} $$
For \(u_3\), similar approximation gives \(u_{s3} \approx 0\) with very small error. Furthermore, the slider displacement \(l\) contains a square root that is expensive for real-time computation. I approximated it as
$$ l_s \approx L – r \cos\theta_x \sin\theta_y $$
which is much simpler. These approximations reduce the complexity of the kinetic energy expressions while preserving high accuracy. The simplified mass matrix \(\mathbf{M}_s\), Coriolis matrix \(\mathbf{C}_s\), and gravitational vector \(\mathbf{G}_s\) are substituted into the dynamic equation to yield the simplified control model:
$$ \boldsymbol{\tau}_s = \mathbf{J}^{-T} \left[ \mathbf{M}_s(\boldsymbol{\theta}) \ddot{\boldsymbol{\theta}} + \mathbf{C}_s(\boldsymbol{\theta},\dot{\boldsymbol{\theta}}) \dot{\boldsymbol{\theta}} + \mathbf{G}_s(\boldsymbol{\theta}) \right] $$
I evaluated the relative errors between the full model and the simplified model for the same walking trajectory. The force error was bounded by \(|\delta_{\tau}| \le 2 \times 10^{-3}\) and the torque error by \(|\delta_M| \le 4 \times 10^{-4}\), both well within engineering tolerance.
5.3 Performance Analysis
To assess the dynamic performance of the mechanism in its workspace, I employed condition-number-based global performance indices. The velocity performance index is defined as
$$ \eta_v = \frac{1}{\int_W dW} \int_W \frac{1}{\kappa(\mathbf{J})} dW $$
where \(\kappa(\mathbf{J}) = \|\mathbf{J}\| \|\mathbf{J}^{-1}\|\) is the condition number of the Jacobian matrix. The acceleration performance index uses both the Jacobian and the Hessian tensor \(\mathbf{H}\), while the inertial-force performance is based on the sum of condition numbers of \(\mathbf{J}\) and \(\mathbf{H}\). I computed these indices over the workspace with various geometric parameters.
| \(r\) (cm) | \(L\) (cm) | Velocity index | Acceleration index | Inertial-force index |
|---|---|---|---|---|
| 4.0 | 10.0 | 0.258 | 0.072 | 0.701 |
| 5.0 | 10.0 | 0.201 | 0.065 | 0.695 |
| 6.0 | 10.0 | 0.158 | 0.058 | 0.692 |
| 7.0 | 10.0 | 0.126 | 0.052 | 0.705 |
| 8.0 | 12.0 | 0.101 | 0.047 | 0.712 |
From Table 3, I concluded that the velocity and acceleration performance improve as the moving platform radius \(r\) decreases. The inertial-force performance shows a minimum in the intermediate size range, indicating an optimal design trade-off. These indices can guide the selection of geometric parameters for a humanoid robot ankle to achieve good dynamic behavior.
5.4 Computational Efficiency
One of the main objectives was to reduce the computational burden for real-time control. I measured the computation time and memory usage of both the full dynamic model and the simplified model in MATLAB. The full model required about 118 seconds for one evaluation cycle, while the simplified model only took 4 seconds—a reduction factor of nearly 30. The memory usage was also reduced by about 7 times. This makes the simplified model highly suitable for online control of humanoid robots.
6. Simulation Verification
To verify the analytical models, I built a three-dimensional solid model of the UP+R+S mechanism in SOLIDWORKS and imported it into ADAMS via the Parasolid (`.x_t`) format. The simulation model was set with the same material properties (density 7800 kg/m³) and dimensions as used in the numerical analysis. I applied the fitted walking trajectory to the moving platform and measured the required actuator forces/torques.
The comparison between theoretical and simulation values is shown in the following table.
| Quantity | Theoretical | Simulation | Relative error |
|---|---|---|---|
| Slider force \(F\) (N) | -3.42 | -3.40 | 0.6% |
| Curved arc torque \(M\) (N·m) | 0.0121 | 0.0120 | 0.8% |
| Platform angular velocity \(\omega_x\) (rad/s) | 0.45 | 0.44 | 2.2% |
| Platform angular velocity \(\omega_y\) (rad/s) | -0.20 | -0.19 | 5% |
The small discrepancies are attributed to the use of a spline curve for the slider displacement in ADAMS and slight differences in how the revolute joint constraints were implemented. Overall, the simulation results confirm the correctness of the kinematic and dynamic models.
7. Conclusion
In this dissertation, I carried out a comprehensive study of a novel two-degree-of-freedom spherical parallel bionic ankle mechanism (UP+R+S) for humanoid robots. The following conclusions can be drawn from my work:
(1) The mechanism has two rotational DOF that match the functional motions of a human ankle. The closed-loop vector method yielded explicit forward and inverse kinematics solutions, and the Jacobian matrix was derived for velocity mapping.
(2) Human walking data captured with an inertial motion tracker were successfully used as the desired trajectory for the mechanism, demonstrating that the proposed bionic ankle can reproduce natural ankle motion.
(3) The static stiffness analysis, based on small deformation superposition, showed that the central spherical branch greatly increases the translational stiffness while reducing the maximum deformation under load. The principal stiffness directions and values provide useful guidelines for structural optimization.
(4) The Lagrangian dynamic model captures the inherent nonlinear coupling of the parallel mechanism. The simplified dynamic model based on small-angle approximations reduces computation time by a factor of 30 while maintaining high accuracy, making it suitable for real-time control applications in humanoid robots.
(5) Global performance indices reveal that the mechanism possesses good kinematic and dynamic performance throughout its workspace, and that the design parameters can be optimized to enhance the dynamic characteristics.
The UP+R+S mechanism offers a promising solution for the ankle joint of next-generation humanoid robots. Future work will include the fabrication of a physical prototype and experimental validation of the theoretical models.
