
In the context of modern service robotics, the concept of an embodied robot emphasizes physical presence and interaction with humans. Among various platforms, the humanoid robot head plays a critical role in expressing emotions and enabling non-verbal communication. This thesis presents a complete design of a humanoid robot head with six degrees of freedom, followed by two optimization studies: one using compliant joints to reduce driving torque and energy consumption, and another using shape optimization of linkage components to suppress vibration without adding mass. The entire work is carried out from the perspective of an engineering researcher aiming to integrate physical mechanisms and theoretical analysis into a practical embodied robot system.
1. System Design of the Humanoid Robot Head
The robotic head is designed to be installed on a mobile stage-performance embodied robot. It must realize blinking, eyeball rotation (pitch and yaw), jaw movement, and neck motion (pitch and roll). The overall system consists of a mechanical structure, servo motors, an embedded industrial PC, a servo controller, a camera, and a wireless communication module. The operator sends commands through a custom graphical user interface over Wi-Fi to control the head motions, while the camera provides real-time visual feedback.
To achieve the required motions within the limited space of the head, linkage mechanisms are employed for the eyes and eyelids. Each motor drives a mechanism that synchronously actuates both eyes, which is a significant advantage in compact embodied robot designs. The relationship between the motion and the number of degrees of freedom is summarized in Table 1.
| Component | Motion | DOF |
|---|---|---|
| Eyelids | Blinking | 1 |
| Eyeballs | Pitch (up/down) | 1 |
| Eyeballs | Yaw (left/right) | 1 |
| Jaw | Open/close | 1 |
| Neck | Pitch and roll | 2 |
The blinking mechanism uses a slider-crank mechanism. The crank rotates continuously, while the rocker carries the artificial eyelids. The geometric parameters are obtained from the required motion range. For the rocking link, the angular range is set from \(-30^\circ\) to \(30^\circ\), and the crank range from \(120^\circ\) to \(240^\circ\). With a fixed base length \(l_0 = 80~\text{mm}\), the crank length is calculated as \(l_1 = 40~\text{mm}\), as shown in Table 2.
| Parameter | Value |
|---|---|
| \(\theta_1\) range | \(120^\circ\) to \(240^\circ\) |
| \(\theta_3\) range | \(-30^\circ\) to \(30^\circ\) |
| \(l_0\) | 80 mm |
| \(l_1\) | 40 mm |
For the eyeball yaw motion, a parallelogram mechanism is used. The crank and the two driven links remain parallel, ensuring that both eyeballs rotate by the same angle. The link lengths are \(l_1 = l_3 = l_4 = 40~\text{mm}\) and \(l_2 = 80~\text{mm}\).
The eyeball pitch motion is realized by a four-bar linkage. Given the structural constraints, the crank length \(l_1 = 40~\text{mm}\) and the fixed link \(l_0 = 60~\text{mm}\). The design requires that when \(\theta_1 = 45^\circ\), \(\theta_3 = 60^\circ\), and when \(\theta_1 = 135^\circ\), \(\theta_3 = 120^\circ\). Using the loop-closure equations:
$$
\begin{cases}
l_1 \cos\theta_1 + l_2 \cos\theta_2 = l_0 + l_3 \cos\theta_3 \\
l_1 \sin\theta_1 + l_2 \sin\theta_2 = l_3 \sin\theta_3
\end{cases}
$$
The relative length coefficients are defined as:
$$
R_1 = \frac{l_1^2 + l_0^2 + l_3^2 – l_2^2}{2 l_0 l_3}, \quad R_2 = \frac{l_0}{l_3}, \quad R_3 = \frac{l_1}{l_3}
$$
By substituting the two prescribed input-output pairs, the unknown lengths are obtained: \(l_2 = 63.5~\text{mm}\) and \(l_3 = 56.6~\text{mm}\). The complete mechanism parameters are listed in Table 3.
| Parameter | Value |
|---|---|
| \(\theta_1\) range | \(45^\circ\) to \(135^\circ\) |
| \(\theta_3\) range | \(60^\circ\) to \(120^\circ\) |
| \(l_1\) | 40 mm |
| \(l_2\) | 63.5 mm |
| \(l_3\) | 56.6 mm |
| \(l_0\) | 60 mm |
The mechanical structure was manufactured using light aluminum alloys and 3D-printed parts. Servo motors provide actuation for all six DOFs. A control system based on an Arduino-compatible servo controller and an industrial PC was developed. The upper-computer interface, built in Visual C++ with MFC, allows the operator to control each joint via buttons or sliders. The prototype successfully achieved all the intended motions, confirming the feasibility of the proposed mechanical design for an embodied robot head.
2. Driving Torque Reduction Using Compliant Joints
Since the robot head is installed on a mobile embodied robot powered by a battery, reducing energy consumption is of great importance. The idea is to integrate passive spring-based compliant joints into the linkage mechanisms. The spring torques are functions of the joint positions and spring parameters. By optimizing the spring stiffness and preload, the motor torque required to execute a prescribed motion can be significantly reduced.
Two mechanisms are studied: the slider-crank mechanism for blinking (denoted Mechanism A) and the parallelogram mechanism for eyeball yaw (denoted Mechanism B). Both are modeled as rigid-body systems with added torsion or linear springs at the joints.
2.1 Dynamic Model of the Slider-Crank Mechanism
Figure 1 shows the free-body diagram of the compliant slider-crank mechanism. Three springs are added: a torsional spring at the crank joint, a linear spring along the sliding direction, and a torsional spring at the rocker joint.
Using the Newton-Euler approach, the dynamic equations for each link are:
$$
\begin{cases}
\mathbf{f}_{0,1} + \mathbf{f}_{1,2} + m_1 \mathbf{g} – m_1 \mathbf{a}_{c1} = \mathbf{0} \\
\tau_1 + \boldsymbol{\tau}_{s1} + \mathbf{r}_{c1,o1} \times \mathbf{f}_{1,2} + \mathbf{r}_{c1,o1} \times \mathbf{f}_{0,1} – I_1 \boldsymbol{\alpha}_1 = \mathbf{0}
\end{cases}
$$
and for link 2:
$$
\begin{cases}
\mathbf{f}_{0,2} – \mathbf{f}_{1,2} + m_2 \mathbf{g} – m_2 \mathbf{a}_{c2} = \mathbf{0} \\
\boldsymbol{\tau}_{s3} + \boldsymbol{\tau}_{f} + \mathbf{r}_{c2,o3} \times \mathbf{f}_{0,2} + \mathbf{r}_{c2,o3} \times (-\mathbf{f}_{1,2}) – I_2 \boldsymbol{\alpha}_2 = \mathbf{0}
\end{cases}
$$
Thu
The spring forces and torques are:
$$
\tau_{s1} = k_1(\theta_1 – \delta_1), \quad f_{s2} = k_2(d_2 – \delta_2), \quad \tau_{s3} = k_3(\theta_3 – \delta_3)
$$
where \(k_i\) and \(\delta_i\) are the stiffness and initial position of spring \(i\). For a given crank motion \(\theta_1(t)\), the required motor torque \(\tau_1\) can be solved from the linear system of equations assembled in matrix form:
$$
\mathbf{M} \mathbf{R} = \mathbf{B} – \mathbf{B}_1
$$
where \(\mathbf{R}\) contains all unknown reaction forces and the driving torque.
2.2 Dynamic Model of the Parallelogram Mechanism
For the parallelogram mechanism, only one torsional spring is added at the input joint. Since the mechanism is planar and horizontal, the Lagrangian approach is more convenient. The kinetic energy of each link is:
$$
T_i = \frac{1}{2} m_i v_{ci}^2 + \frac{1}{2} I_i \omega_i^2
$$
For the parallelogram configuration, the kinematic relations simplify:
$$
q_1 = q_3 = q_4, \quad \omega_1 = \omega_3 = \omega_4, \quad \alpha_1 = \alpha_3 = \alpha_4
$$
The spring torque is:
$$
\tau_{s1} = k_1(q_1 – \delta_1)
$$
Applying the Euler-Lagrange equation \(\frac{d}{dt}\frac{\partial L}{\partial \dot{q}_1} – \frac{\partial L}{\partial q_1} = Q\), where \(Q = \tau_1 + \tau_{s1} + \tau_f\), the required motor torque is obtained as:
$$
\tau_1 = (m_1 + m_2) l_1^2 \alpha_1 – \tau_{s1} – \tau_f
$$
2.3 Optimization of Spring Parameters
The objective is to minimize the motor torque over the prescribed motion. For Mechanism A, the optimization model is:
$$
\begin{aligned}
\min_{k_1,k_2,k_3,\delta_1,\delta_2,\delta_3} \quad & \max_{t \in [0,T]} |\tau_1(t)| \\
\text{s.t.} \quad & 0.1 \leq k_1 \leq 2\pi, \quad 0.1 \leq k_3 \leq 2\pi \\
& 100 \leq k_2 \leq 1000 \\
& 0 \leq \delta_1, \delta_2, \delta_3 \leq 2\pi \\
& d_2 \leq 100~\text{mm}
\end{aligned}
$$
For Mechanism B, the optimization is:
$$
\begin{aligned}
\min_{k_1,\delta_1} \quad & \frac{1}{T}\int_0^T |\tau_1(t)| dt \\
\text{s.t.} \quad & 0.1 \leq k_1 \leq 2\pi \\
& 0 \leq \delta_1 \leq 2\pi
\end{aligned}
$$
The optimization is carried out using MATLAB’s trust-region-reflective algorithm. The crank velocity profile is trapezoidal, with an acceleration time of 0.05 s, a cruise speed of \(2\pi\) rad/s, and a total cycle time of 0.38 s. The optimal spring parameters for Mechanism A are listed in Table 4.
| Parameter | Value |
|---|---|
| \(k_1\) (N·m/rad) | 0.0015 |
| \(\delta_1\) (rad) | 0.0079 |
| \(k_2\) (N/m) | 10.000 |
| \(\delta_2\) (m) | 0.050 |
| \(k_3\) (N·m/rad) | 0 |
| \(\delta_3\) (rad) | 0 |
For Mechanism B, the optimal values are \(k_1 = 0.0306\) N·m/rad and \(\delta_1 = 2.225\) rad.
The resulting torque reduction is illustrated in Table 5. The optimized compliant joints dramatically reduce both the maximum and the average torque, which directly translates into lower energy consumption for the embodied robot.
| Mechanism | Torque metric | Without compliant joint | With optimal joint | Reduction |
|---|---|---|---|---|
| Slider-crank | Max (N·m) | 0.0663 | 0.0077 | 88.39% |
| Slider-crank | Average (N·m) | 0.0350 | 0.0030 | 91.43% |
| Parallelogram | Max (N·m) | 0.0532 | 0.0190 | 64.29% |
| Parallelogram | Average (N·m) | 0.0245 | 0.0100 | 59.18% |
The mechanism for torque reduction can be explained qualitatively. At any instant, the dynamic balance of torques is:
$$
\tau_1 + \tau_G + \tau_A + \tau_S = 0
$$
where \(\tau_G\) is the torque due to gravity and external loads, \(\tau_A\) is the inertial torque, and \(\tau_S\) is the spring torque. Without springs, the motor must provide the entire reactive torque. With optimized springs, the spring torque closely fits the required torque profile, leaving only a small residual torque for the motor. Therefore, the motor torque is significantly reduced.
3. Shape Optimization of Linkage Components
Lightweight structures are highly desirable for mobile embodied robots, as they reduce power consumption and improve responsiveness. However, a lighter structure often leads to increased vibration. This chapter addresses the vibration suppression of the four-bar linkage used for eyeball pitch motion. The goal is to find an optimal distribution of material along each link without increasing the total mass, thereby minimizing the vibration displacement at critical points.
3.1 Finite Element Formulation
Each link is modeled as a beam element with the transverse displacement \(W(x,t)\) and longitudinal displacement \(V(x,t)\). The element nodal displacement vector is:
$$
\mathbf{u} = [u_1, u_2, \dots, u_8]^T
$$
where \(u_1, u_5\) are axial displacements, \(u_2, u_6\) are transverse displacements, \(u_3, u_7\) are rotational angles, and \(u_4, u_8\) are curvatures at the two nodes.
The shape functions for a fifth-order Hermitian beam are:
$$
\begin{aligned}
\phi_1 &= 1 – e \\
\phi_2 &= 1 – 10e^3 + 15e^4 – 6e^5 \\
\phi_3 &= L(e – 6e^3 + 8e^4 – 3e^5) \\
\phi_4 &= L^2(e^2 – 3e^3 + 3e^4 – e^5)/2 \\
\phi_5 &= e \\
\phi_6 &= 10e^3 – 15e^4 + 6e^5 \\
\phi_7 &= L(-4e^3 + 7e^4 – 3e^5) \\
\phi_8 &= L^2(e^3 – 2e^4 + e^5)/2
\end{aligned}
$$
where \(e = x/L\). The kinetic energy and strain energy yield the consistent mass and stiffness matrices \(\mathbf{m}\) and \(\mathbf{k}\). For an element, the equation of motion is:
$$
\mathbf{m} \ddot{\mathbf{u}} + \mathbf{k} \mathbf{u} = \mathbf{p}
$$
In the global coordinate system, the coordinate transformation is \(\mathbf{u} = \mathbf{R} \mathbf{U}_e\), where \(\mathbf{R}\) is the rotation matrix depending on the link orientation angle. The global element equation becomes:
$$
\bar{\mathbf{m}} \ddot{\mathbf{U}}_e + \bar{\mathbf{k}} \mathbf{U}_e = \bar{\mathbf{p}}
$$
After assembling all elements and applying boundary conditions, the system equation is:
$$
\mathbf{M} \ddot{\mathbf{U}} + \mathbf{K} \mathbf{U} = \mathbf{P}
$$
Since the mechanism has a rigid-body degree of freedom, the instantaneous structure is treated as a clamped system at the crank when performing the vibration analysis. This removes the singularity of the stiffness matrix.
The external forces are obtained from the rigid-body dynamics of the four-bar mechanism. Using Newton-Euler equations for each link, the driving torque \(\tau_1\) is computed for the prescribed motion. The velocity profile is trapezoidal with a maximum speed of \(2\pi\) rad/s and a total time of 0.3 s.
3.2 Optimization Problem
Each link is divided into 14 beam elements. The design variables are the thickness \(h_i\) of each link and the widths \(w_j\) of all elements. Thus, the design vector \(\mathbf{x}\) has 45 components:
- \(x_1, x_{16}, x_{31}\): thicknesses of links 1, 2, 3
- \(x_2\) to \(x_{15}\): widths of the 14 elements of link 1
- \(x_{17}\) to \(x_{30}\): widths of the 14 elements of link 2
- \(x_{32}\) to \(x_{45}\): widths of the 14 elements of link 3
The initial shape is rectangular: thickness \(h = 0.6\) mm and width \(w = 3\) mm. The maximum vibration displacement is evaluated at five reference points: the midpoints of the three links (P2, P3, P4), the crank endpoint (P1), and the rocker endpoint (P5). The objective function is:
$$
F(\mathbf{x}) = \sum_{i=1}^{5} \left( \frac{d_{Xi}}{d_{Xi}^0} + \frac{d_{Yi}}{d_{Yi}^0} \right)
$$
where \(d_{Xi}^0\) and \(d_{Yi}^0\) are the maximum X and Y vibration displacements of the initial design, and \(d_{Xi}\), \(d_{Yi}\) are those of the optimized design.
The optimization problem is formulated as:
$$
\begin{aligned}
\min_{\mathbf{x}} \quad & F(\mathbf{x}) \\
\text{s.t.} \quad & 0.7 h \leq x_i \leq 1.5 h, \quad i = 1,16,31 \\
& \frac{w}{2} \leq x_j \leq 3w, \quad j \in \{2,\dots,15,17,\dots,30,32,\dots,45\} \\
& \sum_{i=1}^{3} \rho h_i w_i L_i \leq \rho h w (L_1 + L_2 + L_3)
\end{aligned}
$$
The last constraint ensures that the total mass does not increase. The optimization is again performed using MATLAB’s trust-region-reflective algorithm.
3.3 Results
The optimized shapes of the three links are shown in Figures 4–6. They are no longer uniform; instead, the material distribution varies along the length, with thicker regions near the supports and thinner regions near the midpoints, resembling the shape of a cantilever beam optimized for vibration suppression.
Figure 7 compares the vibration displacement responses of the five reference points before and after optimization. It is clear that the maximum vibration amplitudes are significantly reduced. The optimization achieves a substantial improvement in dynamic performance while keeping the total weight unchanged. This demonstrates that shape optimization is an effective tool for enhancing the performance of lightweight mechanisms in an embodied robot.
The simulation results confirm that the optimized link shapes reduce the vibration displacement at all five monitored points. The largest reduction occurs at the rocker endpoint, where the displacement amplitude decreased by almost 70%. This improvement is crucial for maintaining the accuracy of eye movements during high-speed motion.
Conclusion
This thesis presented a complete development of a humanoid robot head for an embodied robot platform. The mechanical design, control system, and user interface were successfully implemented and experimentally verified. Two theoretical optimizations were then carried out to enhance the performance of the mechanisms inside the head.
First, compliant joints were introduced into the linkage mechanisms. By optimizing the spring stiffness and initial positions, the peak and average driving torques were reduced by up to 88% and 91%, respectively, for the blinking mechanism, and by 64% and 59% for the eyeball yaw mechanism. This reduction directly lowers the energy consumption of the embodied robot, extending its battery life.
Second, a shape optimization of the four-bar linkage components was performed using finite element analysis and numerical optimization. The optimal material distribution reduced the vibration displacement at key points without adding mass. This is particularly beneficial for light-weight embodied robot structures, where vibration can impair the quality of motion and interaction.
Future work includes verifying the compliant joint torque reduction through experiments, as the current servo motors do not provide direct torque sensing. In addition, the shape optimization framework can be extended to more complex mechanisms and to consider multiple operating conditions simultaneously.
In summary, the combination of compliant joints and shape optimization provides a systematic approach to improving the energy efficiency and dynamic performance of a humanoid robot head, contributing to the advancement of embodied robot technology.
