# Design, Analysis, and Experiment of a Wheel-Legged Mobile Robot
## 3 Curling Mechanism Design  
### Key Parameters  
To further expand the application scenarios of the robot, a curling mechanism is selected as the robot's main body to make the robot move more smoothly. The robot's curling structure is shown in Figure 10. According to the configuration of the robot's curling mechanism and the requirements for stability of the curling procedure, two indicators are proposed from the evaluation of kinematics and dynamics: the roundness \(R\) of the robot's curling at the end state and the torque fluctuation \(TF\) of the curling procedure. \(R\) represents the sum of the difference between each joint angle and \(\pi\). The smaller the value of \(R\), the greater the roundness. \(TF\) reflects the motion stability of the robot during the curling procedure. The smaller the \(TF\), the better the motion stability of the robot. The specific expressions for \(R\) and \(TF\) are as follows:  
\[\left\{ \begin{aligned} R=\sum_{i=1}^{n}\sum_{k=1}^{2}\left| \theta_{\mathrm{i}k-f}-\pi\right|\\ TF=\sum_{i=1}^{n}\sum_{k=1}^{2}\sum_{p=1}^{m}\frac{\left|B_{ \mathrm{i}k}r_{p}-\tau_{\mathrm{i}k-p}+A_{\mathrm{i}k}\right|}{\sqrt{B_{\mathrm {i}}^{2}+1}}\,\end{aligned} \right. \tag{18}\]  
where:  
\[\left[ \begin{matrix}B_{\mathrm{i}k}\\ A_{\mathrm{i}k}\end{matrix} \right]=\left[ \begin{matrix}\sum_{p=1}^{m}t_{p}&m\\ \sum_{p=1}^{m}t_{p}^{2}&\sum_{p=1}^{m}t_{p}\end{matrix} \right]^{-1}\cdot \left[ \begin{matrix}\sum_{p=1}^{m}t_{p}\tau_{\mathrm{i}k-p}\\ \sum_{p=1}^{m}\tau_{\mathrm{i}k-p}\end{matrix} \right], \tag{19}\]  
and (\(t_{p}\), \(\tau_{ik-p}\)) is the coordinates of the \(p_{\mathrm{th}}\) point on the curling acceleration curve. A preliminary analysis shows that the parameters that affect the robot's performance include the number of robot sections \(n\) and the length of each section \(l\). In this paper, the optimal solutions for the parameters \(n\) and \(l\) are determined with the goal of obtaining the ideal \(R\) and \(TF\). Therefore, the optimization goal can be expressed as:  
\[f=\eta_{1}\frac{R}{\max R}+\eta_{2}\frac{TF}{\max\mathrm{TF}}, \tag{20}\]  
where \(\eta_{i}\) (\(i\) = 1-2) is the optimization coefficient and \(\eta_{1}+\eta_{2}\) = 1. Figure 10: Curled structure of the robot body. Based on the constraint conditions, the optimization model of the curling mechanism is:  
\[\left\{ \begin{array}{l}\underset{s.t.}{\min}f\\ s.t.\ |\tau_{\text{ik}-p}|\leq\tau_{\text{max}}\\ \&\&\quad n_{1}\leq n\leq n_{2}\\ \&\&\quad 0<l\leq l_{2}\end{array} ,\right. \tag{21}\]  
where \(\tau_{\text{max}}\) is the maximum value of the motor torque of each robot joint and is set to 0.025 N\(\cdot\)m. [\(n_{1}\), \(n_{2}\)] is the range of the number of sections in the curling mechanism. According to the concept of bionics, the range can be determined as [5; 8]. Particle swarm optimization is used to determine the parameters \(n\) and \(l\). The principle is to find the global optimal solution to the problem through collaboration within the swarm population. A flow chart depicting particle swarm optimization is shown in Figure 11.  
First, the model for the velocity and position of particle \(i\) in \(n\)-dimensional space is established, as shown below:  
\[V_{in}^{k+1}=\omega V_{in}^{k}+c_{1}\tau_{1}\Big{(}p_{in}^{k}-X_{in}^{k}\Big{)} +c_{2}\tau_{2}\Big{(}p_{gn}^{k}-X_{in}^{k}\Big{)}, \tag{22}\]  
\[X_{in}^{k+1}=X_{in}^{k}+V_{in}^{k+1} \tag{23}\]  
where \(c_{1}\) and \(c_{2}\) are learning factors, namely, the acceleration coefficients with a range of \([0,2]\). \(\tau_{1}\) and \(\tau_{2}\) are pseudo-random numbers with a range of \([0,1]\). \(\omega\) is the inertial weight. \(V_{in}^{k}\) is the \(n\)-dimensional vector of particle \(i\)'s velocity vector after the \(k_{\text{th}}\) iteration. \(X_{in}^{k}\) is the \(n\)-dimensional vector of particle \(i\)'s position vector after the \(k_{\text{th}}\) iteration. \(p_{in}^{k}\) is the \(n\)-dimensional vector of the optimal position of the particle in history after the \(k_{\text{th}}\) iteration.